diff --git a/.changeset/slow-apples-fry.md b/.changeset/slow-apples-fry.md deleted file mode 100644 index 750cbe80..00000000 --- a/.changeset/slow-apples-fry.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -"@story-protocol/contracts": minor ---- - -First version of core components and modules -- FranchiseRegistry -- IPAssetRegistry -- IPAssetRegistryFactory -- Licensing Module -- Collect Module -- Royalties Module -- Relationship Module -- Access Control -- IP Accounts diff --git a/.env.example b/.env.example index 63ce58e0..1116d2b3 100644 --- a/.env.example +++ b/.env.example @@ -6,5 +6,17 @@ MAINNET_PRIVATEKEY= 12341234123412341234123412341234 GOERLI_RPC_URL = https://eth-goerli.g.alchemy.com/v2/1234123412341234 GOERLI_PRIVATEKEY = 12341234123412341234123412341234 +# SEPOLIA +SEPOLIA_RPC_URL = https://eth-sepolia.g.alchemy.com/v2/1234123412341234 +SEPOLIA_PRIVATEKEY = 12341234123412341234123412341234 +SEPOLIA_ADMIN_ADDRESS = 0x12341234123412341234123412341234 + # ETHSCAN -ETHERSCAN_API_KEY = ETHERSCANAPIKEYETHERSCANAPIKEY \ No newline at end of file +ETHERSCAN_API_KEY = ETHERSCANAPIKEYETHERSCANAPIKEY + +# PROTOCOL LICENSE URL +SPUML_URL=https://url-to-license-file.pdf + +# POLYGON TOKEN ORACLE +POLYGON_TOKEN_ORACLE_CLIENT=0x123412341234123412341234123412341234 +POLYGON_TOKEN_ORACLE_COORDINATOR=0x123412341234123412341234123412341234 diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 4aa3782a..7166555f 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -43,6 +43,10 @@ jobs: with: version: nightly + - name: List files in the repository + run: | + ls -R ${{ github.workspace }} + - name: Run Forge build run: | forge --version @@ -63,20 +67,3 @@ jobs: # run: # forge coverage --report lcov --report summary # id: forge-code-coverage - - hardhat-test: - strategy: - fail-fast: true - - name: Hardhat Unit Test - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - with: - submodules: recursive - - name: Environment - uses: actions/setup-node@v3 - - name: Test - uses: ambersun1234/hardhat-test-action@v0.0.1 - with: - network: hardhat diff --git a/.gitignore b/.gitignore index 0fc78f6a..132e054f 100644 --- a/.gitignore +++ b/.gitignore @@ -16,6 +16,7 @@ docs/ .env .idea/ +.vscode .github/ node_modules/ @@ -28,3 +29,6 @@ deployment-31337.json # Script data script/data/ +# Coverage +coverage/ +lcov.info diff --git a/.prettierrc b/.prettierrc index 6ce911d6..5b006662 100644 --- a/.prettierrc +++ b/.prettierrc @@ -1,7 +1,9 @@ { + "useTabs": false, + "printWidth": 120, "trailingComma": "es5", "tabWidth": 4, "semi": false, "singleQuote": false, "bracketSpacing": true -} \ No newline at end of file +} diff --git a/.solhint.json b/.solhint.json index 0fe768e1..44134d5a 100644 --- a/.solhint.json +++ b/.solhint.json @@ -3,10 +3,12 @@ "plugins": ["prettier"], "rules": { "code-complexity": ["error", 8], - "compiler-version": ["error", ">=0.8.0"], + "compiler-version": ["error", ">=0.8.19"], "const-name-snakecase": "off", + "no-empty-blocks": "off", "constructor-syntax": "error", "func-visibility": ["error", { "ignoreConstructors": true }], + "modifier-name-mixedcase": "error", "max-line-length": ["error", 120], "not-rely-on-time": "off", "reason-string": ["warn", { "maxLength": 64 }], @@ -17,4 +19,4 @@ "no-global-import": "error", "prettier/prettier": "error" } -} \ No newline at end of file +} diff --git a/CHANGELOG.md b/CHANGELOG.md index c43bd4e3..1f7b6822 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,42 @@ # @story-protocol/contracts +## 0.2.0 + +### Alpha Version + + Unification of the modules and registries of the MVP under a common architecture: + + **Protocol registries and repositories:** + + - IPAssetRegistry: Source of truth for the registered IPAssets across the protocol. + - ModuleRegistry: Registers the protocol modules, and acts router of module execution and configuration. + - LicenseRegistry: Registers the License NFTs. + - LicensingFrameworkRepo: Holds the supported licensing framework, with parameters expressing the licensing terms and their configurations. Currently, it will only hold the SPUML-1.0 framework. + + **IP Org related contracts:** + + - IPOrgController: factory for IPOrg creation, registering organizations that can configure the modules to form a common environment under which IPAs can be registered. + - IPOrg: acts as an NFT view into the global IPAssetRegistry. Adds metadata personalization, and its owner can configure the modules. + + **Modules** + + - BaseModule: defines a common architecture and entrypoints for all modules, along with references to the registries. + - HookRegistry: every module can register hooks, configurable actions to be executed before and after the module action. + - Registration: logic to create IPAs under an IPOrg. + - RelationshipModule: allow the creation of relationship types (protocol wide and specific to ipOrgs) that can relate different elements of the protocol (for example, to express a remixing content graph within an IPOrg) + - Licensing: allows IpOrg to register a common legal framework with some default terms, and has the logic for users to create licenses and link them to IPAs + + **Hooks** + + - SyncBaseHook: to be inherited by all the syncrhonous actions (payment, token gating, etc) + - AsyncBaseHook: to be inherited by all the asyncrhonous actions (oracles, multi step/sig actions, etc) + - TokenGatedHook: checks if caller owns an NFT, if not the module action cannot continue. + - PolygonTokenHook: example async hook, checks if caller owns tokens in the Polygon network. + + **"Frontend" Contracts** + + - StoryProtocol: exposes the write functionality for all the modules, combined. + ## 0.1.0 ### First Changes diff --git a/Makefile b/Makefile index d0d730bb..73ccb59f 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ -include .env -.PHONY: all test clean +.PHONY: all test clean coverage all: clean install build @@ -20,16 +20,23 @@ forge-build:; forge build build :; npx hardhat compile # TODO: remove --no-match-path after refactor -test :; forge test --no-match-path 'test/foundry/modules/*' -vvv +test :; forge test -vvv --no-match-path 'test/foundry/_old_modules/*' snapshot :; forge snapshot slither :; slither ./contracts -format :; npx prettier --write contracts/**/*.sol && npx prettier --write contracts/*.sol +format :; npx prettier --write --plugin=prettier-plugin-solidity 'contracts/**/*.sol' && npx prettier --write --plugin=prettier-plugin-solidity --write 'contracts/*.sol' + +# remove `test` and `script` folders from coverage +coverage: + mkdir -p coverage + forge coverage --report lcov + lcov --remove lcov.info -o lcov.info 'test/*' 'script/*' + genhtml lcov.info --output-dir coverage # solhint should be installed globally -lint :; npx solhint contracts/**/*.sol && npx solhint contracts/*.sol +lint :; npx solhint 'contracts/**/*.sol' deploy-goerli :; npx hardhat run ./script/deploy-reveal-engine.js --network goerli verify-goerli :; npx hardhat verify --network goerli ${contract} diff --git a/README.md b/README.md index 03688986..1e724019 100644 --- a/README.md +++ b/README.md @@ -1,178 +1,24 @@ -🚧🚧🚧🚧 **Repo in active development, expect things to break and change.** 🚧🚧🚧🚧 +### 🚧🚧🚧🚧 +### WARNING, Alpha version: This code is in active development and unaudited. +### Do not use in Production +### 🚧🚧🚧🚧 -# Story Protocol Contracts - -# Architecture Diagram -![image](https://github.com/storyprotocol/protocol-contracts/assets/2632384/ce60fecc-1904-4c35-a4c1-577c90060feb) - -# Core Components - -In Story Protocol, the basic unit of intellectual property is the IPAsset, representing a well defined item that will be subject to a set of rules defined in each Franchise. -IPAssets will have many categories corresponding to different domains of intellectual property, starting with Narrative Universes. - -The starting IPAsset types are: -- Story -- Character -- Item -- Location -- Art -- Group - -They have mediaURL, an off chain file identifying the IPA medium, duration, divisions, authorship and other characteristics. - -IPAssets can be combined together to form more rich intellectual property, and can be remixed and extended within the legal parameters defined on each Franchise. - -## FranchiseRegistry - -ERC721 that registers all the narrative franchises in Story Protocol. -When registering a new franchise, along with minting an NFT to identify the Franchise Owner, all contracts required to represent the IPAssets, their IP rights, licenses, etc will be deployed by a factory. - -Ownership of a Franchise Registry token implies the power to: -- Configure the licensing rules for the IPAssets created in the Franchise -- Define possible Relationships between IPAssets of the same franchise 🚧 - -Since this is an ERC721, ownership of the Franchise could be determined by an EOA, Multisig, Governor contracts or whatever available web3 coordination tool. - - -## IPAssetRegistry - -ERC721 NFT where IPAssets are minted. There is 1 IPAssetRegistry per Franchise registered in Story Protocol. - -When minted, an IPAsset will also: -1. Set it's metadata -2. Set the parent IPA id, in case it is a remix -3. Assign the licenses representing its IP Rights, as defined by the Franchise Owner in the Licensing Module. -4. Configure it's collectible 🚧 - - -## IPAssetRegistryFactory - -Factory contract responsible for, when triggered by a Franchise registration, deploying an instance of the contracts required to represent and run said Franchise: -- IPAssetRegistry -- LicenseRegistry - -To save in gas, these contracts will be proxies, currently BeaconProxy clones 🚧 - -# Modules - -We have represented the IP with our Core Components. Now let's look into the contracts that add utility and features to manage IP in Story Protocol: - - -## Relationships - -A Relationship is an on-chain directional association between 2 IPAssets (or an IPAsset and an external NFT), identified by an ID and a set of pre conditions that gives it meaning. - -Relationships can have **previous steps**, defined by **RelationshipProcessor** contracts, that can be built to: - -- Check ownership over IPAssets being related. -- Require payment in native currency, ERC20s... -- Require the approval of the owner of one of the IPA -- Any other interaction with other protocols, oracles... - -Since they are on-chain, they help compose with other modules or external protocols/contracts: -- They can be created as a result of the execution of other modules (e.g agreeing on the Licensing terms for a Character creates an APPEARS_IN relationship between Character and Story) -- They can be a condition for the correct execution of a module (IPA owner can emit commercial license of a Character IPA if said IPA has a EXTERNAL_PFP relation) -- They can just have narrative meaning within the Franchise (two characters DID_HOOKUP, a story IS_SEQUEL of another) or some other community interation. - -There is going to be 2 levels for Relationships: -- Protocol-wide relationships, defined by Governance and with interaction with protocol modules -- Franchise level relationships, to be defined by Franchise Owner 🚧 - -Protocol-wide relationships need to be proposed through a governance process, [like this one](https://github.com/storyprotocol/protocol-contracts/issues/33) - -A system to dispute and revoke Relationships is in the works 🚧 - -## Licensing - -The Licensing Module is at the heart of Story Protocol. It aims to create a transparent, public and fair legal environment for Franchise Owners and Creators to develop an IP while capturing the value and ownership among different contributors in a novel way. - -It has several component contracts: - -### RightsManager -Every IPAssetRegistry is a RightsManager, which implements a modified version of [draft EIP-5218](https://eips.ethereum.org/EIPS/eip-5218). - -It manages trees of License structs and all their sublicenses. If a License is revoked (every License has a revoker address), all the licenses down the tree will be too. - -Every License can have none or many on-chain an off-chain terms, and both will be able to be composed from many "License Legos" 🚧 -- **Off-chain terms** are given by the License metadata and legal text files linked to the License struct (in the works, based in the Token Bound License)🚧. Off-chain terms will be enforced via a market of licensing flagger/revoker services, individuals and oracles or in worst case scenario, the legacy legal system. -- **On-chain terms** are TermsProcessor contracts, that must be executed by the current License Holder in order to activate the License. These can include: - - Time limitations, with or without renewal. - - Setting revenue splits in the Royalty Module. - - Payment. - - Approval of the content by the licensor. - - Creation or check for existance of a Relationship between assets. - - External NFT ownership - - KYC Oracle - - Other cases build by the community - -A RightsManager allows us to grant 2 **type of License:** - -1. **Rights**: Licenses tied to a tokenId (IPAsset id), in which the license holder is always the owner of said tokenId. Each tokenId can have commercial or non commercial license tied to it. Transfering an IPAsset transfers the Rights too, so the previous owner will lose the ownership of the righst along the IPA. -2. **Tradeable Licenses**: The license holder is the owner of the correspondent LicenseRegistry NFT. They are either: +[See Alpha agreement if you are going to use these contracts](https://github.com/storyprotocol/protocol-contracts/blob/main/StoryProtocol-AlphaTestingAgreement-17942166.3.pdf) - a. **Franchise root license**: license minted by a Franchise owner to govern commercial or non commercial rights for all the IPAssetRegistries. +![Logo](image.png) - b. **Sublicense**: a license coming from IPA Rights or other Licenses, minted as an ERC721 by the parent license owner. These would be the future "movie adaptation to my story" or "merchandise rights for my PFP" type licenses that can be transferred or sold in NFT markets. - -### LicenseRegistry - -Simple ERC721 NFT wrapper for Tradeable Licenses registered in a RightsManager. Each IPAssetRegistry have its correspondent LicenseRegistry. - -### Licensing Module - -Networked IPs with multiple stakeholders need to have compatible licensing terms and characteristics in order to be commercially develop in a feasible way. -The Licensing Module contract is where Franchise Owners define this common legal framework. - -By design, with the idea of growing the IP, every IPA will have a license that will **allow remixing it as long as the remixer**: -- Attributes the original creator -- It's for non commercial (or within reasonable commercial assumptions 🚧) -- It's minted back to the Franchise as a child IPA with the same non commercial terms - -Root IPAs have optional commercial rights, meaning that a commercial License might be bought/requested from the owner of the rights, to do a commercial remixes, adaptations, merch, etc, with benefits traversing as defined by revenue/royalty modules. - -**The configurable options are:** - -- For both commercial and non commercial rights of IPAs - - can they sublicense (remix)? - - do they have a Franchise level root License from which all the rights stem from? -- Terms for both commercial and non commercial rights -- Do root IPA have commercial rights on mint or not? -- URI pointing to the Franchise Commercial Rights license text. - -We are going to have several **ready-made templates** for Franchise creators 🚧: - -- **Tight narrative/commercial direction:** - - Commercial Licenses can only be granted by the owner of the Root Commercial License (minted by Franchise Owner) - - Users can add and remix IPAs under Non Commercial terms. - - If Franchise Owner wants to emit commercial licenses from IPAs, an agreement must be made between IPA and Franchise owners (inclusion in upside/revenue, up front payment, voting rights, combination of some of all...) - -- **Loose narrative/commercial direction:** - - Every root IPA has commercial rights (under some terms, e.g owner of IPA is owner of external PFP NFT) and can emit commercial licenses around that IPA. - - -## Collect - -Collect module allows users to mint duplicates of an IPA as a memento, way of supporting the creators, engagement metric... - -- Each IPA can configure custom CollectNFTs as result of the Collect action -- Programable pre conditions for collection will be possible 🚧 (payment, approval) - - -## Royalties Module - -Although revenue/royalties is a complicated subject, we are building infrastructure to make it easier for proyects, since correct incentivization of participants in IP creation is such a core issue in web3 and the off chain enternainment industry. - -NOTE: We are using royalties and revenue in an informal and interchangeable way. This is a system to distribute shares of value, the technical source of it is out of scope at the moment. 🚧 - -The first obvious case that can be enforced with these contracts are on-chain revenue and royalties, but we expect the community to build bridges to more traditional platforms and payment rails that can route value here. +# Story Protocol Contracts -The RoyaltyDistributor contract allows IPAsset owners and license TermsProcessors to set revenue/royal shares. +Story Protocol is a decentralized IP protocol for powering the next wave of creative innovation on the Internet. By providing a decentralized IP registry and a set of powerful modules centered around IP licensing, Story Protocol enables creators to build new forms of IP without the friction imposed by traditional processes. -How the shares are configured is up to RoyaltyPolicies, and the actual shares are given by our RoyaltyNFT, an ERC-1155 wrapper over the [Split contracts of 0xSplits](https://www.0xsplits.xyz/) +## Documentation +[See Documenentation](https://docs.storyprotocol.xyz/docs/overview-2) +## Guidelines +[See our contribution guidelines](./GUIDELINES.md) # Deployed Contracts -- [Goerli addresses](https://github.com/storyprotocol/protocol-contracts/blob/main/deployment-5.json) +- [Sepolia addresses](https://github.com/storyprotocol/protocol-contracts/deployment-11155111.json) # Installing @@ -204,17 +50,18 @@ or forge test ``` +## Coverage + +``` +make coverage +``` +Open `index.html` in `coverage/` folder. + # Deploying to a network ## Setup -You'll need to add the following variables to a `.env` file: - -- `MAINNET_RPC_URL` -- `MAINNET_PRIVATEKEY` -- `GOERLI_RPC_URL` -- `GOERLI_PRIVATEKEY` -- `ETHERSCAN_API_KEY` +Copy .env.example into .env, and set the required variables. ## Deploying @@ -275,7 +122,9 @@ make anvil This will spin up a local blockchain with a determined private key, so you can use the same private key each time. # Code Style -We employed solhint to check code style. + +Defined in our [Guidelines](./GUIDELINES.md) + To check code style with solhint run: ``` make lint @@ -297,10 +146,34 @@ make slither And get your slither output. +# Document Generation + +We use [solidity-docgen](https://github.com/OpenZeppelin/solidity-docgen) to generate the documents for smart contracts. Documents can be generated with the following command: + +``` +npx hardhat docgen +``` + +By default, the documents are generated in Markdown format in the `doc` folder of the project. Each Solidity file (`*.sol`) has its own Markdown (`*.md`) file. To update the configuration for document generation, you can update the following section in `harhat.config.js`: + +``` +docgen: { + outputDir: "./docs", + pages: "files" +} +``` + +You can refer to the [config.ts](https://github.com/OpenZeppelin/solidity-docgen/blob/master/src/config.ts) of solidity-docgen for the full list of configurable parameters. ## Resources - [Hardhat](https://hardhat.org/docs) - [Foundry Documentation](https://book.getfoundry.sh/) - [Yarn](https://yarnpkg.com/getting-started) +## License + +The primary license for StoryProtocol is the Business Source License 1.1 (`BUSL-1.1`), see [LICENSE](https://github.com/storyprotocol/protocol-contracts/blob/main/LICENSE). Minus the following exceptions: +- [Hooks](./contracts/hooks) and [Base Modules](./contracts/modules/base) have an MIT License +- [Interfaces](./contracts/interfaces) have an MIT license + diff --git a/broadcast/Deploy.s.sol/5/run-1687961941.json b/broadcast/Deploy.s.sol/5/run-1687961941.json deleted file mode 100644 index c5096fa1..00000000 --- a/broadcast/Deploy.s.sol/5/run-1687961941.json +++ /dev/null @@ -1,133 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x3e3807da5c8dea555008863b9b7bd6da2e6c110b6e0b0a24f6463e83b177af31", - "transactionType": "CREATE", - "contractName": "LibIPAssetId", - "contractAddress": "0xDefbA4b68Fb683eA2F2e40651408D4DF2BE10ca7", - "function": null, - "arguments": null, - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x524cb", - "data": "0x6103c361003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061004b5760003560e01c80633b7d508f14610050578063a098da7d14610076578063efb84f0114610089575b600080fd5b61006361005e366004610211565b6100a9565b6040519081526020015b60405180910390f35b610063610084366004610211565b610133565b61009c610097366004610239565b6101ae565b60405161006d91906102bc565b6000808260068111156100be576100be610252565b0361010057816040517fd408b2c00000000000000000000000000000000000000000000000000000000081526004016100f791906102bc565b60405180910390fd5b600182600681111561011457610114610252565b61011e91906102f9565b61012d9064e8d4a5100061030c565b92915050565b60008082600681111561014857610148610252565b0361018157816040517fd408b2c00000000000000000000000000000000000000000000000000000000081526004016100f791906102bc565b600182600681111561019557610195610252565b6101a49064e8d4a5100061030c565b61012d91906102f9565b60006101bf64e8d4a5100083610352565b15806101d957506101d6600664e8d4a5100061030c565b82115b156101e657506000919050565b6101f564e8d4a5100083610366565b61020090600161037a565b600681111561012d5761012d610252565b60006020828403121561022357600080fd5b81356007811061023257600080fd5b9392505050565b60006020828403121561024b57600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600781106102b8577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b6020810161012d8284610281565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8181038181111561012d5761012d6102ca565b808202811582820484141761012d5761012d6102ca565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60008261036157610361610323565b500690565b60008261037557610375610323565b500490565b8082018082111561012d5761012d6102ca56fea26469706673582212200330dbf6ab72ebb45bc6523a9bbbfe25d0f43bc65a544ac8377342d6dbe9c75c64736f6c63430008130033", - "nonce": "0xd", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x72a377ba11242048c0ba545097c2e6e520a2e4aba8f7ef9df80619f7a1337699", - "transactionType": "CREATE", - "contractName": "IPAssetsRegistryFactory", - "contractAddress": "0xe381609EF4bA8729e875FC84a410976FdA90B175", - "function": null, - "arguments": null, - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x5ae1d7", - "value": "0x0", - "data": "0x60a060405234801561001057600080fd5b5061001a3361008d565b604051610026906100dd565b604051809103906000f080158015610042573d6000803e3d6000fd5b5060405161004f906100ea565b6001600160a01b039091168152602001604051809103906000f08015801561007b573d6000803e3d6000fd5b506001600160a01b03166080526100f7565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6138af8061143d83390190565b6105ef80614cec83390190565b60805161131e61011f6000396000818160df015281816101e70152610399015261131e6000f3fe60806040523480156200001157600080fd5b50600436106200007b5760003560e01c8063715018a61162000056578063715018a614620001015780638da5cb5b146200010b578063f2fde38b146200012a57600080fd5b806305d4dd8714620000805780633991fc9d14620000c057806349493a4d14620000d9575b600080fd5b620000976200009136600462000867565b62000141565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b620000d7620000d136600462000915565b620002bb565b005b620000977f000000000000000000000000000000000000000000000000000000000000000081565b620000d7620004dd565b60005473ffffffffffffffffffffffffffffffffffffffff1662000097565b620000d76200013b36600462000915565b620004f5565b600080604051806060016040528060288152602001620012c160289139805190602001208989898989898960405160240162000184979695949392919062000996565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050905060007f00000000000000000000000000000000000000000000000000000000000000008260405162000215906200080d565b6200022292919062000a5e565b604051809103906000f0801580156200023f573d6000803e3d6000fd5b50905086866040516200025492919062000a97565b60405180910390208173ffffffffffffffffffffffffffffffffffffffff167f423bf0ea6b57d35b37f0caad547ba5e1d340585657e9fec91dcac4375fcd45a98b8b604051620002a692919062000aa7565b60405180910390a39998505050505050505050565b620002c5620005b2565b620002e873ffffffffffffffffffffffffffffffffffffffff8216600062000635565b62000354576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4953746f7279426c6f636b73526567697374727900000000000000000000000060448201526064015b60405180910390fd5b6040517f3659cfe600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82811660048301527f00000000000000000000000000000000000000000000000000000000000000001690633659cfe690602401600060405180830381600087803b158015620003de57600080fd5b505af1158015620003f3573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff167fa8f2f87a44131841a6848a0e54ac181d9f27ca8565b9252b1f49af60507d76928273ffffffffffffffffffffffffffffffffffffffff166354fd4d506040518163ffffffff1660e01b8152600401600060405180830381865afa1580156200047b573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052620004c3919081019062000aec565b604051620004d2919062000bb8565b60405180910390a250565b620004e7620005b2565b620004f360006200065d565b565b620004ff620005b2565b73ffffffffffffffffffffffffffffffffffffffff8116620005a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016200034b565b620005af816200065d565b50565b60005473ffffffffffffffffffffffffffffffffffffffff163314620004f3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016200034b565b60006200064283620006d2565b80156200065657506200065683836200073c565b9392505050565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600062000700827f01ffc9a7000000000000000000000000000000000000000000000000000000006200073c565b801562000736575062000734827fffffffff000000000000000000000000000000000000000000000000000000006200073c565b155b92915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015620007f5575060208210155b8015620008025750600081115b979650505050505050565b6106f38062000bce83390190565b60008083601f8401126200082e57600080fd5b50813567ffffffffffffffff8111156200084757600080fd5b6020830191508360208285010111156200086057600080fd5b9250929050565b60008060008060008060006080888a0312156200088357600080fd5b87359650602088013567ffffffffffffffff80821115620008a357600080fd5b620008b18b838c016200081b565b909850965060408a0135915080821115620008cb57600080fd5b620008d98b838c016200081b565b909650945060608a0135915080821115620008f357600080fd5b50620009028a828b016200081b565b989b979a50959850939692959293505050565b6000602082840312156200092857600080fd5b813573ffffffffffffffffffffffffffffffffffffffff811681146200065657600080fd5b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b878152608060208201526000620009b260808301888a6200094d565b8281036040840152620009c78187896200094d565b90508281036060840152620009de8185876200094d565b9a9950505050505050505050565b60005b8381101562000a09578181015183820152602001620009ef565b50506000910152565b6000815180845262000a2c816020860160208601620009ec565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b73ffffffffffffffffffffffffffffffffffffffff8316815260406020820152600062000a8f604083018462000a12565b949350505050565b8183823760009101908152919050565b60208152600062000a8f6020830184866200094d565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60006020828403121562000aff57600080fd5b815167ffffffffffffffff8082111562000b1857600080fd5b818401915084601f83011262000b2d57600080fd5b81518181111562000b425762000b4262000abd565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171562000b8b5762000b8b62000abd565b8160405282815287602084870101111562000ba557600080fd5b62000802836020830160208801620009ec565b60208152600062000656602083018462000a1256fe60806040526040516106f33803806106f383398101604081905261002291610420565b61002e82826000610035565b505061054a565b61003e836100f6565b6040516001600160a01b038416907f1cf3b03a6cf19fa2baba4df148e9dcabedea7f8a5c07840e207e5c089be95d3e90600090a260008251118061007f5750805b156100f1576100ef836001600160a01b0316635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156100c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100e991906104e0565b8361027a565b505b505050565b6001600160a01b0381163b6101605760405162461bcd60e51b815260206004820152602560248201527f455243313936373a206e657720626561636f6e206973206e6f74206120636f6e6044820152641d1c9858dd60da1b60648201526084015b60405180910390fd5b6101d4816001600160a01b0316635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101c591906104e0565b6001600160a01b03163b151590565b6102395760405162461bcd60e51b815260206004820152603060248201527f455243313936373a20626561636f6e20696d706c656d656e746174696f6e206960448201526f1cc81b9bdd08184818dbdb9d1c9858dd60821b6064820152608401610157565b7fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d5080546001600160a01b0319166001600160a01b0392909216919091179055565b606061029f83836040518060600160405280602781526020016106cc602791396102a6565b9392505050565b6060600080856001600160a01b0316856040516102c391906104fb565b600060405180830381855af49150503d80600081146102fe576040519150601f19603f3d011682016040523d82523d6000602084013e610303565b606091505b5090925090506103158683838761031f565b9695505050505050565b6060831561038e578251600003610387576001600160a01b0385163b6103875760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610157565b5081610398565b61039883836103a0565b949350505050565b8151156103b05781518083602001fd5b8060405162461bcd60e51b81526004016101579190610517565b80516001600160a01b03811681146103e157600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b838110156104175781810151838201526020016103ff565b50506000910152565b6000806040838503121561043357600080fd5b61043c836103ca565b60208401519092506001600160401b038082111561045957600080fd5b818501915085601f83011261046d57600080fd5b81518181111561047f5761047f6103e6565b604051601f8201601f19908116603f011681019083821181831017156104a7576104a76103e6565b816040528281528860208487010111156104c057600080fd5b6104d18360208301602088016103fc565b80955050505050509250929050565b6000602082840312156104f257600080fd5b61029f826103ca565b6000825161050d8184602087016103fc565b9190910192915050565b60208152600082518060208401526105368160408501602087016103fc565b601f01601f19169190910160400192915050565b610173806105596000396000f3fe60806040523661001357610011610017565b005b6100115b610027610022610029565b6100dc565b565b60006100697fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d505473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff16635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156100b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100d79190610100565b905090565b3660008037600080366000845af43d6000803e8080156100fb573d6000f35b3d6000fd5b60006020828403121561011257600080fd5b815173ffffffffffffffffffffffffffffffffffffffff8116811461013657600080fd5b939250505056fea26469706673582212206e19af89d0e39d5d76f1b5b6bd963ba5f8c6c6fc546e614a5bb49e1174b5e59d64736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564696e697469616c697a652875696e743235362c737472696e672c737472696e672c737472696e6729a264697066735822122091ade0328b92996652c19f4e87b9e9c79cef41e4a53ded61be39bc713ad3d80264736f6c6343000813003360806040523480156200001157600080fd5b506200001c62000022565b620000e4565b600054610100900460ff16156200008f5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff9081161015620000e2576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6137bb80620000f46000396000f3fe608060405234801561001057600080fd5b50600436106101a35760003560e01c806369cf2c37116100ee578063a22cb46511610097578063b88d4fde11610071578063b88d4fde146103b1578063b9d0787c146103c4578063c87b56dd146103cd578063e985e9c5146103e057600080fd5b8063a22cb4651461036b578063a8185a2e1461037e578063ac9650d81461039157600080fd5b80639484c103116100c85780639484c1031461033057806395d89b41146103505780639dc6693c1461035857600080fd5b806369cf2c371461030257806370a08231146103155780637284e4161461032857600080fd5b806323b872dd1161015057806346193ccd1161012a57806346193ccd146102a357806354fd4d50146102b65780636352211e146102ef57600080fd5b806323b872dd1461025b5780633c7fc59d1461026e57806342842e0e1461029057600080fd5b8063095ea7b311610181578063095ea7b31461021d5780630f7966c0146102325780632336a84a1461024857600080fd5b806301ffc9a7146101a857806306fdde03146101d0578063081812fc146101e5575b600080fd5b6101bb6101b63660046129dc565b610429565b60405190151581526020015b60405180910390f35b6101d8610464565b6040516101c79190612a67565b6101f86101f3366004612a7a565b6104f6565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101c7565b61023061022b366004612abc565b61052a565b005b61023a601481565b6040519081526020016101c7565b61023a610256366004612b3c565b6106bb565b610230610269366004612be9565b610731565b61028161027c366004612a7a565b6107d2565b6040516101c793929190612cec565b61023061029e366004612be9565b610816565b6102306102b1366004612d4e565b610831565b60408051808201909152600581527f302e312e3000000000000000000000000000000000000000000000000000000060208201526101d8565b6101f86102fd366004612a7a565b610aba565b61023a610310366004612d88565b610b46565b61023a610323366004612da5565b610c27565b6101d8610cf5565b61034361033e366004612a7a565b610d83565b6040516101c79190612dc0565b6101d8610f91565b610230610366366004612e18565b610fa0565b610230610379366004612e64565b611166565b61023a61038c366004612ea0565b611175565b6103a461039f366004612f7b565b6111f1565b6040516101c79190612fbd565b6102306103bf36600461306c565b6112e6565b61023a60cd5481565b6101d86103db366004612a7a565b61138e565b6101bb6103ee366004613166565b73ffffffffffffffffffffffffffffffffffffffff9182166000908152606a6020908152604080832093909416825291909152205460ff1690565b60007fffffffff000000000000000000000000000000000000000000000000000000008216158061045e575061045e82611401565b92915050565b60606065805461047390613199565b80601f016020809104026020016040519081016040528092919081815260200182805461049f90613199565b80156104ec5780601f106104c1576101008083540402835291602001916104ec565b820191906000526020600020905b8154815290600101906020018083116104cf57829003601f168201915b5050505050905090565b6000610501826114e4565b5060009081526069602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b600061053582610aba565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036105f7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff82161480610620575061062081336103ee565b6106ac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c00000060648201526084016105ee565b6106b68383611572565b505050565b6000808860068111156106d0576106d0612c25565b03610707576040517ffa19fa0700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610713338a611612565b905061072481898989898989611794565b5098975050505050505050565b61073b338261192b565b6107c7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f7665640000000000000000000000000000000000000060648201526084016105ee565b6106b68383836119eb565b6107da612976565b600060606107e784610d83565b600085815260ca60205260409020805491945060ff909116925061080d60018201611ce6565b93959294505050565b6106b6838383604051806020016040528060008152506112e6565b600054610100900460ff16158080156108515750600054600160ff909116105b8061086b5750303b15801561086b575060005460ff166001145b6108f7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016105ee565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561095557600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6109c887878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8b018190048102820181019092528981529250899150889081908401838280828437600092019190915250611cf392505050565b6109d0611d94565b87600003610a3a576040517feac0d38900000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f6672616e6368697365496400000000000000000000000000000000000000000060448201526064016105ee565b60cd88905560cc610a4c838583613234565b508015610ab057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050505050565b60008181526067602052604081205473ffffffffffffffffffffffffffffffffffffffff168061045e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e204944000000000000000060448201526064016105ee565b60008060cb6000846006811115610b5f57610b5f612c25565b6006811115610b7057610b70612c25565b81526020019081526020016000205490508060000361045e576040517f3b7d508f00000000000000000000000000000000000000000000000000000000815273defba4b68fb683ea2f2e40651408d4df2be10ca790633b7d508f90610bd990869060040161334f565b602060405180830381865af4158015610bf6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1a919061335d565b9392505050565b50919050565b600073ffffffffffffffffffffffffffffffffffffffff8216610ccc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e6572000000000000000000000000000000000000000000000060648201526084016105ee565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526068602052604090205490565b60cc8054610d0290613199565b80601f0160208091040260200160405190810160405280929190818152602001828054610d2e90613199565b8015610d7b5780601f10610d5057610100808354040283529160200191610d7b565b820191906000526020600020905b815481529060010190602001808311610d5e57829003601f168201915b505050505081565b610d8b612976565b600082815260c9602052604090819020815160808101909252805482908290610db390613199565b80601f0160208091040260200160405190810160405280929190818152602001828054610ddf90613199565b8015610e2c5780601f10610e0157610100808354040283529160200191610e2c565b820191906000526020600020905b815481529060010190602001808311610e0f57829003601f168201915b50505050508152602001600182018054610e4590613199565b80601f0160208091040260200160405190810160405280929190818152602001828054610e7190613199565b8015610ebe5780601f10610e9357610100808354040283529160200191610ebe565b820191906000526020600020905b815481529060010190602001808311610ea157829003601f168201915b50505050508152602001600282018054610ed790613199565b80601f0160208091040260200160405190810160405280929190818152602001828054610f0390613199565b8015610f505780601f10610f2557610100808354040283529160200191610f50565b820191906000526020600020905b815481529060010190602001808311610f3357829003601f168201915b5050509183525050600382015460209091019060ff166006811115610f7757610f77612c25565b6006811115610f8857610f88612c25565b90525092915050565b60606066805461047390613199565b806014811115610fdc576040517f77d10abd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084815260ca602052604081205460ff16905b838110156111225781600681111561100a5761100a612c25565b73defba4b68fb683ea2f2e40651408d4df2be10ca763efb84f0187878581811061103657611036613376565b905060200201356040518263ffffffff1660e01b815260040161105b91815260200190565b602060405180830381865af4158015611078573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061109c91906133a5565b60068111156110ad576110ad612c25565b146110e4576040517f50c3390e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111198585838181106110f9576110f9613376565b60008a815260ca6020908152604090912060010193910201359050611e2d565b50600101610ff0565b50847f823d677ed42b321275c6b3aa7040f32e41d12aea91120455a19a60ae310b0af3828686604051611157939291906133c2565b60405180910390a25050505050565b611171338383611e39565b5050565b60008061118860048c8c8c8c8c8c6106bb565b600081815260ca60205260409020805491925086917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660018360068111156111d3576111d3612c25565b02179055506111e3818585610fa0565b9a9950505050505050505050565b60608167ffffffffffffffff81111561120c5761120c61303d565b60405190808252806020026020018201604052801561123f57816020015b606081526020019060019003908161122a5790505b50905060005b828110156112df576112af3085858481811061126357611263613376565b90506020028101906112759190613422565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611f6692505050565b8282815181106112c1576112c1613376565b602002602001018190525080806112d7906134b6565b915050611245565b5092915050565b6112f0338361192b565b61137c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f7665640000000000000000000000000000000000000060648201526084016105ee565b611388848484846120a5565b50505050565b6060611399826114e4565b60006113b060408051602081019091526000815290565b905060008151116113d05760405180602001604052806000815250610c1a565b806113da84612148565b6040516020016113eb9291906134ee565b6040516020818303038152906040529392505050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061149457507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b8061045e57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161461045e565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff1661156f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e204944000000000000000060448201526064016105ee565b50565b600081815260696020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811790915581906115cc82610aba565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008061161e83610b46565b61162990600161351d565b6040517fa098da7d00000000000000000000000000000000000000000000000000000000815290915073defba4b68fb683ea2f2e40651408d4df2be10ca79063a098da7d9061167c90869060040161334f565b602060405180830381865af4158015611699573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116bd919061335d565b8111156116f6576040517fd5fdab4f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060cb600085600681111561170d5761170d612c25565b600681111561171e5761171e612c25565b81526020810191909152604001600020556117398482612207565b8083600681111561174c5761174c612c25565b60405173ffffffffffffffffffffffffffffffffffffffff8716907f46c5798f976ec5e5dec617e7f27479bc578f63e6bcf4f693ade547151a3219cd90600090a49392505050565b600087815260c96020526040812081600382015460ff1660068111156117bc576117bc612c25565b03611890576040517fefb84f01000000000000000000000000000000000000000000000000000000008152600481018a905273defba4b68fb683ea2f2e40651408d4df2be10ca79063efb84f0190602401602060405180830381865af415801561182a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061184e91906133a5565b6003820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600183600681111561188a5761188a612c25565b02179055505b8061189c888a83613234565b50600181016118ac868883613234565b50600281016118bc848683613234565b50600381015460ff1660068111156118d6576118d6612c25565b897f621ca783668a03c147f29e5ae01f40cc55df212956bde68afb53b1d6119a2ea78a8a8a8a8a8a60405161191096959493929190613579565b60405180910390a36003015460ff1698975050505050505050565b60008061193783610aba565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806119a5575073ffffffffffffffffffffffffffffffffffffffff8082166000908152606a602090815260408083209388168352929052205460ff165b806119e357508373ffffffffffffffffffffffffffffffffffffffff166119cb846104f6565b73ffffffffffffffffffffffffffffffffffffffff16145b949350505050565b8273ffffffffffffffffffffffffffffffffffffffff16611a0b82610aba565b73ffffffffffffffffffffffffffffffffffffffff1614611aae576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e657200000000000000000000000000000000000000000000000000000060648201526084016105ee565b73ffffffffffffffffffffffffffffffffffffffff8216611b50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016105ee565b8273ffffffffffffffffffffffffffffffffffffffff16611b7082610aba565b73ffffffffffffffffffffffffffffffffffffffff1614611c13576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e657200000000000000000000000000000000000000000000000000000060648201526084016105ee565b600081815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff8781168086526068855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905590871680865283862080546001019055868652606790945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b60606000610c1a83612221565b600054610100900460ff16611d8a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016105ee565b611171828261227d565b600054610100900460ff16611e2b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016105ee565b565b6000610c1a838361232d565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611ece576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016105ee565b73ffffffffffffffffffffffffffffffffffffffff8381166000818152606a602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b606073ffffffffffffffffffffffffffffffffffffffff83163b61200c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e7472616374000000000000000000000000000000000000000000000000000060648201526084016105ee565b6000808473ffffffffffffffffffffffffffffffffffffffff168460405161203491906135c2565b600060405180830381855af49150503d806000811461206f576040519150601f19603f3d011682016040523d82523d6000602084013e612074565b606091505b509150915061209c828260405180606001604052806027815260200161375f6027913961237c565b95945050505050565b6120b08484846119eb565b6120bc84848484612395565b611388576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016105ee565b6060600061215583612588565b600101905060008167ffffffffffffffff8111156121755761217561303d565b6040519080825280601f01601f19166020018201604052801561219f576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85049450846121a9575b509392505050565b61117182826040518060200160405280600081525061266a565b60608160000180548060200260200160405190810160405280929190818152602001828054801561227157602002820191906000526020600020905b81548152602001906001019080831161225d575b50505050509050919050565b600054610100900460ff16612314576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016105ee565b606561232083826135de565b5060666106b682826135de565b60008181526001830160205260408120546123745750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561045e565b50600061045e565b6060831561238b575081610c1a565b610c1a838361270d565b600073ffffffffffffffffffffffffffffffffffffffff84163b1561257d576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a029061240c9033908990889088906004016136f8565b6020604051808303816000875af1925050508015612465575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261246291810190613741565b60015b612532573d808015612493576040519150601f19603f3d011682016040523d82523d6000602084013e612498565b606091505b50805160000361252a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016105ee565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a02000000000000000000000000000000000000000000000000000000001490506119e3565b506001949350505050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083106125d1577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef810000000083106125fd576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061261b57662386f26fc10000830492506010015b6305f5e1008310612633576305f5e100830492506008015b612710831061264757612710830492506004015b60648310612659576064830492506002015b600a831061045e5760010192915050565b6126748383612751565b6126816000848484612395565b6106b6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016105ee565b81511561271d5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105ee9190612a67565b73ffffffffffffffffffffffffffffffffffffffff82166127ce576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016105ee565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff161561285a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016105ee565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff16156128e6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016105ee565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260686020908152604080832080546001019055848352606790915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6040518060800160405280606081526020016060815260200160608152602001600060068111156129a9576129a9612c25565b905290565b7fffffffff000000000000000000000000000000000000000000000000000000008116811461156f57600080fd5b6000602082840312156129ee57600080fd5b8135610c1a816129ae565b60005b83811015612a145781810151838201526020016129fc565b50506000910152565b60008151808452612a358160208601602086016129f9565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610c1a6020830184612a1d565b600060208284031215612a8c57600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff81168114612ab757600080fd5b919050565b60008060408385031215612acf57600080fd5b612ad883612a93565b946020939093013593505050565b6007811061156f57600080fd5b60008083601f840112612b0557600080fd5b50813567ffffffffffffffff811115612b1d57600080fd5b602083019150836020828501011115612b3557600080fd5b9250929050565b60008060008060008060006080888a031215612b5757600080fd5b8735612b6281612ae6565b9650602088013567ffffffffffffffff80821115612b7f57600080fd5b612b8b8b838c01612af3565b909850965060408a0135915080821115612ba457600080fd5b612bb08b838c01612af3565b909650945060608a0135915080821115612bc957600080fd5b50612bd68a828b01612af3565b989b979a50959850939692959293505050565b600080600060608486031215612bfe57600080fd5b612c0784612a93565b9250612c1560208501612a93565b9150604084013590509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60078110612c8b577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b6000815160808452612ca46080850182612a1d565b905060208301518482036020860152612cbd8282612a1d565b91505060408301518482036040860152612cd78282612a1d565b91505060608301516121ff6060860182612c54565b606081526000612cff6060830186612c8f565b6020612d0d81850187612c54565b838203604085015284518083528186019282019060005b81811015612d4057845183529383019391830191600101612d24565b509098975050505050505050565b60008060008060008060006080888a031215612d6957600080fd5b87359650602088013567ffffffffffffffff80821115612b7f57600080fd5b600060208284031215612d9a57600080fd5b8135610c1a81612ae6565b600060208284031215612db757600080fd5b610c1a82612a93565b602081526000610c1a6020830184612c8f565b60008083601f840112612de557600080fd5b50813567ffffffffffffffff811115612dfd57600080fd5b6020830191508360208260051b8501011115612b3557600080fd5b600080600060408486031215612e2d57600080fd5b83359250602084013567ffffffffffffffff811115612e4b57600080fd5b612e5786828701612dd3565b9497909650939450505050565b60008060408385031215612e7757600080fd5b612e8083612a93565b915060208301358015158114612e9557600080fd5b809150509250929050565b600080600080600080600080600060a08a8c031215612ebe57600080fd5b893567ffffffffffffffff80821115612ed657600080fd5b612ee28d838e01612af3565b909b50995060208c0135915080821115612efb57600080fd5b612f078d838e01612af3565b909950975060408c0135915080821115612f2057600080fd5b612f2c8d838e01612af3565b909750955060608c01359150612f4182612ae6565b90935060808b01359080821115612f5757600080fd5b50612f648c828d01612dd3565b915080935050809150509295985092959850929598565b60008060208385031215612f8e57600080fd5b823567ffffffffffffffff811115612fa557600080fd5b612fb185828601612dd3565b90969095509350505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015613030577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc088860301845261301e858351612a1d565b94509285019290850190600101612fe4565b5092979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000806000806080858703121561308257600080fd5b61308b85612a93565b935061309960208601612a93565b925060408501359150606085013567ffffffffffffffff808211156130bd57600080fd5b818701915087601f8301126130d157600080fd5b8135818111156130e3576130e361303d565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156131295761312961303d565b816040528281528a602084870101111561314257600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b6000806040838503121561317957600080fd5b61318283612a93565b915061319060208401612a93565b90509250929050565b600181811c908216806131ad57607f821691505b602082108103610c21577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b601f8211156106b657600081815260208120601f850160051c8101602086101561320d5750805b601f850160051c820191505b8181101561322c57828155600101613219565b505050505050565b67ffffffffffffffff83111561324c5761324c61303d565b6132608361325a8354613199565b836131e6565b6000601f8411600181146132b2576000851561327c5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355613348565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b8281101561330157868501358255602094850194600190920191016132e1565b508682101561333c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b6020810161045e8284612c54565b60006020828403121561336f57600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000602082840312156133b757600080fd5b8151610c1a81612ae6565b6133cc8185612c54565b6040602082015281604082015260007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83111561340857600080fd5b8260051b8085606085013791909101606001949350505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261345757600080fd5b83018035915067ffffffffffffffff82111561347257600080fd5b602001915036819003821315612b3557600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036134e7576134e7613487565b5060010190565b600083516135008184602088016129f9565b8351908301906135148183602088016129f9565b01949350505050565b8082018082111561045e5761045e613487565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60608152600061358d60608301888a613530565b82810360208401526135a0818789613530565b905082810360408401526135b5818587613530565b9998505050505050505050565b600082516135d48184602087016129f9565b9190910192915050565b815167ffffffffffffffff8111156135f8576135f861303d565b61360c816136068454613199565b846131e6565b602080601f83116001811461365f57600084156136295750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b17855561322c565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156136ac5788860151825594840194600190910190840161368d565b50858210156136e857878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250836040830152608060608301526137376080830184612a1d565b9695505050505050565b60006020828403121561375357600080fd5b8151610c1a816129ae56fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220b0e366f406ea3cb6bd64839cc50f1055ee4ed4038393402bdb4914a902991e6b64736f6c63430008130033608060405234801561001057600080fd5b506040516105ef3803806105ef83398101604081905261002f9161013a565b61003833610047565b61004181610097565b5061016a565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0381163b6101185760405162461bcd60e51b815260206004820152603360248201527f5570677261646561626c65426561636f6e3a20696d706c656d656e746174696f60448201527f6e206973206e6f74206120636f6e747261637400000000000000000000000000606482015260840160405180910390fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b60006020828403121561014c57600080fd5b81516001600160a01b038116811461016357600080fd5b9392505050565b610476806101796000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c8063715018a611610050578063715018a6146100c45780638da5cb5b146100cc578063f2fde38b146100ea57600080fd5b80633659cfe61461006c5780635c60da1b14610081575b600080fd5b61007f61007a366004610403565b6100fd565b005b60015473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61007f610152565b60005473ffffffffffffffffffffffffffffffffffffffff1661009b565b61007f6100f8366004610403565b610166565b610105610222565b61010e816102a3565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b61015a610222565b610164600061038e565b565b61016e610222565b73ffffffffffffffffffffffffffffffffffffffff8116610216576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61021f8161038e565b50565b60005473ffffffffffffffffffffffffffffffffffffffff163314610164576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161020d565b73ffffffffffffffffffffffffffffffffffffffff81163b610347576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603360248201527f5570677261646561626c65426561636f6e3a20696d706c656d656e746174696f60448201527f6e206973206e6f74206120636f6e747261637400000000000000000000000000606482015260840161020d565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006020828403121561041557600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461043957600080fd5b939250505056fea264697066735822122048ebef5dea79554c6de8af09830ddb871c241a46dee33849e34fac866c5894bd64736f6c63430008130033", - "nonce": "0xe", - "accessList": [] - }, - "additionalContracts": [ - { - "transactionType": "CREATE", - "address": "0x732d09c54aC463184E70dA44c27CB045fD696bBa", - "initCode": "60806040523480156200001157600080fd5b506200001c62000022565b620000e4565b600054610100900460ff16156200008f5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff9081161015620000e2576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6137bb80620000f46000396000f3fe608060405234801561001057600080fd5b50600436106101a35760003560e01c806369cf2c37116100ee578063a22cb46511610097578063b88d4fde11610071578063b88d4fde146103b1578063b9d0787c146103c4578063c87b56dd146103cd578063e985e9c5146103e057600080fd5b8063a22cb4651461036b578063a8185a2e1461037e578063ac9650d81461039157600080fd5b80639484c103116100c85780639484c1031461033057806395d89b41146103505780639dc6693c1461035857600080fd5b806369cf2c371461030257806370a08231146103155780637284e4161461032857600080fd5b806323b872dd1161015057806346193ccd1161012a57806346193ccd146102a357806354fd4d50146102b65780636352211e146102ef57600080fd5b806323b872dd1461025b5780633c7fc59d1461026e57806342842e0e1461029057600080fd5b8063095ea7b311610181578063095ea7b31461021d5780630f7966c0146102325780632336a84a1461024857600080fd5b806301ffc9a7146101a857806306fdde03146101d0578063081812fc146101e5575b600080fd5b6101bb6101b63660046129dc565b610429565b60405190151581526020015b60405180910390f35b6101d8610464565b6040516101c79190612a67565b6101f86101f3366004612a7a565b6104f6565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101c7565b61023061022b366004612abc565b61052a565b005b61023a601481565b6040519081526020016101c7565b61023a610256366004612b3c565b6106bb565b610230610269366004612be9565b610731565b61028161027c366004612a7a565b6107d2565b6040516101c793929190612cec565b61023061029e366004612be9565b610816565b6102306102b1366004612d4e565b610831565b60408051808201909152600581527f302e312e3000000000000000000000000000000000000000000000000000000060208201526101d8565b6101f86102fd366004612a7a565b610aba565b61023a610310366004612d88565b610b46565b61023a610323366004612da5565b610c27565b6101d8610cf5565b61034361033e366004612a7a565b610d83565b6040516101c79190612dc0565b6101d8610f91565b610230610366366004612e18565b610fa0565b610230610379366004612e64565b611166565b61023a61038c366004612ea0565b611175565b6103a461039f366004612f7b565b6111f1565b6040516101c79190612fbd565b6102306103bf36600461306c565b6112e6565b61023a60cd5481565b6101d86103db366004612a7a565b61138e565b6101bb6103ee366004613166565b73ffffffffffffffffffffffffffffffffffffffff9182166000908152606a6020908152604080832093909416825291909152205460ff1690565b60007fffffffff000000000000000000000000000000000000000000000000000000008216158061045e575061045e82611401565b92915050565b60606065805461047390613199565b80601f016020809104026020016040519081016040528092919081815260200182805461049f90613199565b80156104ec5780601f106104c1576101008083540402835291602001916104ec565b820191906000526020600020905b8154815290600101906020018083116104cf57829003601f168201915b5050505050905090565b6000610501826114e4565b5060009081526069602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b600061053582610aba565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036105f7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff82161480610620575061062081336103ee565b6106ac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c00000060648201526084016105ee565b6106b68383611572565b505050565b6000808860068111156106d0576106d0612c25565b03610707576040517ffa19fa0700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610713338a611612565b905061072481898989898989611794565b5098975050505050505050565b61073b338261192b565b6107c7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f7665640000000000000000000000000000000000000060648201526084016105ee565b6106b68383836119eb565b6107da612976565b600060606107e784610d83565b600085815260ca60205260409020805491945060ff909116925061080d60018201611ce6565b93959294505050565b6106b6838383604051806020016040528060008152506112e6565b600054610100900460ff16158080156108515750600054600160ff909116105b8061086b5750303b15801561086b575060005460ff166001145b6108f7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016105ee565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561095557600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6109c887878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8b018190048102820181019092528981529250899150889081908401838280828437600092019190915250611cf392505050565b6109d0611d94565b87600003610a3a576040517feac0d38900000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f6672616e6368697365496400000000000000000000000000000000000000000060448201526064016105ee565b60cd88905560cc610a4c838583613234565b508015610ab057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050505050565b60008181526067602052604081205473ffffffffffffffffffffffffffffffffffffffff168061045e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e204944000000000000000060448201526064016105ee565b60008060cb6000846006811115610b5f57610b5f612c25565b6006811115610b7057610b70612c25565b81526020019081526020016000205490508060000361045e576040517f3b7d508f00000000000000000000000000000000000000000000000000000000815273defba4b68fb683ea2f2e40651408d4df2be10ca790633b7d508f90610bd990869060040161334f565b602060405180830381865af4158015610bf6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1a919061335d565b9392505050565b50919050565b600073ffffffffffffffffffffffffffffffffffffffff8216610ccc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e6572000000000000000000000000000000000000000000000060648201526084016105ee565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526068602052604090205490565b60cc8054610d0290613199565b80601f0160208091040260200160405190810160405280929190818152602001828054610d2e90613199565b8015610d7b5780601f10610d5057610100808354040283529160200191610d7b565b820191906000526020600020905b815481529060010190602001808311610d5e57829003601f168201915b505050505081565b610d8b612976565b600082815260c9602052604090819020815160808101909252805482908290610db390613199565b80601f0160208091040260200160405190810160405280929190818152602001828054610ddf90613199565b8015610e2c5780601f10610e0157610100808354040283529160200191610e2c565b820191906000526020600020905b815481529060010190602001808311610e0f57829003601f168201915b50505050508152602001600182018054610e4590613199565b80601f0160208091040260200160405190810160405280929190818152602001828054610e7190613199565b8015610ebe5780601f10610e9357610100808354040283529160200191610ebe565b820191906000526020600020905b815481529060010190602001808311610ea157829003601f168201915b50505050508152602001600282018054610ed790613199565b80601f0160208091040260200160405190810160405280929190818152602001828054610f0390613199565b8015610f505780601f10610f2557610100808354040283529160200191610f50565b820191906000526020600020905b815481529060010190602001808311610f3357829003601f168201915b5050509183525050600382015460209091019060ff166006811115610f7757610f77612c25565b6006811115610f8857610f88612c25565b90525092915050565b60606066805461047390613199565b806014811115610fdc576040517f77d10abd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084815260ca602052604081205460ff16905b838110156111225781600681111561100a5761100a612c25565b73defba4b68fb683ea2f2e40651408d4df2be10ca763efb84f0187878581811061103657611036613376565b905060200201356040518263ffffffff1660e01b815260040161105b91815260200190565b602060405180830381865af4158015611078573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061109c91906133a5565b60068111156110ad576110ad612c25565b146110e4576040517f50c3390e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111198585838181106110f9576110f9613376565b60008a815260ca6020908152604090912060010193910201359050611e2d565b50600101610ff0565b50847f823d677ed42b321275c6b3aa7040f32e41d12aea91120455a19a60ae310b0af3828686604051611157939291906133c2565b60405180910390a25050505050565b611171338383611e39565b5050565b60008061118860048c8c8c8c8c8c6106bb565b600081815260ca60205260409020805491925086917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660018360068111156111d3576111d3612c25565b02179055506111e3818585610fa0565b9a9950505050505050505050565b60608167ffffffffffffffff81111561120c5761120c61303d565b60405190808252806020026020018201604052801561123f57816020015b606081526020019060019003908161122a5790505b50905060005b828110156112df576112af3085858481811061126357611263613376565b90506020028101906112759190613422565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611f6692505050565b8282815181106112c1576112c1613376565b602002602001018190525080806112d7906134b6565b915050611245565b5092915050565b6112f0338361192b565b61137c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f7665640000000000000000000000000000000000000060648201526084016105ee565b611388848484846120a5565b50505050565b6060611399826114e4565b60006113b060408051602081019091526000815290565b905060008151116113d05760405180602001604052806000815250610c1a565b806113da84612148565b6040516020016113eb9291906134ee565b6040516020818303038152906040529392505050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061149457507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b8061045e57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161461045e565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff1661156f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e204944000000000000000060448201526064016105ee565b50565b600081815260696020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811790915581906115cc82610aba565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008061161e83610b46565b61162990600161351d565b6040517fa098da7d00000000000000000000000000000000000000000000000000000000815290915073defba4b68fb683ea2f2e40651408d4df2be10ca79063a098da7d9061167c90869060040161334f565b602060405180830381865af4158015611699573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116bd919061335d565b8111156116f6576040517fd5fdab4f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060cb600085600681111561170d5761170d612c25565b600681111561171e5761171e612c25565b81526020810191909152604001600020556117398482612207565b8083600681111561174c5761174c612c25565b60405173ffffffffffffffffffffffffffffffffffffffff8716907f46c5798f976ec5e5dec617e7f27479bc578f63e6bcf4f693ade547151a3219cd90600090a49392505050565b600087815260c96020526040812081600382015460ff1660068111156117bc576117bc612c25565b03611890576040517fefb84f01000000000000000000000000000000000000000000000000000000008152600481018a905273defba4b68fb683ea2f2e40651408d4df2be10ca79063efb84f0190602401602060405180830381865af415801561182a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061184e91906133a5565b6003820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600183600681111561188a5761188a612c25565b02179055505b8061189c888a83613234565b50600181016118ac868883613234565b50600281016118bc848683613234565b50600381015460ff1660068111156118d6576118d6612c25565b897f621ca783668a03c147f29e5ae01f40cc55df212956bde68afb53b1d6119a2ea78a8a8a8a8a8a60405161191096959493929190613579565b60405180910390a36003015460ff1698975050505050505050565b60008061193783610aba565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806119a5575073ffffffffffffffffffffffffffffffffffffffff8082166000908152606a602090815260408083209388168352929052205460ff165b806119e357508373ffffffffffffffffffffffffffffffffffffffff166119cb846104f6565b73ffffffffffffffffffffffffffffffffffffffff16145b949350505050565b8273ffffffffffffffffffffffffffffffffffffffff16611a0b82610aba565b73ffffffffffffffffffffffffffffffffffffffff1614611aae576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e657200000000000000000000000000000000000000000000000000000060648201526084016105ee565b73ffffffffffffffffffffffffffffffffffffffff8216611b50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016105ee565b8273ffffffffffffffffffffffffffffffffffffffff16611b7082610aba565b73ffffffffffffffffffffffffffffffffffffffff1614611c13576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e657200000000000000000000000000000000000000000000000000000060648201526084016105ee565b600081815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff8781168086526068855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905590871680865283862080546001019055868652606790945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b60606000610c1a83612221565b600054610100900460ff16611d8a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016105ee565b611171828261227d565b600054610100900460ff16611e2b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016105ee565b565b6000610c1a838361232d565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611ece576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016105ee565b73ffffffffffffffffffffffffffffffffffffffff8381166000818152606a602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b606073ffffffffffffffffffffffffffffffffffffffff83163b61200c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e7472616374000000000000000000000000000000000000000000000000000060648201526084016105ee565b6000808473ffffffffffffffffffffffffffffffffffffffff168460405161203491906135c2565b600060405180830381855af49150503d806000811461206f576040519150601f19603f3d011682016040523d82523d6000602084013e612074565b606091505b509150915061209c828260405180606001604052806027815260200161375f6027913961237c565b95945050505050565b6120b08484846119eb565b6120bc84848484612395565b611388576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016105ee565b6060600061215583612588565b600101905060008167ffffffffffffffff8111156121755761217561303d565b6040519080825280601f01601f19166020018201604052801561219f576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85049450846121a9575b509392505050565b61117182826040518060200160405280600081525061266a565b60608160000180548060200260200160405190810160405280929190818152602001828054801561227157602002820191906000526020600020905b81548152602001906001019080831161225d575b50505050509050919050565b600054610100900460ff16612314576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016105ee565b606561232083826135de565b5060666106b682826135de565b60008181526001830160205260408120546123745750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561045e565b50600061045e565b6060831561238b575081610c1a565b610c1a838361270d565b600073ffffffffffffffffffffffffffffffffffffffff84163b1561257d576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a029061240c9033908990889088906004016136f8565b6020604051808303816000875af1925050508015612465575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261246291810190613741565b60015b612532573d808015612493576040519150601f19603f3d011682016040523d82523d6000602084013e612498565b606091505b50805160000361252a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016105ee565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a02000000000000000000000000000000000000000000000000000000001490506119e3565b506001949350505050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083106125d1577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef810000000083106125fd576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061261b57662386f26fc10000830492506010015b6305f5e1008310612633576305f5e100830492506008015b612710831061264757612710830492506004015b60648310612659576064830492506002015b600a831061045e5760010192915050565b6126748383612751565b6126816000848484612395565b6106b6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016105ee565b81511561271d5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105ee9190612a67565b73ffffffffffffffffffffffffffffffffffffffff82166127ce576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016105ee565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff161561285a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016105ee565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff16156128e6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016105ee565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260686020908152604080832080546001019055848352606790915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6040518060800160405280606081526020016060815260200160608152602001600060068111156129a9576129a9612c25565b905290565b7fffffffff000000000000000000000000000000000000000000000000000000008116811461156f57600080fd5b6000602082840312156129ee57600080fd5b8135610c1a816129ae565b60005b83811015612a145781810151838201526020016129fc565b50506000910152565b60008151808452612a358160208601602086016129f9565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610c1a6020830184612a1d565b600060208284031215612a8c57600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff81168114612ab757600080fd5b919050565b60008060408385031215612acf57600080fd5b612ad883612a93565b946020939093013593505050565b6007811061156f57600080fd5b60008083601f840112612b0557600080fd5b50813567ffffffffffffffff811115612b1d57600080fd5b602083019150836020828501011115612b3557600080fd5b9250929050565b60008060008060008060006080888a031215612b5757600080fd5b8735612b6281612ae6565b9650602088013567ffffffffffffffff80821115612b7f57600080fd5b612b8b8b838c01612af3565b909850965060408a0135915080821115612ba457600080fd5b612bb08b838c01612af3565b909650945060608a0135915080821115612bc957600080fd5b50612bd68a828b01612af3565b989b979a50959850939692959293505050565b600080600060608486031215612bfe57600080fd5b612c0784612a93565b9250612c1560208501612a93565b9150604084013590509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60078110612c8b577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b6000815160808452612ca46080850182612a1d565b905060208301518482036020860152612cbd8282612a1d565b91505060408301518482036040860152612cd78282612a1d565b91505060608301516121ff6060860182612c54565b606081526000612cff6060830186612c8f565b6020612d0d81850187612c54565b838203604085015284518083528186019282019060005b81811015612d4057845183529383019391830191600101612d24565b509098975050505050505050565b60008060008060008060006080888a031215612d6957600080fd5b87359650602088013567ffffffffffffffff80821115612b7f57600080fd5b600060208284031215612d9a57600080fd5b8135610c1a81612ae6565b600060208284031215612db757600080fd5b610c1a82612a93565b602081526000610c1a6020830184612c8f565b60008083601f840112612de557600080fd5b50813567ffffffffffffffff811115612dfd57600080fd5b6020830191508360208260051b8501011115612b3557600080fd5b600080600060408486031215612e2d57600080fd5b83359250602084013567ffffffffffffffff811115612e4b57600080fd5b612e5786828701612dd3565b9497909650939450505050565b60008060408385031215612e7757600080fd5b612e8083612a93565b915060208301358015158114612e9557600080fd5b809150509250929050565b600080600080600080600080600060a08a8c031215612ebe57600080fd5b893567ffffffffffffffff80821115612ed657600080fd5b612ee28d838e01612af3565b909b50995060208c0135915080821115612efb57600080fd5b612f078d838e01612af3565b909950975060408c0135915080821115612f2057600080fd5b612f2c8d838e01612af3565b909750955060608c01359150612f4182612ae6565b90935060808b01359080821115612f5757600080fd5b50612f648c828d01612dd3565b915080935050809150509295985092959850929598565b60008060208385031215612f8e57600080fd5b823567ffffffffffffffff811115612fa557600080fd5b612fb185828601612dd3565b90969095509350505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015613030577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc088860301845261301e858351612a1d565b94509285019290850190600101612fe4565b5092979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000806000806080858703121561308257600080fd5b61308b85612a93565b935061309960208601612a93565b925060408501359150606085013567ffffffffffffffff808211156130bd57600080fd5b818701915087601f8301126130d157600080fd5b8135818111156130e3576130e361303d565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156131295761312961303d565b816040528281528a602084870101111561314257600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b6000806040838503121561317957600080fd5b61318283612a93565b915061319060208401612a93565b90509250929050565b600181811c908216806131ad57607f821691505b602082108103610c21577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b601f8211156106b657600081815260208120601f850160051c8101602086101561320d5750805b601f850160051c820191505b8181101561322c57828155600101613219565b505050505050565b67ffffffffffffffff83111561324c5761324c61303d565b6132608361325a8354613199565b836131e6565b6000601f8411600181146132b2576000851561327c5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355613348565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b8281101561330157868501358255602094850194600190920191016132e1565b508682101561333c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b6020810161045e8284612c54565b60006020828403121561336f57600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000602082840312156133b757600080fd5b8151610c1a81612ae6565b6133cc8185612c54565b6040602082015281604082015260007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83111561340857600080fd5b8260051b8085606085013791909101606001949350505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261345757600080fd5b83018035915067ffffffffffffffff82111561347257600080fd5b602001915036819003821315612b3557600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036134e7576134e7613487565b5060010190565b600083516135008184602088016129f9565b8351908301906135148183602088016129f9565b01949350505050565b8082018082111561045e5761045e613487565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60608152600061358d60608301888a613530565b82810360208401526135a0818789613530565b905082810360408401526135b5818587613530565b9998505050505050505050565b600082516135d48184602087016129f9565b9190910192915050565b815167ffffffffffffffff8111156135f8576135f861303d565b61360c816136068454613199565b846131e6565b602080601f83116001811461365f57600084156136295750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b17855561322c565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156136ac5788860151825594840194600190910190840161368d565b50858210156136e857878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250836040830152608060608301526137376080830184612a1d565b9695505050505050565b60006020828403121561375357600080fd5b8151610c1a816129ae56fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220b0e366f406ea3cb6bd64839cc50f1055ee4ed4038393402bdb4914a902991e6b64736f6c63430008130033" - }, - { - "transactionType": "CREATE", - "address": "0x2Cc32b5a01fD78D2C236b02DA8447CDBa404C73F", - "initCode": "608060405234801561001057600080fd5b506040516105ef3803806105ef83398101604081905261002f9161013a565b61003833610047565b61004181610097565b5061016a565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0381163b6101185760405162461bcd60e51b815260206004820152603360248201527f5570677261646561626c65426561636f6e3a20696d706c656d656e746174696f60448201527f6e206973206e6f74206120636f6e747261637400000000000000000000000000606482015260840160405180910390fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b60006020828403121561014c57600080fd5b81516001600160a01b038116811461016357600080fd5b9392505050565b610476806101796000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c8063715018a611610050578063715018a6146100c45780638da5cb5b146100cc578063f2fde38b146100ea57600080fd5b80633659cfe61461006c5780635c60da1b14610081575b600080fd5b61007f61007a366004610403565b6100fd565b005b60015473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61007f610152565b60005473ffffffffffffffffffffffffffffffffffffffff1661009b565b61007f6100f8366004610403565b610166565b610105610222565b61010e816102a3565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b61015a610222565b610164600061038e565b565b61016e610222565b73ffffffffffffffffffffffffffffffffffffffff8116610216576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61021f8161038e565b50565b60005473ffffffffffffffffffffffffffffffffffffffff163314610164576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161020d565b73ffffffffffffffffffffffffffffffffffffffff81163b610347576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603360248201527f5570677261646561626c65426561636f6e3a20696d706c656d656e746174696f60448201527f6e206973206e6f74206120636f6e747261637400000000000000000000000000606482015260840161020d565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006020828403121561041557600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461043957600080fd5b939250505056fea264697066735822122048ebef5dea79554c6de8af09830ddb871c241a46dee33849e34fac866c5894bd64736f6c63430008130033000000000000000000000000732d09c54ac463184e70da44c27cb045fd696bba" - } - ], - "isFixedGasLimit": false - }, - { - "hash": "0xaca8d484ee3f03a425944d19a0c538da9f616f50797e42204c9039f331a75fd1", - "transactionType": "CREATE", - "contractName": "AccessControlSingleton", - "contractAddress": "0x7fc41a3090Df7b3D9BE76e69fd6d97A2453C266E", - "function": null, - "arguments": null, - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x22dd84", - "value": "0x0", - "data": "0x60a06040523060805234801561001457600080fd5b50608051611f1461004c600039600081816104d101528181610581015281816106d60152818161078601526108cb0152611f146000f3fe6080604052600436106100dd5760003560e01c806352d1902d1161007f578063a217fddf11610059578063a217fddf146102a8578063ac9650d8146102bd578063c4d66de8146102ea578063d547741f1461030a57600080fd5b806352d1902d146101ea57806354fd4d50146101ff57806391d148541461025557600080fd5b80632f2ff15d116100bb5780632f2ff15d1461017757806336568abe146101975780633659cfe6146101b75780634f1ef286146101d757600080fd5b806301ffc9a7146100e25780631e4e009114610117578063248a9ca314610139575b600080fd5b3480156100ee57600080fd5b506101026100fd36600461192e565b61032a565b60405190151581526020015b60405180910390f35b34801561012357600080fd5b50610137610132366004611970565b6103c3565b005b34801561014557600080fd5b50610169610154366004611992565b60009081526065602052604090206001015490565b60405190815260200161010e565b34801561018357600080fd5b506101376101923660046119d4565b6103dd565b3480156101a357600080fd5b506101376101b23660046119d4565b610402565b3480156101c357600080fd5b506101376101d2366004611a00565b6104ba565b6101376101e5366004611a4a565b6106bf565b3480156101f657600080fd5b506101696108b1565b34801561020b57600080fd5b506102486040518060400160405280600581526020017f302e312e3000000000000000000000000000000000000000000000000000000081525081565b60405161010e9190611b98565b34801561026157600080fd5b506101026102703660046119d4565b600091825260656020908152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b3480156102b457600080fd5b50610169600081565b3480156102c957600080fd5b506102dd6102d8366004611bab565b61099d565b60405161010e9190611c20565b3480156102f657600080fd5b50610137610305366004611a00565b610a92565b34801561031657600080fd5b506101376103253660046119d4565b610cb4565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806103bd57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60006103ce81610cd9565b6103d88383610ce3565b505050565b6000828152606560205260409020600101546103f881610cd9565b6103d88383610d2e565b73ffffffffffffffffffffffffffffffffffffffff811633146104ac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b6104b68282610e22565b5050565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016300361057f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016104a3565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166105f47f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610697576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016104a3565b6106a081610edd565b604080516000808252602082019092526106bc91839190610f07565b50565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610784576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016104a3565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166107f97f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff161461089c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016104a3565b6108a582610edd565b6104b682826001610f07565b60003073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610978576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016104a3565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b60608167ffffffffffffffff8111156109b8576109b8611a1b565b6040519080825280602002602001820160405280156109eb57816020015b60608152602001906001900390816109d65790505b50905060005b82811015610a8b57610a5b30858584818110610a0f57610a0f611ca0565b9050602002810190610a219190611ccf565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061110692505050565b828281518110610a6d57610a6d611ca0565b60200260200101819052508080610a8390611d6a565b9150506109f1565b5092915050565b600054610100900460ff1615808015610ab25750600054600160ff909116105b80610acc5750303b158015610acc575060005460ff166001145b610b58576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016104a3565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610bb657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b73ffffffffffffffffffffffffffffffffffffffff8216610c33576040517feac0d38900000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f5f61646d696e000000000000000000000000000000000000000000000000000060448201526064016104a3565b610c3b611132565b610c43611132565b610c4e600083610d2e565b80156104b657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b600082815260656020526040902060010154610ccf81610cd9565b6103d88383610e22565b6106bc81336111cb565b600082815260656020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff166104b657600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff85168452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055610dc43390565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16156104b657600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e36104b681610cd9565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610f3a576103d883611285565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610fbf575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252610fbc91810190611da2565b60015b61104b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016104a3565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81146110fa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016104a3565b506103d883838361138f565b606061112b8383604051806060016040528060278152602001611eb8602791396113ba565b9392505050565b600054610100900460ff166111c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016104a3565b565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff166104b65761120b8161143f565b61121683602061145e565b604051602001611227929190611dbb565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a00000000000000000000000000000000000000000000000000000000082526104a391600401611b98565b73ffffffffffffffffffffffffffffffffffffffff81163b611329576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016104a3565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b611398836116a1565b6000825111806113a55750805b156103d8576113b483836116ee565b50505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516113e49190611e3c565b600060405180830381855af49150503d806000811461141f576040519150601f19603f3d011682016040523d82523d6000602084013e611424565b606091505b50915091506114358683838761182d565b9695505050505050565b60606103bd73ffffffffffffffffffffffffffffffffffffffff831660145b6060600061146d836002611e58565b611478906002611e6f565b67ffffffffffffffff81111561149057611490611a1b565b6040519080825280601f01601f1916602001820160405280156114ba576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106114f1576114f1611ca0565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061155457611554611ca0565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000611590846002611e58565b61159b906001611e6f565b90505b6001811115611638577f303132333435363738396162636465660000000000000000000000000000000085600f16601081106115dc576115dc611ca0565b1a60f81b8282815181106115f2576115f2611ca0565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c9361163181611e82565b905061159e565b50831561112b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016104a3565b6116aa81611285565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606073ffffffffffffffffffffffffffffffffffffffff83163b611794576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e7472616374000000000000000000000000000000000000000000000000000060648201526084016104a3565b6000808473ffffffffffffffffffffffffffffffffffffffff16846040516117bc9190611e3c565b600060405180830381855af49150503d80600081146117f7576040519150601f19603f3d011682016040523d82523d6000602084013e6117fc565b606091505b50915091506118248282604051806060016040528060278152602001611eb8602791396118d5565b95945050505050565b606083156118c35782516000036118bc5773ffffffffffffffffffffffffffffffffffffffff85163b6118bc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016104a3565b50816118cd565b6118cd83836118ea565b949350505050565b606083156118e457508161112b565b61112b83835b8151156118fa5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104a39190611b98565b60006020828403121561194057600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461112b57600080fd5b6000806040838503121561198357600080fd5b50508035926020909101359150565b6000602082840312156119a457600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff811681146119cf57600080fd5b919050565b600080604083850312156119e757600080fd5b823591506119f7602084016119ab565b90509250929050565b600060208284031215611a1257600080fd5b61112b826119ab565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060408385031215611a5d57600080fd5b611a66836119ab565b9150602083013567ffffffffffffffff80821115611a8357600080fd5b818501915085601f830112611a9757600080fd5b813581811115611aa957611aa9611a1b565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715611aef57611aef611a1b565b81604052828152886020848701011115611b0857600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b83811015611b45578181015183820152602001611b2d565b50506000910152565b60008151808452611b66816020860160208601611b2a565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061112b6020830184611b4e565b60008060208385031215611bbe57600080fd5b823567ffffffffffffffff80821115611bd657600080fd5b818501915085601f830112611bea57600080fd5b813581811115611bf957600080fd5b8660208260051b8501011115611c0e57600080fd5b60209290920196919550909350505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015611c93577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452611c81858351611b4e565b94509285019290850190600101611c47565b5092979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611d0457600080fd5b83018035915067ffffffffffffffff821115611d1f57600080fd5b602001915036819003821315611d3457600080fd5b9250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611d9b57611d9b611d3b565b5060010190565b600060208284031215611db457600080fd5b5051919050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351611df3816017850160208801611b2a565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351611e30816028840160208801611b2a565b01602801949350505050565b60008251611e4e818460208701611b2a565b9190910192915050565b80820281158282048414176103bd576103bd611d3b565b808201808211156103bd576103bd611d3b565b600081611e9157611e91611d3b565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220406f8c698e76523661d95c28b32136b7d6e78e31e7f52269d0ae4c2234565e2b64736f6c63430008130033", - "nonce": "0xf", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xcffa4249deeab777fa3c7279a768859c40b7ca6b80c3e9d663f63cd91839e692", - "transactionType": "CREATE", - "contractName": "FranchiseRegistry", - "contractAddress": "0xA734c513861c1a113f3B5BF2DDAeC31bc3F9376B", - "function": null, - "arguments": [ - "0xe381609EF4bA8729e875FC84a410976FdA90B175" - ], - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x3ae13d", - "value": "0x0", - "data": "0x60c0604052306080523480156200001557600080fd5b506040516200365a3803806200365a83398101604081905262000038916200015a565b620000426200009b565b6001600160a01b038116620000895760405163eac0d38960e01b8152602060048201526007602482015266666163746f727960c81b60448201526064015b60405180910390fd5b6001600160a01b031660a0526200018c565b600054610100900460ff1615620001055760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840162000080565b60005460ff908116101562000158576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6000602082840312156200016d57600080fd5b81516001600160a01b03811681146200018557600080fd5b9392505050565b60805160a051613485620001d5600039600081816102ef01526110f6015260008181610ab801528181610b4e01528181610ca401528181610d3a0152610e6901526134856000f3fe6080604052600436106101965760003560e01c806354fd4d50116100e1578063b88d4fde1161008a578063c87b56dd11610064578063c87b56dd146104e1578063e885891114610501578063e985e9c514610545578063ef647e101461059c57600080fd5b8063b88d4fde14610457578063bac806d314610477578063c4d66de8146104c157600080fd5b806395d89b41116100bb57806395d89b411461040d5780639b0c6be414610422578063a22cb4651461043757600080fd5b806354fd4d50146103875780636352211e146103cd57806370a08231146103ed57600080fd5b806323b872dd1161014357806342842e0e1161011d57806342842e0e146103315780634f1ef2861461035157806352d1902d1461036457600080fd5b806323b872dd146102bd5780632dd31000146102dd5780633659cfe61461031157600080fd5b8063095ea7b311610174578063095ea7b31461023757806319129e5a1461025957806322220f951461027957600080fd5b806301ffc9a71461019b57806306fdde03146101d0578063081812fc146101f2575b600080fd5b3480156101a757600080fd5b506101bb6101b6366004612c20565b6105b1565b60405190151581526020015b60405180910390f35b3480156101dc57600080fd5b506101e5610696565b6040516101c79190612cab565b3480156101fe57600080fd5b5061021261020d366004612cbe565b610728565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101c7565b34801561024357600080fd5b50610257610252366004612cf9565b61075c565b005b34801561026557600080fd5b50610257610274366004612d25565b6108b9565b34801561028557600080fd5b50610212610294366004612cbe565b61012e6020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b3480156102c957600080fd5b506102576102d8366004612d42565b610a1a565b3480156102e957600080fd5b506102127f000000000000000000000000000000000000000000000000000000000000000081565b34801561031d57600080fd5b5061025761032c366004612d25565b610aa1565b34801561033d57600080fd5b5061025761034c366004612d42565b610c72565b61025761035f366004612e5d565b610c8d565b34801561037057600080fd5b50610379610e4f565b6040519081526020016101c7565b34801561039357600080fd5b5060408051808201909152600581527f302e312e3000000000000000000000000000000000000000000000000000000060208201526101e5565b3480156103d957600080fd5b506102126103e8366004612cbe565b610f21565b3480156103f957600080fd5b50610379610408366004612d25565b610f93565b34801561041957600080fd5b506101e5611047565b34801561042e57600080fd5b50610212600081565b34801561044357600080fd5b50610257610452366004612ebb565b611056565b34801561046357600080fd5b50610257610472366004612ef4565b611061565b34801561048357600080fd5b50610497610492366004612fa9565b6110ef565b6040805192835273ffffffffffffffffffffffffffffffffffffffff9091166020830152016101c7565b3480156104cd57600080fd5b506102576104dc366004612d25565b61127d565b3480156104ed57600080fd5b506101e56104fc366004612cbe565b611473565b34801561050d57600080fd5b5061021261051c366004612cbe565b600090815261012e602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b34801561055157600080fd5b506101bb610560366004613043565b73ffffffffffffffffffffffffffffffffffffffff91821660009081526101006020908152604080832093909416825291909152205460ff1690565b3480156105a857600080fd5b50610379600081565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061064457507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b8061069057507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b606060fb80546106a590613071565b80601f01602080910402602001604051908101604052809291908181526020018280546106d190613071565b801561071e5780601f106106f35761010080835404028352916020019161071e565b820191906000526020600020905b81548152906001019060200180831161070157829003601f168201915b5050505050905090565b6000610733826114e7565b50600090815260ff602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b600061076782610f21565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361080f5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff8216148061083857506108388133610560565b6108aa5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610806565b6108b48383611558565b505050565b60006108c581336115f8565b610904576040517f75000dc000000000000000000000000000000000000000000000000000000000815260048101829052336024820152604401610806565b61094473ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000611694565b6109aa576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c0000000000000000000000000000000000006044820152606401610806565b606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a25050565b610a2433826116b0565b610a965760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610806565b6108b4838383611771565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610b4c5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610806565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610bc17f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610c4a5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610806565b610c5381611a1e565b60408051600080825260208201909252610c6f91839190611a88565b50565b6108b483838360405180602001604052806000815250611061565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610d385760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610806565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610dad7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610e365760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610806565b610e3f82611a1e565b610e4b82826001611a88565b5050565b60003073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610efc5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610806565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b600081815260fd602052604081205473ffffffffffffffffffffffffffffffffffffffff16806106905760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610806565b600073ffffffffffffffffffffffffffffffffffffffff821661101e5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e657200000000000000000000000000000000000000000000006064820152608401610806565b5073ffffffffffffffffffffffffffffffffffffffff16600090815260fe602052604090205490565b606060fc80546106a590613071565b610e4b338383611c53565b61106b33836116b0565b6110dd5760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610806565b6110e984848484611d67565b50505050565b60008060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166305d4dd8761012d60008154611140906130c4565b9190508190558b8b8b8b8b8b6040518863ffffffff1660e01b815260040161116e979695949392919061316c565b6020604051808303816000875af115801561118d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111b191906131bc565b61012d8054600090815261012e6020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841617905554909150611212903390611df0565b61012d5460408051338152602081019290925273ffffffffffffffffffffffffffffffffffffffff831682820152517f0ee7716498f35cc0a42b8edb136bf88dbc529acf11a42fb9e4ec60b29638aff39181900360600190a161012d54999098509650505050505050565b600054610100900460ff161580801561129d5750600054600160ff909116105b806112b75750303b1580156112b7575060005460ff166001145b6113295760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610806565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561138757600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61138f611e0a565b61139882611e89565b61140c6040518060400160405280600e81526020017f53746f72792050726f746f636f6c0000000000000000000000000000000000008152506040518060400160405280600281526020017f5350000000000000000000000000000000000000000000000000000000000000815250612104565b8015610e4b57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15050565b606061147e826114e7565b600061149560408051602081019091526000815290565b905060008151116114b557604051806020016040528060008152506114e0565b806114bf8461218b565b6040516020016114d09291906131d9565b6040516020818303038152906040525b9392505050565b600081815260fd602052604090205473ffffffffffffffffffffffffffffffffffffffff16610c6f5760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610806565b600081815260ff6020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811790915581906115b282610f21565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6065546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810184905273ffffffffffffffffffffffffffffffffffffffff838116602483015260009216906391d1485490604401602060405180830381865afa158015611670573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114e09190613208565b600061169f83612249565b80156114e057506114e083836122ad565b6000806116bc83610f21565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061172b575073ffffffffffffffffffffffffffffffffffffffff8082166000908152610100602090815260408083209388168352929052205460ff165b8061176957508373ffffffffffffffffffffffffffffffffffffffff1661175184610728565b73ffffffffffffffffffffffffffffffffffffffff16145b949350505050565b8273ffffffffffffffffffffffffffffffffffffffff1661179182610f21565b73ffffffffffffffffffffffffffffffffffffffff161461181a5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610806565b73ffffffffffffffffffffffffffffffffffffffff82166118a25760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610806565b8273ffffffffffffffffffffffffffffffffffffffff166118c282610f21565b73ffffffffffffffffffffffffffffffffffffffff161461194b5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610806565b600081815260ff6020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff87811680865260fe855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190559087168086528386208054600101905586865260fd90945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3611a4981336115f8565b610e4b576040517f75000dc000000000000000000000000000000000000000000000000000000000815260048101829052336024820152604401610806565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611abb576108b48361237c565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611b40575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252611b3d91810190613225565b60015b611bb25760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608401610806565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114611c475760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152608401610806565b506108b483838361246c565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611cce5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610806565b73ffffffffffffffffffffffffffffffffffffffff8381166000818152610100602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b611d72848484611771565b611d7e84848484612491565b6110e95760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610806565b610e4b82826040518060200160405280600081525061266a565b600054610100900460ff16611e875760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610806565b565b600054610100900460ff1615808015611ea95750600054600160ff909116105b80611ec35750303b158015611ec3575060005460ff166001145b611f355760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610806565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015611f9357600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b611fd373ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000611694565b612039576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c0000000000000000000000000000000000006044820152606401610806565b606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a28015610e4b57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602001611467565b600054610100900460ff166121815760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610806565b610e4b82826126f3565b6060600061219883612789565b600101905060008167ffffffffffffffff8111156121b8576121b8612d83565b6040519080825280601f01601f1916602001820160405280156121e2576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85049450846121ec57509392505050565b6000612275827f01ffc9a7000000000000000000000000000000000000000000000000000000006122ad565b801561069057506122a6827fffffffff000000000000000000000000000000000000000000000000000000006122ad565b1592915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015612365575060208210155b80156123715750600081115b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff81163b6124065760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401610806565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6124758361286b565b6000825111806124825750805b156108b4576110e983836128b8565b600073ffffffffffffffffffffffffffffffffffffffff84163b1561265f576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a029061250890339089908890889060040161323e565b6020604051808303816000875af1925050508015612561575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261255e91810190613287565b60015b612614573d80801561258f576040519150601f19603f3d011682016040523d82523d6000602084013e612594565b606091505b50805160000361260c5760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610806565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050611769565b506001949350505050565b61267483836129dd565b6126816000848484612491565b6108b45760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610806565b600054610100900460ff166127705760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610806565b60fb61277c83826132f2565b5060fc6108b482826132f2565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083106127d2577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef810000000083106127fe576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061281c57662386f26fc10000830492506010015b6305f5e1008310612834576305f5e100830492506008015b612710831061284857612710830492506004015b6064831061285a576064830492506002015b600a83106106905760010192915050565b6128748161237c565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606073ffffffffffffffffffffffffffffffffffffffff83163b6129445760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e747261637400000000000000000000000000000000000000000000000000006064820152608401610806565b6000808473ffffffffffffffffffffffffffffffffffffffff168460405161296c919061340c565b600060405180830381855af49150503d80600081146129a7576040519150601f19603f3d011682016040523d82523d6000602084013e6129ac565b606091505b50915091506129d4828260405180606001604052806027815260200161342960279139612bb4565b95945050505050565b73ffffffffffffffffffffffffffffffffffffffff8216612a405760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610806565b600081815260fd602052604090205473ffffffffffffffffffffffffffffffffffffffff1615612ab25760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610806565b600081815260fd602052604090205473ffffffffffffffffffffffffffffffffffffffff1615612b245760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610806565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260fe602090815260408083208054600101905584835260fd90915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60608315612bc35750816114e0565b6114e08383815115612bd85781518083602001fd5b8060405162461bcd60e51b81526004016108069190612cab565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610c6f57600080fd5b600060208284031215612c3257600080fd5b81356114e081612bf2565b60005b83811015612c58578181015183820152602001612c40565b50506000910152565b60008151808452612c79816020860160208601612c3d565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006114e06020830184612c61565b600060208284031215612cd057600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610c6f57600080fd5b60008060408385031215612d0c57600080fd5b8235612d1781612cd7565b946020939093013593505050565b600060208284031215612d3757600080fd5b81356114e081612cd7565b600080600060608486031215612d5757600080fd5b8335612d6281612cd7565b92506020840135612d7281612cd7565b929592945050506040919091013590565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112612dc357600080fd5b813567ffffffffffffffff80821115612dde57612dde612d83565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715612e2457612e24612d83565b81604052838152866020858801011115612e3d57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060408385031215612e7057600080fd5b8235612e7b81612cd7565b9150602083013567ffffffffffffffff811115612e9757600080fd5b612ea385828601612db2565b9150509250929050565b8015158114610c6f57600080fd5b60008060408385031215612ece57600080fd5b8235612ed981612cd7565b91506020830135612ee981612ead565b809150509250929050565b60008060008060808587031215612f0a57600080fd5b8435612f1581612cd7565b93506020850135612f2581612cd7565b925060408501359150606085013567ffffffffffffffff811115612f4857600080fd5b612f5487828801612db2565b91505092959194509250565b60008083601f840112612f7257600080fd5b50813567ffffffffffffffff811115612f8a57600080fd5b602083019150836020828501011115612fa257600080fd5b9250929050565b60008060008060008060608789031215612fc257600080fd5b863567ffffffffffffffff80821115612fda57600080fd5b612fe68a838b01612f60565b90985096506020890135915080821115612fff57600080fd5b61300b8a838b01612f60565b9096509450604089013591508082111561302457600080fd5b5061303189828a01612f60565b979a9699509497509295939492505050565b6000806040838503121561305657600080fd5b823561306181612cd7565b91506020830135612ee981612cd7565b600181811c9082168061308557607f821691505b6020821081036130be577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361311c577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b87815260806020820152600061318660808301888a613123565b8281036040840152613199818789613123565b905082810360608401526131ae818587613123565b9a9950505050505050505050565b6000602082840312156131ce57600080fd5b81516114e081612cd7565b600083516131eb818460208801612c3d565b8351908301906131ff818360208801612c3d565b01949350505050565b60006020828403121561321a57600080fd5b81516114e081612ead565b60006020828403121561323757600080fd5b5051919050565b600073ffffffffffffffffffffffffffffffffffffffff80871683528086166020840152508360408301526080606083015261327d6080830184612c61565b9695505050505050565b60006020828403121561329957600080fd5b81516114e081612bf2565b601f8211156108b457600081815260208120601f850160051c810160208610156132cb5750805b601f850160051c820191505b818110156132ea578281556001016132d7565b505050505050565b815167ffffffffffffffff81111561330c5761330c612d83565b6133208161331a8454613071565b846132a4565b602080601f831160018114613373576000841561333d5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b1785556132ea565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156133c0578886015182559484019460019091019084016133a1565b50858210156133fc57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b6000825161341e818460208701612c3d565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122093f24fd83dd2d7acad8dc339f825dfc10e8423d8a813e69d92b887f9b610c1b164736f6c63430008130033000000000000000000000000e381609ef4ba8729e875fc84a410976fda90b175", - "nonce": "0x10", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xbe86bea6525caa31c267555ecdc5a23b0888c8c81da8b27a39d6efebe26fac3e", - "transactionType": "CREATE", - "contractName": null, - "contractAddress": "0xdDAce40C789CE67eFB1aA62BA6CE046df1442C42", - "function": null, - "arguments": null, - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x4bbe3", - "value": "0x0", - "data": "0x60806040526040516104ee3803806104ee833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c760279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60be806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea2646970667358221220a678556ae280ddf13e459fe9ecd177633ae9dbc544c45d5b523d43ba9084c8dc64736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564000000000000000000000000a734c513861c1a113f3b5bf2ddaec31bc3f9376b00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de80000000000000000000000007fc41a3090df7b3d9be76e69fd6d97a2453c266e00000000000000000000000000000000000000000000000000000000", - "nonce": "0x11", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [], - "libraries": [ - "contracts/story-blocks/LibIPAssetId.sol:LibIPAssetId:0xdefba4b68fb683ea2f2e40651408d4df2be10ca7" - ], - "pending": [ - "0x3e3807da5c8dea555008863b9b7bd6da2e6c110b6e0b0a24f6463e83b177af31", - "0x72a377ba11242048c0ba545097c2e6e520a2e4aba8f7ef9df80619f7a1337699", - "0xaca8d484ee3f03a425944d19a0c538da9f616f50797e42204c9039f331a75fd1", - "0xcffa4249deeab777fa3c7279a768859c40b7ca6b80c3e9d663f63cd91839e692", - "0xbe86bea6525caa31c267555ecdc5a23b0888c8c81da8b27a39d6efebe26fac3e" - ], - "path": "/Users/drmanhattan/Workspace/StoryProtocol/protocol-contracts/broadcast/Deploy.s.sol/5/run-latest.json", - "returns": {}, - "timestamp": 1687961941, - "chain": 5, - "multi": false, - "commit": "c90355b" -} \ No newline at end of file diff --git a/broadcast/Deploy.s.sol/5/run-1687961966.json b/broadcast/Deploy.s.sol/5/run-1687961966.json deleted file mode 100644 index 33f77b63..00000000 --- a/broadcast/Deploy.s.sol/5/run-1687961966.json +++ /dev/null @@ -1,308 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x3e3807da5c8dea555008863b9b7bd6da2e6c110b6e0b0a24f6463e83b177af31", - "transactionType": "CREATE", - "contractName": "LibIPAssetId", - "contractAddress": "0xDefbA4b68Fb683eA2F2e40651408D4DF2BE10ca7", - "function": null, - "arguments": null, - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x524cb", - "data": "0x6103c361003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061004b5760003560e01c80633b7d508f14610050578063a098da7d14610076578063efb84f0114610089575b600080fd5b61006361005e366004610211565b6100a9565b6040519081526020015b60405180910390f35b610063610084366004610211565b610133565b61009c610097366004610239565b6101ae565b60405161006d91906102bc565b6000808260068111156100be576100be610252565b0361010057816040517fd408b2c00000000000000000000000000000000000000000000000000000000081526004016100f791906102bc565b60405180910390fd5b600182600681111561011457610114610252565b61011e91906102f9565b61012d9064e8d4a5100061030c565b92915050565b60008082600681111561014857610148610252565b0361018157816040517fd408b2c00000000000000000000000000000000000000000000000000000000081526004016100f791906102bc565b600182600681111561019557610195610252565b6101a49064e8d4a5100061030c565b61012d91906102f9565b60006101bf64e8d4a5100083610352565b15806101d957506101d6600664e8d4a5100061030c565b82115b156101e657506000919050565b6101f564e8d4a5100083610366565b61020090600161037a565b600681111561012d5761012d610252565b60006020828403121561022357600080fd5b81356007811061023257600080fd5b9392505050565b60006020828403121561024b57600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600781106102b8577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b6020810161012d8284610281565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8181038181111561012d5761012d6102ca565b808202811582820484141761012d5761012d6102ca565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60008261036157610361610323565b500690565b60008261037557610375610323565b500490565b8082018082111561012d5761012d6102ca56fea26469706673582212200330dbf6ab72ebb45bc6523a9bbbfe25d0f43bc65a544ac8377342d6dbe9c75c64736f6c63430008130033", - "nonce": "0xd", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x72a377ba11242048c0ba545097c2e6e520a2e4aba8f7ef9df80619f7a1337699", - "transactionType": "CREATE", - "contractName": "IPAssetsRegistryFactory", - "contractAddress": "0xe381609EF4bA8729e875FC84a410976FdA90B175", - "function": null, - "arguments": null, - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x5ae1d7", - "value": "0x0", - "data": "0x60a060405234801561001057600080fd5b5061001a3361008d565b604051610026906100dd565b604051809103906000f080158015610042573d6000803e3d6000fd5b5060405161004f906100ea565b6001600160a01b039091168152602001604051809103906000f08015801561007b573d6000803e3d6000fd5b506001600160a01b03166080526100f7565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6138af8061143d83390190565b6105ef80614cec83390190565b60805161131e61011f6000396000818160df015281816101e70152610399015261131e6000f3fe60806040523480156200001157600080fd5b50600436106200007b5760003560e01c8063715018a61162000056578063715018a614620001015780638da5cb5b146200010b578063f2fde38b146200012a57600080fd5b806305d4dd8714620000805780633991fc9d14620000c057806349493a4d14620000d9575b600080fd5b620000976200009136600462000867565b62000141565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b620000d7620000d136600462000915565b620002bb565b005b620000977f000000000000000000000000000000000000000000000000000000000000000081565b620000d7620004dd565b60005473ffffffffffffffffffffffffffffffffffffffff1662000097565b620000d76200013b36600462000915565b620004f5565b600080604051806060016040528060288152602001620012c160289139805190602001208989898989898960405160240162000184979695949392919062000996565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050905060007f00000000000000000000000000000000000000000000000000000000000000008260405162000215906200080d565b6200022292919062000a5e565b604051809103906000f0801580156200023f573d6000803e3d6000fd5b50905086866040516200025492919062000a97565b60405180910390208173ffffffffffffffffffffffffffffffffffffffff167f423bf0ea6b57d35b37f0caad547ba5e1d340585657e9fec91dcac4375fcd45a98b8b604051620002a692919062000aa7565b60405180910390a39998505050505050505050565b620002c5620005b2565b620002e873ffffffffffffffffffffffffffffffffffffffff8216600062000635565b62000354576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4953746f7279426c6f636b73526567697374727900000000000000000000000060448201526064015b60405180910390fd5b6040517f3659cfe600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82811660048301527f00000000000000000000000000000000000000000000000000000000000000001690633659cfe690602401600060405180830381600087803b158015620003de57600080fd5b505af1158015620003f3573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff167fa8f2f87a44131841a6848a0e54ac181d9f27ca8565b9252b1f49af60507d76928273ffffffffffffffffffffffffffffffffffffffff166354fd4d506040518163ffffffff1660e01b8152600401600060405180830381865afa1580156200047b573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052620004c3919081019062000aec565b604051620004d2919062000bb8565b60405180910390a250565b620004e7620005b2565b620004f360006200065d565b565b620004ff620005b2565b73ffffffffffffffffffffffffffffffffffffffff8116620005a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016200034b565b620005af816200065d565b50565b60005473ffffffffffffffffffffffffffffffffffffffff163314620004f3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016200034b565b60006200064283620006d2565b80156200065657506200065683836200073c565b9392505050565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600062000700827f01ffc9a7000000000000000000000000000000000000000000000000000000006200073c565b801562000736575062000734827fffffffff000000000000000000000000000000000000000000000000000000006200073c565b155b92915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015620007f5575060208210155b8015620008025750600081115b979650505050505050565b6106f38062000bce83390190565b60008083601f8401126200082e57600080fd5b50813567ffffffffffffffff8111156200084757600080fd5b6020830191508360208285010111156200086057600080fd5b9250929050565b60008060008060008060006080888a0312156200088357600080fd5b87359650602088013567ffffffffffffffff80821115620008a357600080fd5b620008b18b838c016200081b565b909850965060408a0135915080821115620008cb57600080fd5b620008d98b838c016200081b565b909650945060608a0135915080821115620008f357600080fd5b50620009028a828b016200081b565b989b979a50959850939692959293505050565b6000602082840312156200092857600080fd5b813573ffffffffffffffffffffffffffffffffffffffff811681146200065657600080fd5b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b878152608060208201526000620009b260808301888a6200094d565b8281036040840152620009c78187896200094d565b90508281036060840152620009de8185876200094d565b9a9950505050505050505050565b60005b8381101562000a09578181015183820152602001620009ef565b50506000910152565b6000815180845262000a2c816020860160208601620009ec565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b73ffffffffffffffffffffffffffffffffffffffff8316815260406020820152600062000a8f604083018462000a12565b949350505050565b8183823760009101908152919050565b60208152600062000a8f6020830184866200094d565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60006020828403121562000aff57600080fd5b815167ffffffffffffffff8082111562000b1857600080fd5b818401915084601f83011262000b2d57600080fd5b81518181111562000b425762000b4262000abd565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171562000b8b5762000b8b62000abd565b8160405282815287602084870101111562000ba557600080fd5b62000802836020830160208801620009ec565b60208152600062000656602083018462000a1256fe60806040526040516106f33803806106f383398101604081905261002291610420565b61002e82826000610035565b505061054a565b61003e836100f6565b6040516001600160a01b038416907f1cf3b03a6cf19fa2baba4df148e9dcabedea7f8a5c07840e207e5c089be95d3e90600090a260008251118061007f5750805b156100f1576100ef836001600160a01b0316635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156100c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100e991906104e0565b8361027a565b505b505050565b6001600160a01b0381163b6101605760405162461bcd60e51b815260206004820152602560248201527f455243313936373a206e657720626561636f6e206973206e6f74206120636f6e6044820152641d1c9858dd60da1b60648201526084015b60405180910390fd5b6101d4816001600160a01b0316635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101c591906104e0565b6001600160a01b03163b151590565b6102395760405162461bcd60e51b815260206004820152603060248201527f455243313936373a20626561636f6e20696d706c656d656e746174696f6e206960448201526f1cc81b9bdd08184818dbdb9d1c9858dd60821b6064820152608401610157565b7fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d5080546001600160a01b0319166001600160a01b0392909216919091179055565b606061029f83836040518060600160405280602781526020016106cc602791396102a6565b9392505050565b6060600080856001600160a01b0316856040516102c391906104fb565b600060405180830381855af49150503d80600081146102fe576040519150601f19603f3d011682016040523d82523d6000602084013e610303565b606091505b5090925090506103158683838761031f565b9695505050505050565b6060831561038e578251600003610387576001600160a01b0385163b6103875760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610157565b5081610398565b61039883836103a0565b949350505050565b8151156103b05781518083602001fd5b8060405162461bcd60e51b81526004016101579190610517565b80516001600160a01b03811681146103e157600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b838110156104175781810151838201526020016103ff565b50506000910152565b6000806040838503121561043357600080fd5b61043c836103ca565b60208401519092506001600160401b038082111561045957600080fd5b818501915085601f83011261046d57600080fd5b81518181111561047f5761047f6103e6565b604051601f8201601f19908116603f011681019083821181831017156104a7576104a76103e6565b816040528281528860208487010111156104c057600080fd5b6104d18360208301602088016103fc565b80955050505050509250929050565b6000602082840312156104f257600080fd5b61029f826103ca565b6000825161050d8184602087016103fc565b9190910192915050565b60208152600082518060208401526105368160408501602087016103fc565b601f01601f19169190910160400192915050565b610173806105596000396000f3fe60806040523661001357610011610017565b005b6100115b610027610022610029565b6100dc565b565b60006100697fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d505473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff16635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156100b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100d79190610100565b905090565b3660008037600080366000845af43d6000803e8080156100fb573d6000f35b3d6000fd5b60006020828403121561011257600080fd5b815173ffffffffffffffffffffffffffffffffffffffff8116811461013657600080fd5b939250505056fea26469706673582212206e19af89d0e39d5d76f1b5b6bd963ba5f8c6c6fc546e614a5bb49e1174b5e59d64736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564696e697469616c697a652875696e743235362c737472696e672c737472696e672c737472696e6729a264697066735822122091ade0328b92996652c19f4e87b9e9c79cef41e4a53ded61be39bc713ad3d80264736f6c6343000813003360806040523480156200001157600080fd5b506200001c62000022565b620000e4565b600054610100900460ff16156200008f5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff9081161015620000e2576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6137bb80620000f46000396000f3fe608060405234801561001057600080fd5b50600436106101a35760003560e01c806369cf2c37116100ee578063a22cb46511610097578063b88d4fde11610071578063b88d4fde146103b1578063b9d0787c146103c4578063c87b56dd146103cd578063e985e9c5146103e057600080fd5b8063a22cb4651461036b578063a8185a2e1461037e578063ac9650d81461039157600080fd5b80639484c103116100c85780639484c1031461033057806395d89b41146103505780639dc6693c1461035857600080fd5b806369cf2c371461030257806370a08231146103155780637284e4161461032857600080fd5b806323b872dd1161015057806346193ccd1161012a57806346193ccd146102a357806354fd4d50146102b65780636352211e146102ef57600080fd5b806323b872dd1461025b5780633c7fc59d1461026e57806342842e0e1461029057600080fd5b8063095ea7b311610181578063095ea7b31461021d5780630f7966c0146102325780632336a84a1461024857600080fd5b806301ffc9a7146101a857806306fdde03146101d0578063081812fc146101e5575b600080fd5b6101bb6101b63660046129dc565b610429565b60405190151581526020015b60405180910390f35b6101d8610464565b6040516101c79190612a67565b6101f86101f3366004612a7a565b6104f6565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101c7565b61023061022b366004612abc565b61052a565b005b61023a601481565b6040519081526020016101c7565b61023a610256366004612b3c565b6106bb565b610230610269366004612be9565b610731565b61028161027c366004612a7a565b6107d2565b6040516101c793929190612cec565b61023061029e366004612be9565b610816565b6102306102b1366004612d4e565b610831565b60408051808201909152600581527f302e312e3000000000000000000000000000000000000000000000000000000060208201526101d8565b6101f86102fd366004612a7a565b610aba565b61023a610310366004612d88565b610b46565b61023a610323366004612da5565b610c27565b6101d8610cf5565b61034361033e366004612a7a565b610d83565b6040516101c79190612dc0565b6101d8610f91565b610230610366366004612e18565b610fa0565b610230610379366004612e64565b611166565b61023a61038c366004612ea0565b611175565b6103a461039f366004612f7b565b6111f1565b6040516101c79190612fbd565b6102306103bf36600461306c565b6112e6565b61023a60cd5481565b6101d86103db366004612a7a565b61138e565b6101bb6103ee366004613166565b73ffffffffffffffffffffffffffffffffffffffff9182166000908152606a6020908152604080832093909416825291909152205460ff1690565b60007fffffffff000000000000000000000000000000000000000000000000000000008216158061045e575061045e82611401565b92915050565b60606065805461047390613199565b80601f016020809104026020016040519081016040528092919081815260200182805461049f90613199565b80156104ec5780601f106104c1576101008083540402835291602001916104ec565b820191906000526020600020905b8154815290600101906020018083116104cf57829003601f168201915b5050505050905090565b6000610501826114e4565b5060009081526069602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b600061053582610aba565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036105f7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff82161480610620575061062081336103ee565b6106ac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c00000060648201526084016105ee565b6106b68383611572565b505050565b6000808860068111156106d0576106d0612c25565b03610707576040517ffa19fa0700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610713338a611612565b905061072481898989898989611794565b5098975050505050505050565b61073b338261192b565b6107c7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f7665640000000000000000000000000000000000000060648201526084016105ee565b6106b68383836119eb565b6107da612976565b600060606107e784610d83565b600085815260ca60205260409020805491945060ff909116925061080d60018201611ce6565b93959294505050565b6106b6838383604051806020016040528060008152506112e6565b600054610100900460ff16158080156108515750600054600160ff909116105b8061086b5750303b15801561086b575060005460ff166001145b6108f7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016105ee565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561095557600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6109c887878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8b018190048102820181019092528981529250899150889081908401838280828437600092019190915250611cf392505050565b6109d0611d94565b87600003610a3a576040517feac0d38900000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f6672616e6368697365496400000000000000000000000000000000000000000060448201526064016105ee565b60cd88905560cc610a4c838583613234565b508015610ab057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050505050565b60008181526067602052604081205473ffffffffffffffffffffffffffffffffffffffff168061045e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e204944000000000000000060448201526064016105ee565b60008060cb6000846006811115610b5f57610b5f612c25565b6006811115610b7057610b70612c25565b81526020019081526020016000205490508060000361045e576040517f3b7d508f00000000000000000000000000000000000000000000000000000000815273defba4b68fb683ea2f2e40651408d4df2be10ca790633b7d508f90610bd990869060040161334f565b602060405180830381865af4158015610bf6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1a919061335d565b9392505050565b50919050565b600073ffffffffffffffffffffffffffffffffffffffff8216610ccc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e6572000000000000000000000000000000000000000000000060648201526084016105ee565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526068602052604090205490565b60cc8054610d0290613199565b80601f0160208091040260200160405190810160405280929190818152602001828054610d2e90613199565b8015610d7b5780601f10610d5057610100808354040283529160200191610d7b565b820191906000526020600020905b815481529060010190602001808311610d5e57829003601f168201915b505050505081565b610d8b612976565b600082815260c9602052604090819020815160808101909252805482908290610db390613199565b80601f0160208091040260200160405190810160405280929190818152602001828054610ddf90613199565b8015610e2c5780601f10610e0157610100808354040283529160200191610e2c565b820191906000526020600020905b815481529060010190602001808311610e0f57829003601f168201915b50505050508152602001600182018054610e4590613199565b80601f0160208091040260200160405190810160405280929190818152602001828054610e7190613199565b8015610ebe5780601f10610e9357610100808354040283529160200191610ebe565b820191906000526020600020905b815481529060010190602001808311610ea157829003601f168201915b50505050508152602001600282018054610ed790613199565b80601f0160208091040260200160405190810160405280929190818152602001828054610f0390613199565b8015610f505780601f10610f2557610100808354040283529160200191610f50565b820191906000526020600020905b815481529060010190602001808311610f3357829003601f168201915b5050509183525050600382015460209091019060ff166006811115610f7757610f77612c25565b6006811115610f8857610f88612c25565b90525092915050565b60606066805461047390613199565b806014811115610fdc576040517f77d10abd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084815260ca602052604081205460ff16905b838110156111225781600681111561100a5761100a612c25565b73defba4b68fb683ea2f2e40651408d4df2be10ca763efb84f0187878581811061103657611036613376565b905060200201356040518263ffffffff1660e01b815260040161105b91815260200190565b602060405180830381865af4158015611078573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061109c91906133a5565b60068111156110ad576110ad612c25565b146110e4576040517f50c3390e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111198585838181106110f9576110f9613376565b60008a815260ca6020908152604090912060010193910201359050611e2d565b50600101610ff0565b50847f823d677ed42b321275c6b3aa7040f32e41d12aea91120455a19a60ae310b0af3828686604051611157939291906133c2565b60405180910390a25050505050565b611171338383611e39565b5050565b60008061118860048c8c8c8c8c8c6106bb565b600081815260ca60205260409020805491925086917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660018360068111156111d3576111d3612c25565b02179055506111e3818585610fa0565b9a9950505050505050505050565b60608167ffffffffffffffff81111561120c5761120c61303d565b60405190808252806020026020018201604052801561123f57816020015b606081526020019060019003908161122a5790505b50905060005b828110156112df576112af3085858481811061126357611263613376565b90506020028101906112759190613422565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611f6692505050565b8282815181106112c1576112c1613376565b602002602001018190525080806112d7906134b6565b915050611245565b5092915050565b6112f0338361192b565b61137c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f7665640000000000000000000000000000000000000060648201526084016105ee565b611388848484846120a5565b50505050565b6060611399826114e4565b60006113b060408051602081019091526000815290565b905060008151116113d05760405180602001604052806000815250610c1a565b806113da84612148565b6040516020016113eb9291906134ee565b6040516020818303038152906040529392505050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061149457507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b8061045e57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161461045e565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff1661156f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e204944000000000000000060448201526064016105ee565b50565b600081815260696020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811790915581906115cc82610aba565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008061161e83610b46565b61162990600161351d565b6040517fa098da7d00000000000000000000000000000000000000000000000000000000815290915073defba4b68fb683ea2f2e40651408d4df2be10ca79063a098da7d9061167c90869060040161334f565b602060405180830381865af4158015611699573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116bd919061335d565b8111156116f6576040517fd5fdab4f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060cb600085600681111561170d5761170d612c25565b600681111561171e5761171e612c25565b81526020810191909152604001600020556117398482612207565b8083600681111561174c5761174c612c25565b60405173ffffffffffffffffffffffffffffffffffffffff8716907f46c5798f976ec5e5dec617e7f27479bc578f63e6bcf4f693ade547151a3219cd90600090a49392505050565b600087815260c96020526040812081600382015460ff1660068111156117bc576117bc612c25565b03611890576040517fefb84f01000000000000000000000000000000000000000000000000000000008152600481018a905273defba4b68fb683ea2f2e40651408d4df2be10ca79063efb84f0190602401602060405180830381865af415801561182a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061184e91906133a5565b6003820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600183600681111561188a5761188a612c25565b02179055505b8061189c888a83613234565b50600181016118ac868883613234565b50600281016118bc848683613234565b50600381015460ff1660068111156118d6576118d6612c25565b897f621ca783668a03c147f29e5ae01f40cc55df212956bde68afb53b1d6119a2ea78a8a8a8a8a8a60405161191096959493929190613579565b60405180910390a36003015460ff1698975050505050505050565b60008061193783610aba565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806119a5575073ffffffffffffffffffffffffffffffffffffffff8082166000908152606a602090815260408083209388168352929052205460ff165b806119e357508373ffffffffffffffffffffffffffffffffffffffff166119cb846104f6565b73ffffffffffffffffffffffffffffffffffffffff16145b949350505050565b8273ffffffffffffffffffffffffffffffffffffffff16611a0b82610aba565b73ffffffffffffffffffffffffffffffffffffffff1614611aae576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e657200000000000000000000000000000000000000000000000000000060648201526084016105ee565b73ffffffffffffffffffffffffffffffffffffffff8216611b50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016105ee565b8273ffffffffffffffffffffffffffffffffffffffff16611b7082610aba565b73ffffffffffffffffffffffffffffffffffffffff1614611c13576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e657200000000000000000000000000000000000000000000000000000060648201526084016105ee565b600081815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff8781168086526068855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905590871680865283862080546001019055868652606790945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b60606000610c1a83612221565b600054610100900460ff16611d8a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016105ee565b611171828261227d565b600054610100900460ff16611e2b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016105ee565b565b6000610c1a838361232d565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611ece576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016105ee565b73ffffffffffffffffffffffffffffffffffffffff8381166000818152606a602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b606073ffffffffffffffffffffffffffffffffffffffff83163b61200c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e7472616374000000000000000000000000000000000000000000000000000060648201526084016105ee565b6000808473ffffffffffffffffffffffffffffffffffffffff168460405161203491906135c2565b600060405180830381855af49150503d806000811461206f576040519150601f19603f3d011682016040523d82523d6000602084013e612074565b606091505b509150915061209c828260405180606001604052806027815260200161375f6027913961237c565b95945050505050565b6120b08484846119eb565b6120bc84848484612395565b611388576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016105ee565b6060600061215583612588565b600101905060008167ffffffffffffffff8111156121755761217561303d565b6040519080825280601f01601f19166020018201604052801561219f576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85049450846121a9575b509392505050565b61117182826040518060200160405280600081525061266a565b60608160000180548060200260200160405190810160405280929190818152602001828054801561227157602002820191906000526020600020905b81548152602001906001019080831161225d575b50505050509050919050565b600054610100900460ff16612314576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016105ee565b606561232083826135de565b5060666106b682826135de565b60008181526001830160205260408120546123745750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561045e565b50600061045e565b6060831561238b575081610c1a565b610c1a838361270d565b600073ffffffffffffffffffffffffffffffffffffffff84163b1561257d576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a029061240c9033908990889088906004016136f8565b6020604051808303816000875af1925050508015612465575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261246291810190613741565b60015b612532573d808015612493576040519150601f19603f3d011682016040523d82523d6000602084013e612498565b606091505b50805160000361252a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016105ee565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a02000000000000000000000000000000000000000000000000000000001490506119e3565b506001949350505050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083106125d1577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef810000000083106125fd576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061261b57662386f26fc10000830492506010015b6305f5e1008310612633576305f5e100830492506008015b612710831061264757612710830492506004015b60648310612659576064830492506002015b600a831061045e5760010192915050565b6126748383612751565b6126816000848484612395565b6106b6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016105ee565b81511561271d5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105ee9190612a67565b73ffffffffffffffffffffffffffffffffffffffff82166127ce576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016105ee565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff161561285a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016105ee565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff16156128e6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016105ee565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260686020908152604080832080546001019055848352606790915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6040518060800160405280606081526020016060815260200160608152602001600060068111156129a9576129a9612c25565b905290565b7fffffffff000000000000000000000000000000000000000000000000000000008116811461156f57600080fd5b6000602082840312156129ee57600080fd5b8135610c1a816129ae565b60005b83811015612a145781810151838201526020016129fc565b50506000910152565b60008151808452612a358160208601602086016129f9565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610c1a6020830184612a1d565b600060208284031215612a8c57600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff81168114612ab757600080fd5b919050565b60008060408385031215612acf57600080fd5b612ad883612a93565b946020939093013593505050565b6007811061156f57600080fd5b60008083601f840112612b0557600080fd5b50813567ffffffffffffffff811115612b1d57600080fd5b602083019150836020828501011115612b3557600080fd5b9250929050565b60008060008060008060006080888a031215612b5757600080fd5b8735612b6281612ae6565b9650602088013567ffffffffffffffff80821115612b7f57600080fd5b612b8b8b838c01612af3565b909850965060408a0135915080821115612ba457600080fd5b612bb08b838c01612af3565b909650945060608a0135915080821115612bc957600080fd5b50612bd68a828b01612af3565b989b979a50959850939692959293505050565b600080600060608486031215612bfe57600080fd5b612c0784612a93565b9250612c1560208501612a93565b9150604084013590509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60078110612c8b577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b6000815160808452612ca46080850182612a1d565b905060208301518482036020860152612cbd8282612a1d565b91505060408301518482036040860152612cd78282612a1d565b91505060608301516121ff6060860182612c54565b606081526000612cff6060830186612c8f565b6020612d0d81850187612c54565b838203604085015284518083528186019282019060005b81811015612d4057845183529383019391830191600101612d24565b509098975050505050505050565b60008060008060008060006080888a031215612d6957600080fd5b87359650602088013567ffffffffffffffff80821115612b7f57600080fd5b600060208284031215612d9a57600080fd5b8135610c1a81612ae6565b600060208284031215612db757600080fd5b610c1a82612a93565b602081526000610c1a6020830184612c8f565b60008083601f840112612de557600080fd5b50813567ffffffffffffffff811115612dfd57600080fd5b6020830191508360208260051b8501011115612b3557600080fd5b600080600060408486031215612e2d57600080fd5b83359250602084013567ffffffffffffffff811115612e4b57600080fd5b612e5786828701612dd3565b9497909650939450505050565b60008060408385031215612e7757600080fd5b612e8083612a93565b915060208301358015158114612e9557600080fd5b809150509250929050565b600080600080600080600080600060a08a8c031215612ebe57600080fd5b893567ffffffffffffffff80821115612ed657600080fd5b612ee28d838e01612af3565b909b50995060208c0135915080821115612efb57600080fd5b612f078d838e01612af3565b909950975060408c0135915080821115612f2057600080fd5b612f2c8d838e01612af3565b909750955060608c01359150612f4182612ae6565b90935060808b01359080821115612f5757600080fd5b50612f648c828d01612dd3565b915080935050809150509295985092959850929598565b60008060208385031215612f8e57600080fd5b823567ffffffffffffffff811115612fa557600080fd5b612fb185828601612dd3565b90969095509350505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015613030577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc088860301845261301e858351612a1d565b94509285019290850190600101612fe4565b5092979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000806000806080858703121561308257600080fd5b61308b85612a93565b935061309960208601612a93565b925060408501359150606085013567ffffffffffffffff808211156130bd57600080fd5b818701915087601f8301126130d157600080fd5b8135818111156130e3576130e361303d565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156131295761312961303d565b816040528281528a602084870101111561314257600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b6000806040838503121561317957600080fd5b61318283612a93565b915061319060208401612a93565b90509250929050565b600181811c908216806131ad57607f821691505b602082108103610c21577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b601f8211156106b657600081815260208120601f850160051c8101602086101561320d5750805b601f850160051c820191505b8181101561322c57828155600101613219565b505050505050565b67ffffffffffffffff83111561324c5761324c61303d565b6132608361325a8354613199565b836131e6565b6000601f8411600181146132b2576000851561327c5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355613348565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b8281101561330157868501358255602094850194600190920191016132e1565b508682101561333c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b6020810161045e8284612c54565b60006020828403121561336f57600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000602082840312156133b757600080fd5b8151610c1a81612ae6565b6133cc8185612c54565b6040602082015281604082015260007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83111561340857600080fd5b8260051b8085606085013791909101606001949350505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261345757600080fd5b83018035915067ffffffffffffffff82111561347257600080fd5b602001915036819003821315612b3557600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036134e7576134e7613487565b5060010190565b600083516135008184602088016129f9565b8351908301906135148183602088016129f9565b01949350505050565b8082018082111561045e5761045e613487565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60608152600061358d60608301888a613530565b82810360208401526135a0818789613530565b905082810360408401526135b5818587613530565b9998505050505050505050565b600082516135d48184602087016129f9565b9190910192915050565b815167ffffffffffffffff8111156135f8576135f861303d565b61360c816136068454613199565b846131e6565b602080601f83116001811461365f57600084156136295750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b17855561322c565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156136ac5788860151825594840194600190910190840161368d565b50858210156136e857878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250836040830152608060608301526137376080830184612a1d565b9695505050505050565b60006020828403121561375357600080fd5b8151610c1a816129ae56fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220b0e366f406ea3cb6bd64839cc50f1055ee4ed4038393402bdb4914a902991e6b64736f6c63430008130033608060405234801561001057600080fd5b506040516105ef3803806105ef83398101604081905261002f9161013a565b61003833610047565b61004181610097565b5061016a565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0381163b6101185760405162461bcd60e51b815260206004820152603360248201527f5570677261646561626c65426561636f6e3a20696d706c656d656e746174696f60448201527f6e206973206e6f74206120636f6e747261637400000000000000000000000000606482015260840160405180910390fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b60006020828403121561014c57600080fd5b81516001600160a01b038116811461016357600080fd5b9392505050565b610476806101796000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c8063715018a611610050578063715018a6146100c45780638da5cb5b146100cc578063f2fde38b146100ea57600080fd5b80633659cfe61461006c5780635c60da1b14610081575b600080fd5b61007f61007a366004610403565b6100fd565b005b60015473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61007f610152565b60005473ffffffffffffffffffffffffffffffffffffffff1661009b565b61007f6100f8366004610403565b610166565b610105610222565b61010e816102a3565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b61015a610222565b610164600061038e565b565b61016e610222565b73ffffffffffffffffffffffffffffffffffffffff8116610216576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61021f8161038e565b50565b60005473ffffffffffffffffffffffffffffffffffffffff163314610164576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161020d565b73ffffffffffffffffffffffffffffffffffffffff81163b610347576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603360248201527f5570677261646561626c65426561636f6e3a20696d706c656d656e746174696f60448201527f6e206973206e6f74206120636f6e747261637400000000000000000000000000606482015260840161020d565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006020828403121561041557600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461043957600080fd5b939250505056fea264697066735822122048ebef5dea79554c6de8af09830ddb871c241a46dee33849e34fac866c5894bd64736f6c63430008130033", - "nonce": "0xe", - "accessList": [] - }, - "additionalContracts": [ - { - "transactionType": "CREATE", - "address": "0x732d09c54aC463184E70dA44c27CB045fD696bBa", - "initCode": "60806040523480156200001157600080fd5b506200001c62000022565b620000e4565b600054610100900460ff16156200008f5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff9081161015620000e2576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6137bb80620000f46000396000f3fe608060405234801561001057600080fd5b50600436106101a35760003560e01c806369cf2c37116100ee578063a22cb46511610097578063b88d4fde11610071578063b88d4fde146103b1578063b9d0787c146103c4578063c87b56dd146103cd578063e985e9c5146103e057600080fd5b8063a22cb4651461036b578063a8185a2e1461037e578063ac9650d81461039157600080fd5b80639484c103116100c85780639484c1031461033057806395d89b41146103505780639dc6693c1461035857600080fd5b806369cf2c371461030257806370a08231146103155780637284e4161461032857600080fd5b806323b872dd1161015057806346193ccd1161012a57806346193ccd146102a357806354fd4d50146102b65780636352211e146102ef57600080fd5b806323b872dd1461025b5780633c7fc59d1461026e57806342842e0e1461029057600080fd5b8063095ea7b311610181578063095ea7b31461021d5780630f7966c0146102325780632336a84a1461024857600080fd5b806301ffc9a7146101a857806306fdde03146101d0578063081812fc146101e5575b600080fd5b6101bb6101b63660046129dc565b610429565b60405190151581526020015b60405180910390f35b6101d8610464565b6040516101c79190612a67565b6101f86101f3366004612a7a565b6104f6565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101c7565b61023061022b366004612abc565b61052a565b005b61023a601481565b6040519081526020016101c7565b61023a610256366004612b3c565b6106bb565b610230610269366004612be9565b610731565b61028161027c366004612a7a565b6107d2565b6040516101c793929190612cec565b61023061029e366004612be9565b610816565b6102306102b1366004612d4e565b610831565b60408051808201909152600581527f302e312e3000000000000000000000000000000000000000000000000000000060208201526101d8565b6101f86102fd366004612a7a565b610aba565b61023a610310366004612d88565b610b46565b61023a610323366004612da5565b610c27565b6101d8610cf5565b61034361033e366004612a7a565b610d83565b6040516101c79190612dc0565b6101d8610f91565b610230610366366004612e18565b610fa0565b610230610379366004612e64565b611166565b61023a61038c366004612ea0565b611175565b6103a461039f366004612f7b565b6111f1565b6040516101c79190612fbd565b6102306103bf36600461306c565b6112e6565b61023a60cd5481565b6101d86103db366004612a7a565b61138e565b6101bb6103ee366004613166565b73ffffffffffffffffffffffffffffffffffffffff9182166000908152606a6020908152604080832093909416825291909152205460ff1690565b60007fffffffff000000000000000000000000000000000000000000000000000000008216158061045e575061045e82611401565b92915050565b60606065805461047390613199565b80601f016020809104026020016040519081016040528092919081815260200182805461049f90613199565b80156104ec5780601f106104c1576101008083540402835291602001916104ec565b820191906000526020600020905b8154815290600101906020018083116104cf57829003601f168201915b5050505050905090565b6000610501826114e4565b5060009081526069602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b600061053582610aba565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036105f7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff82161480610620575061062081336103ee565b6106ac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c00000060648201526084016105ee565b6106b68383611572565b505050565b6000808860068111156106d0576106d0612c25565b03610707576040517ffa19fa0700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610713338a611612565b905061072481898989898989611794565b5098975050505050505050565b61073b338261192b565b6107c7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f7665640000000000000000000000000000000000000060648201526084016105ee565b6106b68383836119eb565b6107da612976565b600060606107e784610d83565b600085815260ca60205260409020805491945060ff909116925061080d60018201611ce6565b93959294505050565b6106b6838383604051806020016040528060008152506112e6565b600054610100900460ff16158080156108515750600054600160ff909116105b8061086b5750303b15801561086b575060005460ff166001145b6108f7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016105ee565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561095557600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6109c887878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8b018190048102820181019092528981529250899150889081908401838280828437600092019190915250611cf392505050565b6109d0611d94565b87600003610a3a576040517feac0d38900000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f6672616e6368697365496400000000000000000000000000000000000000000060448201526064016105ee565b60cd88905560cc610a4c838583613234565b508015610ab057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050505050565b60008181526067602052604081205473ffffffffffffffffffffffffffffffffffffffff168061045e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e204944000000000000000060448201526064016105ee565b60008060cb6000846006811115610b5f57610b5f612c25565b6006811115610b7057610b70612c25565b81526020019081526020016000205490508060000361045e576040517f3b7d508f00000000000000000000000000000000000000000000000000000000815273defba4b68fb683ea2f2e40651408d4df2be10ca790633b7d508f90610bd990869060040161334f565b602060405180830381865af4158015610bf6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1a919061335d565b9392505050565b50919050565b600073ffffffffffffffffffffffffffffffffffffffff8216610ccc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e6572000000000000000000000000000000000000000000000060648201526084016105ee565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526068602052604090205490565b60cc8054610d0290613199565b80601f0160208091040260200160405190810160405280929190818152602001828054610d2e90613199565b8015610d7b5780601f10610d5057610100808354040283529160200191610d7b565b820191906000526020600020905b815481529060010190602001808311610d5e57829003601f168201915b505050505081565b610d8b612976565b600082815260c9602052604090819020815160808101909252805482908290610db390613199565b80601f0160208091040260200160405190810160405280929190818152602001828054610ddf90613199565b8015610e2c5780601f10610e0157610100808354040283529160200191610e2c565b820191906000526020600020905b815481529060010190602001808311610e0f57829003601f168201915b50505050508152602001600182018054610e4590613199565b80601f0160208091040260200160405190810160405280929190818152602001828054610e7190613199565b8015610ebe5780601f10610e9357610100808354040283529160200191610ebe565b820191906000526020600020905b815481529060010190602001808311610ea157829003601f168201915b50505050508152602001600282018054610ed790613199565b80601f0160208091040260200160405190810160405280929190818152602001828054610f0390613199565b8015610f505780601f10610f2557610100808354040283529160200191610f50565b820191906000526020600020905b815481529060010190602001808311610f3357829003601f168201915b5050509183525050600382015460209091019060ff166006811115610f7757610f77612c25565b6006811115610f8857610f88612c25565b90525092915050565b60606066805461047390613199565b806014811115610fdc576040517f77d10abd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084815260ca602052604081205460ff16905b838110156111225781600681111561100a5761100a612c25565b73defba4b68fb683ea2f2e40651408d4df2be10ca763efb84f0187878581811061103657611036613376565b905060200201356040518263ffffffff1660e01b815260040161105b91815260200190565b602060405180830381865af4158015611078573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061109c91906133a5565b60068111156110ad576110ad612c25565b146110e4576040517f50c3390e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111198585838181106110f9576110f9613376565b60008a815260ca6020908152604090912060010193910201359050611e2d565b50600101610ff0565b50847f823d677ed42b321275c6b3aa7040f32e41d12aea91120455a19a60ae310b0af3828686604051611157939291906133c2565b60405180910390a25050505050565b611171338383611e39565b5050565b60008061118860048c8c8c8c8c8c6106bb565b600081815260ca60205260409020805491925086917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660018360068111156111d3576111d3612c25565b02179055506111e3818585610fa0565b9a9950505050505050505050565b60608167ffffffffffffffff81111561120c5761120c61303d565b60405190808252806020026020018201604052801561123f57816020015b606081526020019060019003908161122a5790505b50905060005b828110156112df576112af3085858481811061126357611263613376565b90506020028101906112759190613422565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611f6692505050565b8282815181106112c1576112c1613376565b602002602001018190525080806112d7906134b6565b915050611245565b5092915050565b6112f0338361192b565b61137c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f7665640000000000000000000000000000000000000060648201526084016105ee565b611388848484846120a5565b50505050565b6060611399826114e4565b60006113b060408051602081019091526000815290565b905060008151116113d05760405180602001604052806000815250610c1a565b806113da84612148565b6040516020016113eb9291906134ee565b6040516020818303038152906040529392505050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061149457507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b8061045e57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161461045e565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff1661156f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e204944000000000000000060448201526064016105ee565b50565b600081815260696020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811790915581906115cc82610aba565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008061161e83610b46565b61162990600161351d565b6040517fa098da7d00000000000000000000000000000000000000000000000000000000815290915073defba4b68fb683ea2f2e40651408d4df2be10ca79063a098da7d9061167c90869060040161334f565b602060405180830381865af4158015611699573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116bd919061335d565b8111156116f6576040517fd5fdab4f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060cb600085600681111561170d5761170d612c25565b600681111561171e5761171e612c25565b81526020810191909152604001600020556117398482612207565b8083600681111561174c5761174c612c25565b60405173ffffffffffffffffffffffffffffffffffffffff8716907f46c5798f976ec5e5dec617e7f27479bc578f63e6bcf4f693ade547151a3219cd90600090a49392505050565b600087815260c96020526040812081600382015460ff1660068111156117bc576117bc612c25565b03611890576040517fefb84f01000000000000000000000000000000000000000000000000000000008152600481018a905273defba4b68fb683ea2f2e40651408d4df2be10ca79063efb84f0190602401602060405180830381865af415801561182a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061184e91906133a5565b6003820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600183600681111561188a5761188a612c25565b02179055505b8061189c888a83613234565b50600181016118ac868883613234565b50600281016118bc848683613234565b50600381015460ff1660068111156118d6576118d6612c25565b897f621ca783668a03c147f29e5ae01f40cc55df212956bde68afb53b1d6119a2ea78a8a8a8a8a8a60405161191096959493929190613579565b60405180910390a36003015460ff1698975050505050505050565b60008061193783610aba565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806119a5575073ffffffffffffffffffffffffffffffffffffffff8082166000908152606a602090815260408083209388168352929052205460ff165b806119e357508373ffffffffffffffffffffffffffffffffffffffff166119cb846104f6565b73ffffffffffffffffffffffffffffffffffffffff16145b949350505050565b8273ffffffffffffffffffffffffffffffffffffffff16611a0b82610aba565b73ffffffffffffffffffffffffffffffffffffffff1614611aae576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e657200000000000000000000000000000000000000000000000000000060648201526084016105ee565b73ffffffffffffffffffffffffffffffffffffffff8216611b50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016105ee565b8273ffffffffffffffffffffffffffffffffffffffff16611b7082610aba565b73ffffffffffffffffffffffffffffffffffffffff1614611c13576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e657200000000000000000000000000000000000000000000000000000060648201526084016105ee565b600081815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff8781168086526068855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905590871680865283862080546001019055868652606790945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b60606000610c1a83612221565b600054610100900460ff16611d8a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016105ee565b611171828261227d565b600054610100900460ff16611e2b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016105ee565b565b6000610c1a838361232d565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611ece576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016105ee565b73ffffffffffffffffffffffffffffffffffffffff8381166000818152606a602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b606073ffffffffffffffffffffffffffffffffffffffff83163b61200c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e7472616374000000000000000000000000000000000000000000000000000060648201526084016105ee565b6000808473ffffffffffffffffffffffffffffffffffffffff168460405161203491906135c2565b600060405180830381855af49150503d806000811461206f576040519150601f19603f3d011682016040523d82523d6000602084013e612074565b606091505b509150915061209c828260405180606001604052806027815260200161375f6027913961237c565b95945050505050565b6120b08484846119eb565b6120bc84848484612395565b611388576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016105ee565b6060600061215583612588565b600101905060008167ffffffffffffffff8111156121755761217561303d565b6040519080825280601f01601f19166020018201604052801561219f576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85049450846121a9575b509392505050565b61117182826040518060200160405280600081525061266a565b60608160000180548060200260200160405190810160405280929190818152602001828054801561227157602002820191906000526020600020905b81548152602001906001019080831161225d575b50505050509050919050565b600054610100900460ff16612314576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016105ee565b606561232083826135de565b5060666106b682826135de565b60008181526001830160205260408120546123745750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561045e565b50600061045e565b6060831561238b575081610c1a565b610c1a838361270d565b600073ffffffffffffffffffffffffffffffffffffffff84163b1561257d576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a029061240c9033908990889088906004016136f8565b6020604051808303816000875af1925050508015612465575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261246291810190613741565b60015b612532573d808015612493576040519150601f19603f3d011682016040523d82523d6000602084013e612498565b606091505b50805160000361252a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016105ee565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a02000000000000000000000000000000000000000000000000000000001490506119e3565b506001949350505050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083106125d1577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef810000000083106125fd576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061261b57662386f26fc10000830492506010015b6305f5e1008310612633576305f5e100830492506008015b612710831061264757612710830492506004015b60648310612659576064830492506002015b600a831061045e5760010192915050565b6126748383612751565b6126816000848484612395565b6106b6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016105ee565b81511561271d5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105ee9190612a67565b73ffffffffffffffffffffffffffffffffffffffff82166127ce576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016105ee565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff161561285a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016105ee565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff16156128e6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016105ee565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260686020908152604080832080546001019055848352606790915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6040518060800160405280606081526020016060815260200160608152602001600060068111156129a9576129a9612c25565b905290565b7fffffffff000000000000000000000000000000000000000000000000000000008116811461156f57600080fd5b6000602082840312156129ee57600080fd5b8135610c1a816129ae565b60005b83811015612a145781810151838201526020016129fc565b50506000910152565b60008151808452612a358160208601602086016129f9565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610c1a6020830184612a1d565b600060208284031215612a8c57600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff81168114612ab757600080fd5b919050565b60008060408385031215612acf57600080fd5b612ad883612a93565b946020939093013593505050565b6007811061156f57600080fd5b60008083601f840112612b0557600080fd5b50813567ffffffffffffffff811115612b1d57600080fd5b602083019150836020828501011115612b3557600080fd5b9250929050565b60008060008060008060006080888a031215612b5757600080fd5b8735612b6281612ae6565b9650602088013567ffffffffffffffff80821115612b7f57600080fd5b612b8b8b838c01612af3565b909850965060408a0135915080821115612ba457600080fd5b612bb08b838c01612af3565b909650945060608a0135915080821115612bc957600080fd5b50612bd68a828b01612af3565b989b979a50959850939692959293505050565b600080600060608486031215612bfe57600080fd5b612c0784612a93565b9250612c1560208501612a93565b9150604084013590509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60078110612c8b577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b6000815160808452612ca46080850182612a1d565b905060208301518482036020860152612cbd8282612a1d565b91505060408301518482036040860152612cd78282612a1d565b91505060608301516121ff6060860182612c54565b606081526000612cff6060830186612c8f565b6020612d0d81850187612c54565b838203604085015284518083528186019282019060005b81811015612d4057845183529383019391830191600101612d24565b509098975050505050505050565b60008060008060008060006080888a031215612d6957600080fd5b87359650602088013567ffffffffffffffff80821115612b7f57600080fd5b600060208284031215612d9a57600080fd5b8135610c1a81612ae6565b600060208284031215612db757600080fd5b610c1a82612a93565b602081526000610c1a6020830184612c8f565b60008083601f840112612de557600080fd5b50813567ffffffffffffffff811115612dfd57600080fd5b6020830191508360208260051b8501011115612b3557600080fd5b600080600060408486031215612e2d57600080fd5b83359250602084013567ffffffffffffffff811115612e4b57600080fd5b612e5786828701612dd3565b9497909650939450505050565b60008060408385031215612e7757600080fd5b612e8083612a93565b915060208301358015158114612e9557600080fd5b809150509250929050565b600080600080600080600080600060a08a8c031215612ebe57600080fd5b893567ffffffffffffffff80821115612ed657600080fd5b612ee28d838e01612af3565b909b50995060208c0135915080821115612efb57600080fd5b612f078d838e01612af3565b909950975060408c0135915080821115612f2057600080fd5b612f2c8d838e01612af3565b909750955060608c01359150612f4182612ae6565b90935060808b01359080821115612f5757600080fd5b50612f648c828d01612dd3565b915080935050809150509295985092959850929598565b60008060208385031215612f8e57600080fd5b823567ffffffffffffffff811115612fa557600080fd5b612fb185828601612dd3565b90969095509350505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015613030577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc088860301845261301e858351612a1d565b94509285019290850190600101612fe4565b5092979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000806000806080858703121561308257600080fd5b61308b85612a93565b935061309960208601612a93565b925060408501359150606085013567ffffffffffffffff808211156130bd57600080fd5b818701915087601f8301126130d157600080fd5b8135818111156130e3576130e361303d565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156131295761312961303d565b816040528281528a602084870101111561314257600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b6000806040838503121561317957600080fd5b61318283612a93565b915061319060208401612a93565b90509250929050565b600181811c908216806131ad57607f821691505b602082108103610c21577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b601f8211156106b657600081815260208120601f850160051c8101602086101561320d5750805b601f850160051c820191505b8181101561322c57828155600101613219565b505050505050565b67ffffffffffffffff83111561324c5761324c61303d565b6132608361325a8354613199565b836131e6565b6000601f8411600181146132b2576000851561327c5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355613348565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b8281101561330157868501358255602094850194600190920191016132e1565b508682101561333c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b6020810161045e8284612c54565b60006020828403121561336f57600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000602082840312156133b757600080fd5b8151610c1a81612ae6565b6133cc8185612c54565b6040602082015281604082015260007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83111561340857600080fd5b8260051b8085606085013791909101606001949350505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261345757600080fd5b83018035915067ffffffffffffffff82111561347257600080fd5b602001915036819003821315612b3557600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036134e7576134e7613487565b5060010190565b600083516135008184602088016129f9565b8351908301906135148183602088016129f9565b01949350505050565b8082018082111561045e5761045e613487565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60608152600061358d60608301888a613530565b82810360208401526135a0818789613530565b905082810360408401526135b5818587613530565b9998505050505050505050565b600082516135d48184602087016129f9565b9190910192915050565b815167ffffffffffffffff8111156135f8576135f861303d565b61360c816136068454613199565b846131e6565b602080601f83116001811461365f57600084156136295750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b17855561322c565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156136ac5788860151825594840194600190910190840161368d565b50858210156136e857878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250836040830152608060608301526137376080830184612a1d565b9695505050505050565b60006020828403121561375357600080fd5b8151610c1a816129ae56fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220b0e366f406ea3cb6bd64839cc50f1055ee4ed4038393402bdb4914a902991e6b64736f6c63430008130033" - }, - { - "transactionType": "CREATE", - "address": "0x2Cc32b5a01fD78D2C236b02DA8447CDBa404C73F", - "initCode": "608060405234801561001057600080fd5b506040516105ef3803806105ef83398101604081905261002f9161013a565b61003833610047565b61004181610097565b5061016a565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0381163b6101185760405162461bcd60e51b815260206004820152603360248201527f5570677261646561626c65426561636f6e3a20696d706c656d656e746174696f60448201527f6e206973206e6f74206120636f6e747261637400000000000000000000000000606482015260840160405180910390fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b60006020828403121561014c57600080fd5b81516001600160a01b038116811461016357600080fd5b9392505050565b610476806101796000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c8063715018a611610050578063715018a6146100c45780638da5cb5b146100cc578063f2fde38b146100ea57600080fd5b80633659cfe61461006c5780635c60da1b14610081575b600080fd5b61007f61007a366004610403565b6100fd565b005b60015473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61007f610152565b60005473ffffffffffffffffffffffffffffffffffffffff1661009b565b61007f6100f8366004610403565b610166565b610105610222565b61010e816102a3565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b61015a610222565b610164600061038e565b565b61016e610222565b73ffffffffffffffffffffffffffffffffffffffff8116610216576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61021f8161038e565b50565b60005473ffffffffffffffffffffffffffffffffffffffff163314610164576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161020d565b73ffffffffffffffffffffffffffffffffffffffff81163b610347576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603360248201527f5570677261646561626c65426561636f6e3a20696d706c656d656e746174696f60448201527f6e206973206e6f74206120636f6e747261637400000000000000000000000000606482015260840161020d565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006020828403121561041557600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461043957600080fd5b939250505056fea264697066735822122048ebef5dea79554c6de8af09830ddb871c241a46dee33849e34fac866c5894bd64736f6c63430008130033000000000000000000000000732d09c54ac463184e70da44c27cb045fd696bba" - } - ], - "isFixedGasLimit": false - }, - { - "hash": "0xaca8d484ee3f03a425944d19a0c538da9f616f50797e42204c9039f331a75fd1", - "transactionType": "CREATE", - "contractName": "AccessControlSingleton", - "contractAddress": "0x7fc41a3090Df7b3D9BE76e69fd6d97A2453C266E", - "function": null, - "arguments": null, - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x22dd84", - "value": "0x0", - "data": "0x60a06040523060805234801561001457600080fd5b50608051611f1461004c600039600081816104d101528181610581015281816106d60152818161078601526108cb0152611f146000f3fe6080604052600436106100dd5760003560e01c806352d1902d1161007f578063a217fddf11610059578063a217fddf146102a8578063ac9650d8146102bd578063c4d66de8146102ea578063d547741f1461030a57600080fd5b806352d1902d146101ea57806354fd4d50146101ff57806391d148541461025557600080fd5b80632f2ff15d116100bb5780632f2ff15d1461017757806336568abe146101975780633659cfe6146101b75780634f1ef286146101d757600080fd5b806301ffc9a7146100e25780631e4e009114610117578063248a9ca314610139575b600080fd5b3480156100ee57600080fd5b506101026100fd36600461192e565b61032a565b60405190151581526020015b60405180910390f35b34801561012357600080fd5b50610137610132366004611970565b6103c3565b005b34801561014557600080fd5b50610169610154366004611992565b60009081526065602052604090206001015490565b60405190815260200161010e565b34801561018357600080fd5b506101376101923660046119d4565b6103dd565b3480156101a357600080fd5b506101376101b23660046119d4565b610402565b3480156101c357600080fd5b506101376101d2366004611a00565b6104ba565b6101376101e5366004611a4a565b6106bf565b3480156101f657600080fd5b506101696108b1565b34801561020b57600080fd5b506102486040518060400160405280600581526020017f302e312e3000000000000000000000000000000000000000000000000000000081525081565b60405161010e9190611b98565b34801561026157600080fd5b506101026102703660046119d4565b600091825260656020908152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b3480156102b457600080fd5b50610169600081565b3480156102c957600080fd5b506102dd6102d8366004611bab565b61099d565b60405161010e9190611c20565b3480156102f657600080fd5b50610137610305366004611a00565b610a92565b34801561031657600080fd5b506101376103253660046119d4565b610cb4565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806103bd57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60006103ce81610cd9565b6103d88383610ce3565b505050565b6000828152606560205260409020600101546103f881610cd9565b6103d88383610d2e565b73ffffffffffffffffffffffffffffffffffffffff811633146104ac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b6104b68282610e22565b5050565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016300361057f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016104a3565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166105f47f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610697576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016104a3565b6106a081610edd565b604080516000808252602082019092526106bc91839190610f07565b50565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610784576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016104a3565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166107f97f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff161461089c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016104a3565b6108a582610edd565b6104b682826001610f07565b60003073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610978576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016104a3565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b60608167ffffffffffffffff8111156109b8576109b8611a1b565b6040519080825280602002602001820160405280156109eb57816020015b60608152602001906001900390816109d65790505b50905060005b82811015610a8b57610a5b30858584818110610a0f57610a0f611ca0565b9050602002810190610a219190611ccf565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061110692505050565b828281518110610a6d57610a6d611ca0565b60200260200101819052508080610a8390611d6a565b9150506109f1565b5092915050565b600054610100900460ff1615808015610ab25750600054600160ff909116105b80610acc5750303b158015610acc575060005460ff166001145b610b58576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016104a3565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610bb657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b73ffffffffffffffffffffffffffffffffffffffff8216610c33576040517feac0d38900000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f5f61646d696e000000000000000000000000000000000000000000000000000060448201526064016104a3565b610c3b611132565b610c43611132565b610c4e600083610d2e565b80156104b657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b600082815260656020526040902060010154610ccf81610cd9565b6103d88383610e22565b6106bc81336111cb565b600082815260656020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff166104b657600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff85168452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055610dc43390565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16156104b657600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e36104b681610cd9565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610f3a576103d883611285565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610fbf575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252610fbc91810190611da2565b60015b61104b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016104a3565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81146110fa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016104a3565b506103d883838361138f565b606061112b8383604051806060016040528060278152602001611eb8602791396113ba565b9392505050565b600054610100900460ff166111c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016104a3565b565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff166104b65761120b8161143f565b61121683602061145e565b604051602001611227929190611dbb565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a00000000000000000000000000000000000000000000000000000000082526104a391600401611b98565b73ffffffffffffffffffffffffffffffffffffffff81163b611329576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016104a3565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b611398836116a1565b6000825111806113a55750805b156103d8576113b483836116ee565b50505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516113e49190611e3c565b600060405180830381855af49150503d806000811461141f576040519150601f19603f3d011682016040523d82523d6000602084013e611424565b606091505b50915091506114358683838761182d565b9695505050505050565b60606103bd73ffffffffffffffffffffffffffffffffffffffff831660145b6060600061146d836002611e58565b611478906002611e6f565b67ffffffffffffffff81111561149057611490611a1b565b6040519080825280601f01601f1916602001820160405280156114ba576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106114f1576114f1611ca0565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061155457611554611ca0565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000611590846002611e58565b61159b906001611e6f565b90505b6001811115611638577f303132333435363738396162636465660000000000000000000000000000000085600f16601081106115dc576115dc611ca0565b1a60f81b8282815181106115f2576115f2611ca0565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c9361163181611e82565b905061159e565b50831561112b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016104a3565b6116aa81611285565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606073ffffffffffffffffffffffffffffffffffffffff83163b611794576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e7472616374000000000000000000000000000000000000000000000000000060648201526084016104a3565b6000808473ffffffffffffffffffffffffffffffffffffffff16846040516117bc9190611e3c565b600060405180830381855af49150503d80600081146117f7576040519150601f19603f3d011682016040523d82523d6000602084013e6117fc565b606091505b50915091506118248282604051806060016040528060278152602001611eb8602791396118d5565b95945050505050565b606083156118c35782516000036118bc5773ffffffffffffffffffffffffffffffffffffffff85163b6118bc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016104a3565b50816118cd565b6118cd83836118ea565b949350505050565b606083156118e457508161112b565b61112b83835b8151156118fa5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104a39190611b98565b60006020828403121561194057600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461112b57600080fd5b6000806040838503121561198357600080fd5b50508035926020909101359150565b6000602082840312156119a457600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff811681146119cf57600080fd5b919050565b600080604083850312156119e757600080fd5b823591506119f7602084016119ab565b90509250929050565b600060208284031215611a1257600080fd5b61112b826119ab565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060408385031215611a5d57600080fd5b611a66836119ab565b9150602083013567ffffffffffffffff80821115611a8357600080fd5b818501915085601f830112611a9757600080fd5b813581811115611aa957611aa9611a1b565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715611aef57611aef611a1b565b81604052828152886020848701011115611b0857600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b83811015611b45578181015183820152602001611b2d565b50506000910152565b60008151808452611b66816020860160208601611b2a565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061112b6020830184611b4e565b60008060208385031215611bbe57600080fd5b823567ffffffffffffffff80821115611bd657600080fd5b818501915085601f830112611bea57600080fd5b813581811115611bf957600080fd5b8660208260051b8501011115611c0e57600080fd5b60209290920196919550909350505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015611c93577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452611c81858351611b4e565b94509285019290850190600101611c47565b5092979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611d0457600080fd5b83018035915067ffffffffffffffff821115611d1f57600080fd5b602001915036819003821315611d3457600080fd5b9250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611d9b57611d9b611d3b565b5060010190565b600060208284031215611db457600080fd5b5051919050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351611df3816017850160208801611b2a565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351611e30816028840160208801611b2a565b01602801949350505050565b60008251611e4e818460208701611b2a565b9190910192915050565b80820281158282048414176103bd576103bd611d3b565b808201808211156103bd576103bd611d3b565b600081611e9157611e91611d3b565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220406f8c698e76523661d95c28b32136b7d6e78e31e7f52269d0ae4c2234565e2b64736f6c63430008130033", - "nonce": "0xf", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xcffa4249deeab777fa3c7279a768859c40b7ca6b80c3e9d663f63cd91839e692", - "transactionType": "CREATE", - "contractName": "FranchiseRegistry", - "contractAddress": "0xA734c513861c1a113f3B5BF2DDAeC31bc3F9376B", - "function": null, - "arguments": [ - "0xe381609EF4bA8729e875FC84a410976FdA90B175" - ], - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x3ae13d", - "value": "0x0", - "data": "0x60c0604052306080523480156200001557600080fd5b506040516200365a3803806200365a83398101604081905262000038916200015a565b620000426200009b565b6001600160a01b038116620000895760405163eac0d38960e01b8152602060048201526007602482015266666163746f727960c81b60448201526064015b60405180910390fd5b6001600160a01b031660a0526200018c565b600054610100900460ff1615620001055760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840162000080565b60005460ff908116101562000158576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6000602082840312156200016d57600080fd5b81516001600160a01b03811681146200018557600080fd5b9392505050565b60805160a051613485620001d5600039600081816102ef01526110f6015260008181610ab801528181610b4e01528181610ca401528181610d3a0152610e6901526134856000f3fe6080604052600436106101965760003560e01c806354fd4d50116100e1578063b88d4fde1161008a578063c87b56dd11610064578063c87b56dd146104e1578063e885891114610501578063e985e9c514610545578063ef647e101461059c57600080fd5b8063b88d4fde14610457578063bac806d314610477578063c4d66de8146104c157600080fd5b806395d89b41116100bb57806395d89b411461040d5780639b0c6be414610422578063a22cb4651461043757600080fd5b806354fd4d50146103875780636352211e146103cd57806370a08231146103ed57600080fd5b806323b872dd1161014357806342842e0e1161011d57806342842e0e146103315780634f1ef2861461035157806352d1902d1461036457600080fd5b806323b872dd146102bd5780632dd31000146102dd5780633659cfe61461031157600080fd5b8063095ea7b311610174578063095ea7b31461023757806319129e5a1461025957806322220f951461027957600080fd5b806301ffc9a71461019b57806306fdde03146101d0578063081812fc146101f2575b600080fd5b3480156101a757600080fd5b506101bb6101b6366004612c20565b6105b1565b60405190151581526020015b60405180910390f35b3480156101dc57600080fd5b506101e5610696565b6040516101c79190612cab565b3480156101fe57600080fd5b5061021261020d366004612cbe565b610728565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101c7565b34801561024357600080fd5b50610257610252366004612cf9565b61075c565b005b34801561026557600080fd5b50610257610274366004612d25565b6108b9565b34801561028557600080fd5b50610212610294366004612cbe565b61012e6020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b3480156102c957600080fd5b506102576102d8366004612d42565b610a1a565b3480156102e957600080fd5b506102127f000000000000000000000000000000000000000000000000000000000000000081565b34801561031d57600080fd5b5061025761032c366004612d25565b610aa1565b34801561033d57600080fd5b5061025761034c366004612d42565b610c72565b61025761035f366004612e5d565b610c8d565b34801561037057600080fd5b50610379610e4f565b6040519081526020016101c7565b34801561039357600080fd5b5060408051808201909152600581527f302e312e3000000000000000000000000000000000000000000000000000000060208201526101e5565b3480156103d957600080fd5b506102126103e8366004612cbe565b610f21565b3480156103f957600080fd5b50610379610408366004612d25565b610f93565b34801561041957600080fd5b506101e5611047565b34801561042e57600080fd5b50610212600081565b34801561044357600080fd5b50610257610452366004612ebb565b611056565b34801561046357600080fd5b50610257610472366004612ef4565b611061565b34801561048357600080fd5b50610497610492366004612fa9565b6110ef565b6040805192835273ffffffffffffffffffffffffffffffffffffffff9091166020830152016101c7565b3480156104cd57600080fd5b506102576104dc366004612d25565b61127d565b3480156104ed57600080fd5b506101e56104fc366004612cbe565b611473565b34801561050d57600080fd5b5061021261051c366004612cbe565b600090815261012e602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b34801561055157600080fd5b506101bb610560366004613043565b73ffffffffffffffffffffffffffffffffffffffff91821660009081526101006020908152604080832093909416825291909152205460ff1690565b3480156105a857600080fd5b50610379600081565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061064457507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b8061069057507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b606060fb80546106a590613071565b80601f01602080910402602001604051908101604052809291908181526020018280546106d190613071565b801561071e5780601f106106f35761010080835404028352916020019161071e565b820191906000526020600020905b81548152906001019060200180831161070157829003601f168201915b5050505050905090565b6000610733826114e7565b50600090815260ff602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b600061076782610f21565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361080f5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff8216148061083857506108388133610560565b6108aa5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610806565b6108b48383611558565b505050565b60006108c581336115f8565b610904576040517f75000dc000000000000000000000000000000000000000000000000000000000815260048101829052336024820152604401610806565b61094473ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000611694565b6109aa576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c0000000000000000000000000000000000006044820152606401610806565b606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a25050565b610a2433826116b0565b610a965760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610806565b6108b4838383611771565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610b4c5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610806565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610bc17f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610c4a5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610806565b610c5381611a1e565b60408051600080825260208201909252610c6f91839190611a88565b50565b6108b483838360405180602001604052806000815250611061565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610d385760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610806565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610dad7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610e365760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610806565b610e3f82611a1e565b610e4b82826001611a88565b5050565b60003073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610efc5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610806565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b600081815260fd602052604081205473ffffffffffffffffffffffffffffffffffffffff16806106905760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610806565b600073ffffffffffffffffffffffffffffffffffffffff821661101e5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e657200000000000000000000000000000000000000000000006064820152608401610806565b5073ffffffffffffffffffffffffffffffffffffffff16600090815260fe602052604090205490565b606060fc80546106a590613071565b610e4b338383611c53565b61106b33836116b0565b6110dd5760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610806565b6110e984848484611d67565b50505050565b60008060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166305d4dd8761012d60008154611140906130c4565b9190508190558b8b8b8b8b8b6040518863ffffffff1660e01b815260040161116e979695949392919061316c565b6020604051808303816000875af115801561118d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111b191906131bc565b61012d8054600090815261012e6020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841617905554909150611212903390611df0565b61012d5460408051338152602081019290925273ffffffffffffffffffffffffffffffffffffffff831682820152517f0ee7716498f35cc0a42b8edb136bf88dbc529acf11a42fb9e4ec60b29638aff39181900360600190a161012d54999098509650505050505050565b600054610100900460ff161580801561129d5750600054600160ff909116105b806112b75750303b1580156112b7575060005460ff166001145b6113295760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610806565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561138757600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61138f611e0a565b61139882611e89565b61140c6040518060400160405280600e81526020017f53746f72792050726f746f636f6c0000000000000000000000000000000000008152506040518060400160405280600281526020017f5350000000000000000000000000000000000000000000000000000000000000815250612104565b8015610e4b57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15050565b606061147e826114e7565b600061149560408051602081019091526000815290565b905060008151116114b557604051806020016040528060008152506114e0565b806114bf8461218b565b6040516020016114d09291906131d9565b6040516020818303038152906040525b9392505050565b600081815260fd602052604090205473ffffffffffffffffffffffffffffffffffffffff16610c6f5760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610806565b600081815260ff6020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811790915581906115b282610f21565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6065546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810184905273ffffffffffffffffffffffffffffffffffffffff838116602483015260009216906391d1485490604401602060405180830381865afa158015611670573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114e09190613208565b600061169f83612249565b80156114e057506114e083836122ad565b6000806116bc83610f21565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061172b575073ffffffffffffffffffffffffffffffffffffffff8082166000908152610100602090815260408083209388168352929052205460ff165b8061176957508373ffffffffffffffffffffffffffffffffffffffff1661175184610728565b73ffffffffffffffffffffffffffffffffffffffff16145b949350505050565b8273ffffffffffffffffffffffffffffffffffffffff1661179182610f21565b73ffffffffffffffffffffffffffffffffffffffff161461181a5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610806565b73ffffffffffffffffffffffffffffffffffffffff82166118a25760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610806565b8273ffffffffffffffffffffffffffffffffffffffff166118c282610f21565b73ffffffffffffffffffffffffffffffffffffffff161461194b5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610806565b600081815260ff6020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff87811680865260fe855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190559087168086528386208054600101905586865260fd90945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3611a4981336115f8565b610e4b576040517f75000dc000000000000000000000000000000000000000000000000000000000815260048101829052336024820152604401610806565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611abb576108b48361237c565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611b40575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252611b3d91810190613225565b60015b611bb25760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608401610806565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114611c475760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152608401610806565b506108b483838361246c565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611cce5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610806565b73ffffffffffffffffffffffffffffffffffffffff8381166000818152610100602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b611d72848484611771565b611d7e84848484612491565b6110e95760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610806565b610e4b82826040518060200160405280600081525061266a565b600054610100900460ff16611e875760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610806565b565b600054610100900460ff1615808015611ea95750600054600160ff909116105b80611ec35750303b158015611ec3575060005460ff166001145b611f355760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610806565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015611f9357600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b611fd373ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000611694565b612039576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c0000000000000000000000000000000000006044820152606401610806565b606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a28015610e4b57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602001611467565b600054610100900460ff166121815760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610806565b610e4b82826126f3565b6060600061219883612789565b600101905060008167ffffffffffffffff8111156121b8576121b8612d83565b6040519080825280601f01601f1916602001820160405280156121e2576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85049450846121ec57509392505050565b6000612275827f01ffc9a7000000000000000000000000000000000000000000000000000000006122ad565b801561069057506122a6827fffffffff000000000000000000000000000000000000000000000000000000006122ad565b1592915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015612365575060208210155b80156123715750600081115b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff81163b6124065760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401610806565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6124758361286b565b6000825111806124825750805b156108b4576110e983836128b8565b600073ffffffffffffffffffffffffffffffffffffffff84163b1561265f576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a029061250890339089908890889060040161323e565b6020604051808303816000875af1925050508015612561575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261255e91810190613287565b60015b612614573d80801561258f576040519150601f19603f3d011682016040523d82523d6000602084013e612594565b606091505b50805160000361260c5760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610806565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050611769565b506001949350505050565b61267483836129dd565b6126816000848484612491565b6108b45760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610806565b600054610100900460ff166127705760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610806565b60fb61277c83826132f2565b5060fc6108b482826132f2565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083106127d2577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef810000000083106127fe576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061281c57662386f26fc10000830492506010015b6305f5e1008310612834576305f5e100830492506008015b612710831061284857612710830492506004015b6064831061285a576064830492506002015b600a83106106905760010192915050565b6128748161237c565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606073ffffffffffffffffffffffffffffffffffffffff83163b6129445760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e747261637400000000000000000000000000000000000000000000000000006064820152608401610806565b6000808473ffffffffffffffffffffffffffffffffffffffff168460405161296c919061340c565b600060405180830381855af49150503d80600081146129a7576040519150601f19603f3d011682016040523d82523d6000602084013e6129ac565b606091505b50915091506129d4828260405180606001604052806027815260200161342960279139612bb4565b95945050505050565b73ffffffffffffffffffffffffffffffffffffffff8216612a405760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610806565b600081815260fd602052604090205473ffffffffffffffffffffffffffffffffffffffff1615612ab25760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610806565b600081815260fd602052604090205473ffffffffffffffffffffffffffffffffffffffff1615612b245760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610806565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260fe602090815260408083208054600101905584835260fd90915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60608315612bc35750816114e0565b6114e08383815115612bd85781518083602001fd5b8060405162461bcd60e51b81526004016108069190612cab565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610c6f57600080fd5b600060208284031215612c3257600080fd5b81356114e081612bf2565b60005b83811015612c58578181015183820152602001612c40565b50506000910152565b60008151808452612c79816020860160208601612c3d565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006114e06020830184612c61565b600060208284031215612cd057600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610c6f57600080fd5b60008060408385031215612d0c57600080fd5b8235612d1781612cd7565b946020939093013593505050565b600060208284031215612d3757600080fd5b81356114e081612cd7565b600080600060608486031215612d5757600080fd5b8335612d6281612cd7565b92506020840135612d7281612cd7565b929592945050506040919091013590565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112612dc357600080fd5b813567ffffffffffffffff80821115612dde57612dde612d83565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715612e2457612e24612d83565b81604052838152866020858801011115612e3d57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060408385031215612e7057600080fd5b8235612e7b81612cd7565b9150602083013567ffffffffffffffff811115612e9757600080fd5b612ea385828601612db2565b9150509250929050565b8015158114610c6f57600080fd5b60008060408385031215612ece57600080fd5b8235612ed981612cd7565b91506020830135612ee981612ead565b809150509250929050565b60008060008060808587031215612f0a57600080fd5b8435612f1581612cd7565b93506020850135612f2581612cd7565b925060408501359150606085013567ffffffffffffffff811115612f4857600080fd5b612f5487828801612db2565b91505092959194509250565b60008083601f840112612f7257600080fd5b50813567ffffffffffffffff811115612f8a57600080fd5b602083019150836020828501011115612fa257600080fd5b9250929050565b60008060008060008060608789031215612fc257600080fd5b863567ffffffffffffffff80821115612fda57600080fd5b612fe68a838b01612f60565b90985096506020890135915080821115612fff57600080fd5b61300b8a838b01612f60565b9096509450604089013591508082111561302457600080fd5b5061303189828a01612f60565b979a9699509497509295939492505050565b6000806040838503121561305657600080fd5b823561306181612cd7565b91506020830135612ee981612cd7565b600181811c9082168061308557607f821691505b6020821081036130be577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361311c577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b87815260806020820152600061318660808301888a613123565b8281036040840152613199818789613123565b905082810360608401526131ae818587613123565b9a9950505050505050505050565b6000602082840312156131ce57600080fd5b81516114e081612cd7565b600083516131eb818460208801612c3d565b8351908301906131ff818360208801612c3d565b01949350505050565b60006020828403121561321a57600080fd5b81516114e081612ead565b60006020828403121561323757600080fd5b5051919050565b600073ffffffffffffffffffffffffffffffffffffffff80871683528086166020840152508360408301526080606083015261327d6080830184612c61565b9695505050505050565b60006020828403121561329957600080fd5b81516114e081612bf2565b601f8211156108b457600081815260208120601f850160051c810160208610156132cb5750805b601f850160051c820191505b818110156132ea578281556001016132d7565b505050505050565b815167ffffffffffffffff81111561330c5761330c612d83565b6133208161331a8454613071565b846132a4565b602080601f831160018114613373576000841561333d5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b1785556132ea565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156133c0578886015182559484019460019091019084016133a1565b50858210156133fc57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b6000825161341e818460208701612c3d565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122093f24fd83dd2d7acad8dc339f825dfc10e8423d8a813e69d92b887f9b610c1b164736f6c63430008130033000000000000000000000000e381609ef4ba8729e875fc84a410976fda90b175", - "nonce": "0x10", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xbe86bea6525caa31c267555ecdc5a23b0888c8c81da8b27a39d6efebe26fac3e", - "transactionType": "CREATE", - "contractName": null, - "contractAddress": "0xdDAce40C789CE67eFB1aA62BA6CE046df1442C42", - "function": null, - "arguments": null, - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x4bbe3", - "value": "0x0", - "data": "0x60806040526040516104ee3803806104ee833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c760279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60be806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea2646970667358221220a678556ae280ddf13e459fe9ecd177633ae9dbc544c45d5b523d43ba9084c8dc64736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564000000000000000000000000a734c513861c1a113f3b5bf2ddaec31bc3f9376b00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de80000000000000000000000007fc41a3090df7b3d9be76e69fd6d97a2453c266e00000000000000000000000000000000000000000000000000000000", - "nonce": "0x11", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "transactionHash": "0x3e3807da5c8dea555008863b9b7bd6da2e6c110b6e0b0a24f6463e83b177af31", - "transactionIndex": "0x1d", - "blockHash": "0x926151b64d2ff414dfeaf549c101179a25b33164c347c89e46d47303085dd643", - "blockNumber": "0x8d3a33", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": null, - "cumulativeGasUsed": "0x1071803", - "gasUsed": "0x3f52b", - "contractAddress": "0xDefbA4b68Fb683eA2F2e40651408D4DF2BE10ca7", - "logs": [], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0x21cfcb80b" - }, - { - "transactionHash": "0x72a377ba11242048c0ba545097c2e6e520a2e4aba8f7ef9df80619f7a1337699", - "transactionIndex": "0x1e", - "blockHash": "0x926151b64d2ff414dfeaf549c101179a25b33164c347c89e46d47303085dd643", - "blockNumber": "0x8d3a33", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": null, - "cumulativeGasUsed": "0x14d09ec", - "gasUsed": "0x45f1e9", - "contractAddress": "0xe381609EF4bA8729e875FC84a410976FdA90B175", - "logs": [ - { - "address": "0xe381609EF4bA8729e875FC84a410976FdA90B175", - "topics": [ - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000b6288e57bf7406b35ab4f70fd1135e907107e386" - ], - "data": "0x", - "blockHash": "0x926151b64d2ff414dfeaf549c101179a25b33164c347c89e46d47303085dd643", - "blockNumber": "0x8d3a33", - "transactionHash": "0x72a377ba11242048c0ba545097c2e6e520a2e4aba8f7ef9df80619f7a1337699", - "transactionIndex": "0x1e", - "logIndex": "0xa6", - "removed": false - }, - { - "address": "0x732d09c54aC463184E70dA44c27CB045fD696bBa", - "topics": [ - "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000000ff", - "blockHash": "0x926151b64d2ff414dfeaf549c101179a25b33164c347c89e46d47303085dd643", - "blockNumber": "0x8d3a33", - "transactionHash": "0x72a377ba11242048c0ba545097c2e6e520a2e4aba8f7ef9df80619f7a1337699", - "transactionIndex": "0x1e", - "logIndex": "0xa7", - "removed": false - }, - { - "address": "0x2Cc32b5a01fD78D2C236b02DA8447CDBa404C73F", - "topics": [ - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000e381609ef4ba8729e875fc84a410976fda90b175" - ], - "data": "0x", - "blockHash": "0x926151b64d2ff414dfeaf549c101179a25b33164c347c89e46d47303085dd643", - "blockNumber": "0x8d3a33", - "transactionHash": "0x72a377ba11242048c0ba545097c2e6e520a2e4aba8f7ef9df80619f7a1337699", - "transactionIndex": "0x1e", - "logIndex": "0xa8", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000800000000000000000000000000000000000000200000000000100000000000000000000000000002000000000000000000000008000000009000000040000000000000000000000000000020000000000000000000800010000000000000000000000000000400000000000000008000000000000000000000000000080000000800400000000000000000000000000004000020400000000000000000000000000000000000000080000000000000000000000040000000000000000000000000000000020042000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0x21cfcb80b" - }, - { - "transactionHash": "0xaca8d484ee3f03a425944d19a0c538da9f616f50797e42204c9039f331a75fd1", - "transactionIndex": "0x1f", - "blockHash": "0x926151b64d2ff414dfeaf549c101179a25b33164c347c89e46d47303085dd643", - "blockNumber": "0x8d3a33", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": null, - "cumulativeGasUsed": "0x167ddaa", - "gasUsed": "0x1ad3be", - "contractAddress": "0x7fc41a3090Df7b3D9BE76e69fd6d97A2453C266E", - "logs": [], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0x21cfcb80b" - }, - { - "transactionHash": "0xcffa4249deeab777fa3c7279a768859c40b7ca6b80c3e9d663f63cd91839e692", - "transactionIndex": "0x20", - "blockHash": "0x926151b64d2ff414dfeaf549c101179a25b33164c347c89e46d47303085dd643", - "blockNumber": "0x8d3a33", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": null, - "cumulativeGasUsed": "0x1952bdf", - "gasUsed": "0x2d4e35", - "contractAddress": "0xA734c513861c1a113f3B5BF2DDAeC31bc3F9376B", - "logs": [ - { - "address": "0xA734c513861c1a113f3B5BF2DDAeC31bc3F9376B", - "topics": [ - "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000000ff", - "blockHash": "0x926151b64d2ff414dfeaf549c101179a25b33164c347c89e46d47303085dd643", - "blockNumber": "0x8d3a33", - "transactionHash": "0xcffa4249deeab777fa3c7279a768859c40b7ca6b80c3e9d663f63cd91839e692", - "transactionIndex": "0x20", - "logIndex": "0xa9", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000a0000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0x21cfcb80b" - }, - { - "transactionHash": "0xbe86bea6525caa31c267555ecdc5a23b0888c8c81da8b27a39d6efebe26fac3e", - "transactionIndex": "0x21", - "blockHash": "0x926151b64d2ff414dfeaf549c101179a25b33164c347c89e46d47303085dd643", - "blockNumber": "0x8d3a33", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": null, - "cumulativeGasUsed": "0x198d072", - "gasUsed": "0x3a493", - "contractAddress": "0xdDAce40C789CE67eFB1aA62BA6CE046df1442C42", - "logs": [ - { - "address": "0xdDAce40C789CE67eFB1aA62BA6CE046df1442C42", - "topics": [ - "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", - "0x000000000000000000000000a734c513861c1a113f3b5bf2ddaec31bc3f9376b" - ], - "data": "0x", - "blockHash": "0x926151b64d2ff414dfeaf549c101179a25b33164c347c89e46d47303085dd643", - "blockNumber": "0x8d3a33", - "transactionHash": "0xbe86bea6525caa31c267555ecdc5a23b0888c8c81da8b27a39d6efebe26fac3e", - "transactionIndex": "0x21", - "logIndex": "0xaa", - "removed": false - }, - { - "address": "0xdDAce40C789CE67eFB1aA62BA6CE046df1442C42", - "topics": [ - "0xc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da9709", - "0x0000000000000000000000007fc41a3090df7b3d9be76e69fd6d97a2453c266e" - ], - "data": "0x", - "blockHash": "0x926151b64d2ff414dfeaf549c101179a25b33164c347c89e46d47303085dd643", - "blockNumber": "0x8d3a33", - "transactionHash": "0xbe86bea6525caa31c267555ecdc5a23b0888c8c81da8b27a39d6efebe26fac3e", - "transactionIndex": "0x21", - "logIndex": "0xab", - "removed": false - }, - { - "address": "0xdDAce40C789CE67eFB1aA62BA6CE046df1442C42", - "topics": [ - "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x926151b64d2ff414dfeaf549c101179a25b33164c347c89e46d47303085dd643", - "blockNumber": "0x8d3a33", - "transactionHash": "0xbe86bea6525caa31c267555ecdc5a23b0888c8c81da8b27a39d6efebe26fac3e", - "transactionIndex": "0x21", - "logIndex": "0xac", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000400000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000002000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000048000000000000000000080000000000080000000000000000000000000000000000480000020010000000000000040000000000000000020000000000000000000040000000004000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0x21cfcb80b" - } - ], - "libraries": [ - "contracts/story-blocks/LibIPAssetId.sol:LibIPAssetId:0xdefba4b68fb683ea2f2e40651408d4df2be10ca7" - ], - "pending": [], - "path": "/Users/drmanhattan/Workspace/StoryProtocol/protocol-contracts/broadcast/Deploy.s.sol/5/run-latest.json", - "returns": {}, - "timestamp": 1687961966, - "chain": 5, - "multi": false, - "commit": "c90355b" -} \ No newline at end of file diff --git a/broadcast/Deploy.s.sol/5/run-1687983334.json b/broadcast/Deploy.s.sol/5/run-1687983334.json deleted file mode 100644 index 884a3319..00000000 --- a/broadcast/Deploy.s.sol/5/run-1687983334.json +++ /dev/null @@ -1,111 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x0c5f8b856b03ddbadf2fa18eb738a9a44b0726b3b1f8745a43d0ec67d8b450db", - "transactionType": "CREATE", - "contractName": "IPAssetsRegistryFactory", - "contractAddress": "0xa8164aF085F0D62A1d27a5A92f0E2336C35fE73d", - "function": null, - "arguments": null, - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x5a7284", - "value": "0x0", - "data": "0x60a060405234801561001057600080fd5b5061001a3361008d565b604051610026906100dd565b604051809103906000f080158015610042573d6000803e3d6000fd5b5060405161004f906100ea565b6001600160a01b039091168152602001604051809103906000f08015801561007b573d6000803e3d6000fd5b506001600160a01b03166080526100f7565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b61384a8061143d83390190565b6105ef80614c8783390190565b60805161131e61011f6000396000818160df015281816101e70152610399015261131e6000f3fe60806040523480156200001157600080fd5b50600436106200007b5760003560e01c8063715018a61162000056578063715018a614620001015780638da5cb5b146200010b578063f2fde38b146200012a57600080fd5b806305d4dd8714620000805780633991fc9d14620000c057806349493a4d14620000d9575b600080fd5b620000976200009136600462000867565b62000141565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b620000d7620000d136600462000915565b620002bb565b005b620000977f000000000000000000000000000000000000000000000000000000000000000081565b620000d7620004dd565b60005473ffffffffffffffffffffffffffffffffffffffff1662000097565b620000d76200013b36600462000915565b620004f5565b600080604051806060016040528060288152602001620012c160289139805190602001208989898989898960405160240162000184979695949392919062000996565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050905060007f00000000000000000000000000000000000000000000000000000000000000008260405162000215906200080d565b6200022292919062000a5e565b604051809103906000f0801580156200023f573d6000803e3d6000fd5b50905086866040516200025492919062000a97565b60405180910390208173ffffffffffffffffffffffffffffffffffffffff167f423bf0ea6b57d35b37f0caad547ba5e1d340585657e9fec91dcac4375fcd45a98b8b604051620002a692919062000aa7565b60405180910390a39998505050505050505050565b620002c5620005b2565b620002e873ffffffffffffffffffffffffffffffffffffffff8216600062000635565b62000354576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4953746f7279426c6f636b73526567697374727900000000000000000000000060448201526064015b60405180910390fd5b6040517f3659cfe600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82811660048301527f00000000000000000000000000000000000000000000000000000000000000001690633659cfe690602401600060405180830381600087803b158015620003de57600080fd5b505af1158015620003f3573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff167fa8f2f87a44131841a6848a0e54ac181d9f27ca8565b9252b1f49af60507d76928273ffffffffffffffffffffffffffffffffffffffff166354fd4d506040518163ffffffff1660e01b8152600401600060405180830381865afa1580156200047b573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052620004c3919081019062000aec565b604051620004d2919062000bb8565b60405180910390a250565b620004e7620005b2565b620004f360006200065d565b565b620004ff620005b2565b73ffffffffffffffffffffffffffffffffffffffff8116620005a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016200034b565b620005af816200065d565b50565b60005473ffffffffffffffffffffffffffffffffffffffff163314620004f3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016200034b565b60006200064283620006d2565b80156200065657506200065683836200073c565b9392505050565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600062000700827f01ffc9a7000000000000000000000000000000000000000000000000000000006200073c565b801562000736575062000734827fffffffff000000000000000000000000000000000000000000000000000000006200073c565b155b92915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015620007f5575060208210155b8015620008025750600081115b979650505050505050565b6106f38062000bce83390190565b60008083601f8401126200082e57600080fd5b50813567ffffffffffffffff8111156200084757600080fd5b6020830191508360208285010111156200086057600080fd5b9250929050565b60008060008060008060006080888a0312156200088357600080fd5b87359650602088013567ffffffffffffffff80821115620008a357600080fd5b620008b18b838c016200081b565b909850965060408a0135915080821115620008cb57600080fd5b620008d98b838c016200081b565b909650945060608a0135915080821115620008f357600080fd5b50620009028a828b016200081b565b989b979a50959850939692959293505050565b6000602082840312156200092857600080fd5b813573ffffffffffffffffffffffffffffffffffffffff811681146200065657600080fd5b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b878152608060208201526000620009b260808301888a6200094d565b8281036040840152620009c78187896200094d565b90508281036060840152620009de8185876200094d565b9a9950505050505050505050565b60005b8381101562000a09578181015183820152602001620009ef565b50506000910152565b6000815180845262000a2c816020860160208601620009ec565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b73ffffffffffffffffffffffffffffffffffffffff8316815260406020820152600062000a8f604083018462000a12565b949350505050565b8183823760009101908152919050565b60208152600062000a8f6020830184866200094d565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60006020828403121562000aff57600080fd5b815167ffffffffffffffff8082111562000b1857600080fd5b818401915084601f83011262000b2d57600080fd5b81518181111562000b425762000b4262000abd565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171562000b8b5762000b8b62000abd565b8160405282815287602084870101111562000ba557600080fd5b62000802836020830160208801620009ec565b60208152600062000656602083018462000a1256fe60806040526040516106f33803806106f383398101604081905261002291610420565b61002e82826000610035565b505061054a565b61003e836100f6565b6040516001600160a01b038416907f1cf3b03a6cf19fa2baba4df148e9dcabedea7f8a5c07840e207e5c089be95d3e90600090a260008251118061007f5750805b156100f1576100ef836001600160a01b0316635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156100c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100e991906104e0565b8361027a565b505b505050565b6001600160a01b0381163b6101605760405162461bcd60e51b815260206004820152602560248201527f455243313936373a206e657720626561636f6e206973206e6f74206120636f6e6044820152641d1c9858dd60da1b60648201526084015b60405180910390fd5b6101d4816001600160a01b0316635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101c591906104e0565b6001600160a01b03163b151590565b6102395760405162461bcd60e51b815260206004820152603060248201527f455243313936373a20626561636f6e20696d706c656d656e746174696f6e206960448201526f1cc81b9bdd08184818dbdb9d1c9858dd60821b6064820152608401610157565b7fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d5080546001600160a01b0319166001600160a01b0392909216919091179055565b606061029f83836040518060600160405280602781526020016106cc602791396102a6565b9392505050565b6060600080856001600160a01b0316856040516102c391906104fb565b600060405180830381855af49150503d80600081146102fe576040519150601f19603f3d011682016040523d82523d6000602084013e610303565b606091505b5090925090506103158683838761031f565b9695505050505050565b6060831561038e578251600003610387576001600160a01b0385163b6103875760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610157565b5081610398565b61039883836103a0565b949350505050565b8151156103b05781518083602001fd5b8060405162461bcd60e51b81526004016101579190610517565b80516001600160a01b03811681146103e157600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b838110156104175781810151838201526020016103ff565b50506000910152565b6000806040838503121561043357600080fd5b61043c836103ca565b60208401519092506001600160401b038082111561045957600080fd5b818501915085601f83011261046d57600080fd5b81518181111561047f5761047f6103e6565b604051601f8201601f19908116603f011681019083821181831017156104a7576104a76103e6565b816040528281528860208487010111156104c057600080fd5b6104d18360208301602088016103fc565b80955050505050509250929050565b6000602082840312156104f257600080fd5b61029f826103ca565b6000825161050d8184602087016103fc565b9190910192915050565b60208152600082518060208401526105368160408501602087016103fc565b601f01601f19169190910160400192915050565b610173806105596000396000f3fe60806040523661001357610011610017565b005b6100115b610027610022610029565b6100dc565b565b60006100697fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d505473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff16635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156100b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100d79190610100565b905090565b3660008037600080366000845af43d6000803e8080156100fb573d6000f35b3d6000fd5b60006020828403121561011257600080fd5b815173ffffffffffffffffffffffffffffffffffffffff8116811461013657600080fd5b939250505056fea26469706673582212206e19af89d0e39d5d76f1b5b6bd963ba5f8c6c6fc546e614a5bb49e1174b5e59d64736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564696e697469616c697a652875696e743235362c737472696e672c737472696e672c737472696e6729a2646970667358221220652ea3147919f36ee9441e4e61527e27c8e56a00aec872fd53e27d989b68675764736f6c6343000813003360806040523480156200001157600080fd5b506200001c62000022565b620000e4565b600054610100900460ff16156200008f5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff9081161015620000e2576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b61375680620000f46000396000f3fe608060405234801561001057600080fd5b50600436106101a35760003560e01c806369cf2c37116100ee578063a22cb46511610097578063b88d4fde11610071578063b88d4fde146103b1578063b9d0787c146103c4578063c87b56dd146103cd578063e985e9c5146103e057600080fd5b8063a22cb4651461036b578063a8185a2e1461037e578063ac9650d81461039157600080fd5b80639484c103116100c85780639484c1031461033057806395d89b41146103505780639dc6693c1461035857600080fd5b806369cf2c371461030257806370a08231146103155780637284e4161461032857600080fd5b806323b872dd1161015057806346193ccd1161012a57806346193ccd146102a357806354fd4d50146102b65780636352211e146102ef57600080fd5b806323b872dd1461025b5780633c7fc59d1461026e57806342842e0e1461029057600080fd5b8063095ea7b311610181578063095ea7b31461021d5780630f7966c0146102325780632336a84a1461024857600080fd5b806301ffc9a7146101a857806306fdde03146101d0578063081812fc146101e5575b600080fd5b6101bb6101b636600461292f565b610429565b60405190151581526020015b60405180910390f35b6101d8610464565b6040516101c791906129ba565b6101f86101f33660046129cd565b6104f6565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101c7565b61023061022b366004612a0f565b61052a565b005b61023a601481565b6040519081526020016101c7565b61023a610256366004612a91565b6106bb565b610230610269366004612b3c565b610731565b61028161027c3660046129cd565b6107d2565b6040516101c793929190612c3f565b61023061029e366004612b3c565b610816565b6102306102b1366004612ca1565b610831565b60408051808201909152600581527f302e312e3000000000000000000000000000000000000000000000000000000060208201526101d8565b6101f86102fd3660046129cd565b610aba565b61023a610310366004612cdb565b610b46565b61023a610323366004612cf6565b610b9f565b6101d8610c6d565b61034361033e3660046129cd565b610cfb565b6040516101c79190612d11565b6101d8610f09565b610230610366366004612d69565b610f18565b610230610379366004612db5565b61106d565b61023a61038c366004612df1565b61107c565b6103a461039f366004612ecb565b6110f8565b6040516101c79190612f0d565b6102306103bf366004612fbc565b6111ed565b61023a60cd5481565b6101d86103db3660046129cd565b611295565b6101bb6103ee3660046130b6565b73ffffffffffffffffffffffffffffffffffffffff9182166000908152606a6020908152604080832093909416825291909152205460ff1690565b60007fffffffff000000000000000000000000000000000000000000000000000000008216158061045e575061045e82611308565b92915050565b606060658054610473906130e9565b80601f016020809104026020016040519081016040528092919081815260200182805461049f906130e9565b80156104ec5780601f106104c1576101008083540402835291602001916104ec565b820191906000526020600020905b8154815290600101906020018083116104cf57829003601f168201915b5050505050905090565b6000610501826113eb565b5060009081526069602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b600061053582610aba565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036105f7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff82161480610620575061062081336103ee565b6106ac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c00000060648201526084016105ee565b6106b68383611479565b505050565b6000808860068111156106d0576106d0612b78565b03610707576040517ffa19fa0700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610713338a611519565b905061072481898989898989611612565b5098975050505050505050565b61073b3382611725565b6107c7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f7665640000000000000000000000000000000000000060648201526084016105ee565b6106b68383836117e5565b6107da6128c9565b600060606107e784610cfb565b600085815260ca60205260409020805491945060ff909116925061080d60018201611ae0565b93959294505050565b6106b6838383604051806020016040528060008152506111ed565b600054610100900460ff16158080156108515750600054600160ff909116105b8061086b5750303b15801561086b575060005460ff166001145b6108f7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016105ee565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561095557600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6109c887878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8b018190048102820181019092528981529250899150889081908401838280828437600092019190915250611aed92505050565b6109d0611b8e565b87600003610a3a576040517feac0d38900000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f6672616e6368697365496400000000000000000000000000000000000000000060448201526064016105ee565b60cd88905560cc610a4c838583613184565b508015610ab057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050505050565b60008181526067602052604081205473ffffffffffffffffffffffffffffffffffffffff168061045e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e204944000000000000000060448201526064016105ee565b60008060cb6000846006811115610b5f57610b5f612b78565b6006811115610b7057610b70612b78565b81526020019081526020016000205490508060000361045e57610b9283611c27565b9392505050565b50919050565b600073ffffffffffffffffffffffffffffffffffffffff8216610c44576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e6572000000000000000000000000000000000000000000000060648201526084016105ee565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526068602052604090205490565b60cc8054610c7a906130e9565b80601f0160208091040260200160405190810160405280929190818152602001828054610ca6906130e9565b8015610cf35780601f10610cc857610100808354040283529160200191610cf3565b820191906000526020600020905b815481529060010190602001808311610cd657829003601f168201915b505050505081565b610d036128c9565b600082815260c9602052604090819020815160808101909252805482908290610d2b906130e9565b80601f0160208091040260200160405190810160405280929190818152602001828054610d57906130e9565b8015610da45780601f10610d7957610100808354040283529160200191610da4565b820191906000526020600020905b815481529060010190602001808311610d8757829003601f168201915b50505050508152602001600182018054610dbd906130e9565b80601f0160208091040260200160405190810160405280929190818152602001828054610de9906130e9565b8015610e365780601f10610e0b57610100808354040283529160200191610e36565b820191906000526020600020905b815481529060010190602001808311610e1957829003601f168201915b50505050508152602001600282018054610e4f906130e9565b80601f0160208091040260200160405190810160405280929190818152602001828054610e7b906130e9565b8015610ec85780601f10610e9d57610100808354040283529160200191610ec8565b820191906000526020600020905b815481529060010190602001808311610eab57829003601f168201915b5050509183525050600382015460209091019060ff166006811115610eef57610eef612b78565b6006811115610f0057610f00612b78565b90525092915050565b606060668054610473906130e9565b806014811115610f54576040517f77d10abd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084815260ca602052604081205460ff16905b8381101561102957816006811115610f8257610f82612b78565b610fa3868684818110610f9757610f9761329f565b90506020020135611ca2565b6006811115610fb457610fb4612b78565b14610feb576040517f50c3390e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6110208585838181106110005761100061329f565b60008a815260ca6020908152604090912060010193910201359050611d05565b50600101610f68565b50847f823d677ed42b321275c6b3aa7040f32e41d12aea91120455a19a60ae310b0af382868660405161105e939291906132ce565b60405180910390a25050505050565b611078338383611d11565b5050565b60008061108f60048c8c8c8c8c8c6106bb565b600081815260ca60205260409020805491925086917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660018360068111156110da576110da612b78565b02179055506110ea818585610f18565b9a9950505050505050505050565b60608167ffffffffffffffff81111561111357611113612f8d565b60405190808252806020026020018201604052801561114657816020015b60608152602001906001900390816111315790505b50905060005b828110156111e6576111b63085858481811061116a5761116a61329f565b905060200281019061117c919061332e565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611e3e92505050565b8282815181106111c8576111c861329f565b602002602001018190525080806111de906133c2565b91505061114c565b5092915050565b6111f73383611725565b611283576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f7665640000000000000000000000000000000000000060648201526084016105ee565b61128f84848484611f7d565b50505050565b60606112a0826113eb565b60006112b760408051602081019091526000815290565b905060008151116112d75760405180602001604052806000815250610b92565b806112e184612020565b6040516020016112f29291906133fa565b6040516020818303038152906040529392505050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061139b57507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b8061045e57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161461045e565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff16611476576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e204944000000000000000060448201526064016105ee565b50565b600081815260696020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811790915581906114d382610aba565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008061152583610b46565b611530906001613429565b905061153b836120df565b811115611574576040517fd5fdab4f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060cb600085600681111561158b5761158b612b78565b600681111561159c5761159c612b78565b81526020810191909152604001600020556115b7848261215a565b808360068111156115ca576115ca612b78565b60405173ffffffffffffffffffffffffffffffffffffffff8716907f46c5798f976ec5e5dec617e7f27479bc578f63e6bcf4f693ade547151a3219cd90600090a49392505050565b600087815260c96020526040812081600382015460ff16600681111561163a5761163a612b78565b0361168a5761164889611ca2565b6003820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600183600681111561168457611684612b78565b02179055505b80611696888a83613184565b50600181016116a6868883613184565b50600281016116b6848683613184565b50600381015460ff1660068111156116d0576116d0612b78565b897f621ca783668a03c147f29e5ae01f40cc55df212956bde68afb53b1d6119a2ea78a8a8a8a8a8a60405161170a96959493929190613485565b60405180910390a36003015460ff1698975050505050505050565b60008061173183610aba565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061179f575073ffffffffffffffffffffffffffffffffffffffff8082166000908152606a602090815260408083209388168352929052205460ff165b806117dd57508373ffffffffffffffffffffffffffffffffffffffff166117c5846104f6565b73ffffffffffffffffffffffffffffffffffffffff16145b949350505050565b8273ffffffffffffffffffffffffffffffffffffffff1661180582610aba565b73ffffffffffffffffffffffffffffffffffffffff16146118a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e657200000000000000000000000000000000000000000000000000000060648201526084016105ee565b73ffffffffffffffffffffffffffffffffffffffff821661194a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016105ee565b8273ffffffffffffffffffffffffffffffffffffffff1661196a82610aba565b73ffffffffffffffffffffffffffffffffffffffff1614611a0d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e657200000000000000000000000000000000000000000000000000000060648201526084016105ee565b600081815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff8781168086526068855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905590871680865283862080546001019055868652606790945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b60606000610b9283612174565b600054610100900460ff16611b84576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016105ee565b61107882826121d0565b600054610100900460ff16611c25576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016105ee565b565b600080826006811115611c3c57611c3c612b78565b03611c7557816040517fd408b2c00000000000000000000000000000000000000000000000000000000081526004016105ee91906134ce565b6001826006811115611c8957611c89612b78565b611c9391906134dc565b61045e9064e8d4a510006134ef565b6000611cb364e8d4a5100083613535565b1580611ccd5750611cca600664e8d4a510006134ef565b82115b15611cda57506000919050565b611ce964e8d4a5100083613549565b611cf4906001613429565b600681111561045e5761045e612b78565b6000610b928383612280565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611da6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016105ee565b73ffffffffffffffffffffffffffffffffffffffff8381166000818152606a602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b606073ffffffffffffffffffffffffffffffffffffffff83163b611ee4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e7472616374000000000000000000000000000000000000000000000000000060648201526084016105ee565b6000808473ffffffffffffffffffffffffffffffffffffffff1684604051611f0c919061355d565b600060405180830381855af49150503d8060008114611f47576040519150601f19603f3d011682016040523d82523d6000602084013e611f4c565b606091505b5091509150611f7482826040518060600160405280602781526020016136fa602791396122cf565b95945050505050565b611f888484846117e5565b611f94848484846122e8565b61128f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016105ee565b6060600061202d836124db565b600101905060008167ffffffffffffffff81111561204d5761204d612f8d565b6040519080825280601f01601f191660200182016040528015612077576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8504945084612081575b509392505050565b6000808260068111156120f4576120f4612b78565b0361212d57816040517fd408b2c00000000000000000000000000000000000000000000000000000000081526004016105ee91906134ce565b600182600681111561214157612141612b78565b6121509064e8d4a510006134ef565b61045e91906134dc565b6110788282604051806020016040528060008152506125bd565b6060816000018054806020026020016040519081016040528092919081815260200182805480156121c457602002820191906000526020600020905b8154815260200190600101908083116121b0575b50505050509050919050565b600054610100900460ff16612267576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016105ee565b60656122738382613579565b5060666106b68282613579565b60008181526001830160205260408120546122c75750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561045e565b50600061045e565b606083156122de575081610b92565b610b928383612660565b600073ffffffffffffffffffffffffffffffffffffffff84163b156124d0576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a029061235f903390899088908890600401613693565b6020604051808303816000875af19250505080156123b8575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526123b5918101906136dc565b60015b612485573d8080156123e6576040519150601f19603f3d011682016040523d82523d6000602084013e6123eb565b606091505b50805160000361247d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016105ee565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a02000000000000000000000000000000000000000000000000000000001490506117dd565b506001949350505050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310612524577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef81000000008310612550576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061256e57662386f26fc10000830492506010015b6305f5e1008310612586576305f5e100830492506008015b612710831061259a57612710830492506004015b606483106125ac576064830492506002015b600a831061045e5760010192915050565b6125c783836126a4565b6125d460008484846122e8565b6106b6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016105ee565b8151156126705781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105ee91906129ba565b73ffffffffffffffffffffffffffffffffffffffff8216612721576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016105ee565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff16156127ad576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016105ee565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff1615612839576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016105ee565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260686020908152604080832080546001019055848352606790915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6040518060800160405280606081526020016060815260200160608152602001600060068111156128fc576128fc612b78565b905290565b7fffffffff000000000000000000000000000000000000000000000000000000008116811461147657600080fd5b60006020828403121561294157600080fd5b8135610b9281612901565b60005b8381101561296757818101518382015260200161294f565b50506000910152565b6000815180845261298881602086016020860161294c565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610b926020830184612970565b6000602082840312156129df57600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff81168114612a0a57600080fd5b919050565b60008060408385031215612a2257600080fd5b612a2b836129e6565b946020939093013593505050565b803560078110612a0a57600080fd5b60008083601f840112612a5a57600080fd5b50813567ffffffffffffffff811115612a7257600080fd5b602083019150836020828501011115612a8a57600080fd5b9250929050565b60008060008060008060006080888a031215612aac57600080fd5b612ab588612a39565b9650602088013567ffffffffffffffff80821115612ad257600080fd5b612ade8b838c01612a48565b909850965060408a0135915080821115612af757600080fd5b612b038b838c01612a48565b909650945060608a0135915080821115612b1c57600080fd5b50612b298a828b01612a48565b989b979a50959850939692959293505050565b600080600060608486031215612b5157600080fd5b612b5a846129e6565b9250612b68602085016129e6565b9150604084013590509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60078110612bde577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b6000815160808452612bf76080850182612970565b905060208301518482036020860152612c108282612970565b91505060408301518482036040860152612c2a8282612970565b91505060608301516120d76060860182612ba7565b606081526000612c526060830186612be2565b6020612c6081850187612ba7565b838203604085015284518083528186019282019060005b81811015612c9357845183529383019391830191600101612c77565b509098975050505050505050565b60008060008060008060006080888a031215612cbc57600080fd5b87359650602088013567ffffffffffffffff80821115612ad257600080fd5b600060208284031215612ced57600080fd5b610b9282612a39565b600060208284031215612d0857600080fd5b610b92826129e6565b602081526000610b926020830184612be2565b60008083601f840112612d3657600080fd5b50813567ffffffffffffffff811115612d4e57600080fd5b6020830191508360208260051b8501011115612a8a57600080fd5b600080600060408486031215612d7e57600080fd5b83359250602084013567ffffffffffffffff811115612d9c57600080fd5b612da886828701612d24565b9497909650939450505050565b60008060408385031215612dc857600080fd5b612dd1836129e6565b915060208301358015158114612de657600080fd5b809150509250929050565b600080600080600080600080600060a08a8c031215612e0f57600080fd5b893567ffffffffffffffff80821115612e2757600080fd5b612e338d838e01612a48565b909b50995060208c0135915080821115612e4c57600080fd5b612e588d838e01612a48565b909950975060408c0135915080821115612e7157600080fd5b612e7d8d838e01612a48565b9097509550859150612e9160608d01612a39565b945060808c0135915080821115612ea757600080fd5b50612eb48c828d01612d24565b915080935050809150509295985092959850929598565b60008060208385031215612ede57600080fd5b823567ffffffffffffffff811115612ef557600080fd5b612f0185828601612d24565b90969095509350505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015612f80577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452612f6e858351612970565b94509285019290850190600101612f34565b5092979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060008060808587031215612fd257600080fd5b612fdb856129e6565b9350612fe9602086016129e6565b925060408501359150606085013567ffffffffffffffff8082111561300d57600080fd5b818701915087601f83011261302157600080fd5b81358181111561303357613033612f8d565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561307957613079612f8d565b816040528281528a602084870101111561309257600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b600080604083850312156130c957600080fd5b6130d2836129e6565b91506130e0602084016129e6565b90509250929050565b600181811c908216806130fd57607f821691505b602082108103610b99577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b601f8211156106b657600081815260208120601f850160051c8101602086101561315d5750805b601f850160051c820191505b8181101561317c57828155600101613169565b505050505050565b67ffffffffffffffff83111561319c5761319c612f8d565b6131b0836131aa83546130e9565b83613136565b6000601f84116001811461320257600085156131cc5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355613298565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b828110156132515786850135825560209485019460019092019101613231565b508682101561328c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6132d88185612ba7565b6040602082015281604082015260007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83111561331457600080fd5b8260051b8085606085013791909101606001949350505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261336357600080fd5b83018035915067ffffffffffffffff82111561337e57600080fd5b602001915036819003821315612a8a57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036133f3576133f3613393565b5060010190565b6000835161340c81846020880161294c565b83519083019061342081836020880161294c565b01949350505050565b8082018082111561045e5761045e613393565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60608152600061349960608301888a61343c565b82810360208401526134ac81878961343c565b905082810360408401526134c181858761343c565b9998505050505050505050565b6020810161045e8284612ba7565b8181038181111561045e5761045e613393565b808202811582820484141761045e5761045e613393565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60008261354457613544613506565b500690565b60008261355857613558613506565b500490565b6000825161356f81846020870161294c565b9190910192915050565b815167ffffffffffffffff81111561359357613593612f8d565b6135a7816135a184546130e9565b84613136565b602080601f8311600181146135fa57600084156135c45750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b17855561317c565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b8281101561364757888601518255948401946001909101908401613628565b508582101561368357878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250836040830152608060608301526136d26080830184612970565b9695505050505050565b6000602082840312156136ee57600080fd5b8151610b928161290156fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220c81849885aeba1dab4a372275032905fccbe70b72044d129a50a1defaf16f55b64736f6c63430008130033608060405234801561001057600080fd5b506040516105ef3803806105ef83398101604081905261002f9161013a565b61003833610047565b61004181610097565b5061016a565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0381163b6101185760405162461bcd60e51b815260206004820152603360248201527f5570677261646561626c65426561636f6e3a20696d706c656d656e746174696f60448201527f6e206973206e6f74206120636f6e747261637400000000000000000000000000606482015260840160405180910390fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b60006020828403121561014c57600080fd5b81516001600160a01b038116811461016357600080fd5b9392505050565b610476806101796000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c8063715018a611610050578063715018a6146100c45780638da5cb5b146100cc578063f2fde38b146100ea57600080fd5b80633659cfe61461006c5780635c60da1b14610081575b600080fd5b61007f61007a366004610403565b6100fd565b005b60015473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61007f610152565b60005473ffffffffffffffffffffffffffffffffffffffff1661009b565b61007f6100f8366004610403565b610166565b610105610222565b61010e816102a3565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b61015a610222565b610164600061038e565b565b61016e610222565b73ffffffffffffffffffffffffffffffffffffffff8116610216576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61021f8161038e565b50565b60005473ffffffffffffffffffffffffffffffffffffffff163314610164576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161020d565b73ffffffffffffffffffffffffffffffffffffffff81163b610347576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603360248201527f5570677261646561626c65426561636f6e3a20696d706c656d656e746174696f60448201527f6e206973206e6f74206120636f6e747261637400000000000000000000000000606482015260840161020d565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006020828403121561041557600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461043957600080fd5b939250505056fea264697066735822122048ebef5dea79554c6de8af09830ddb871c241a46dee33849e34fac866c5894bd64736f6c63430008130033", - "nonce": "0x12", - "accessList": [] - }, - "additionalContracts": [ - { - "transactionType": "CREATE", - "address": "0xBdfF7F77096927153ef4A595E440958dB406775f", - "initCode": "60806040523480156200001157600080fd5b506200001c62000022565b620000e4565b600054610100900460ff16156200008f5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff9081161015620000e2576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b61375680620000f46000396000f3fe608060405234801561001057600080fd5b50600436106101a35760003560e01c806369cf2c37116100ee578063a22cb46511610097578063b88d4fde11610071578063b88d4fde146103b1578063b9d0787c146103c4578063c87b56dd146103cd578063e985e9c5146103e057600080fd5b8063a22cb4651461036b578063a8185a2e1461037e578063ac9650d81461039157600080fd5b80639484c103116100c85780639484c1031461033057806395d89b41146103505780639dc6693c1461035857600080fd5b806369cf2c371461030257806370a08231146103155780637284e4161461032857600080fd5b806323b872dd1161015057806346193ccd1161012a57806346193ccd146102a357806354fd4d50146102b65780636352211e146102ef57600080fd5b806323b872dd1461025b5780633c7fc59d1461026e57806342842e0e1461029057600080fd5b8063095ea7b311610181578063095ea7b31461021d5780630f7966c0146102325780632336a84a1461024857600080fd5b806301ffc9a7146101a857806306fdde03146101d0578063081812fc146101e5575b600080fd5b6101bb6101b636600461292f565b610429565b60405190151581526020015b60405180910390f35b6101d8610464565b6040516101c791906129ba565b6101f86101f33660046129cd565b6104f6565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101c7565b61023061022b366004612a0f565b61052a565b005b61023a601481565b6040519081526020016101c7565b61023a610256366004612a91565b6106bb565b610230610269366004612b3c565b610731565b61028161027c3660046129cd565b6107d2565b6040516101c793929190612c3f565b61023061029e366004612b3c565b610816565b6102306102b1366004612ca1565b610831565b60408051808201909152600581527f302e312e3000000000000000000000000000000000000000000000000000000060208201526101d8565b6101f86102fd3660046129cd565b610aba565b61023a610310366004612cdb565b610b46565b61023a610323366004612cf6565b610b9f565b6101d8610c6d565b61034361033e3660046129cd565b610cfb565b6040516101c79190612d11565b6101d8610f09565b610230610366366004612d69565b610f18565b610230610379366004612db5565b61106d565b61023a61038c366004612df1565b61107c565b6103a461039f366004612ecb565b6110f8565b6040516101c79190612f0d565b6102306103bf366004612fbc565b6111ed565b61023a60cd5481565b6101d86103db3660046129cd565b611295565b6101bb6103ee3660046130b6565b73ffffffffffffffffffffffffffffffffffffffff9182166000908152606a6020908152604080832093909416825291909152205460ff1690565b60007fffffffff000000000000000000000000000000000000000000000000000000008216158061045e575061045e82611308565b92915050565b606060658054610473906130e9565b80601f016020809104026020016040519081016040528092919081815260200182805461049f906130e9565b80156104ec5780601f106104c1576101008083540402835291602001916104ec565b820191906000526020600020905b8154815290600101906020018083116104cf57829003601f168201915b5050505050905090565b6000610501826113eb565b5060009081526069602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b600061053582610aba565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036105f7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff82161480610620575061062081336103ee565b6106ac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c00000060648201526084016105ee565b6106b68383611479565b505050565b6000808860068111156106d0576106d0612b78565b03610707576040517ffa19fa0700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610713338a611519565b905061072481898989898989611612565b5098975050505050505050565b61073b3382611725565b6107c7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f7665640000000000000000000000000000000000000060648201526084016105ee565b6106b68383836117e5565b6107da6128c9565b600060606107e784610cfb565b600085815260ca60205260409020805491945060ff909116925061080d60018201611ae0565b93959294505050565b6106b6838383604051806020016040528060008152506111ed565b600054610100900460ff16158080156108515750600054600160ff909116105b8061086b5750303b15801561086b575060005460ff166001145b6108f7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016105ee565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561095557600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6109c887878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8b018190048102820181019092528981529250899150889081908401838280828437600092019190915250611aed92505050565b6109d0611b8e565b87600003610a3a576040517feac0d38900000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f6672616e6368697365496400000000000000000000000000000000000000000060448201526064016105ee565b60cd88905560cc610a4c838583613184565b508015610ab057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050505050565b60008181526067602052604081205473ffffffffffffffffffffffffffffffffffffffff168061045e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e204944000000000000000060448201526064016105ee565b60008060cb6000846006811115610b5f57610b5f612b78565b6006811115610b7057610b70612b78565b81526020019081526020016000205490508060000361045e57610b9283611c27565b9392505050565b50919050565b600073ffffffffffffffffffffffffffffffffffffffff8216610c44576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e6572000000000000000000000000000000000000000000000060648201526084016105ee565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526068602052604090205490565b60cc8054610c7a906130e9565b80601f0160208091040260200160405190810160405280929190818152602001828054610ca6906130e9565b8015610cf35780601f10610cc857610100808354040283529160200191610cf3565b820191906000526020600020905b815481529060010190602001808311610cd657829003601f168201915b505050505081565b610d036128c9565b600082815260c9602052604090819020815160808101909252805482908290610d2b906130e9565b80601f0160208091040260200160405190810160405280929190818152602001828054610d57906130e9565b8015610da45780601f10610d7957610100808354040283529160200191610da4565b820191906000526020600020905b815481529060010190602001808311610d8757829003601f168201915b50505050508152602001600182018054610dbd906130e9565b80601f0160208091040260200160405190810160405280929190818152602001828054610de9906130e9565b8015610e365780601f10610e0b57610100808354040283529160200191610e36565b820191906000526020600020905b815481529060010190602001808311610e1957829003601f168201915b50505050508152602001600282018054610e4f906130e9565b80601f0160208091040260200160405190810160405280929190818152602001828054610e7b906130e9565b8015610ec85780601f10610e9d57610100808354040283529160200191610ec8565b820191906000526020600020905b815481529060010190602001808311610eab57829003601f168201915b5050509183525050600382015460209091019060ff166006811115610eef57610eef612b78565b6006811115610f0057610f00612b78565b90525092915050565b606060668054610473906130e9565b806014811115610f54576040517f77d10abd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084815260ca602052604081205460ff16905b8381101561102957816006811115610f8257610f82612b78565b610fa3868684818110610f9757610f9761329f565b90506020020135611ca2565b6006811115610fb457610fb4612b78565b14610feb576040517f50c3390e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6110208585838181106110005761100061329f565b60008a815260ca6020908152604090912060010193910201359050611d05565b50600101610f68565b50847f823d677ed42b321275c6b3aa7040f32e41d12aea91120455a19a60ae310b0af382868660405161105e939291906132ce565b60405180910390a25050505050565b611078338383611d11565b5050565b60008061108f60048c8c8c8c8c8c6106bb565b600081815260ca60205260409020805491925086917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660018360068111156110da576110da612b78565b02179055506110ea818585610f18565b9a9950505050505050505050565b60608167ffffffffffffffff81111561111357611113612f8d565b60405190808252806020026020018201604052801561114657816020015b60608152602001906001900390816111315790505b50905060005b828110156111e6576111b63085858481811061116a5761116a61329f565b905060200281019061117c919061332e565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611e3e92505050565b8282815181106111c8576111c861329f565b602002602001018190525080806111de906133c2565b91505061114c565b5092915050565b6111f73383611725565b611283576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f7665640000000000000000000000000000000000000060648201526084016105ee565b61128f84848484611f7d565b50505050565b60606112a0826113eb565b60006112b760408051602081019091526000815290565b905060008151116112d75760405180602001604052806000815250610b92565b806112e184612020565b6040516020016112f29291906133fa565b6040516020818303038152906040529392505050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061139b57507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b8061045e57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161461045e565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff16611476576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e204944000000000000000060448201526064016105ee565b50565b600081815260696020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811790915581906114d382610aba565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008061152583610b46565b611530906001613429565b905061153b836120df565b811115611574576040517fd5fdab4f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060cb600085600681111561158b5761158b612b78565b600681111561159c5761159c612b78565b81526020810191909152604001600020556115b7848261215a565b808360068111156115ca576115ca612b78565b60405173ffffffffffffffffffffffffffffffffffffffff8716907f46c5798f976ec5e5dec617e7f27479bc578f63e6bcf4f693ade547151a3219cd90600090a49392505050565b600087815260c96020526040812081600382015460ff16600681111561163a5761163a612b78565b0361168a5761164889611ca2565b6003820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600183600681111561168457611684612b78565b02179055505b80611696888a83613184565b50600181016116a6868883613184565b50600281016116b6848683613184565b50600381015460ff1660068111156116d0576116d0612b78565b897f621ca783668a03c147f29e5ae01f40cc55df212956bde68afb53b1d6119a2ea78a8a8a8a8a8a60405161170a96959493929190613485565b60405180910390a36003015460ff1698975050505050505050565b60008061173183610aba565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061179f575073ffffffffffffffffffffffffffffffffffffffff8082166000908152606a602090815260408083209388168352929052205460ff165b806117dd57508373ffffffffffffffffffffffffffffffffffffffff166117c5846104f6565b73ffffffffffffffffffffffffffffffffffffffff16145b949350505050565b8273ffffffffffffffffffffffffffffffffffffffff1661180582610aba565b73ffffffffffffffffffffffffffffffffffffffff16146118a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e657200000000000000000000000000000000000000000000000000000060648201526084016105ee565b73ffffffffffffffffffffffffffffffffffffffff821661194a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016105ee565b8273ffffffffffffffffffffffffffffffffffffffff1661196a82610aba565b73ffffffffffffffffffffffffffffffffffffffff1614611a0d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e657200000000000000000000000000000000000000000000000000000060648201526084016105ee565b600081815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff8781168086526068855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905590871680865283862080546001019055868652606790945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b60606000610b9283612174565b600054610100900460ff16611b84576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016105ee565b61107882826121d0565b600054610100900460ff16611c25576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016105ee565b565b600080826006811115611c3c57611c3c612b78565b03611c7557816040517fd408b2c00000000000000000000000000000000000000000000000000000000081526004016105ee91906134ce565b6001826006811115611c8957611c89612b78565b611c9391906134dc565b61045e9064e8d4a510006134ef565b6000611cb364e8d4a5100083613535565b1580611ccd5750611cca600664e8d4a510006134ef565b82115b15611cda57506000919050565b611ce964e8d4a5100083613549565b611cf4906001613429565b600681111561045e5761045e612b78565b6000610b928383612280565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611da6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016105ee565b73ffffffffffffffffffffffffffffffffffffffff8381166000818152606a602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b606073ffffffffffffffffffffffffffffffffffffffff83163b611ee4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e7472616374000000000000000000000000000000000000000000000000000060648201526084016105ee565b6000808473ffffffffffffffffffffffffffffffffffffffff1684604051611f0c919061355d565b600060405180830381855af49150503d8060008114611f47576040519150601f19603f3d011682016040523d82523d6000602084013e611f4c565b606091505b5091509150611f7482826040518060600160405280602781526020016136fa602791396122cf565b95945050505050565b611f888484846117e5565b611f94848484846122e8565b61128f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016105ee565b6060600061202d836124db565b600101905060008167ffffffffffffffff81111561204d5761204d612f8d565b6040519080825280601f01601f191660200182016040528015612077576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8504945084612081575b509392505050565b6000808260068111156120f4576120f4612b78565b0361212d57816040517fd408b2c00000000000000000000000000000000000000000000000000000000081526004016105ee91906134ce565b600182600681111561214157612141612b78565b6121509064e8d4a510006134ef565b61045e91906134dc565b6110788282604051806020016040528060008152506125bd565b6060816000018054806020026020016040519081016040528092919081815260200182805480156121c457602002820191906000526020600020905b8154815260200190600101908083116121b0575b50505050509050919050565b600054610100900460ff16612267576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016105ee565b60656122738382613579565b5060666106b68282613579565b60008181526001830160205260408120546122c75750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561045e565b50600061045e565b606083156122de575081610b92565b610b928383612660565b600073ffffffffffffffffffffffffffffffffffffffff84163b156124d0576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a029061235f903390899088908890600401613693565b6020604051808303816000875af19250505080156123b8575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526123b5918101906136dc565b60015b612485573d8080156123e6576040519150601f19603f3d011682016040523d82523d6000602084013e6123eb565b606091505b50805160000361247d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016105ee565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a02000000000000000000000000000000000000000000000000000000001490506117dd565b506001949350505050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310612524577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef81000000008310612550576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061256e57662386f26fc10000830492506010015b6305f5e1008310612586576305f5e100830492506008015b612710831061259a57612710830492506004015b606483106125ac576064830492506002015b600a831061045e5760010192915050565b6125c783836126a4565b6125d460008484846122e8565b6106b6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016105ee565b8151156126705781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105ee91906129ba565b73ffffffffffffffffffffffffffffffffffffffff8216612721576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016105ee565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff16156127ad576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016105ee565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff1615612839576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016105ee565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260686020908152604080832080546001019055848352606790915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6040518060800160405280606081526020016060815260200160608152602001600060068111156128fc576128fc612b78565b905290565b7fffffffff000000000000000000000000000000000000000000000000000000008116811461147657600080fd5b60006020828403121561294157600080fd5b8135610b9281612901565b60005b8381101561296757818101518382015260200161294f565b50506000910152565b6000815180845261298881602086016020860161294c565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610b926020830184612970565b6000602082840312156129df57600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff81168114612a0a57600080fd5b919050565b60008060408385031215612a2257600080fd5b612a2b836129e6565b946020939093013593505050565b803560078110612a0a57600080fd5b60008083601f840112612a5a57600080fd5b50813567ffffffffffffffff811115612a7257600080fd5b602083019150836020828501011115612a8a57600080fd5b9250929050565b60008060008060008060006080888a031215612aac57600080fd5b612ab588612a39565b9650602088013567ffffffffffffffff80821115612ad257600080fd5b612ade8b838c01612a48565b909850965060408a0135915080821115612af757600080fd5b612b038b838c01612a48565b909650945060608a0135915080821115612b1c57600080fd5b50612b298a828b01612a48565b989b979a50959850939692959293505050565b600080600060608486031215612b5157600080fd5b612b5a846129e6565b9250612b68602085016129e6565b9150604084013590509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60078110612bde577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b6000815160808452612bf76080850182612970565b905060208301518482036020860152612c108282612970565b91505060408301518482036040860152612c2a8282612970565b91505060608301516120d76060860182612ba7565b606081526000612c526060830186612be2565b6020612c6081850187612ba7565b838203604085015284518083528186019282019060005b81811015612c9357845183529383019391830191600101612c77565b509098975050505050505050565b60008060008060008060006080888a031215612cbc57600080fd5b87359650602088013567ffffffffffffffff80821115612ad257600080fd5b600060208284031215612ced57600080fd5b610b9282612a39565b600060208284031215612d0857600080fd5b610b92826129e6565b602081526000610b926020830184612be2565b60008083601f840112612d3657600080fd5b50813567ffffffffffffffff811115612d4e57600080fd5b6020830191508360208260051b8501011115612a8a57600080fd5b600080600060408486031215612d7e57600080fd5b83359250602084013567ffffffffffffffff811115612d9c57600080fd5b612da886828701612d24565b9497909650939450505050565b60008060408385031215612dc857600080fd5b612dd1836129e6565b915060208301358015158114612de657600080fd5b809150509250929050565b600080600080600080600080600060a08a8c031215612e0f57600080fd5b893567ffffffffffffffff80821115612e2757600080fd5b612e338d838e01612a48565b909b50995060208c0135915080821115612e4c57600080fd5b612e588d838e01612a48565b909950975060408c0135915080821115612e7157600080fd5b612e7d8d838e01612a48565b9097509550859150612e9160608d01612a39565b945060808c0135915080821115612ea757600080fd5b50612eb48c828d01612d24565b915080935050809150509295985092959850929598565b60008060208385031215612ede57600080fd5b823567ffffffffffffffff811115612ef557600080fd5b612f0185828601612d24565b90969095509350505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015612f80577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452612f6e858351612970565b94509285019290850190600101612f34565b5092979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060008060808587031215612fd257600080fd5b612fdb856129e6565b9350612fe9602086016129e6565b925060408501359150606085013567ffffffffffffffff8082111561300d57600080fd5b818701915087601f83011261302157600080fd5b81358181111561303357613033612f8d565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561307957613079612f8d565b816040528281528a602084870101111561309257600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b600080604083850312156130c957600080fd5b6130d2836129e6565b91506130e0602084016129e6565b90509250929050565b600181811c908216806130fd57607f821691505b602082108103610b99577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b601f8211156106b657600081815260208120601f850160051c8101602086101561315d5750805b601f850160051c820191505b8181101561317c57828155600101613169565b505050505050565b67ffffffffffffffff83111561319c5761319c612f8d565b6131b0836131aa83546130e9565b83613136565b6000601f84116001811461320257600085156131cc5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355613298565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b828110156132515786850135825560209485019460019092019101613231565b508682101561328c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6132d88185612ba7565b6040602082015281604082015260007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83111561331457600080fd5b8260051b8085606085013791909101606001949350505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261336357600080fd5b83018035915067ffffffffffffffff82111561337e57600080fd5b602001915036819003821315612a8a57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036133f3576133f3613393565b5060010190565b6000835161340c81846020880161294c565b83519083019061342081836020880161294c565b01949350505050565b8082018082111561045e5761045e613393565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60608152600061349960608301888a61343c565b82810360208401526134ac81878961343c565b905082810360408401526134c181858761343c565b9998505050505050505050565b6020810161045e8284612ba7565b8181038181111561045e5761045e613393565b808202811582820484141761045e5761045e613393565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60008261354457613544613506565b500690565b60008261355857613558613506565b500490565b6000825161356f81846020870161294c565b9190910192915050565b815167ffffffffffffffff81111561359357613593612f8d565b6135a7816135a184546130e9565b84613136565b602080601f8311600181146135fa57600084156135c45750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b17855561317c565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b8281101561364757888601518255948401946001909101908401613628565b508582101561368357878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250836040830152608060608301526136d26080830184612970565b9695505050505050565b6000602082840312156136ee57600080fd5b8151610b928161290156fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220c81849885aeba1dab4a372275032905fccbe70b72044d129a50a1defaf16f55b64736f6c63430008130033" - }, - { - "transactionType": "CREATE", - "address": "0xBE84B06E0bA6856393e90313Dcf433CE9b208a14", - "initCode": "608060405234801561001057600080fd5b506040516105ef3803806105ef83398101604081905261002f9161013a565b61003833610047565b61004181610097565b5061016a565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0381163b6101185760405162461bcd60e51b815260206004820152603360248201527f5570677261646561626c65426561636f6e3a20696d706c656d656e746174696f60448201527f6e206973206e6f74206120636f6e747261637400000000000000000000000000606482015260840160405180910390fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b60006020828403121561014c57600080fd5b81516001600160a01b038116811461016357600080fd5b9392505050565b610476806101796000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c8063715018a611610050578063715018a6146100c45780638da5cb5b146100cc578063f2fde38b146100ea57600080fd5b80633659cfe61461006c5780635c60da1b14610081575b600080fd5b61007f61007a366004610403565b6100fd565b005b60015473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61007f610152565b60005473ffffffffffffffffffffffffffffffffffffffff1661009b565b61007f6100f8366004610403565b610166565b610105610222565b61010e816102a3565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b61015a610222565b610164600061038e565b565b61016e610222565b73ffffffffffffffffffffffffffffffffffffffff8116610216576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61021f8161038e565b50565b60005473ffffffffffffffffffffffffffffffffffffffff163314610164576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161020d565b73ffffffffffffffffffffffffffffffffffffffff81163b610347576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603360248201527f5570677261646561626c65426561636f6e3a20696d706c656d656e746174696f60448201527f6e206973206e6f74206120636f6e747261637400000000000000000000000000606482015260840161020d565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006020828403121561041557600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461043957600080fd5b939250505056fea264697066735822122048ebef5dea79554c6de8af09830ddb871c241a46dee33849e34fac866c5894bd64736f6c63430008130033000000000000000000000000bdff7f77096927153ef4a595e440958db406775f" - } - ], - "isFixedGasLimit": false - }, - { - "hash": "0xd8889a4e8b01e3b50eb83d02adf8c3e4630e334c17b05af1806553fd0eefd2f6", - "transactionType": "CREATE", - "contractName": "AccessControlSingleton", - "contractAddress": "0xbd9eAF2bEe73148C6e21481ade29FD9c73c29B80", - "function": null, - "arguments": null, - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x22dd84", - "value": "0x0", - "data": "0x60a06040523060805234801561001457600080fd5b50608051611f1461004c600039600081816104d101528181610581015281816106d60152818161078601526108cb0152611f146000f3fe6080604052600436106100dd5760003560e01c806352d1902d1161007f578063a217fddf11610059578063a217fddf146102a8578063ac9650d8146102bd578063c4d66de8146102ea578063d547741f1461030a57600080fd5b806352d1902d146101ea57806354fd4d50146101ff57806391d148541461025557600080fd5b80632f2ff15d116100bb5780632f2ff15d1461017757806336568abe146101975780633659cfe6146101b75780634f1ef286146101d757600080fd5b806301ffc9a7146100e25780631e4e009114610117578063248a9ca314610139575b600080fd5b3480156100ee57600080fd5b506101026100fd36600461192e565b61032a565b60405190151581526020015b60405180910390f35b34801561012357600080fd5b50610137610132366004611970565b6103c3565b005b34801561014557600080fd5b50610169610154366004611992565b60009081526065602052604090206001015490565b60405190815260200161010e565b34801561018357600080fd5b506101376101923660046119d4565b6103dd565b3480156101a357600080fd5b506101376101b23660046119d4565b610402565b3480156101c357600080fd5b506101376101d2366004611a00565b6104ba565b6101376101e5366004611a4a565b6106bf565b3480156101f657600080fd5b506101696108b1565b34801561020b57600080fd5b506102486040518060400160405280600581526020017f302e312e3000000000000000000000000000000000000000000000000000000081525081565b60405161010e9190611b98565b34801561026157600080fd5b506101026102703660046119d4565b600091825260656020908152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b3480156102b457600080fd5b50610169600081565b3480156102c957600080fd5b506102dd6102d8366004611bab565b61099d565b60405161010e9190611c20565b3480156102f657600080fd5b50610137610305366004611a00565b610a92565b34801561031657600080fd5b506101376103253660046119d4565b610cb4565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806103bd57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60006103ce81610cd9565b6103d88383610ce3565b505050565b6000828152606560205260409020600101546103f881610cd9565b6103d88383610d2e565b73ffffffffffffffffffffffffffffffffffffffff811633146104ac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b6104b68282610e22565b5050565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016300361057f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016104a3565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166105f47f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610697576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016104a3565b6106a081610edd565b604080516000808252602082019092526106bc91839190610f07565b50565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610784576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016104a3565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166107f97f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff161461089c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016104a3565b6108a582610edd565b6104b682826001610f07565b60003073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610978576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016104a3565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b60608167ffffffffffffffff8111156109b8576109b8611a1b565b6040519080825280602002602001820160405280156109eb57816020015b60608152602001906001900390816109d65790505b50905060005b82811015610a8b57610a5b30858584818110610a0f57610a0f611ca0565b9050602002810190610a219190611ccf565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061110692505050565b828281518110610a6d57610a6d611ca0565b60200260200101819052508080610a8390611d6a565b9150506109f1565b5092915050565b600054610100900460ff1615808015610ab25750600054600160ff909116105b80610acc5750303b158015610acc575060005460ff166001145b610b58576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016104a3565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610bb657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b73ffffffffffffffffffffffffffffffffffffffff8216610c33576040517feac0d38900000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f5f61646d696e000000000000000000000000000000000000000000000000000060448201526064016104a3565b610c3b611132565b610c43611132565b610c4e600083610d2e565b80156104b657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b600082815260656020526040902060010154610ccf81610cd9565b6103d88383610e22565b6106bc81336111cb565b600082815260656020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff166104b657600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff85168452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055610dc43390565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16156104b657600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e36104b681610cd9565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610f3a576103d883611285565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610fbf575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252610fbc91810190611da2565b60015b61104b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016104a3565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81146110fa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016104a3565b506103d883838361138f565b606061112b8383604051806060016040528060278152602001611eb8602791396113ba565b9392505050565b600054610100900460ff166111c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016104a3565b565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff166104b65761120b8161143f565b61121683602061145e565b604051602001611227929190611dbb565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a00000000000000000000000000000000000000000000000000000000082526104a391600401611b98565b73ffffffffffffffffffffffffffffffffffffffff81163b611329576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016104a3565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b611398836116a1565b6000825111806113a55750805b156103d8576113b483836116ee565b50505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516113e49190611e3c565b600060405180830381855af49150503d806000811461141f576040519150601f19603f3d011682016040523d82523d6000602084013e611424565b606091505b50915091506114358683838761182d565b9695505050505050565b60606103bd73ffffffffffffffffffffffffffffffffffffffff831660145b6060600061146d836002611e58565b611478906002611e6f565b67ffffffffffffffff81111561149057611490611a1b565b6040519080825280601f01601f1916602001820160405280156114ba576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106114f1576114f1611ca0565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061155457611554611ca0565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000611590846002611e58565b61159b906001611e6f565b90505b6001811115611638577f303132333435363738396162636465660000000000000000000000000000000085600f16601081106115dc576115dc611ca0565b1a60f81b8282815181106115f2576115f2611ca0565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c9361163181611e82565b905061159e565b50831561112b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016104a3565b6116aa81611285565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606073ffffffffffffffffffffffffffffffffffffffff83163b611794576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e7472616374000000000000000000000000000000000000000000000000000060648201526084016104a3565b6000808473ffffffffffffffffffffffffffffffffffffffff16846040516117bc9190611e3c565b600060405180830381855af49150503d80600081146117f7576040519150601f19603f3d011682016040523d82523d6000602084013e6117fc565b606091505b50915091506118248282604051806060016040528060278152602001611eb8602791396118d5565b95945050505050565b606083156118c35782516000036118bc5773ffffffffffffffffffffffffffffffffffffffff85163b6118bc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016104a3565b50816118cd565b6118cd83836118ea565b949350505050565b606083156118e457508161112b565b61112b83835b8151156118fa5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104a39190611b98565b60006020828403121561194057600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461112b57600080fd5b6000806040838503121561198357600080fd5b50508035926020909101359150565b6000602082840312156119a457600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff811681146119cf57600080fd5b919050565b600080604083850312156119e757600080fd5b823591506119f7602084016119ab565b90509250929050565b600060208284031215611a1257600080fd5b61112b826119ab565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060408385031215611a5d57600080fd5b611a66836119ab565b9150602083013567ffffffffffffffff80821115611a8357600080fd5b818501915085601f830112611a9757600080fd5b813581811115611aa957611aa9611a1b565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715611aef57611aef611a1b565b81604052828152886020848701011115611b0857600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b83811015611b45578181015183820152602001611b2d565b50506000910152565b60008151808452611b66816020860160208601611b2a565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061112b6020830184611b4e565b60008060208385031215611bbe57600080fd5b823567ffffffffffffffff80821115611bd657600080fd5b818501915085601f830112611bea57600080fd5b813581811115611bf957600080fd5b8660208260051b8501011115611c0e57600080fd5b60209290920196919550909350505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015611c93577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452611c81858351611b4e565b94509285019290850190600101611c47565b5092979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611d0457600080fd5b83018035915067ffffffffffffffff821115611d1f57600080fd5b602001915036819003821315611d3457600080fd5b9250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611d9b57611d9b611d3b565b5060010190565b600060208284031215611db457600080fd5b5051919050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351611df3816017850160208801611b2a565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351611e30816028840160208801611b2a565b01602801949350505050565b60008251611e4e818460208701611b2a565b9190910192915050565b80820281158282048414176103bd576103bd611d3b565b808201808211156103bd576103bd611d3b565b600081611e9157611e91611d3b565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220406f8c698e76523661d95c28b32136b7d6e78e31e7f52269d0ae4c2234565e2b64736f6c63430008130033", - "nonce": "0x13", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xca29f6d202329476417894f426f873ac83d841df234b845864e4c745a6fd2038", - "transactionType": "CREATE", - "contractName": "FranchiseRegistry", - "contractAddress": "0xA78068f87f2102ccE894edB704518f27a1283390", - "function": null, - "arguments": [ - "0xa8164aF085F0D62A1d27a5A92f0E2336C35fE73d" - ], - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x3ae12e", - "value": "0x0", - "data": "0x60c0604052306080523480156200001557600080fd5b506040516200365a3803806200365a83398101604081905262000038916200015a565b620000426200009b565b6001600160a01b038116620000895760405163eac0d38960e01b8152602060048201526007602482015266666163746f727960c81b60448201526064015b60405180910390fd5b6001600160a01b031660a0526200018c565b600054610100900460ff1615620001055760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840162000080565b60005460ff908116101562000158576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6000602082840312156200016d57600080fd5b81516001600160a01b03811681146200018557600080fd5b9392505050565b60805160a051613485620001d5600039600081816102ef01526110f6015260008181610ab801528181610b4e01528181610ca401528181610d3a0152610e6901526134856000f3fe6080604052600436106101965760003560e01c806354fd4d50116100e1578063b88d4fde1161008a578063c87b56dd11610064578063c87b56dd146104e1578063e885891114610501578063e985e9c514610545578063ef647e101461059c57600080fd5b8063b88d4fde14610457578063bac806d314610477578063c4d66de8146104c157600080fd5b806395d89b41116100bb57806395d89b411461040d5780639b0c6be414610422578063a22cb4651461043757600080fd5b806354fd4d50146103875780636352211e146103cd57806370a08231146103ed57600080fd5b806323b872dd1161014357806342842e0e1161011d57806342842e0e146103315780634f1ef2861461035157806352d1902d1461036457600080fd5b806323b872dd146102bd5780632dd31000146102dd5780633659cfe61461031157600080fd5b8063095ea7b311610174578063095ea7b31461023757806319129e5a1461025957806322220f951461027957600080fd5b806301ffc9a71461019b57806306fdde03146101d0578063081812fc146101f2575b600080fd5b3480156101a757600080fd5b506101bb6101b6366004612c20565b6105b1565b60405190151581526020015b60405180910390f35b3480156101dc57600080fd5b506101e5610696565b6040516101c79190612cab565b3480156101fe57600080fd5b5061021261020d366004612cbe565b610728565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101c7565b34801561024357600080fd5b50610257610252366004612cf9565b61075c565b005b34801561026557600080fd5b50610257610274366004612d25565b6108b9565b34801561028557600080fd5b50610212610294366004612cbe565b61012e6020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b3480156102c957600080fd5b506102576102d8366004612d42565b610a1a565b3480156102e957600080fd5b506102127f000000000000000000000000000000000000000000000000000000000000000081565b34801561031d57600080fd5b5061025761032c366004612d25565b610aa1565b34801561033d57600080fd5b5061025761034c366004612d42565b610c72565b61025761035f366004612e5d565b610c8d565b34801561037057600080fd5b50610379610e4f565b6040519081526020016101c7565b34801561039357600080fd5b5060408051808201909152600581527f302e312e3000000000000000000000000000000000000000000000000000000060208201526101e5565b3480156103d957600080fd5b506102126103e8366004612cbe565b610f21565b3480156103f957600080fd5b50610379610408366004612d25565b610f93565b34801561041957600080fd5b506101e5611047565b34801561042e57600080fd5b50610212600081565b34801561044357600080fd5b50610257610452366004612ebb565b611056565b34801561046357600080fd5b50610257610472366004612ef4565b611061565b34801561048357600080fd5b50610497610492366004612fa9565b6110ef565b6040805192835273ffffffffffffffffffffffffffffffffffffffff9091166020830152016101c7565b3480156104cd57600080fd5b506102576104dc366004612d25565b61127d565b3480156104ed57600080fd5b506101e56104fc366004612cbe565b611473565b34801561050d57600080fd5b5061021261051c366004612cbe565b600090815261012e602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b34801561055157600080fd5b506101bb610560366004613043565b73ffffffffffffffffffffffffffffffffffffffff91821660009081526101006020908152604080832093909416825291909152205460ff1690565b3480156105a857600080fd5b50610379600081565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061064457507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b8061069057507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b606060fb80546106a590613071565b80601f01602080910402602001604051908101604052809291908181526020018280546106d190613071565b801561071e5780601f106106f35761010080835404028352916020019161071e565b820191906000526020600020905b81548152906001019060200180831161070157829003601f168201915b5050505050905090565b6000610733826114e7565b50600090815260ff602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b600061076782610f21565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361080f5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff8216148061083857506108388133610560565b6108aa5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610806565b6108b48383611558565b505050565b60006108c581336115f8565b610904576040517f75000dc000000000000000000000000000000000000000000000000000000000815260048101829052336024820152604401610806565b61094473ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000611694565b6109aa576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c0000000000000000000000000000000000006044820152606401610806565b606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a25050565b610a2433826116b0565b610a965760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610806565b6108b4838383611771565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610b4c5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610806565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610bc17f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610c4a5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610806565b610c5381611a1e565b60408051600080825260208201909252610c6f91839190611a88565b50565b6108b483838360405180602001604052806000815250611061565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610d385760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610806565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610dad7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610e365760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610806565b610e3f82611a1e565b610e4b82826001611a88565b5050565b60003073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610efc5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610806565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b600081815260fd602052604081205473ffffffffffffffffffffffffffffffffffffffff16806106905760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610806565b600073ffffffffffffffffffffffffffffffffffffffff821661101e5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e657200000000000000000000000000000000000000000000006064820152608401610806565b5073ffffffffffffffffffffffffffffffffffffffff16600090815260fe602052604090205490565b606060fc80546106a590613071565b610e4b338383611c53565b61106b33836116b0565b6110dd5760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610806565b6110e984848484611d67565b50505050565b60008060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166305d4dd8761012d60008154611140906130c4565b9190508190558b8b8b8b8b8b6040518863ffffffff1660e01b815260040161116e979695949392919061316c565b6020604051808303816000875af115801561118d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111b191906131bc565b61012d8054600090815261012e6020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841617905554909150611212903390611df0565b61012d5460408051338152602081019290925273ffffffffffffffffffffffffffffffffffffffff831682820152517f0ee7716498f35cc0a42b8edb136bf88dbc529acf11a42fb9e4ec60b29638aff39181900360600190a161012d54999098509650505050505050565b600054610100900460ff161580801561129d5750600054600160ff909116105b806112b75750303b1580156112b7575060005460ff166001145b6113295760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610806565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561138757600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61138f611e0a565b61139882611e89565b61140c6040518060400160405280600e81526020017f53746f72792050726f746f636f6c0000000000000000000000000000000000008152506040518060400160405280600281526020017f5350000000000000000000000000000000000000000000000000000000000000815250612104565b8015610e4b57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15050565b606061147e826114e7565b600061149560408051602081019091526000815290565b905060008151116114b557604051806020016040528060008152506114e0565b806114bf8461218b565b6040516020016114d09291906131d9565b6040516020818303038152906040525b9392505050565b600081815260fd602052604090205473ffffffffffffffffffffffffffffffffffffffff16610c6f5760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610806565b600081815260ff6020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811790915581906115b282610f21565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6065546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810184905273ffffffffffffffffffffffffffffffffffffffff838116602483015260009216906391d1485490604401602060405180830381865afa158015611670573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114e09190613208565b600061169f83612249565b80156114e057506114e083836122ad565b6000806116bc83610f21565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061172b575073ffffffffffffffffffffffffffffffffffffffff8082166000908152610100602090815260408083209388168352929052205460ff165b8061176957508373ffffffffffffffffffffffffffffffffffffffff1661175184610728565b73ffffffffffffffffffffffffffffffffffffffff16145b949350505050565b8273ffffffffffffffffffffffffffffffffffffffff1661179182610f21565b73ffffffffffffffffffffffffffffffffffffffff161461181a5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610806565b73ffffffffffffffffffffffffffffffffffffffff82166118a25760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610806565b8273ffffffffffffffffffffffffffffffffffffffff166118c282610f21565b73ffffffffffffffffffffffffffffffffffffffff161461194b5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610806565b600081815260ff6020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff87811680865260fe855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190559087168086528386208054600101905586865260fd90945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3611a4981336115f8565b610e4b576040517f75000dc000000000000000000000000000000000000000000000000000000000815260048101829052336024820152604401610806565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611abb576108b48361237c565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611b40575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252611b3d91810190613225565b60015b611bb25760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608401610806565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114611c475760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152608401610806565b506108b483838361246c565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611cce5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610806565b73ffffffffffffffffffffffffffffffffffffffff8381166000818152610100602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b611d72848484611771565b611d7e84848484612491565b6110e95760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610806565b610e4b82826040518060200160405280600081525061266a565b600054610100900460ff16611e875760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610806565b565b600054610100900460ff1615808015611ea95750600054600160ff909116105b80611ec35750303b158015611ec3575060005460ff166001145b611f355760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610806565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015611f9357600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b611fd373ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000611694565b612039576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c0000000000000000000000000000000000006044820152606401610806565b606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a28015610e4b57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602001611467565b600054610100900460ff166121815760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610806565b610e4b82826126f3565b6060600061219883612789565b600101905060008167ffffffffffffffff8111156121b8576121b8612d83565b6040519080825280601f01601f1916602001820160405280156121e2576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85049450846121ec57509392505050565b6000612275827f01ffc9a7000000000000000000000000000000000000000000000000000000006122ad565b801561069057506122a6827fffffffff000000000000000000000000000000000000000000000000000000006122ad565b1592915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015612365575060208210155b80156123715750600081115b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff81163b6124065760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401610806565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6124758361286b565b6000825111806124825750805b156108b4576110e983836128b8565b600073ffffffffffffffffffffffffffffffffffffffff84163b1561265f576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a029061250890339089908890889060040161323e565b6020604051808303816000875af1925050508015612561575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261255e91810190613287565b60015b612614573d80801561258f576040519150601f19603f3d011682016040523d82523d6000602084013e612594565b606091505b50805160000361260c5760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610806565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050611769565b506001949350505050565b61267483836129dd565b6126816000848484612491565b6108b45760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610806565b600054610100900460ff166127705760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610806565b60fb61277c83826132f2565b5060fc6108b482826132f2565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083106127d2577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef810000000083106127fe576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061281c57662386f26fc10000830492506010015b6305f5e1008310612834576305f5e100830492506008015b612710831061284857612710830492506004015b6064831061285a576064830492506002015b600a83106106905760010192915050565b6128748161237c565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606073ffffffffffffffffffffffffffffffffffffffff83163b6129445760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e747261637400000000000000000000000000000000000000000000000000006064820152608401610806565b6000808473ffffffffffffffffffffffffffffffffffffffff168460405161296c919061340c565b600060405180830381855af49150503d80600081146129a7576040519150601f19603f3d011682016040523d82523d6000602084013e6129ac565b606091505b50915091506129d4828260405180606001604052806027815260200161342960279139612bb4565b95945050505050565b73ffffffffffffffffffffffffffffffffffffffff8216612a405760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610806565b600081815260fd602052604090205473ffffffffffffffffffffffffffffffffffffffff1615612ab25760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610806565b600081815260fd602052604090205473ffffffffffffffffffffffffffffffffffffffff1615612b245760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610806565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260fe602090815260408083208054600101905584835260fd90915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60608315612bc35750816114e0565b6114e08383815115612bd85781518083602001fd5b8060405162461bcd60e51b81526004016108069190612cab565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610c6f57600080fd5b600060208284031215612c3257600080fd5b81356114e081612bf2565b60005b83811015612c58578181015183820152602001612c40565b50506000910152565b60008151808452612c79816020860160208601612c3d565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006114e06020830184612c61565b600060208284031215612cd057600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610c6f57600080fd5b60008060408385031215612d0c57600080fd5b8235612d1781612cd7565b946020939093013593505050565b600060208284031215612d3757600080fd5b81356114e081612cd7565b600080600060608486031215612d5757600080fd5b8335612d6281612cd7565b92506020840135612d7281612cd7565b929592945050506040919091013590565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112612dc357600080fd5b813567ffffffffffffffff80821115612dde57612dde612d83565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715612e2457612e24612d83565b81604052838152866020858801011115612e3d57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060408385031215612e7057600080fd5b8235612e7b81612cd7565b9150602083013567ffffffffffffffff811115612e9757600080fd5b612ea385828601612db2565b9150509250929050565b8015158114610c6f57600080fd5b60008060408385031215612ece57600080fd5b8235612ed981612cd7565b91506020830135612ee981612ead565b809150509250929050565b60008060008060808587031215612f0a57600080fd5b8435612f1581612cd7565b93506020850135612f2581612cd7565b925060408501359150606085013567ffffffffffffffff811115612f4857600080fd5b612f5487828801612db2565b91505092959194509250565b60008083601f840112612f7257600080fd5b50813567ffffffffffffffff811115612f8a57600080fd5b602083019150836020828501011115612fa257600080fd5b9250929050565b60008060008060008060608789031215612fc257600080fd5b863567ffffffffffffffff80821115612fda57600080fd5b612fe68a838b01612f60565b90985096506020890135915080821115612fff57600080fd5b61300b8a838b01612f60565b9096509450604089013591508082111561302457600080fd5b5061303189828a01612f60565b979a9699509497509295939492505050565b6000806040838503121561305657600080fd5b823561306181612cd7565b91506020830135612ee981612cd7565b600181811c9082168061308557607f821691505b6020821081036130be577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361311c577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b87815260806020820152600061318660808301888a613123565b8281036040840152613199818789613123565b905082810360608401526131ae818587613123565b9a9950505050505050505050565b6000602082840312156131ce57600080fd5b81516114e081612cd7565b600083516131eb818460208801612c3d565b8351908301906131ff818360208801612c3d565b01949350505050565b60006020828403121561321a57600080fd5b81516114e081612ead565b60006020828403121561323757600080fd5b5051919050565b600073ffffffffffffffffffffffffffffffffffffffff80871683528086166020840152508360408301526080606083015261327d6080830184612c61565b9695505050505050565b60006020828403121561329957600080fd5b81516114e081612bf2565b601f8211156108b457600081815260208120601f850160051c810160208610156132cb5750805b601f850160051c820191505b818110156132ea578281556001016132d7565b505050505050565b815167ffffffffffffffff81111561330c5761330c612d83565b6133208161331a8454613071565b846132a4565b602080601f831160018114613373576000841561333d5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b1785556132ea565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156133c0578886015182559484019460019091019084016133a1565b50858210156133fc57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b6000825161341e818460208701612c3d565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212206c8b7adf12ab73973ab88003003cede73261eed0d381b3b91d021f1e754e633164736f6c63430008130033000000000000000000000000a8164af085f0d62a1d27a5a92f0e2336c35fe73d", - "nonce": "0x14", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xb99f2e54d8c4e4c08b6264a526e68b71d079424aae46fbad2fa24428578a14fc", - "transactionType": "CREATE", - "contractName": null, - "contractAddress": "0xcDc37d81dAd12A9885Ea979d660588DA4752fa6B", - "function": null, - "arguments": null, - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x4bbe3", - "value": "0x0", - "data": "0x60806040526040516104ee3803806104ee833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c760279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60be806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea2646970667358221220a678556ae280ddf13e459fe9ecd177633ae9dbc544c45d5b523d43ba9084c8dc64736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564000000000000000000000000a78068f87f2102cce894edb704518f27a128339000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de8000000000000000000000000bd9eaf2bee73148c6e21481ade29fd9c73c29b8000000000000000000000000000000000000000000000000000000000", - "nonce": "0x15", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [], - "libraries": [], - "pending": [ - "0x0c5f8b856b03ddbadf2fa18eb738a9a44b0726b3b1f8745a43d0ec67d8b450db", - "0xd8889a4e8b01e3b50eb83d02adf8c3e4630e334c17b05af1806553fd0eefd2f6", - "0xca29f6d202329476417894f426f873ac83d841df234b845864e4c745a6fd2038", - "0xb99f2e54d8c4e4c08b6264a526e68b71d079424aae46fbad2fa24428578a14fc" - ], - "path": "/Users/drmanhattan/Workspace/StoryProtocol/protocol-contracts/broadcast/Deploy.s.sol/5/run-latest.json", - "returns": {}, - "timestamp": 1687983334, - "chain": 5, - "multi": false, - "commit": "202d6b7" -} \ No newline at end of file diff --git a/broadcast/Deploy.s.sol/5/run-1687983378.json b/broadcast/Deploy.s.sol/5/run-1687983378.json deleted file mode 100644 index a20dc236..00000000 --- a/broadcast/Deploy.s.sol/5/run-1687983378.json +++ /dev/null @@ -1,271 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x0c5f8b856b03ddbadf2fa18eb738a9a44b0726b3b1f8745a43d0ec67d8b450db", - "transactionType": "CREATE", - "contractName": "IPAssetsRegistryFactory", - "contractAddress": "0xa8164aF085F0D62A1d27a5A92f0E2336C35fE73d", - "function": null, - "arguments": null, - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x5a7284", - "value": "0x0", - "data": "0x60a060405234801561001057600080fd5b5061001a3361008d565b604051610026906100dd565b604051809103906000f080158015610042573d6000803e3d6000fd5b5060405161004f906100ea565b6001600160a01b039091168152602001604051809103906000f08015801561007b573d6000803e3d6000fd5b506001600160a01b03166080526100f7565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b61384a8061143d83390190565b6105ef80614c8783390190565b60805161131e61011f6000396000818160df015281816101e70152610399015261131e6000f3fe60806040523480156200001157600080fd5b50600436106200007b5760003560e01c8063715018a61162000056578063715018a614620001015780638da5cb5b146200010b578063f2fde38b146200012a57600080fd5b806305d4dd8714620000805780633991fc9d14620000c057806349493a4d14620000d9575b600080fd5b620000976200009136600462000867565b62000141565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b620000d7620000d136600462000915565b620002bb565b005b620000977f000000000000000000000000000000000000000000000000000000000000000081565b620000d7620004dd565b60005473ffffffffffffffffffffffffffffffffffffffff1662000097565b620000d76200013b36600462000915565b620004f5565b600080604051806060016040528060288152602001620012c160289139805190602001208989898989898960405160240162000184979695949392919062000996565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050905060007f00000000000000000000000000000000000000000000000000000000000000008260405162000215906200080d565b6200022292919062000a5e565b604051809103906000f0801580156200023f573d6000803e3d6000fd5b50905086866040516200025492919062000a97565b60405180910390208173ffffffffffffffffffffffffffffffffffffffff167f423bf0ea6b57d35b37f0caad547ba5e1d340585657e9fec91dcac4375fcd45a98b8b604051620002a692919062000aa7565b60405180910390a39998505050505050505050565b620002c5620005b2565b620002e873ffffffffffffffffffffffffffffffffffffffff8216600062000635565b62000354576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4953746f7279426c6f636b73526567697374727900000000000000000000000060448201526064015b60405180910390fd5b6040517f3659cfe600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82811660048301527f00000000000000000000000000000000000000000000000000000000000000001690633659cfe690602401600060405180830381600087803b158015620003de57600080fd5b505af1158015620003f3573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff167fa8f2f87a44131841a6848a0e54ac181d9f27ca8565b9252b1f49af60507d76928273ffffffffffffffffffffffffffffffffffffffff166354fd4d506040518163ffffffff1660e01b8152600401600060405180830381865afa1580156200047b573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052620004c3919081019062000aec565b604051620004d2919062000bb8565b60405180910390a250565b620004e7620005b2565b620004f360006200065d565b565b620004ff620005b2565b73ffffffffffffffffffffffffffffffffffffffff8116620005a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016200034b565b620005af816200065d565b50565b60005473ffffffffffffffffffffffffffffffffffffffff163314620004f3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016200034b565b60006200064283620006d2565b80156200065657506200065683836200073c565b9392505050565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600062000700827f01ffc9a7000000000000000000000000000000000000000000000000000000006200073c565b801562000736575062000734827fffffffff000000000000000000000000000000000000000000000000000000006200073c565b155b92915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015620007f5575060208210155b8015620008025750600081115b979650505050505050565b6106f38062000bce83390190565b60008083601f8401126200082e57600080fd5b50813567ffffffffffffffff8111156200084757600080fd5b6020830191508360208285010111156200086057600080fd5b9250929050565b60008060008060008060006080888a0312156200088357600080fd5b87359650602088013567ffffffffffffffff80821115620008a357600080fd5b620008b18b838c016200081b565b909850965060408a0135915080821115620008cb57600080fd5b620008d98b838c016200081b565b909650945060608a0135915080821115620008f357600080fd5b50620009028a828b016200081b565b989b979a50959850939692959293505050565b6000602082840312156200092857600080fd5b813573ffffffffffffffffffffffffffffffffffffffff811681146200065657600080fd5b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b878152608060208201526000620009b260808301888a6200094d565b8281036040840152620009c78187896200094d565b90508281036060840152620009de8185876200094d565b9a9950505050505050505050565b60005b8381101562000a09578181015183820152602001620009ef565b50506000910152565b6000815180845262000a2c816020860160208601620009ec565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b73ffffffffffffffffffffffffffffffffffffffff8316815260406020820152600062000a8f604083018462000a12565b949350505050565b8183823760009101908152919050565b60208152600062000a8f6020830184866200094d565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60006020828403121562000aff57600080fd5b815167ffffffffffffffff8082111562000b1857600080fd5b818401915084601f83011262000b2d57600080fd5b81518181111562000b425762000b4262000abd565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171562000b8b5762000b8b62000abd565b8160405282815287602084870101111562000ba557600080fd5b62000802836020830160208801620009ec565b60208152600062000656602083018462000a1256fe60806040526040516106f33803806106f383398101604081905261002291610420565b61002e82826000610035565b505061054a565b61003e836100f6565b6040516001600160a01b038416907f1cf3b03a6cf19fa2baba4df148e9dcabedea7f8a5c07840e207e5c089be95d3e90600090a260008251118061007f5750805b156100f1576100ef836001600160a01b0316635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156100c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100e991906104e0565b8361027a565b505b505050565b6001600160a01b0381163b6101605760405162461bcd60e51b815260206004820152602560248201527f455243313936373a206e657720626561636f6e206973206e6f74206120636f6e6044820152641d1c9858dd60da1b60648201526084015b60405180910390fd5b6101d4816001600160a01b0316635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101c591906104e0565b6001600160a01b03163b151590565b6102395760405162461bcd60e51b815260206004820152603060248201527f455243313936373a20626561636f6e20696d706c656d656e746174696f6e206960448201526f1cc81b9bdd08184818dbdb9d1c9858dd60821b6064820152608401610157565b7fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d5080546001600160a01b0319166001600160a01b0392909216919091179055565b606061029f83836040518060600160405280602781526020016106cc602791396102a6565b9392505050565b6060600080856001600160a01b0316856040516102c391906104fb565b600060405180830381855af49150503d80600081146102fe576040519150601f19603f3d011682016040523d82523d6000602084013e610303565b606091505b5090925090506103158683838761031f565b9695505050505050565b6060831561038e578251600003610387576001600160a01b0385163b6103875760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610157565b5081610398565b61039883836103a0565b949350505050565b8151156103b05781518083602001fd5b8060405162461bcd60e51b81526004016101579190610517565b80516001600160a01b03811681146103e157600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b838110156104175781810151838201526020016103ff565b50506000910152565b6000806040838503121561043357600080fd5b61043c836103ca565b60208401519092506001600160401b038082111561045957600080fd5b818501915085601f83011261046d57600080fd5b81518181111561047f5761047f6103e6565b604051601f8201601f19908116603f011681019083821181831017156104a7576104a76103e6565b816040528281528860208487010111156104c057600080fd5b6104d18360208301602088016103fc565b80955050505050509250929050565b6000602082840312156104f257600080fd5b61029f826103ca565b6000825161050d8184602087016103fc565b9190910192915050565b60208152600082518060208401526105368160408501602087016103fc565b601f01601f19169190910160400192915050565b610173806105596000396000f3fe60806040523661001357610011610017565b005b6100115b610027610022610029565b6100dc565b565b60006100697fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d505473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff16635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156100b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100d79190610100565b905090565b3660008037600080366000845af43d6000803e8080156100fb573d6000f35b3d6000fd5b60006020828403121561011257600080fd5b815173ffffffffffffffffffffffffffffffffffffffff8116811461013657600080fd5b939250505056fea26469706673582212206e19af89d0e39d5d76f1b5b6bd963ba5f8c6c6fc546e614a5bb49e1174b5e59d64736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564696e697469616c697a652875696e743235362c737472696e672c737472696e672c737472696e6729a2646970667358221220652ea3147919f36ee9441e4e61527e27c8e56a00aec872fd53e27d989b68675764736f6c6343000813003360806040523480156200001157600080fd5b506200001c62000022565b620000e4565b600054610100900460ff16156200008f5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff9081161015620000e2576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b61375680620000f46000396000f3fe608060405234801561001057600080fd5b50600436106101a35760003560e01c806369cf2c37116100ee578063a22cb46511610097578063b88d4fde11610071578063b88d4fde146103b1578063b9d0787c146103c4578063c87b56dd146103cd578063e985e9c5146103e057600080fd5b8063a22cb4651461036b578063a8185a2e1461037e578063ac9650d81461039157600080fd5b80639484c103116100c85780639484c1031461033057806395d89b41146103505780639dc6693c1461035857600080fd5b806369cf2c371461030257806370a08231146103155780637284e4161461032857600080fd5b806323b872dd1161015057806346193ccd1161012a57806346193ccd146102a357806354fd4d50146102b65780636352211e146102ef57600080fd5b806323b872dd1461025b5780633c7fc59d1461026e57806342842e0e1461029057600080fd5b8063095ea7b311610181578063095ea7b31461021d5780630f7966c0146102325780632336a84a1461024857600080fd5b806301ffc9a7146101a857806306fdde03146101d0578063081812fc146101e5575b600080fd5b6101bb6101b636600461292f565b610429565b60405190151581526020015b60405180910390f35b6101d8610464565b6040516101c791906129ba565b6101f86101f33660046129cd565b6104f6565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101c7565b61023061022b366004612a0f565b61052a565b005b61023a601481565b6040519081526020016101c7565b61023a610256366004612a91565b6106bb565b610230610269366004612b3c565b610731565b61028161027c3660046129cd565b6107d2565b6040516101c793929190612c3f565b61023061029e366004612b3c565b610816565b6102306102b1366004612ca1565b610831565b60408051808201909152600581527f302e312e3000000000000000000000000000000000000000000000000000000060208201526101d8565b6101f86102fd3660046129cd565b610aba565b61023a610310366004612cdb565b610b46565b61023a610323366004612cf6565b610b9f565b6101d8610c6d565b61034361033e3660046129cd565b610cfb565b6040516101c79190612d11565b6101d8610f09565b610230610366366004612d69565b610f18565b610230610379366004612db5565b61106d565b61023a61038c366004612df1565b61107c565b6103a461039f366004612ecb565b6110f8565b6040516101c79190612f0d565b6102306103bf366004612fbc565b6111ed565b61023a60cd5481565b6101d86103db3660046129cd565b611295565b6101bb6103ee3660046130b6565b73ffffffffffffffffffffffffffffffffffffffff9182166000908152606a6020908152604080832093909416825291909152205460ff1690565b60007fffffffff000000000000000000000000000000000000000000000000000000008216158061045e575061045e82611308565b92915050565b606060658054610473906130e9565b80601f016020809104026020016040519081016040528092919081815260200182805461049f906130e9565b80156104ec5780601f106104c1576101008083540402835291602001916104ec565b820191906000526020600020905b8154815290600101906020018083116104cf57829003601f168201915b5050505050905090565b6000610501826113eb565b5060009081526069602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b600061053582610aba565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036105f7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff82161480610620575061062081336103ee565b6106ac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c00000060648201526084016105ee565b6106b68383611479565b505050565b6000808860068111156106d0576106d0612b78565b03610707576040517ffa19fa0700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610713338a611519565b905061072481898989898989611612565b5098975050505050505050565b61073b3382611725565b6107c7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f7665640000000000000000000000000000000000000060648201526084016105ee565b6106b68383836117e5565b6107da6128c9565b600060606107e784610cfb565b600085815260ca60205260409020805491945060ff909116925061080d60018201611ae0565b93959294505050565b6106b6838383604051806020016040528060008152506111ed565b600054610100900460ff16158080156108515750600054600160ff909116105b8061086b5750303b15801561086b575060005460ff166001145b6108f7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016105ee565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561095557600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6109c887878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8b018190048102820181019092528981529250899150889081908401838280828437600092019190915250611aed92505050565b6109d0611b8e565b87600003610a3a576040517feac0d38900000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f6672616e6368697365496400000000000000000000000000000000000000000060448201526064016105ee565b60cd88905560cc610a4c838583613184565b508015610ab057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050505050565b60008181526067602052604081205473ffffffffffffffffffffffffffffffffffffffff168061045e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e204944000000000000000060448201526064016105ee565b60008060cb6000846006811115610b5f57610b5f612b78565b6006811115610b7057610b70612b78565b81526020019081526020016000205490508060000361045e57610b9283611c27565b9392505050565b50919050565b600073ffffffffffffffffffffffffffffffffffffffff8216610c44576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e6572000000000000000000000000000000000000000000000060648201526084016105ee565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526068602052604090205490565b60cc8054610c7a906130e9565b80601f0160208091040260200160405190810160405280929190818152602001828054610ca6906130e9565b8015610cf35780601f10610cc857610100808354040283529160200191610cf3565b820191906000526020600020905b815481529060010190602001808311610cd657829003601f168201915b505050505081565b610d036128c9565b600082815260c9602052604090819020815160808101909252805482908290610d2b906130e9565b80601f0160208091040260200160405190810160405280929190818152602001828054610d57906130e9565b8015610da45780601f10610d7957610100808354040283529160200191610da4565b820191906000526020600020905b815481529060010190602001808311610d8757829003601f168201915b50505050508152602001600182018054610dbd906130e9565b80601f0160208091040260200160405190810160405280929190818152602001828054610de9906130e9565b8015610e365780601f10610e0b57610100808354040283529160200191610e36565b820191906000526020600020905b815481529060010190602001808311610e1957829003601f168201915b50505050508152602001600282018054610e4f906130e9565b80601f0160208091040260200160405190810160405280929190818152602001828054610e7b906130e9565b8015610ec85780601f10610e9d57610100808354040283529160200191610ec8565b820191906000526020600020905b815481529060010190602001808311610eab57829003601f168201915b5050509183525050600382015460209091019060ff166006811115610eef57610eef612b78565b6006811115610f0057610f00612b78565b90525092915050565b606060668054610473906130e9565b806014811115610f54576040517f77d10abd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084815260ca602052604081205460ff16905b8381101561102957816006811115610f8257610f82612b78565b610fa3868684818110610f9757610f9761329f565b90506020020135611ca2565b6006811115610fb457610fb4612b78565b14610feb576040517f50c3390e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6110208585838181106110005761100061329f565b60008a815260ca6020908152604090912060010193910201359050611d05565b50600101610f68565b50847f823d677ed42b321275c6b3aa7040f32e41d12aea91120455a19a60ae310b0af382868660405161105e939291906132ce565b60405180910390a25050505050565b611078338383611d11565b5050565b60008061108f60048c8c8c8c8c8c6106bb565b600081815260ca60205260409020805491925086917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660018360068111156110da576110da612b78565b02179055506110ea818585610f18565b9a9950505050505050505050565b60608167ffffffffffffffff81111561111357611113612f8d565b60405190808252806020026020018201604052801561114657816020015b60608152602001906001900390816111315790505b50905060005b828110156111e6576111b63085858481811061116a5761116a61329f565b905060200281019061117c919061332e565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611e3e92505050565b8282815181106111c8576111c861329f565b602002602001018190525080806111de906133c2565b91505061114c565b5092915050565b6111f73383611725565b611283576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f7665640000000000000000000000000000000000000060648201526084016105ee565b61128f84848484611f7d565b50505050565b60606112a0826113eb565b60006112b760408051602081019091526000815290565b905060008151116112d75760405180602001604052806000815250610b92565b806112e184612020565b6040516020016112f29291906133fa565b6040516020818303038152906040529392505050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061139b57507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b8061045e57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161461045e565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff16611476576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e204944000000000000000060448201526064016105ee565b50565b600081815260696020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811790915581906114d382610aba565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008061152583610b46565b611530906001613429565b905061153b836120df565b811115611574576040517fd5fdab4f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060cb600085600681111561158b5761158b612b78565b600681111561159c5761159c612b78565b81526020810191909152604001600020556115b7848261215a565b808360068111156115ca576115ca612b78565b60405173ffffffffffffffffffffffffffffffffffffffff8716907f46c5798f976ec5e5dec617e7f27479bc578f63e6bcf4f693ade547151a3219cd90600090a49392505050565b600087815260c96020526040812081600382015460ff16600681111561163a5761163a612b78565b0361168a5761164889611ca2565b6003820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600183600681111561168457611684612b78565b02179055505b80611696888a83613184565b50600181016116a6868883613184565b50600281016116b6848683613184565b50600381015460ff1660068111156116d0576116d0612b78565b897f621ca783668a03c147f29e5ae01f40cc55df212956bde68afb53b1d6119a2ea78a8a8a8a8a8a60405161170a96959493929190613485565b60405180910390a36003015460ff1698975050505050505050565b60008061173183610aba565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061179f575073ffffffffffffffffffffffffffffffffffffffff8082166000908152606a602090815260408083209388168352929052205460ff165b806117dd57508373ffffffffffffffffffffffffffffffffffffffff166117c5846104f6565b73ffffffffffffffffffffffffffffffffffffffff16145b949350505050565b8273ffffffffffffffffffffffffffffffffffffffff1661180582610aba565b73ffffffffffffffffffffffffffffffffffffffff16146118a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e657200000000000000000000000000000000000000000000000000000060648201526084016105ee565b73ffffffffffffffffffffffffffffffffffffffff821661194a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016105ee565b8273ffffffffffffffffffffffffffffffffffffffff1661196a82610aba565b73ffffffffffffffffffffffffffffffffffffffff1614611a0d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e657200000000000000000000000000000000000000000000000000000060648201526084016105ee565b600081815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff8781168086526068855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905590871680865283862080546001019055868652606790945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b60606000610b9283612174565b600054610100900460ff16611b84576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016105ee565b61107882826121d0565b600054610100900460ff16611c25576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016105ee565b565b600080826006811115611c3c57611c3c612b78565b03611c7557816040517fd408b2c00000000000000000000000000000000000000000000000000000000081526004016105ee91906134ce565b6001826006811115611c8957611c89612b78565b611c9391906134dc565b61045e9064e8d4a510006134ef565b6000611cb364e8d4a5100083613535565b1580611ccd5750611cca600664e8d4a510006134ef565b82115b15611cda57506000919050565b611ce964e8d4a5100083613549565b611cf4906001613429565b600681111561045e5761045e612b78565b6000610b928383612280565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611da6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016105ee565b73ffffffffffffffffffffffffffffffffffffffff8381166000818152606a602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b606073ffffffffffffffffffffffffffffffffffffffff83163b611ee4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e7472616374000000000000000000000000000000000000000000000000000060648201526084016105ee565b6000808473ffffffffffffffffffffffffffffffffffffffff1684604051611f0c919061355d565b600060405180830381855af49150503d8060008114611f47576040519150601f19603f3d011682016040523d82523d6000602084013e611f4c565b606091505b5091509150611f7482826040518060600160405280602781526020016136fa602791396122cf565b95945050505050565b611f888484846117e5565b611f94848484846122e8565b61128f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016105ee565b6060600061202d836124db565b600101905060008167ffffffffffffffff81111561204d5761204d612f8d565b6040519080825280601f01601f191660200182016040528015612077576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8504945084612081575b509392505050565b6000808260068111156120f4576120f4612b78565b0361212d57816040517fd408b2c00000000000000000000000000000000000000000000000000000000081526004016105ee91906134ce565b600182600681111561214157612141612b78565b6121509064e8d4a510006134ef565b61045e91906134dc565b6110788282604051806020016040528060008152506125bd565b6060816000018054806020026020016040519081016040528092919081815260200182805480156121c457602002820191906000526020600020905b8154815260200190600101908083116121b0575b50505050509050919050565b600054610100900460ff16612267576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016105ee565b60656122738382613579565b5060666106b68282613579565b60008181526001830160205260408120546122c75750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561045e565b50600061045e565b606083156122de575081610b92565b610b928383612660565b600073ffffffffffffffffffffffffffffffffffffffff84163b156124d0576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a029061235f903390899088908890600401613693565b6020604051808303816000875af19250505080156123b8575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526123b5918101906136dc565b60015b612485573d8080156123e6576040519150601f19603f3d011682016040523d82523d6000602084013e6123eb565b606091505b50805160000361247d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016105ee565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a02000000000000000000000000000000000000000000000000000000001490506117dd565b506001949350505050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310612524577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef81000000008310612550576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061256e57662386f26fc10000830492506010015b6305f5e1008310612586576305f5e100830492506008015b612710831061259a57612710830492506004015b606483106125ac576064830492506002015b600a831061045e5760010192915050565b6125c783836126a4565b6125d460008484846122e8565b6106b6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016105ee565b8151156126705781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105ee91906129ba565b73ffffffffffffffffffffffffffffffffffffffff8216612721576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016105ee565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff16156127ad576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016105ee565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff1615612839576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016105ee565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260686020908152604080832080546001019055848352606790915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6040518060800160405280606081526020016060815260200160608152602001600060068111156128fc576128fc612b78565b905290565b7fffffffff000000000000000000000000000000000000000000000000000000008116811461147657600080fd5b60006020828403121561294157600080fd5b8135610b9281612901565b60005b8381101561296757818101518382015260200161294f565b50506000910152565b6000815180845261298881602086016020860161294c565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610b926020830184612970565b6000602082840312156129df57600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff81168114612a0a57600080fd5b919050565b60008060408385031215612a2257600080fd5b612a2b836129e6565b946020939093013593505050565b803560078110612a0a57600080fd5b60008083601f840112612a5a57600080fd5b50813567ffffffffffffffff811115612a7257600080fd5b602083019150836020828501011115612a8a57600080fd5b9250929050565b60008060008060008060006080888a031215612aac57600080fd5b612ab588612a39565b9650602088013567ffffffffffffffff80821115612ad257600080fd5b612ade8b838c01612a48565b909850965060408a0135915080821115612af757600080fd5b612b038b838c01612a48565b909650945060608a0135915080821115612b1c57600080fd5b50612b298a828b01612a48565b989b979a50959850939692959293505050565b600080600060608486031215612b5157600080fd5b612b5a846129e6565b9250612b68602085016129e6565b9150604084013590509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60078110612bde577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b6000815160808452612bf76080850182612970565b905060208301518482036020860152612c108282612970565b91505060408301518482036040860152612c2a8282612970565b91505060608301516120d76060860182612ba7565b606081526000612c526060830186612be2565b6020612c6081850187612ba7565b838203604085015284518083528186019282019060005b81811015612c9357845183529383019391830191600101612c77565b509098975050505050505050565b60008060008060008060006080888a031215612cbc57600080fd5b87359650602088013567ffffffffffffffff80821115612ad257600080fd5b600060208284031215612ced57600080fd5b610b9282612a39565b600060208284031215612d0857600080fd5b610b92826129e6565b602081526000610b926020830184612be2565b60008083601f840112612d3657600080fd5b50813567ffffffffffffffff811115612d4e57600080fd5b6020830191508360208260051b8501011115612a8a57600080fd5b600080600060408486031215612d7e57600080fd5b83359250602084013567ffffffffffffffff811115612d9c57600080fd5b612da886828701612d24565b9497909650939450505050565b60008060408385031215612dc857600080fd5b612dd1836129e6565b915060208301358015158114612de657600080fd5b809150509250929050565b600080600080600080600080600060a08a8c031215612e0f57600080fd5b893567ffffffffffffffff80821115612e2757600080fd5b612e338d838e01612a48565b909b50995060208c0135915080821115612e4c57600080fd5b612e588d838e01612a48565b909950975060408c0135915080821115612e7157600080fd5b612e7d8d838e01612a48565b9097509550859150612e9160608d01612a39565b945060808c0135915080821115612ea757600080fd5b50612eb48c828d01612d24565b915080935050809150509295985092959850929598565b60008060208385031215612ede57600080fd5b823567ffffffffffffffff811115612ef557600080fd5b612f0185828601612d24565b90969095509350505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015612f80577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452612f6e858351612970565b94509285019290850190600101612f34565b5092979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060008060808587031215612fd257600080fd5b612fdb856129e6565b9350612fe9602086016129e6565b925060408501359150606085013567ffffffffffffffff8082111561300d57600080fd5b818701915087601f83011261302157600080fd5b81358181111561303357613033612f8d565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561307957613079612f8d565b816040528281528a602084870101111561309257600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b600080604083850312156130c957600080fd5b6130d2836129e6565b91506130e0602084016129e6565b90509250929050565b600181811c908216806130fd57607f821691505b602082108103610b99577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b601f8211156106b657600081815260208120601f850160051c8101602086101561315d5750805b601f850160051c820191505b8181101561317c57828155600101613169565b505050505050565b67ffffffffffffffff83111561319c5761319c612f8d565b6131b0836131aa83546130e9565b83613136565b6000601f84116001811461320257600085156131cc5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355613298565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b828110156132515786850135825560209485019460019092019101613231565b508682101561328c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6132d88185612ba7565b6040602082015281604082015260007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83111561331457600080fd5b8260051b8085606085013791909101606001949350505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261336357600080fd5b83018035915067ffffffffffffffff82111561337e57600080fd5b602001915036819003821315612a8a57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036133f3576133f3613393565b5060010190565b6000835161340c81846020880161294c565b83519083019061342081836020880161294c565b01949350505050565b8082018082111561045e5761045e613393565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60608152600061349960608301888a61343c565b82810360208401526134ac81878961343c565b905082810360408401526134c181858761343c565b9998505050505050505050565b6020810161045e8284612ba7565b8181038181111561045e5761045e613393565b808202811582820484141761045e5761045e613393565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60008261354457613544613506565b500690565b60008261355857613558613506565b500490565b6000825161356f81846020870161294c565b9190910192915050565b815167ffffffffffffffff81111561359357613593612f8d565b6135a7816135a184546130e9565b84613136565b602080601f8311600181146135fa57600084156135c45750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b17855561317c565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b8281101561364757888601518255948401946001909101908401613628565b508582101561368357878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250836040830152608060608301526136d26080830184612970565b9695505050505050565b6000602082840312156136ee57600080fd5b8151610b928161290156fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220c81849885aeba1dab4a372275032905fccbe70b72044d129a50a1defaf16f55b64736f6c63430008130033608060405234801561001057600080fd5b506040516105ef3803806105ef83398101604081905261002f9161013a565b61003833610047565b61004181610097565b5061016a565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0381163b6101185760405162461bcd60e51b815260206004820152603360248201527f5570677261646561626c65426561636f6e3a20696d706c656d656e746174696f60448201527f6e206973206e6f74206120636f6e747261637400000000000000000000000000606482015260840160405180910390fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b60006020828403121561014c57600080fd5b81516001600160a01b038116811461016357600080fd5b9392505050565b610476806101796000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c8063715018a611610050578063715018a6146100c45780638da5cb5b146100cc578063f2fde38b146100ea57600080fd5b80633659cfe61461006c5780635c60da1b14610081575b600080fd5b61007f61007a366004610403565b6100fd565b005b60015473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61007f610152565b60005473ffffffffffffffffffffffffffffffffffffffff1661009b565b61007f6100f8366004610403565b610166565b610105610222565b61010e816102a3565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b61015a610222565b610164600061038e565b565b61016e610222565b73ffffffffffffffffffffffffffffffffffffffff8116610216576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61021f8161038e565b50565b60005473ffffffffffffffffffffffffffffffffffffffff163314610164576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161020d565b73ffffffffffffffffffffffffffffffffffffffff81163b610347576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603360248201527f5570677261646561626c65426561636f6e3a20696d706c656d656e746174696f60448201527f6e206973206e6f74206120636f6e747261637400000000000000000000000000606482015260840161020d565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006020828403121561041557600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461043957600080fd5b939250505056fea264697066735822122048ebef5dea79554c6de8af09830ddb871c241a46dee33849e34fac866c5894bd64736f6c63430008130033", - "nonce": "0x12", - "accessList": [] - }, - "additionalContracts": [ - { - "transactionType": "CREATE", - "address": "0xBdfF7F77096927153ef4A595E440958dB406775f", - "initCode": "60806040523480156200001157600080fd5b506200001c62000022565b620000e4565b600054610100900460ff16156200008f5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff9081161015620000e2576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b61375680620000f46000396000f3fe608060405234801561001057600080fd5b50600436106101a35760003560e01c806369cf2c37116100ee578063a22cb46511610097578063b88d4fde11610071578063b88d4fde146103b1578063b9d0787c146103c4578063c87b56dd146103cd578063e985e9c5146103e057600080fd5b8063a22cb4651461036b578063a8185a2e1461037e578063ac9650d81461039157600080fd5b80639484c103116100c85780639484c1031461033057806395d89b41146103505780639dc6693c1461035857600080fd5b806369cf2c371461030257806370a08231146103155780637284e4161461032857600080fd5b806323b872dd1161015057806346193ccd1161012a57806346193ccd146102a357806354fd4d50146102b65780636352211e146102ef57600080fd5b806323b872dd1461025b5780633c7fc59d1461026e57806342842e0e1461029057600080fd5b8063095ea7b311610181578063095ea7b31461021d5780630f7966c0146102325780632336a84a1461024857600080fd5b806301ffc9a7146101a857806306fdde03146101d0578063081812fc146101e5575b600080fd5b6101bb6101b636600461292f565b610429565b60405190151581526020015b60405180910390f35b6101d8610464565b6040516101c791906129ba565b6101f86101f33660046129cd565b6104f6565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101c7565b61023061022b366004612a0f565b61052a565b005b61023a601481565b6040519081526020016101c7565b61023a610256366004612a91565b6106bb565b610230610269366004612b3c565b610731565b61028161027c3660046129cd565b6107d2565b6040516101c793929190612c3f565b61023061029e366004612b3c565b610816565b6102306102b1366004612ca1565b610831565b60408051808201909152600581527f302e312e3000000000000000000000000000000000000000000000000000000060208201526101d8565b6101f86102fd3660046129cd565b610aba565b61023a610310366004612cdb565b610b46565b61023a610323366004612cf6565b610b9f565b6101d8610c6d565b61034361033e3660046129cd565b610cfb565b6040516101c79190612d11565b6101d8610f09565b610230610366366004612d69565b610f18565b610230610379366004612db5565b61106d565b61023a61038c366004612df1565b61107c565b6103a461039f366004612ecb565b6110f8565b6040516101c79190612f0d565b6102306103bf366004612fbc565b6111ed565b61023a60cd5481565b6101d86103db3660046129cd565b611295565b6101bb6103ee3660046130b6565b73ffffffffffffffffffffffffffffffffffffffff9182166000908152606a6020908152604080832093909416825291909152205460ff1690565b60007fffffffff000000000000000000000000000000000000000000000000000000008216158061045e575061045e82611308565b92915050565b606060658054610473906130e9565b80601f016020809104026020016040519081016040528092919081815260200182805461049f906130e9565b80156104ec5780601f106104c1576101008083540402835291602001916104ec565b820191906000526020600020905b8154815290600101906020018083116104cf57829003601f168201915b5050505050905090565b6000610501826113eb565b5060009081526069602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b600061053582610aba565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036105f7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff82161480610620575061062081336103ee565b6106ac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c00000060648201526084016105ee565b6106b68383611479565b505050565b6000808860068111156106d0576106d0612b78565b03610707576040517ffa19fa0700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610713338a611519565b905061072481898989898989611612565b5098975050505050505050565b61073b3382611725565b6107c7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f7665640000000000000000000000000000000000000060648201526084016105ee565b6106b68383836117e5565b6107da6128c9565b600060606107e784610cfb565b600085815260ca60205260409020805491945060ff909116925061080d60018201611ae0565b93959294505050565b6106b6838383604051806020016040528060008152506111ed565b600054610100900460ff16158080156108515750600054600160ff909116105b8061086b5750303b15801561086b575060005460ff166001145b6108f7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016105ee565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561095557600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6109c887878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8b018190048102820181019092528981529250899150889081908401838280828437600092019190915250611aed92505050565b6109d0611b8e565b87600003610a3a576040517feac0d38900000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f6672616e6368697365496400000000000000000000000000000000000000000060448201526064016105ee565b60cd88905560cc610a4c838583613184565b508015610ab057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050505050565b60008181526067602052604081205473ffffffffffffffffffffffffffffffffffffffff168061045e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e204944000000000000000060448201526064016105ee565b60008060cb6000846006811115610b5f57610b5f612b78565b6006811115610b7057610b70612b78565b81526020019081526020016000205490508060000361045e57610b9283611c27565b9392505050565b50919050565b600073ffffffffffffffffffffffffffffffffffffffff8216610c44576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e6572000000000000000000000000000000000000000000000060648201526084016105ee565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526068602052604090205490565b60cc8054610c7a906130e9565b80601f0160208091040260200160405190810160405280929190818152602001828054610ca6906130e9565b8015610cf35780601f10610cc857610100808354040283529160200191610cf3565b820191906000526020600020905b815481529060010190602001808311610cd657829003601f168201915b505050505081565b610d036128c9565b600082815260c9602052604090819020815160808101909252805482908290610d2b906130e9565b80601f0160208091040260200160405190810160405280929190818152602001828054610d57906130e9565b8015610da45780601f10610d7957610100808354040283529160200191610da4565b820191906000526020600020905b815481529060010190602001808311610d8757829003601f168201915b50505050508152602001600182018054610dbd906130e9565b80601f0160208091040260200160405190810160405280929190818152602001828054610de9906130e9565b8015610e365780601f10610e0b57610100808354040283529160200191610e36565b820191906000526020600020905b815481529060010190602001808311610e1957829003601f168201915b50505050508152602001600282018054610e4f906130e9565b80601f0160208091040260200160405190810160405280929190818152602001828054610e7b906130e9565b8015610ec85780601f10610e9d57610100808354040283529160200191610ec8565b820191906000526020600020905b815481529060010190602001808311610eab57829003601f168201915b5050509183525050600382015460209091019060ff166006811115610eef57610eef612b78565b6006811115610f0057610f00612b78565b90525092915050565b606060668054610473906130e9565b806014811115610f54576040517f77d10abd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084815260ca602052604081205460ff16905b8381101561102957816006811115610f8257610f82612b78565b610fa3868684818110610f9757610f9761329f565b90506020020135611ca2565b6006811115610fb457610fb4612b78565b14610feb576040517f50c3390e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6110208585838181106110005761100061329f565b60008a815260ca6020908152604090912060010193910201359050611d05565b50600101610f68565b50847f823d677ed42b321275c6b3aa7040f32e41d12aea91120455a19a60ae310b0af382868660405161105e939291906132ce565b60405180910390a25050505050565b611078338383611d11565b5050565b60008061108f60048c8c8c8c8c8c6106bb565b600081815260ca60205260409020805491925086917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660018360068111156110da576110da612b78565b02179055506110ea818585610f18565b9a9950505050505050505050565b60608167ffffffffffffffff81111561111357611113612f8d565b60405190808252806020026020018201604052801561114657816020015b60608152602001906001900390816111315790505b50905060005b828110156111e6576111b63085858481811061116a5761116a61329f565b905060200281019061117c919061332e565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611e3e92505050565b8282815181106111c8576111c861329f565b602002602001018190525080806111de906133c2565b91505061114c565b5092915050565b6111f73383611725565b611283576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f7665640000000000000000000000000000000000000060648201526084016105ee565b61128f84848484611f7d565b50505050565b60606112a0826113eb565b60006112b760408051602081019091526000815290565b905060008151116112d75760405180602001604052806000815250610b92565b806112e184612020565b6040516020016112f29291906133fa565b6040516020818303038152906040529392505050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061139b57507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b8061045e57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161461045e565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff16611476576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e204944000000000000000060448201526064016105ee565b50565b600081815260696020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811790915581906114d382610aba565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008061152583610b46565b611530906001613429565b905061153b836120df565b811115611574576040517fd5fdab4f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060cb600085600681111561158b5761158b612b78565b600681111561159c5761159c612b78565b81526020810191909152604001600020556115b7848261215a565b808360068111156115ca576115ca612b78565b60405173ffffffffffffffffffffffffffffffffffffffff8716907f46c5798f976ec5e5dec617e7f27479bc578f63e6bcf4f693ade547151a3219cd90600090a49392505050565b600087815260c96020526040812081600382015460ff16600681111561163a5761163a612b78565b0361168a5761164889611ca2565b6003820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600183600681111561168457611684612b78565b02179055505b80611696888a83613184565b50600181016116a6868883613184565b50600281016116b6848683613184565b50600381015460ff1660068111156116d0576116d0612b78565b897f621ca783668a03c147f29e5ae01f40cc55df212956bde68afb53b1d6119a2ea78a8a8a8a8a8a60405161170a96959493929190613485565b60405180910390a36003015460ff1698975050505050505050565b60008061173183610aba565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061179f575073ffffffffffffffffffffffffffffffffffffffff8082166000908152606a602090815260408083209388168352929052205460ff165b806117dd57508373ffffffffffffffffffffffffffffffffffffffff166117c5846104f6565b73ffffffffffffffffffffffffffffffffffffffff16145b949350505050565b8273ffffffffffffffffffffffffffffffffffffffff1661180582610aba565b73ffffffffffffffffffffffffffffffffffffffff16146118a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e657200000000000000000000000000000000000000000000000000000060648201526084016105ee565b73ffffffffffffffffffffffffffffffffffffffff821661194a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016105ee565b8273ffffffffffffffffffffffffffffffffffffffff1661196a82610aba565b73ffffffffffffffffffffffffffffffffffffffff1614611a0d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e657200000000000000000000000000000000000000000000000000000060648201526084016105ee565b600081815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff8781168086526068855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905590871680865283862080546001019055868652606790945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b60606000610b9283612174565b600054610100900460ff16611b84576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016105ee565b61107882826121d0565b600054610100900460ff16611c25576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016105ee565b565b600080826006811115611c3c57611c3c612b78565b03611c7557816040517fd408b2c00000000000000000000000000000000000000000000000000000000081526004016105ee91906134ce565b6001826006811115611c8957611c89612b78565b611c9391906134dc565b61045e9064e8d4a510006134ef565b6000611cb364e8d4a5100083613535565b1580611ccd5750611cca600664e8d4a510006134ef565b82115b15611cda57506000919050565b611ce964e8d4a5100083613549565b611cf4906001613429565b600681111561045e5761045e612b78565b6000610b928383612280565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611da6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016105ee565b73ffffffffffffffffffffffffffffffffffffffff8381166000818152606a602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b606073ffffffffffffffffffffffffffffffffffffffff83163b611ee4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e7472616374000000000000000000000000000000000000000000000000000060648201526084016105ee565b6000808473ffffffffffffffffffffffffffffffffffffffff1684604051611f0c919061355d565b600060405180830381855af49150503d8060008114611f47576040519150601f19603f3d011682016040523d82523d6000602084013e611f4c565b606091505b5091509150611f7482826040518060600160405280602781526020016136fa602791396122cf565b95945050505050565b611f888484846117e5565b611f94848484846122e8565b61128f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016105ee565b6060600061202d836124db565b600101905060008167ffffffffffffffff81111561204d5761204d612f8d565b6040519080825280601f01601f191660200182016040528015612077576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8504945084612081575b509392505050565b6000808260068111156120f4576120f4612b78565b0361212d57816040517fd408b2c00000000000000000000000000000000000000000000000000000000081526004016105ee91906134ce565b600182600681111561214157612141612b78565b6121509064e8d4a510006134ef565b61045e91906134dc565b6110788282604051806020016040528060008152506125bd565b6060816000018054806020026020016040519081016040528092919081815260200182805480156121c457602002820191906000526020600020905b8154815260200190600101908083116121b0575b50505050509050919050565b600054610100900460ff16612267576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016105ee565b60656122738382613579565b5060666106b68282613579565b60008181526001830160205260408120546122c75750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561045e565b50600061045e565b606083156122de575081610b92565b610b928383612660565b600073ffffffffffffffffffffffffffffffffffffffff84163b156124d0576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a029061235f903390899088908890600401613693565b6020604051808303816000875af19250505080156123b8575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526123b5918101906136dc565b60015b612485573d8080156123e6576040519150601f19603f3d011682016040523d82523d6000602084013e6123eb565b606091505b50805160000361247d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016105ee565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a02000000000000000000000000000000000000000000000000000000001490506117dd565b506001949350505050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310612524577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef81000000008310612550576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061256e57662386f26fc10000830492506010015b6305f5e1008310612586576305f5e100830492506008015b612710831061259a57612710830492506004015b606483106125ac576064830492506002015b600a831061045e5760010192915050565b6125c783836126a4565b6125d460008484846122e8565b6106b6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016105ee565b8151156126705781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105ee91906129ba565b73ffffffffffffffffffffffffffffffffffffffff8216612721576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016105ee565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff16156127ad576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016105ee565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff1615612839576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016105ee565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260686020908152604080832080546001019055848352606790915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6040518060800160405280606081526020016060815260200160608152602001600060068111156128fc576128fc612b78565b905290565b7fffffffff000000000000000000000000000000000000000000000000000000008116811461147657600080fd5b60006020828403121561294157600080fd5b8135610b9281612901565b60005b8381101561296757818101518382015260200161294f565b50506000910152565b6000815180845261298881602086016020860161294c565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610b926020830184612970565b6000602082840312156129df57600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff81168114612a0a57600080fd5b919050565b60008060408385031215612a2257600080fd5b612a2b836129e6565b946020939093013593505050565b803560078110612a0a57600080fd5b60008083601f840112612a5a57600080fd5b50813567ffffffffffffffff811115612a7257600080fd5b602083019150836020828501011115612a8a57600080fd5b9250929050565b60008060008060008060006080888a031215612aac57600080fd5b612ab588612a39565b9650602088013567ffffffffffffffff80821115612ad257600080fd5b612ade8b838c01612a48565b909850965060408a0135915080821115612af757600080fd5b612b038b838c01612a48565b909650945060608a0135915080821115612b1c57600080fd5b50612b298a828b01612a48565b989b979a50959850939692959293505050565b600080600060608486031215612b5157600080fd5b612b5a846129e6565b9250612b68602085016129e6565b9150604084013590509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60078110612bde577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b6000815160808452612bf76080850182612970565b905060208301518482036020860152612c108282612970565b91505060408301518482036040860152612c2a8282612970565b91505060608301516120d76060860182612ba7565b606081526000612c526060830186612be2565b6020612c6081850187612ba7565b838203604085015284518083528186019282019060005b81811015612c9357845183529383019391830191600101612c77565b509098975050505050505050565b60008060008060008060006080888a031215612cbc57600080fd5b87359650602088013567ffffffffffffffff80821115612ad257600080fd5b600060208284031215612ced57600080fd5b610b9282612a39565b600060208284031215612d0857600080fd5b610b92826129e6565b602081526000610b926020830184612be2565b60008083601f840112612d3657600080fd5b50813567ffffffffffffffff811115612d4e57600080fd5b6020830191508360208260051b8501011115612a8a57600080fd5b600080600060408486031215612d7e57600080fd5b83359250602084013567ffffffffffffffff811115612d9c57600080fd5b612da886828701612d24565b9497909650939450505050565b60008060408385031215612dc857600080fd5b612dd1836129e6565b915060208301358015158114612de657600080fd5b809150509250929050565b600080600080600080600080600060a08a8c031215612e0f57600080fd5b893567ffffffffffffffff80821115612e2757600080fd5b612e338d838e01612a48565b909b50995060208c0135915080821115612e4c57600080fd5b612e588d838e01612a48565b909950975060408c0135915080821115612e7157600080fd5b612e7d8d838e01612a48565b9097509550859150612e9160608d01612a39565b945060808c0135915080821115612ea757600080fd5b50612eb48c828d01612d24565b915080935050809150509295985092959850929598565b60008060208385031215612ede57600080fd5b823567ffffffffffffffff811115612ef557600080fd5b612f0185828601612d24565b90969095509350505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015612f80577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452612f6e858351612970565b94509285019290850190600101612f34565b5092979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060008060808587031215612fd257600080fd5b612fdb856129e6565b9350612fe9602086016129e6565b925060408501359150606085013567ffffffffffffffff8082111561300d57600080fd5b818701915087601f83011261302157600080fd5b81358181111561303357613033612f8d565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561307957613079612f8d565b816040528281528a602084870101111561309257600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b600080604083850312156130c957600080fd5b6130d2836129e6565b91506130e0602084016129e6565b90509250929050565b600181811c908216806130fd57607f821691505b602082108103610b99577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b601f8211156106b657600081815260208120601f850160051c8101602086101561315d5750805b601f850160051c820191505b8181101561317c57828155600101613169565b505050505050565b67ffffffffffffffff83111561319c5761319c612f8d565b6131b0836131aa83546130e9565b83613136565b6000601f84116001811461320257600085156131cc5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355613298565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b828110156132515786850135825560209485019460019092019101613231565b508682101561328c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6132d88185612ba7565b6040602082015281604082015260007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83111561331457600080fd5b8260051b8085606085013791909101606001949350505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261336357600080fd5b83018035915067ffffffffffffffff82111561337e57600080fd5b602001915036819003821315612a8a57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036133f3576133f3613393565b5060010190565b6000835161340c81846020880161294c565b83519083019061342081836020880161294c565b01949350505050565b8082018082111561045e5761045e613393565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60608152600061349960608301888a61343c565b82810360208401526134ac81878961343c565b905082810360408401526134c181858761343c565b9998505050505050505050565b6020810161045e8284612ba7565b8181038181111561045e5761045e613393565b808202811582820484141761045e5761045e613393565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60008261354457613544613506565b500690565b60008261355857613558613506565b500490565b6000825161356f81846020870161294c565b9190910192915050565b815167ffffffffffffffff81111561359357613593612f8d565b6135a7816135a184546130e9565b84613136565b602080601f8311600181146135fa57600084156135c45750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b17855561317c565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b8281101561364757888601518255948401946001909101908401613628565b508582101561368357878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250836040830152608060608301526136d26080830184612970565b9695505050505050565b6000602082840312156136ee57600080fd5b8151610b928161290156fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220c81849885aeba1dab4a372275032905fccbe70b72044d129a50a1defaf16f55b64736f6c63430008130033" - }, - { - "transactionType": "CREATE", - "address": "0xBE84B06E0bA6856393e90313Dcf433CE9b208a14", - "initCode": "608060405234801561001057600080fd5b506040516105ef3803806105ef83398101604081905261002f9161013a565b61003833610047565b61004181610097565b5061016a565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0381163b6101185760405162461bcd60e51b815260206004820152603360248201527f5570677261646561626c65426561636f6e3a20696d706c656d656e746174696f60448201527f6e206973206e6f74206120636f6e747261637400000000000000000000000000606482015260840160405180910390fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b60006020828403121561014c57600080fd5b81516001600160a01b038116811461016357600080fd5b9392505050565b610476806101796000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c8063715018a611610050578063715018a6146100c45780638da5cb5b146100cc578063f2fde38b146100ea57600080fd5b80633659cfe61461006c5780635c60da1b14610081575b600080fd5b61007f61007a366004610403565b6100fd565b005b60015473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61007f610152565b60005473ffffffffffffffffffffffffffffffffffffffff1661009b565b61007f6100f8366004610403565b610166565b610105610222565b61010e816102a3565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b61015a610222565b610164600061038e565b565b61016e610222565b73ffffffffffffffffffffffffffffffffffffffff8116610216576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61021f8161038e565b50565b60005473ffffffffffffffffffffffffffffffffffffffff163314610164576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161020d565b73ffffffffffffffffffffffffffffffffffffffff81163b610347576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603360248201527f5570677261646561626c65426561636f6e3a20696d706c656d656e746174696f60448201527f6e206973206e6f74206120636f6e747261637400000000000000000000000000606482015260840161020d565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006020828403121561041557600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461043957600080fd5b939250505056fea264697066735822122048ebef5dea79554c6de8af09830ddb871c241a46dee33849e34fac866c5894bd64736f6c63430008130033000000000000000000000000bdff7f77096927153ef4a595e440958db406775f" - } - ], - "isFixedGasLimit": false - }, - { - "hash": "0xd8889a4e8b01e3b50eb83d02adf8c3e4630e334c17b05af1806553fd0eefd2f6", - "transactionType": "CREATE", - "contractName": "AccessControlSingleton", - "contractAddress": "0xbd9eAF2bEe73148C6e21481ade29FD9c73c29B80", - "function": null, - "arguments": null, - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x22dd84", - "value": "0x0", - "data": "0x60a06040523060805234801561001457600080fd5b50608051611f1461004c600039600081816104d101528181610581015281816106d60152818161078601526108cb0152611f146000f3fe6080604052600436106100dd5760003560e01c806352d1902d1161007f578063a217fddf11610059578063a217fddf146102a8578063ac9650d8146102bd578063c4d66de8146102ea578063d547741f1461030a57600080fd5b806352d1902d146101ea57806354fd4d50146101ff57806391d148541461025557600080fd5b80632f2ff15d116100bb5780632f2ff15d1461017757806336568abe146101975780633659cfe6146101b75780634f1ef286146101d757600080fd5b806301ffc9a7146100e25780631e4e009114610117578063248a9ca314610139575b600080fd5b3480156100ee57600080fd5b506101026100fd36600461192e565b61032a565b60405190151581526020015b60405180910390f35b34801561012357600080fd5b50610137610132366004611970565b6103c3565b005b34801561014557600080fd5b50610169610154366004611992565b60009081526065602052604090206001015490565b60405190815260200161010e565b34801561018357600080fd5b506101376101923660046119d4565b6103dd565b3480156101a357600080fd5b506101376101b23660046119d4565b610402565b3480156101c357600080fd5b506101376101d2366004611a00565b6104ba565b6101376101e5366004611a4a565b6106bf565b3480156101f657600080fd5b506101696108b1565b34801561020b57600080fd5b506102486040518060400160405280600581526020017f302e312e3000000000000000000000000000000000000000000000000000000081525081565b60405161010e9190611b98565b34801561026157600080fd5b506101026102703660046119d4565b600091825260656020908152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b3480156102b457600080fd5b50610169600081565b3480156102c957600080fd5b506102dd6102d8366004611bab565b61099d565b60405161010e9190611c20565b3480156102f657600080fd5b50610137610305366004611a00565b610a92565b34801561031657600080fd5b506101376103253660046119d4565b610cb4565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806103bd57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60006103ce81610cd9565b6103d88383610ce3565b505050565b6000828152606560205260409020600101546103f881610cd9565b6103d88383610d2e565b73ffffffffffffffffffffffffffffffffffffffff811633146104ac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b6104b68282610e22565b5050565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016300361057f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016104a3565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166105f47f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610697576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016104a3565b6106a081610edd565b604080516000808252602082019092526106bc91839190610f07565b50565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610784576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016104a3565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166107f97f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff161461089c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016104a3565b6108a582610edd565b6104b682826001610f07565b60003073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610978576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016104a3565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b60608167ffffffffffffffff8111156109b8576109b8611a1b565b6040519080825280602002602001820160405280156109eb57816020015b60608152602001906001900390816109d65790505b50905060005b82811015610a8b57610a5b30858584818110610a0f57610a0f611ca0565b9050602002810190610a219190611ccf565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061110692505050565b828281518110610a6d57610a6d611ca0565b60200260200101819052508080610a8390611d6a565b9150506109f1565b5092915050565b600054610100900460ff1615808015610ab25750600054600160ff909116105b80610acc5750303b158015610acc575060005460ff166001145b610b58576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016104a3565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610bb657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b73ffffffffffffffffffffffffffffffffffffffff8216610c33576040517feac0d38900000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f5f61646d696e000000000000000000000000000000000000000000000000000060448201526064016104a3565b610c3b611132565b610c43611132565b610c4e600083610d2e565b80156104b657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b600082815260656020526040902060010154610ccf81610cd9565b6103d88383610e22565b6106bc81336111cb565b600082815260656020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff166104b657600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff85168452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055610dc43390565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16156104b657600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e36104b681610cd9565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610f3a576103d883611285565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610fbf575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252610fbc91810190611da2565b60015b61104b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016104a3565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81146110fa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016104a3565b506103d883838361138f565b606061112b8383604051806060016040528060278152602001611eb8602791396113ba565b9392505050565b600054610100900460ff166111c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016104a3565b565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff166104b65761120b8161143f565b61121683602061145e565b604051602001611227929190611dbb565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a00000000000000000000000000000000000000000000000000000000082526104a391600401611b98565b73ffffffffffffffffffffffffffffffffffffffff81163b611329576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016104a3565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b611398836116a1565b6000825111806113a55750805b156103d8576113b483836116ee565b50505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516113e49190611e3c565b600060405180830381855af49150503d806000811461141f576040519150601f19603f3d011682016040523d82523d6000602084013e611424565b606091505b50915091506114358683838761182d565b9695505050505050565b60606103bd73ffffffffffffffffffffffffffffffffffffffff831660145b6060600061146d836002611e58565b611478906002611e6f565b67ffffffffffffffff81111561149057611490611a1b565b6040519080825280601f01601f1916602001820160405280156114ba576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106114f1576114f1611ca0565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061155457611554611ca0565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000611590846002611e58565b61159b906001611e6f565b90505b6001811115611638577f303132333435363738396162636465660000000000000000000000000000000085600f16601081106115dc576115dc611ca0565b1a60f81b8282815181106115f2576115f2611ca0565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c9361163181611e82565b905061159e565b50831561112b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016104a3565b6116aa81611285565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606073ffffffffffffffffffffffffffffffffffffffff83163b611794576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e7472616374000000000000000000000000000000000000000000000000000060648201526084016104a3565b6000808473ffffffffffffffffffffffffffffffffffffffff16846040516117bc9190611e3c565b600060405180830381855af49150503d80600081146117f7576040519150601f19603f3d011682016040523d82523d6000602084013e6117fc565b606091505b50915091506118248282604051806060016040528060278152602001611eb8602791396118d5565b95945050505050565b606083156118c35782516000036118bc5773ffffffffffffffffffffffffffffffffffffffff85163b6118bc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016104a3565b50816118cd565b6118cd83836118ea565b949350505050565b606083156118e457508161112b565b61112b83835b8151156118fa5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104a39190611b98565b60006020828403121561194057600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461112b57600080fd5b6000806040838503121561198357600080fd5b50508035926020909101359150565b6000602082840312156119a457600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff811681146119cf57600080fd5b919050565b600080604083850312156119e757600080fd5b823591506119f7602084016119ab565b90509250929050565b600060208284031215611a1257600080fd5b61112b826119ab565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060408385031215611a5d57600080fd5b611a66836119ab565b9150602083013567ffffffffffffffff80821115611a8357600080fd5b818501915085601f830112611a9757600080fd5b813581811115611aa957611aa9611a1b565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715611aef57611aef611a1b565b81604052828152886020848701011115611b0857600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b83811015611b45578181015183820152602001611b2d565b50506000910152565b60008151808452611b66816020860160208601611b2a565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061112b6020830184611b4e565b60008060208385031215611bbe57600080fd5b823567ffffffffffffffff80821115611bd657600080fd5b818501915085601f830112611bea57600080fd5b813581811115611bf957600080fd5b8660208260051b8501011115611c0e57600080fd5b60209290920196919550909350505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015611c93577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452611c81858351611b4e565b94509285019290850190600101611c47565b5092979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611d0457600080fd5b83018035915067ffffffffffffffff821115611d1f57600080fd5b602001915036819003821315611d3457600080fd5b9250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611d9b57611d9b611d3b565b5060010190565b600060208284031215611db457600080fd5b5051919050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351611df3816017850160208801611b2a565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351611e30816028840160208801611b2a565b01602801949350505050565b60008251611e4e818460208701611b2a565b9190910192915050565b80820281158282048414176103bd576103bd611d3b565b808201808211156103bd576103bd611d3b565b600081611e9157611e91611d3b565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220406f8c698e76523661d95c28b32136b7d6e78e31e7f52269d0ae4c2234565e2b64736f6c63430008130033", - "nonce": "0x13", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xca29f6d202329476417894f426f873ac83d841df234b845864e4c745a6fd2038", - "transactionType": "CREATE", - "contractName": "FranchiseRegistry", - "contractAddress": "0xA78068f87f2102ccE894edB704518f27a1283390", - "function": null, - "arguments": [ - "0xa8164aF085F0D62A1d27a5A92f0E2336C35fE73d" - ], - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x3ae12e", - "value": "0x0", - "data": "0x60c0604052306080523480156200001557600080fd5b506040516200365a3803806200365a83398101604081905262000038916200015a565b620000426200009b565b6001600160a01b038116620000895760405163eac0d38960e01b8152602060048201526007602482015266666163746f727960c81b60448201526064015b60405180910390fd5b6001600160a01b031660a0526200018c565b600054610100900460ff1615620001055760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840162000080565b60005460ff908116101562000158576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6000602082840312156200016d57600080fd5b81516001600160a01b03811681146200018557600080fd5b9392505050565b60805160a051613485620001d5600039600081816102ef01526110f6015260008181610ab801528181610b4e01528181610ca401528181610d3a0152610e6901526134856000f3fe6080604052600436106101965760003560e01c806354fd4d50116100e1578063b88d4fde1161008a578063c87b56dd11610064578063c87b56dd146104e1578063e885891114610501578063e985e9c514610545578063ef647e101461059c57600080fd5b8063b88d4fde14610457578063bac806d314610477578063c4d66de8146104c157600080fd5b806395d89b41116100bb57806395d89b411461040d5780639b0c6be414610422578063a22cb4651461043757600080fd5b806354fd4d50146103875780636352211e146103cd57806370a08231146103ed57600080fd5b806323b872dd1161014357806342842e0e1161011d57806342842e0e146103315780634f1ef2861461035157806352d1902d1461036457600080fd5b806323b872dd146102bd5780632dd31000146102dd5780633659cfe61461031157600080fd5b8063095ea7b311610174578063095ea7b31461023757806319129e5a1461025957806322220f951461027957600080fd5b806301ffc9a71461019b57806306fdde03146101d0578063081812fc146101f2575b600080fd5b3480156101a757600080fd5b506101bb6101b6366004612c20565b6105b1565b60405190151581526020015b60405180910390f35b3480156101dc57600080fd5b506101e5610696565b6040516101c79190612cab565b3480156101fe57600080fd5b5061021261020d366004612cbe565b610728565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101c7565b34801561024357600080fd5b50610257610252366004612cf9565b61075c565b005b34801561026557600080fd5b50610257610274366004612d25565b6108b9565b34801561028557600080fd5b50610212610294366004612cbe565b61012e6020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b3480156102c957600080fd5b506102576102d8366004612d42565b610a1a565b3480156102e957600080fd5b506102127f000000000000000000000000000000000000000000000000000000000000000081565b34801561031d57600080fd5b5061025761032c366004612d25565b610aa1565b34801561033d57600080fd5b5061025761034c366004612d42565b610c72565b61025761035f366004612e5d565b610c8d565b34801561037057600080fd5b50610379610e4f565b6040519081526020016101c7565b34801561039357600080fd5b5060408051808201909152600581527f302e312e3000000000000000000000000000000000000000000000000000000060208201526101e5565b3480156103d957600080fd5b506102126103e8366004612cbe565b610f21565b3480156103f957600080fd5b50610379610408366004612d25565b610f93565b34801561041957600080fd5b506101e5611047565b34801561042e57600080fd5b50610212600081565b34801561044357600080fd5b50610257610452366004612ebb565b611056565b34801561046357600080fd5b50610257610472366004612ef4565b611061565b34801561048357600080fd5b50610497610492366004612fa9565b6110ef565b6040805192835273ffffffffffffffffffffffffffffffffffffffff9091166020830152016101c7565b3480156104cd57600080fd5b506102576104dc366004612d25565b61127d565b3480156104ed57600080fd5b506101e56104fc366004612cbe565b611473565b34801561050d57600080fd5b5061021261051c366004612cbe565b600090815261012e602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b34801561055157600080fd5b506101bb610560366004613043565b73ffffffffffffffffffffffffffffffffffffffff91821660009081526101006020908152604080832093909416825291909152205460ff1690565b3480156105a857600080fd5b50610379600081565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061064457507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b8061069057507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b606060fb80546106a590613071565b80601f01602080910402602001604051908101604052809291908181526020018280546106d190613071565b801561071e5780601f106106f35761010080835404028352916020019161071e565b820191906000526020600020905b81548152906001019060200180831161070157829003601f168201915b5050505050905090565b6000610733826114e7565b50600090815260ff602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b600061076782610f21565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361080f5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff8216148061083857506108388133610560565b6108aa5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610806565b6108b48383611558565b505050565b60006108c581336115f8565b610904576040517f75000dc000000000000000000000000000000000000000000000000000000000815260048101829052336024820152604401610806565b61094473ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000611694565b6109aa576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c0000000000000000000000000000000000006044820152606401610806565b606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a25050565b610a2433826116b0565b610a965760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610806565b6108b4838383611771565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610b4c5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610806565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610bc17f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610c4a5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610806565b610c5381611a1e565b60408051600080825260208201909252610c6f91839190611a88565b50565b6108b483838360405180602001604052806000815250611061565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610d385760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610806565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610dad7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610e365760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610806565b610e3f82611a1e565b610e4b82826001611a88565b5050565b60003073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610efc5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610806565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b600081815260fd602052604081205473ffffffffffffffffffffffffffffffffffffffff16806106905760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610806565b600073ffffffffffffffffffffffffffffffffffffffff821661101e5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e657200000000000000000000000000000000000000000000006064820152608401610806565b5073ffffffffffffffffffffffffffffffffffffffff16600090815260fe602052604090205490565b606060fc80546106a590613071565b610e4b338383611c53565b61106b33836116b0565b6110dd5760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610806565b6110e984848484611d67565b50505050565b60008060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166305d4dd8761012d60008154611140906130c4565b9190508190558b8b8b8b8b8b6040518863ffffffff1660e01b815260040161116e979695949392919061316c565b6020604051808303816000875af115801561118d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111b191906131bc565b61012d8054600090815261012e6020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841617905554909150611212903390611df0565b61012d5460408051338152602081019290925273ffffffffffffffffffffffffffffffffffffffff831682820152517f0ee7716498f35cc0a42b8edb136bf88dbc529acf11a42fb9e4ec60b29638aff39181900360600190a161012d54999098509650505050505050565b600054610100900460ff161580801561129d5750600054600160ff909116105b806112b75750303b1580156112b7575060005460ff166001145b6113295760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610806565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561138757600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61138f611e0a565b61139882611e89565b61140c6040518060400160405280600e81526020017f53746f72792050726f746f636f6c0000000000000000000000000000000000008152506040518060400160405280600281526020017f5350000000000000000000000000000000000000000000000000000000000000815250612104565b8015610e4b57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15050565b606061147e826114e7565b600061149560408051602081019091526000815290565b905060008151116114b557604051806020016040528060008152506114e0565b806114bf8461218b565b6040516020016114d09291906131d9565b6040516020818303038152906040525b9392505050565b600081815260fd602052604090205473ffffffffffffffffffffffffffffffffffffffff16610c6f5760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610806565b600081815260ff6020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811790915581906115b282610f21565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6065546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810184905273ffffffffffffffffffffffffffffffffffffffff838116602483015260009216906391d1485490604401602060405180830381865afa158015611670573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114e09190613208565b600061169f83612249565b80156114e057506114e083836122ad565b6000806116bc83610f21565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061172b575073ffffffffffffffffffffffffffffffffffffffff8082166000908152610100602090815260408083209388168352929052205460ff165b8061176957508373ffffffffffffffffffffffffffffffffffffffff1661175184610728565b73ffffffffffffffffffffffffffffffffffffffff16145b949350505050565b8273ffffffffffffffffffffffffffffffffffffffff1661179182610f21565b73ffffffffffffffffffffffffffffffffffffffff161461181a5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610806565b73ffffffffffffffffffffffffffffffffffffffff82166118a25760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610806565b8273ffffffffffffffffffffffffffffffffffffffff166118c282610f21565b73ffffffffffffffffffffffffffffffffffffffff161461194b5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610806565b600081815260ff6020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff87811680865260fe855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190559087168086528386208054600101905586865260fd90945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3611a4981336115f8565b610e4b576040517f75000dc000000000000000000000000000000000000000000000000000000000815260048101829052336024820152604401610806565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611abb576108b48361237c565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611b40575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252611b3d91810190613225565b60015b611bb25760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608401610806565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114611c475760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152608401610806565b506108b483838361246c565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611cce5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610806565b73ffffffffffffffffffffffffffffffffffffffff8381166000818152610100602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b611d72848484611771565b611d7e84848484612491565b6110e95760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610806565b610e4b82826040518060200160405280600081525061266a565b600054610100900460ff16611e875760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610806565b565b600054610100900460ff1615808015611ea95750600054600160ff909116105b80611ec35750303b158015611ec3575060005460ff166001145b611f355760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610806565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015611f9357600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b611fd373ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000611694565b612039576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c0000000000000000000000000000000000006044820152606401610806565b606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a28015610e4b57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602001611467565b600054610100900460ff166121815760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610806565b610e4b82826126f3565b6060600061219883612789565b600101905060008167ffffffffffffffff8111156121b8576121b8612d83565b6040519080825280601f01601f1916602001820160405280156121e2576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85049450846121ec57509392505050565b6000612275827f01ffc9a7000000000000000000000000000000000000000000000000000000006122ad565b801561069057506122a6827fffffffff000000000000000000000000000000000000000000000000000000006122ad565b1592915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015612365575060208210155b80156123715750600081115b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff81163b6124065760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401610806565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6124758361286b565b6000825111806124825750805b156108b4576110e983836128b8565b600073ffffffffffffffffffffffffffffffffffffffff84163b1561265f576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a029061250890339089908890889060040161323e565b6020604051808303816000875af1925050508015612561575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261255e91810190613287565b60015b612614573d80801561258f576040519150601f19603f3d011682016040523d82523d6000602084013e612594565b606091505b50805160000361260c5760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610806565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050611769565b506001949350505050565b61267483836129dd565b6126816000848484612491565b6108b45760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610806565b600054610100900460ff166127705760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610806565b60fb61277c83826132f2565b5060fc6108b482826132f2565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083106127d2577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef810000000083106127fe576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061281c57662386f26fc10000830492506010015b6305f5e1008310612834576305f5e100830492506008015b612710831061284857612710830492506004015b6064831061285a576064830492506002015b600a83106106905760010192915050565b6128748161237c565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606073ffffffffffffffffffffffffffffffffffffffff83163b6129445760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e747261637400000000000000000000000000000000000000000000000000006064820152608401610806565b6000808473ffffffffffffffffffffffffffffffffffffffff168460405161296c919061340c565b600060405180830381855af49150503d80600081146129a7576040519150601f19603f3d011682016040523d82523d6000602084013e6129ac565b606091505b50915091506129d4828260405180606001604052806027815260200161342960279139612bb4565b95945050505050565b73ffffffffffffffffffffffffffffffffffffffff8216612a405760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610806565b600081815260fd602052604090205473ffffffffffffffffffffffffffffffffffffffff1615612ab25760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610806565b600081815260fd602052604090205473ffffffffffffffffffffffffffffffffffffffff1615612b245760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610806565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260fe602090815260408083208054600101905584835260fd90915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60608315612bc35750816114e0565b6114e08383815115612bd85781518083602001fd5b8060405162461bcd60e51b81526004016108069190612cab565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610c6f57600080fd5b600060208284031215612c3257600080fd5b81356114e081612bf2565b60005b83811015612c58578181015183820152602001612c40565b50506000910152565b60008151808452612c79816020860160208601612c3d565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006114e06020830184612c61565b600060208284031215612cd057600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610c6f57600080fd5b60008060408385031215612d0c57600080fd5b8235612d1781612cd7565b946020939093013593505050565b600060208284031215612d3757600080fd5b81356114e081612cd7565b600080600060608486031215612d5757600080fd5b8335612d6281612cd7565b92506020840135612d7281612cd7565b929592945050506040919091013590565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112612dc357600080fd5b813567ffffffffffffffff80821115612dde57612dde612d83565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715612e2457612e24612d83565b81604052838152866020858801011115612e3d57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060408385031215612e7057600080fd5b8235612e7b81612cd7565b9150602083013567ffffffffffffffff811115612e9757600080fd5b612ea385828601612db2565b9150509250929050565b8015158114610c6f57600080fd5b60008060408385031215612ece57600080fd5b8235612ed981612cd7565b91506020830135612ee981612ead565b809150509250929050565b60008060008060808587031215612f0a57600080fd5b8435612f1581612cd7565b93506020850135612f2581612cd7565b925060408501359150606085013567ffffffffffffffff811115612f4857600080fd5b612f5487828801612db2565b91505092959194509250565b60008083601f840112612f7257600080fd5b50813567ffffffffffffffff811115612f8a57600080fd5b602083019150836020828501011115612fa257600080fd5b9250929050565b60008060008060008060608789031215612fc257600080fd5b863567ffffffffffffffff80821115612fda57600080fd5b612fe68a838b01612f60565b90985096506020890135915080821115612fff57600080fd5b61300b8a838b01612f60565b9096509450604089013591508082111561302457600080fd5b5061303189828a01612f60565b979a9699509497509295939492505050565b6000806040838503121561305657600080fd5b823561306181612cd7565b91506020830135612ee981612cd7565b600181811c9082168061308557607f821691505b6020821081036130be577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361311c577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b87815260806020820152600061318660808301888a613123565b8281036040840152613199818789613123565b905082810360608401526131ae818587613123565b9a9950505050505050505050565b6000602082840312156131ce57600080fd5b81516114e081612cd7565b600083516131eb818460208801612c3d565b8351908301906131ff818360208801612c3d565b01949350505050565b60006020828403121561321a57600080fd5b81516114e081612ead565b60006020828403121561323757600080fd5b5051919050565b600073ffffffffffffffffffffffffffffffffffffffff80871683528086166020840152508360408301526080606083015261327d6080830184612c61565b9695505050505050565b60006020828403121561329957600080fd5b81516114e081612bf2565b601f8211156108b457600081815260208120601f850160051c810160208610156132cb5750805b601f850160051c820191505b818110156132ea578281556001016132d7565b505050505050565b815167ffffffffffffffff81111561330c5761330c612d83565b6133208161331a8454613071565b846132a4565b602080601f831160018114613373576000841561333d5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b1785556132ea565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156133c0578886015182559484019460019091019084016133a1565b50858210156133fc57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b6000825161341e818460208701612c3d565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212206c8b7adf12ab73973ab88003003cede73261eed0d381b3b91d021f1e754e633164736f6c63430008130033000000000000000000000000a8164af085f0d62a1d27a5a92f0e2336c35fe73d", - "nonce": "0x14", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xb99f2e54d8c4e4c08b6264a526e68b71d079424aae46fbad2fa24428578a14fc", - "transactionType": "CREATE", - "contractName": null, - "contractAddress": "0xcDc37d81dAd12A9885Ea979d660588DA4752fa6B", - "function": null, - "arguments": null, - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x4bbe3", - "value": "0x0", - "data": "0x60806040526040516104ee3803806104ee833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c760279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60be806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea2646970667358221220a678556ae280ddf13e459fe9ecd177633ae9dbc544c45d5b523d43ba9084c8dc64736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564000000000000000000000000a78068f87f2102cce894edb704518f27a128339000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de8000000000000000000000000bd9eaf2bee73148c6e21481ade29fd9c73c29b8000000000000000000000000000000000000000000000000000000000", - "nonce": "0x15", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "transactionHash": "0x0c5f8b856b03ddbadf2fa18eb738a9a44b0726b3b1f8745a43d0ec67d8b450db", - "transactionIndex": "0x3", - "blockHash": "0xef7bc7f17b06f3399abc9f0e2296a5a78a4bbd11563d674d073ce68d5c2d1521", - "blockNumber": "0x8d3f90", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": null, - "cumulativeGasUsed": "0x46e9de", - "gasUsed": "0x459c3b", - "contractAddress": "0xa8164aF085F0D62A1d27a5A92f0E2336C35fE73d", - "logs": [ - { - "address": "0xa8164aF085F0D62A1d27a5A92f0E2336C35fE73d", - "topics": [ - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000b6288e57bf7406b35ab4f70fd1135e907107e386" - ], - "data": "0x", - "blockHash": "0xef7bc7f17b06f3399abc9f0e2296a5a78a4bbd11563d674d073ce68d5c2d1521", - "blockNumber": "0x8d3f90", - "transactionHash": "0x0c5f8b856b03ddbadf2fa18eb738a9a44b0726b3b1f8745a43d0ec67d8b450db", - "transactionIndex": "0x3", - "logIndex": "0x2", - "removed": false - }, - { - "address": "0xBdfF7F77096927153ef4A595E440958dB406775f", - "topics": [ - "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000000ff", - "blockHash": "0xef7bc7f17b06f3399abc9f0e2296a5a78a4bbd11563d674d073ce68d5c2d1521", - "blockNumber": "0x8d3f90", - "transactionHash": "0x0c5f8b856b03ddbadf2fa18eb738a9a44b0726b3b1f8745a43d0ec67d8b450db", - "transactionIndex": "0x3", - "logIndex": "0x3", - "removed": false - }, - { - "address": "0xBE84B06E0bA6856393e90313Dcf433CE9b208a14", - "topics": [ - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000a8164af085f0d62a1d27a5a92f0e2336c35fe73d" - ], - "data": "0x", - "blockHash": "0xef7bc7f17b06f3399abc9f0e2296a5a78a4bbd11563d674d073ce68d5c2d1521", - "blockNumber": "0x8d3f90", - "transactionHash": "0x0c5f8b856b03ddbadf2fa18eb738a9a44b0726b3b1f8745a43d0ec67d8b450db", - "transactionIndex": "0x3", - "logIndex": "0x4", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000000000000100000000000000000000000000000000004800000000000000000000000000001000000000000000000000000000010000000000000000000002400000000000000000000000000000001000000000000000000000000000000080000020000000000000000000800000000000000080000000080000000400000000000000008000000000000000000000000000080000000000000000000000000000000000000000000000408000000000000000001000000000000000000080000000000000000000000040000000000000000020000000000000020000000000000000000000000000000000000000000000000040000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d05e0e" - }, - { - "transactionHash": "0xd8889a4e8b01e3b50eb83d02adf8c3e4630e334c17b05af1806553fd0eefd2f6", - "transactionIndex": "0x4", - "blockHash": "0xef7bc7f17b06f3399abc9f0e2296a5a78a4bbd11563d674d073ce68d5c2d1521", - "blockNumber": "0x8d3f90", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": null, - "cumulativeGasUsed": "0x61bd9c", - "gasUsed": "0x1ad3be", - "contractAddress": "0xbd9eAF2bEe73148C6e21481ade29FD9c73c29B80", - "logs": [], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d05e0e" - }, - { - "transactionHash": "0xca29f6d202329476417894f426f873ac83d841df234b845864e4c745a6fd2038", - "transactionIndex": "0x5", - "blockHash": "0xef7bc7f17b06f3399abc9f0e2296a5a78a4bbd11563d674d073ce68d5c2d1521", - "blockNumber": "0x8d3f90", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": null, - "cumulativeGasUsed": "0x8f0bc5", - "gasUsed": "0x2d4e29", - "contractAddress": "0xA78068f87f2102ccE894edB704518f27a1283390", - "logs": [ - { - "address": "0xA78068f87f2102ccE894edB704518f27a1283390", - "topics": [ - "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000000ff", - "blockHash": "0xef7bc7f17b06f3399abc9f0e2296a5a78a4bbd11563d674d073ce68d5c2d1521", - "blockNumber": "0x8d3f90", - "transactionHash": "0xca29f6d202329476417894f426f873ac83d841df234b845864e4c745a6fd2038", - "transactionIndex": "0x5", - "logIndex": "0x5", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000020000000000000000000000000000000000000040000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d05e0e" - }, - { - "transactionHash": "0xb99f2e54d8c4e4c08b6264a526e68b71d079424aae46fbad2fa24428578a14fc", - "transactionIndex": "0x6", - "blockHash": "0xef7bc7f17b06f3399abc9f0e2296a5a78a4bbd11563d674d073ce68d5c2d1521", - "blockNumber": "0x8d3f90", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": null, - "cumulativeGasUsed": "0x92b058", - "gasUsed": "0x3a493", - "contractAddress": "0xcDc37d81dAd12A9885Ea979d660588DA4752fa6B", - "logs": [ - { - "address": "0xcDc37d81dAd12A9885Ea979d660588DA4752fa6B", - "topics": [ - "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", - "0x000000000000000000000000a78068f87f2102cce894edb704518f27a1283390" - ], - "data": "0x", - "blockHash": "0xef7bc7f17b06f3399abc9f0e2296a5a78a4bbd11563d674d073ce68d5c2d1521", - "blockNumber": "0x8d3f90", - "transactionHash": "0xb99f2e54d8c4e4c08b6264a526e68b71d079424aae46fbad2fa24428578a14fc", - "transactionIndex": "0x6", - "logIndex": "0x6", - "removed": false - }, - { - "address": "0xcDc37d81dAd12A9885Ea979d660588DA4752fa6B", - "topics": [ - "0xc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da9709", - "0x000000000000000000000000bd9eaf2bee73148c6e21481ade29fd9c73c29b80" - ], - "data": "0x", - "blockHash": "0xef7bc7f17b06f3399abc9f0e2296a5a78a4bbd11563d674d073ce68d5c2d1521", - "blockNumber": "0x8d3f90", - "transactionHash": "0xb99f2e54d8c4e4c08b6264a526e68b71d079424aae46fbad2fa24428578a14fc", - "transactionIndex": "0x6", - "logIndex": "0x7", - "removed": false - }, - { - "address": "0xcDc37d81dAd12A9885Ea979d660588DA4752fa6B", - "topics": [ - "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0xef7bc7f17b06f3399abc9f0e2296a5a78a4bbd11563d674d073ce68d5c2d1521", - "blockNumber": "0x8d3f90", - "transactionHash": "0xb99f2e54d8c4e4c08b6264a526e68b71d079424aae46fbad2fa24428578a14fc", - "transactionIndex": "0x6", - "logIndex": "0x8", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000400000000002000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004080000400000000000008000000000000000001080000000000000000000000000000000000400000000000400000000010000000000000000000000000000000020000000000000000000040000000000000000000000000000000800000000000000000000000000200000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d05e0e" - } - ], - "libraries": [], - "pending": [], - "path": "/Users/drmanhattan/Workspace/StoryProtocol/protocol-contracts/broadcast/Deploy.s.sol/5/run-latest.json", - "returns": {}, - "timestamp": 1687983378, - "chain": 5, - "multi": false, - "commit": "202d6b7" -} \ No newline at end of file diff --git a/broadcast/Deploy.s.sol/5/run-1690240001.json b/broadcast/Deploy.s.sol/5/run-1690240001.json deleted file mode 100644 index 78048901..00000000 --- a/broadcast/Deploy.s.sol/5/run-1690240001.json +++ /dev/null @@ -1,229 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x852e7340599d921a7ff5b7597ab2ff4fb3b4277636192dcbd67d676cf6fffcdb", - "transactionType": "CREATE", - "contractName": "IPAssetRegistryFactory", - "contractAddress": "0x461DF243955aD5493cFa33434c2B7CfF2C583dc7", - "function": null, - "arguments": null, - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x58ec5d", - "value": "0x0", - "data": "0x60a060405234801561001057600080fd5b5061001a3361008d565b604051610026906100dd565b604051809103906000f080158015610042573d6000803e3d6000fd5b5060405161004f906100ea565b6001600160a01b039091168152602001604051809103906000f08015801561007b573d6000803e3d6000fd5b506001600160a01b03166080526100f7565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6136a58061145c83390190565b6105ef80614b0183390190565b60805161133d61011f60003960008181609f0152818161023e0152610440015261133d6000f3fe60806040523480156200001157600080fd5b50600436106200007b5760003560e01c806386df779e116200005657806386df779e14620000f45780638da5cb5b146200010b578063f2fde38b146200012a57600080fd5b80633991fc9d146200008057806349493a4d1462000099578063715018a614620000ea575b600080fd5b62000097620000913660046200083a565b62000141565b005b620000c17f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6200009762000382565b620000c162000105366004620008be565b6200039a565b60005473ffffffffffffffffffffffffffffffffffffffff16620000c1565b620000976200013b3660046200083a565b62000514565b6200014b620005d1565b6200018d73ffffffffffffffffffffffffffffffffffffffff82167fb9d0787c0000000000000000000000000000000000000000000000000000000062000654565b620001f9576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f494950417373657452656769737472790000000000000000000000000000000060448201526064015b60405180910390fd5b6040517f3659cfe600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82811660048301527f00000000000000000000000000000000000000000000000000000000000000001690633659cfe690602401600060405180830381600087803b1580156200028357600080fd5b505af115801562000298573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff167fa8f2f87a44131841a6848a0e54ac181d9f27ca8565b9252b1f49af60507d76928273ffffffffffffffffffffffffffffffffffffffff166354fd4d506040518163ffffffff1660e01b8152600401600060405180830381865afa15801562000320573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052620003689190810190620009c1565b60405162000377919062000ad9565b60405180910390a250565b6200038c620005d1565b6200039860006200067c565b565b600080604051806060016040528060288152602001620012e0602891398051906020012089898989898989604051602401620003dd979695949392919062000b37565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050905060007f0000000000000000000000000000000000000000000000000000000000000000826040516200046e906200082c565b6200047b92919062000b8d565b604051809103906000f08015801562000498573d6000803e3d6000fd5b5090508686604051620004ad92919062000bc6565b60405180910390208173ffffffffffffffffffffffffffffffffffffffff167f423bf0ea6b57d35b37f0caad547ba5e1d340585657e9fec91dcac4375fcd45a98b8b604051620004ff92919062000bd6565b60405180910390a39998505050505050505050565b6200051e620005d1565b73ffffffffffffffffffffffffffffffffffffffff8116620005c3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401620001f0565b620005ce816200067c565b50565b60005473ffffffffffffffffffffffffffffffffffffffff16331462000398576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401620001f0565b60006200066183620006f1565b80156200067557506200067583836200075b565b9392505050565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006200071f827f01ffc9a7000000000000000000000000000000000000000000000000000000006200075b565b801562000755575062000753827fffffffff000000000000000000000000000000000000000000000000000000006200075b565b155b92915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d9150600051905082801562000814575060208210155b8015620008215750600081115b979650505050505050565b6106f38062000bed83390190565b6000602082840312156200084d57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff811681146200067557600080fd5b60008083601f8401126200088557600080fd5b50813567ffffffffffffffff8111156200089e57600080fd5b602083019150836020828501011115620008b757600080fd5b9250929050565b60008060008060008060006080888a031215620008da57600080fd5b87359650602088013567ffffffffffffffff80821115620008fa57600080fd5b620009088b838c0162000872565b909850965060408a01359150808211156200092257600080fd5b620009308b838c0162000872565b909650945060608a01359150808211156200094a57600080fd5b50620009598a828b0162000872565b989b979a50959850939692959293505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60005b83811015620009b85781810151838201526020016200099e565b50506000910152565b600060208284031215620009d457600080fd5b815167ffffffffffffffff80821115620009ed57600080fd5b818401915084601f83011262000a0257600080fd5b81518181111562000a175762000a176200096c565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171562000a605762000a606200096c565b8160405282815287602084870101111562000a7a57600080fd5b620008218360208301602088016200099b565b6000815180845262000aa78160208601602086016200099b565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600062000675602083018462000a8d565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b87815260806020820152600062000b5360808301888a62000aee565b828103604084015262000b6881878962000aee565b9050828103606084015262000b7f81858762000aee565b9a9950505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff8316815260406020820152600062000bbe604083018462000a8d565b949350505050565b8183823760009101908152919050565b60208152600062000bbe60208301848662000aee56fe60806040526040516106f33803806106f383398101604081905261002291610420565b61002e82826000610035565b505061054a565b61003e836100f6565b6040516001600160a01b038416907f1cf3b03a6cf19fa2baba4df148e9dcabedea7f8a5c07840e207e5c089be95d3e90600090a260008251118061007f5750805b156100f1576100ef836001600160a01b0316635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156100c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100e991906104e0565b8361027a565b505b505050565b6001600160a01b0381163b6101605760405162461bcd60e51b815260206004820152602560248201527f455243313936373a206e657720626561636f6e206973206e6f74206120636f6e6044820152641d1c9858dd60da1b60648201526084015b60405180910390fd5b6101d4816001600160a01b0316635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101c591906104e0565b6001600160a01b03163b151590565b6102395760405162461bcd60e51b815260206004820152603060248201527f455243313936373a20626561636f6e20696d706c656d656e746174696f6e206960448201526f1cc81b9bdd08184818dbdb9d1c9858dd60821b6064820152608401610157565b7fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d5080546001600160a01b0319166001600160a01b0392909216919091179055565b606061029f83836040518060600160405280602781526020016106cc602791396102a6565b9392505050565b6060600080856001600160a01b0316856040516102c391906104fb565b600060405180830381855af49150503d80600081146102fe576040519150601f19603f3d011682016040523d82523d6000602084013e610303565b606091505b5090925090506103158683838761031f565b9695505050505050565b6060831561038e578251600003610387576001600160a01b0385163b6103875760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610157565b5081610398565b61039883836103a0565b949350505050565b8151156103b05781518083602001fd5b8060405162461bcd60e51b81526004016101579190610517565b80516001600160a01b03811681146103e157600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b838110156104175781810151838201526020016103ff565b50506000910152565b6000806040838503121561043357600080fd5b61043c836103ca565b60208401519092506001600160401b038082111561045957600080fd5b818501915085601f83011261046d57600080fd5b81518181111561047f5761047f6103e6565b604051601f8201601f19908116603f011681019083821181831017156104a7576104a76103e6565b816040528281528860208487010111156104c057600080fd5b6104d18360208301602088016103fc565b80955050505050509250929050565b6000602082840312156104f257600080fd5b61029f826103ca565b6000825161050d8184602087016103fc565b9190910192915050565b60208152600082518060208401526105368160408501602087016103fc565b601f01601f19169190910160400192915050565b610173806105596000396000f3fe60806040523661001357610011610017565b005b6100115b610027610022610029565b6100dc565b565b60006100697fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d505473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff16635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156100b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100d79190610100565b905090565b3660008037600080366000845af43d6000803e8080156100fb573d6000f35b3d6000fd5b60006020828403121561011257600080fd5b815173ffffffffffffffffffffffffffffffffffffffff8116811461013657600080fd5b939250505056fea26469706673582212206e19af89d0e39d5d76f1b5b6bd963ba5f8c6c6fc546e614a5bb49e1174b5e59d64736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564696e697469616c697a652875696e743235362c737472696e672c737472696e672c737472696e6729a26469706673582212209c23c78bb385d6116b3a9bf5d75450aee14a9f903fa3a8aa01d107c4860fb97b64736f6c6343000813003360806040523480156200001157600080fd5b506200001c62000022565b620000e4565b600054610100900460ff16156200008f5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff9081161015620000e2576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6135b180620000f46000396000f3fe608060405234801561001057600080fd5b50600436106101ae5760003560e01c806370a08231116100ee578063ac9650d811610097578063c87b56dd11610071578063c87b56dd146103cb578063e985e9c5146103de578063eb1f6b5a14610427578063f46aa1891461044757600080fd5b8063ac9650d814610371578063b88d4fde14610391578063b9d0787c146103a457600080fd5b80639dc6693c116100c85780639dc6693c14610338578063a22cb4651461034b578063a8185a2e1461035e57600080fd5b806370a08231146103155780637284e4161461032857806395d89b411461033057600080fd5b80633c7fc59d1161015b5780634ff0a2b2116101355780634ff0a2b2146102ae57806354fd4d50146102b65780636352211e146102ef57806369cf2c371461030257600080fd5b80633c7fc59d1461026657806342842e0e1461028857806346193ccd1461029b57600080fd5b8063095ea7b31161018c578063095ea7b3146102285780630f7966c01461023d57806323b872dd1461025357600080fd5b806301ffc9a7146101b357806306fdde03146101db578063081812fc146101f0575b600080fd5b6101c66101c13660046127b3565b61045a565b60405190151581526020015b60405180910390f35b6101e36104b6565b6040516101d2919061283e565b6102036101fe366004612851565b610548565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101d2565b61023b610236366004612893565b61057c565b005b610245601481565b6040519081526020016101d2565b61023b6102613660046128bd565b6106d9565b610279610274366004612851565b610760565b6040516101d2939291906129c0565b61023b6102963660046128bd565b6107c8565b61023b6102a9366004612a6b565b6107e3565b61023b610a82565b60408051808201909152600581527f302e312e3000000000000000000000000000000000000000000000000000000060208201526101e3565b6102036102fd366004612851565b610bf2565b610245610310366004612b1e565b610c64565b610245610323366004612b39565b610cde565b6101e3610d92565b6101e3610e67565b61023b610346366004612b99565b610e76565b61023b610359366004612be5565b610fef565b61024561036c366004612c21565b610ffe565b61038461037f366004612cfb565b6110a0565b6040516101d29190612d3d565b61023b61039f366004612dec565b611195565b7f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e37a54610245565b6101e36103d9366004612851565b611223565b6101c66103ec366004612ee6565b73ffffffffffffffffffffffffffffffffffffffff9182166000908152606a6020908152604080832093909416825291909152205460ff1690565b61043a610435366004612851565b611238565b6040516101d29190612f19565b610245610455366004612f2c565b61146b565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb9d0787c0000000000000000000000000000000000000000000000000000000014806104b057506104b0826114e1565b92915050565b6060606580546104c590612f6d565b80601f01602080910402602001604051908101604052809291908181526020018280546104f190612f6d565b801561053e5780601f106105135761010080835404028352916020019161053e565b820191906000526020600020905b81548152906001019060200180831161052157829003601f168201915b5050505050905090565b6000610553826115c4565b5060009081526069602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b600061058782610bf2565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361062f5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff82161480610658575061065881336103ec565b6106ca5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610626565b6106d48383611635565b505050565b6106e333826116d5565b6107555760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610626565b6106d4838383611794565b61076861274d565b6000606061077584611238565b925060007f472b429d656ecfb82e6e0cff4b4090577a009a43252b08434ed2201373a9647d6000868152602082905260409020805460ff1694509091506107be60018201611a41565b9496939550505050565b6106d483838360405180602001604052806000815250611195565b600054610100900460ff16158080156108035750600054600160ff909116105b8061081d5750303b15801561081d575060005460ff166001145b61088f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610626565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156108ed57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61096087878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8b018190048102820181019092528981529250899150889081908401838280828437600092019190915250611a4e92505050565b610968611ad5565b876000036109a2576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e37a8890557f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e3787f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e379610a1384868361300e565b50508015610a7857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050505050565b600054610100900460ff1615808015610aa25750600054600160ff909116105b80610abc5750303b158015610abc575060005460ff166001145b610b2e5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610626565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610b8c57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b8015610bef57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50565b60008181526067602052604081205473ffffffffffffffffffffffffffffffffffffffff16806104b05760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610626565b60007f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e378818181856006811115610c9c57610c9c6128f9565b6006811115610cad57610cad6128f9565b815260200190815260200160002054905080600003610cd757610ccf84611b54565b949350505050565b9392505050565b600073ffffffffffffffffffffffffffffffffffffffff8216610d695760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e657200000000000000000000000000000000000000000000006064820152608401610626565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526068602052604090205490565b7f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e37980546060917f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e37891610de390612f6d565b80601f0160208091040260200160405190810160405280929190818152602001828054610e0f90612f6d565b8015610e5c5780601f10610e3157610100808354040283529160200191610e5c565b820191906000526020600020905b815481529060010190602001808311610e3f57829003601f168201915b505050505091505090565b6060606680546104c590612f6d565b806014811115610eb2576040517f77d10abd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481527f472b429d656ecfb82e6e0cff4b4090577a009a43252b08434ed2201373a9647d60208190526040822054909160ff909116905b84811015610faa57816006811115610f0557610f056128f9565b610f26878784818110610f1a57610f1a613129565b90506020020135611bcf565b6006811115610f3757610f376128f9565b14610f6e576040517f50c3390e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610fa1868683818110610f8357610f83613129565b60008b81526020888152604090912060010193910201359050611c32565b50600101610eeb565b50857f823d677ed42b321275c6b3aa7040f32e41d12aea91120455a19a60ae310b0af3828787604051610fdf93929190613158565b60405180910390a2505050505050565b610ffa338383611c3e565b5050565b60008061101160048c8c8c8c8c8c61146b565b905060007f472b429d656ecfb82e6e0cff4b4090577a009a43252b08434ed2201373a9647d6000838152602082905260409020805491925087917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001836006811115611081576110816128f9565b0217905550611091828686610e76565b509a9950505050505050505050565b60608167ffffffffffffffff8111156110bb576110bb612dbd565b6040519080825280602002602001820160405280156110ee57816020015b60608152602001906001900390816110d95790505b50905060005b8281101561118e5761115e3085858481811061111257611112613129565b905060200281019061112491906131b8565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611d5192505050565b82828151811061117057611170613129565b602002602001018190525080806111869061324c565b9150506110f4565b5092915050565b61119f33836116d5565b6112115760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610626565b61121d84848484611e76565b50505050565b606061122e82611238565b6040015192915050565b61124061274d565b60008281527f9d56f7e7ee381479643316c052563e5824551ecde3f8bff0aa320131666f6879602081905260409182902082516080810190935280549192918290829061128c90612f6d565b80601f01602080910402602001604051908101604052809291908181526020018280546112b890612f6d565b80156113055780601f106112da57610100808354040283529160200191611305565b820191906000526020600020905b8154815290600101906020018083116112e857829003601f168201915b5050505050815260200160018201805461131e90612f6d565b80601f016020809104026020016040519081016040528092919081815260200182805461134a90612f6d565b80156113975780601f1061136c57610100808354040283529160200191611397565b820191906000526020600020905b81548152906001019060200180831161137a57829003601f168201915b505050505081526020016002820180546113b090612f6d565b80601f01602080910402602001604051908101604052809291908181526020018280546113dc90612f6d565b80156114295780601f106113fe57610100808354040283529160200191611429565b820191906000526020600020905b81548152906001019060200180831161140c57829003601f168201915b5050509183525050600382015460209091019060ff166006811115611450576114506128f9565b6006811115611461576114616128f9565b9052509392505050565b600080886006811115611480576114806128f9565b036114b7576040517ffa19fa0700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006114c3338a611eff565b90506114d481898989898989611fc5565b5098975050505050505050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061157457507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b806104b057507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316146104b0565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff16610bef5760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610626565b600081815260696020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117909155819061168f82610bf2565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000806116e183610bf2565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061174f575073ffffffffffffffffffffffffffffffffffffffff8082166000908152606a602090815260408083209388168352929052205460ff165b80610ccf57508373ffffffffffffffffffffffffffffffffffffffff1661177584610548565b73ffffffffffffffffffffffffffffffffffffffff1614949350505050565b8273ffffffffffffffffffffffffffffffffffffffff166117b482610bf2565b73ffffffffffffffffffffffffffffffffffffffff161461183d5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610626565b73ffffffffffffffffffffffffffffffffffffffff82166118c55760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610626565b8273ffffffffffffffffffffffffffffffffffffffff166118e582610bf2565b73ffffffffffffffffffffffffffffffffffffffff161461196e5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610626565b600081815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff8781168086526068855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905590871680865283862080546001019055868652606790945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b60606000610cd7836120fb565b600054610100900460ff16611acb5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610626565b610ffa8282612157565b600054610100900460ff16611b525760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610626565b565b600080826006811115611b6957611b696128f9565b03611ba257816040517f877df4f20000000000000000000000000000000000000000000000000000000081526004016106269190613284565b6001826006811115611bb657611bb66128f9565b611bc09190613292565b6104b09064e8d4a510006132a5565b6000611be064e8d4a51000836132eb565b1580611bfa5750611bf7600664e8d4a510006132a5565b82115b15611c0757506000919050565b611c1664e8d4a51000836132ff565b611c21906001613313565b60068111156104b0576104b06128f9565b6000610cd783836121ed565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611cb95760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610626565b73ffffffffffffffffffffffffffffffffffffffff8381166000818152606a602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b606073ffffffffffffffffffffffffffffffffffffffff83163b611ddd5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e747261637400000000000000000000000000000000000000000000000000006064820152608401610626565b6000808473ffffffffffffffffffffffffffffffffffffffff1684604051611e059190613326565b600060405180830381855af49150503d8060008114611e40576040519150601f19603f3d011682016040523d82523d6000602084013e611e45565b606091505b5091509150611e6d82826040518060600160405280602781526020016135556027913961223c565b95945050505050565b611e81848484611794565b611e8d84848484612255565b61121d5760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610626565b600080611f0b83610c64565b611f16906001613313565b9050611f218361242e565b811115611f5a576040517fd5fdab4f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e37881816000866006811115611f9157611f916128f9565b6006811115611fa257611fa26128f9565b8152602081019190915260400160002055611fbd85836124a9565b509392505050565b60008781527f9d56f7e7ee381479643316c052563e5824551ecde3f8bff0aa320131666f68796020819052604082206003810154839060ff16600681111561200f5761200f6128f9565b0361205f5761201d8a611bcf565b6003820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001836006811115612059576120596128f9565b02179055505b8061206b898b8361300e565b506001810161207b87898361300e565b506002810161208b85878361300e565b50600381015460ff1660068111156120a5576120a56128f9565b8a7fa82032c25afb0149419a68bef0de224f05ddf61f663c81661d7f86f32f0381f88b8b8b8b8b8b6040516120df9695949392919061338b565b60405180910390a36003015460ff169998505050505050505050565b60608160000180548060200260200160405190810160405280929190818152602001828054801561214b57602002820191906000526020600020905b815481526020019060010190808311612137575b50505050509050919050565b600054610100900460ff166121d45760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610626565b60656121e083826133d4565b5060666106d482826133d4565b6000818152600183016020526040812054612234575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556104b0565b5060006104b0565b6060831561224b575081610cd7565b610cd783836124c3565b600073ffffffffffffffffffffffffffffffffffffffff84163b15612423576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a02906122cc9033908990889088906004016134ee565b6020604051808303816000875af1925050508015612325575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261232291810190613537565b60015b6123d8573d808015612353576040519150601f19603f3d011682016040523d82523d6000602084013e612358565b606091505b5080516000036123d05760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610626565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050610ccf565b506001949350505050565b600080826006811115612443576124436128f9565b0361247c57816040517f877df4f20000000000000000000000000000000000000000000000000000000081526004016106269190613284565b6001826006811115612490576124906128f9565b61249f9064e8d4a510006132a5565b6104b09190613292565b610ffa8282604051806020016040528060008152506124ed565b8151156124d35781518083602001fd5b8060405162461bcd60e51b8152600401610626919061283e565b6124f78383612576565b6125046000848484612255565b6106d45760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610626565b73ffffffffffffffffffffffffffffffffffffffff82166125d95760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610626565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff161561264b5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610626565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff16156126bd5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610626565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260686020908152604080832080546001019055848352606790915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b604051806080016040528060608152602001606081526020016060815260200160006006811115612780576127806128f9565b905290565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610bef57600080fd5b6000602082840312156127c557600080fd5b8135610cd781612785565b60005b838110156127eb5781810151838201526020016127d3565b50506000910152565b6000815180845261280c8160208601602086016127d0565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610cd760208301846127f4565b60006020828403121561286357600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461288e57600080fd5b919050565b600080604083850312156128a657600080fd5b6128af8361286a565b946020939093013593505050565b6000806000606084860312156128d257600080fd5b6128db8461286a565b92506128e96020850161286a565b9150604084013590509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6007811061295f577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b600081516080845261297860808501826127f4565b90506020830151848203602086015261299182826127f4565b915050604083015184820360408601526129ab82826127f4565b9150506060830151611fbd6060860182612928565b6060815260006129d36060830186612963565b60206129e181850187612928565b838203604085015284518083528186019282019060005b81811015612a14578451835293830193918301916001016129f8565b509098975050505050505050565b60008083601f840112612a3457600080fd5b50813567ffffffffffffffff811115612a4c57600080fd5b602083019150836020828501011115612a6457600080fd5b9250929050565b60008060008060008060006080888a031215612a8657600080fd5b87359650602088013567ffffffffffffffff80821115612aa557600080fd5b612ab18b838c01612a22565b909850965060408a0135915080821115612aca57600080fd5b612ad68b838c01612a22565b909650945060608a0135915080821115612aef57600080fd5b50612afc8a828b01612a22565b989b979a50959850939692959293505050565b80356007811061288e57600080fd5b600060208284031215612b3057600080fd5b610cd782612b0f565b600060208284031215612b4b57600080fd5b610cd78261286a565b60008083601f840112612b6657600080fd5b50813567ffffffffffffffff811115612b7e57600080fd5b6020830191508360208260051b8501011115612a6457600080fd5b600080600060408486031215612bae57600080fd5b83359250602084013567ffffffffffffffff811115612bcc57600080fd5b612bd886828701612b54565b9497909650939450505050565b60008060408385031215612bf857600080fd5b612c018361286a565b915060208301358015158114612c1657600080fd5b809150509250929050565b600080600080600080600080600060a08a8c031215612c3f57600080fd5b893567ffffffffffffffff80821115612c5757600080fd5b612c638d838e01612a22565b909b50995060208c0135915080821115612c7c57600080fd5b612c888d838e01612a22565b909950975060408c0135915080821115612ca157600080fd5b612cad8d838e01612a22565b9097509550859150612cc160608d01612b0f565b945060808c0135915080821115612cd757600080fd5b50612ce48c828d01612b54565b915080935050809150509295985092959850929598565b60008060208385031215612d0e57600080fd5b823567ffffffffffffffff811115612d2557600080fd5b612d3185828601612b54565b90969095509350505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015612db0577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452612d9e8583516127f4565b94509285019290850190600101612d64565b5092979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060008060808587031215612e0257600080fd5b612e0b8561286a565b9350612e196020860161286a565b925060408501359150606085013567ffffffffffffffff80821115612e3d57600080fd5b818701915087601f830112612e5157600080fd5b813581811115612e6357612e63612dbd565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715612ea957612ea9612dbd565b816040528281528a6020848701011115612ec257600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b60008060408385031215612ef957600080fd5b612f028361286a565b9150612f106020840161286a565b90509250929050565b602081526000610cd76020830184612963565b60008060008060008060006080888a031215612f4757600080fd5b612f5088612b0f565b9650602088013567ffffffffffffffff80821115612aa557600080fd5b600181811c90821680612f8157607f821691505b602082108103612fba577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f8211156106d457600081815260208120601f850160051c81016020861015612fe75750805b601f850160051c820191505b8181101561300657828155600101612ff3565b505050505050565b67ffffffffffffffff83111561302657613026612dbd565b61303a836130348354612f6d565b83612fc0565b6000601f84116001811461308c57600085156130565750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355613122565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b828110156130db57868501358255602094850194600190920191016130bb565b5086821015613116577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6131628185612928565b6040602082015281604082015260007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83111561319e57600080fd5b8260051b8085606085013791909101606001949350505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126131ed57600080fd5b83018035915067ffffffffffffffff82111561320857600080fd5b602001915036819003821315612a6457600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361327d5761327d61321d565b5060010190565b602081016104b08284612928565b818103818111156104b0576104b061321d565b80820281158282048414176104b0576104b061321d565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000826132fa576132fa6132bc565b500690565b60008261330e5761330e6132bc565b500490565b808201808211156104b0576104b061321d565b600082516133388184602087016127d0565b9190910192915050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60608152600061339f60608301888a613342565b82810360208401526133b2818789613342565b905082810360408401526133c7818587613342565b9998505050505050505050565b815167ffffffffffffffff8111156133ee576133ee612dbd565b613402816133fc8454612f6d565b84612fc0565b602080601f831160018114613455576000841561341f5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555613006565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156134a257888601518255948401946001909101908401613483565b50858210156134de57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600073ffffffffffffffffffffffffffffffffffffffff80871683528086166020840152508360408301526080606083015261352d60808301846127f4565b9695505050505050565b60006020828403121561354957600080fd5b8151610cd78161278556fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122078f441787f11096e9e5b9cb7d7785bc623e667ca342c5fa049a603e7a2dc1ff064736f6c63430008130033608060405234801561001057600080fd5b506040516105ef3803806105ef83398101604081905261002f9161013a565b61003833610047565b61004181610097565b5061016a565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0381163b6101185760405162461bcd60e51b815260206004820152603360248201527f5570677261646561626c65426561636f6e3a20696d706c656d656e746174696f60448201527f6e206973206e6f74206120636f6e747261637400000000000000000000000000606482015260840160405180910390fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b60006020828403121561014c57600080fd5b81516001600160a01b038116811461016357600080fd5b9392505050565b610476806101796000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c8063715018a611610050578063715018a6146100c45780638da5cb5b146100cc578063f2fde38b146100ea57600080fd5b80633659cfe61461006c5780635c60da1b14610081575b600080fd5b61007f61007a366004610403565b6100fd565b005b60015473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61007f610152565b60005473ffffffffffffffffffffffffffffffffffffffff1661009b565b61007f6100f8366004610403565b610166565b610105610222565b61010e816102a3565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b61015a610222565b610164600061038e565b565b61016e610222565b73ffffffffffffffffffffffffffffffffffffffff8116610216576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61021f8161038e565b50565b60005473ffffffffffffffffffffffffffffffffffffffff163314610164576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161020d565b73ffffffffffffffffffffffffffffffffffffffff81163b610347576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603360248201527f5570677261646561626c65426561636f6e3a20696d706c656d656e746174696f60448201527f6e206973206e6f74206120636f6e747261637400000000000000000000000000606482015260840161020d565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006020828403121561041557600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461043957600080fd5b939250505056fea264697066735822122048ebef5dea79554c6de8af09830ddb871c241a46dee33849e34fac866c5894bd64736f6c63430008130033", - "nonce": "0x21", - "accessList": [] - }, - "additionalContracts": [ - { - "transactionType": "CREATE", - "address": "0x3a10Db3a7E56243f29709ca0830b08bD1a9F4243", - "initCode": "60806040523480156200001157600080fd5b506200001c62000022565b620000e4565b600054610100900460ff16156200008f5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff9081161015620000e2576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6135b180620000f46000396000f3fe608060405234801561001057600080fd5b50600436106101ae5760003560e01c806370a08231116100ee578063ac9650d811610097578063c87b56dd11610071578063c87b56dd146103cb578063e985e9c5146103de578063eb1f6b5a14610427578063f46aa1891461044757600080fd5b8063ac9650d814610371578063b88d4fde14610391578063b9d0787c146103a457600080fd5b80639dc6693c116100c85780639dc6693c14610338578063a22cb4651461034b578063a8185a2e1461035e57600080fd5b806370a08231146103155780637284e4161461032857806395d89b411461033057600080fd5b80633c7fc59d1161015b5780634ff0a2b2116101355780634ff0a2b2146102ae57806354fd4d50146102b65780636352211e146102ef57806369cf2c371461030257600080fd5b80633c7fc59d1461026657806342842e0e1461028857806346193ccd1461029b57600080fd5b8063095ea7b31161018c578063095ea7b3146102285780630f7966c01461023d57806323b872dd1461025357600080fd5b806301ffc9a7146101b357806306fdde03146101db578063081812fc146101f0575b600080fd5b6101c66101c13660046127b3565b61045a565b60405190151581526020015b60405180910390f35b6101e36104b6565b6040516101d2919061283e565b6102036101fe366004612851565b610548565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101d2565b61023b610236366004612893565b61057c565b005b610245601481565b6040519081526020016101d2565b61023b6102613660046128bd565b6106d9565b610279610274366004612851565b610760565b6040516101d2939291906129c0565b61023b6102963660046128bd565b6107c8565b61023b6102a9366004612a6b565b6107e3565b61023b610a82565b60408051808201909152600581527f302e312e3000000000000000000000000000000000000000000000000000000060208201526101e3565b6102036102fd366004612851565b610bf2565b610245610310366004612b1e565b610c64565b610245610323366004612b39565b610cde565b6101e3610d92565b6101e3610e67565b61023b610346366004612b99565b610e76565b61023b610359366004612be5565b610fef565b61024561036c366004612c21565b610ffe565b61038461037f366004612cfb565b6110a0565b6040516101d29190612d3d565b61023b61039f366004612dec565b611195565b7f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e37a54610245565b6101e36103d9366004612851565b611223565b6101c66103ec366004612ee6565b73ffffffffffffffffffffffffffffffffffffffff9182166000908152606a6020908152604080832093909416825291909152205460ff1690565b61043a610435366004612851565b611238565b6040516101d29190612f19565b610245610455366004612f2c565b61146b565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb9d0787c0000000000000000000000000000000000000000000000000000000014806104b057506104b0826114e1565b92915050565b6060606580546104c590612f6d565b80601f01602080910402602001604051908101604052809291908181526020018280546104f190612f6d565b801561053e5780601f106105135761010080835404028352916020019161053e565b820191906000526020600020905b81548152906001019060200180831161052157829003601f168201915b5050505050905090565b6000610553826115c4565b5060009081526069602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b600061058782610bf2565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361062f5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff82161480610658575061065881336103ec565b6106ca5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610626565b6106d48383611635565b505050565b6106e333826116d5565b6107555760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610626565b6106d4838383611794565b61076861274d565b6000606061077584611238565b925060007f472b429d656ecfb82e6e0cff4b4090577a009a43252b08434ed2201373a9647d6000868152602082905260409020805460ff1694509091506107be60018201611a41565b9496939550505050565b6106d483838360405180602001604052806000815250611195565b600054610100900460ff16158080156108035750600054600160ff909116105b8061081d5750303b15801561081d575060005460ff166001145b61088f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610626565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156108ed57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61096087878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8b018190048102820181019092528981529250899150889081908401838280828437600092019190915250611a4e92505050565b610968611ad5565b876000036109a2576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e37a8890557f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e3787f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e379610a1384868361300e565b50508015610a7857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050505050565b600054610100900460ff1615808015610aa25750600054600160ff909116105b80610abc5750303b158015610abc575060005460ff166001145b610b2e5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610626565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610b8c57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b8015610bef57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50565b60008181526067602052604081205473ffffffffffffffffffffffffffffffffffffffff16806104b05760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610626565b60007f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e378818181856006811115610c9c57610c9c6128f9565b6006811115610cad57610cad6128f9565b815260200190815260200160002054905080600003610cd757610ccf84611b54565b949350505050565b9392505050565b600073ffffffffffffffffffffffffffffffffffffffff8216610d695760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e657200000000000000000000000000000000000000000000006064820152608401610626565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526068602052604090205490565b7f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e37980546060917f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e37891610de390612f6d565b80601f0160208091040260200160405190810160405280929190818152602001828054610e0f90612f6d565b8015610e5c5780601f10610e3157610100808354040283529160200191610e5c565b820191906000526020600020905b815481529060010190602001808311610e3f57829003601f168201915b505050505091505090565b6060606680546104c590612f6d565b806014811115610eb2576040517f77d10abd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481527f472b429d656ecfb82e6e0cff4b4090577a009a43252b08434ed2201373a9647d60208190526040822054909160ff909116905b84811015610faa57816006811115610f0557610f056128f9565b610f26878784818110610f1a57610f1a613129565b90506020020135611bcf565b6006811115610f3757610f376128f9565b14610f6e576040517f50c3390e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610fa1868683818110610f8357610f83613129565b60008b81526020888152604090912060010193910201359050611c32565b50600101610eeb565b50857f823d677ed42b321275c6b3aa7040f32e41d12aea91120455a19a60ae310b0af3828787604051610fdf93929190613158565b60405180910390a2505050505050565b610ffa338383611c3e565b5050565b60008061101160048c8c8c8c8c8c61146b565b905060007f472b429d656ecfb82e6e0cff4b4090577a009a43252b08434ed2201373a9647d6000838152602082905260409020805491925087917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001836006811115611081576110816128f9565b0217905550611091828686610e76565b509a9950505050505050505050565b60608167ffffffffffffffff8111156110bb576110bb612dbd565b6040519080825280602002602001820160405280156110ee57816020015b60608152602001906001900390816110d95790505b50905060005b8281101561118e5761115e3085858481811061111257611112613129565b905060200281019061112491906131b8565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611d5192505050565b82828151811061117057611170613129565b602002602001018190525080806111869061324c565b9150506110f4565b5092915050565b61119f33836116d5565b6112115760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610626565b61121d84848484611e76565b50505050565b606061122e82611238565b6040015192915050565b61124061274d565b60008281527f9d56f7e7ee381479643316c052563e5824551ecde3f8bff0aa320131666f6879602081905260409182902082516080810190935280549192918290829061128c90612f6d565b80601f01602080910402602001604051908101604052809291908181526020018280546112b890612f6d565b80156113055780601f106112da57610100808354040283529160200191611305565b820191906000526020600020905b8154815290600101906020018083116112e857829003601f168201915b5050505050815260200160018201805461131e90612f6d565b80601f016020809104026020016040519081016040528092919081815260200182805461134a90612f6d565b80156113975780601f1061136c57610100808354040283529160200191611397565b820191906000526020600020905b81548152906001019060200180831161137a57829003601f168201915b505050505081526020016002820180546113b090612f6d565b80601f01602080910402602001604051908101604052809291908181526020018280546113dc90612f6d565b80156114295780601f106113fe57610100808354040283529160200191611429565b820191906000526020600020905b81548152906001019060200180831161140c57829003601f168201915b5050509183525050600382015460209091019060ff166006811115611450576114506128f9565b6006811115611461576114616128f9565b9052509392505050565b600080886006811115611480576114806128f9565b036114b7576040517ffa19fa0700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006114c3338a611eff565b90506114d481898989898989611fc5565b5098975050505050505050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061157457507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b806104b057507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316146104b0565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff16610bef5760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610626565b600081815260696020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117909155819061168f82610bf2565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000806116e183610bf2565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061174f575073ffffffffffffffffffffffffffffffffffffffff8082166000908152606a602090815260408083209388168352929052205460ff165b80610ccf57508373ffffffffffffffffffffffffffffffffffffffff1661177584610548565b73ffffffffffffffffffffffffffffffffffffffff1614949350505050565b8273ffffffffffffffffffffffffffffffffffffffff166117b482610bf2565b73ffffffffffffffffffffffffffffffffffffffff161461183d5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610626565b73ffffffffffffffffffffffffffffffffffffffff82166118c55760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610626565b8273ffffffffffffffffffffffffffffffffffffffff166118e582610bf2565b73ffffffffffffffffffffffffffffffffffffffff161461196e5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610626565b600081815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff8781168086526068855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905590871680865283862080546001019055868652606790945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b60606000610cd7836120fb565b600054610100900460ff16611acb5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610626565b610ffa8282612157565b600054610100900460ff16611b525760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610626565b565b600080826006811115611b6957611b696128f9565b03611ba257816040517f877df4f20000000000000000000000000000000000000000000000000000000081526004016106269190613284565b6001826006811115611bb657611bb66128f9565b611bc09190613292565b6104b09064e8d4a510006132a5565b6000611be064e8d4a51000836132eb565b1580611bfa5750611bf7600664e8d4a510006132a5565b82115b15611c0757506000919050565b611c1664e8d4a51000836132ff565b611c21906001613313565b60068111156104b0576104b06128f9565b6000610cd783836121ed565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611cb95760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610626565b73ffffffffffffffffffffffffffffffffffffffff8381166000818152606a602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b606073ffffffffffffffffffffffffffffffffffffffff83163b611ddd5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e747261637400000000000000000000000000000000000000000000000000006064820152608401610626565b6000808473ffffffffffffffffffffffffffffffffffffffff1684604051611e059190613326565b600060405180830381855af49150503d8060008114611e40576040519150601f19603f3d011682016040523d82523d6000602084013e611e45565b606091505b5091509150611e6d82826040518060600160405280602781526020016135556027913961223c565b95945050505050565b611e81848484611794565b611e8d84848484612255565b61121d5760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610626565b600080611f0b83610c64565b611f16906001613313565b9050611f218361242e565b811115611f5a576040517fd5fdab4f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e37881816000866006811115611f9157611f916128f9565b6006811115611fa257611fa26128f9565b8152602081019190915260400160002055611fbd85836124a9565b509392505050565b60008781527f9d56f7e7ee381479643316c052563e5824551ecde3f8bff0aa320131666f68796020819052604082206003810154839060ff16600681111561200f5761200f6128f9565b0361205f5761201d8a611bcf565b6003820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001836006811115612059576120596128f9565b02179055505b8061206b898b8361300e565b506001810161207b87898361300e565b506002810161208b85878361300e565b50600381015460ff1660068111156120a5576120a56128f9565b8a7fa82032c25afb0149419a68bef0de224f05ddf61f663c81661d7f86f32f0381f88b8b8b8b8b8b6040516120df9695949392919061338b565b60405180910390a36003015460ff169998505050505050505050565b60608160000180548060200260200160405190810160405280929190818152602001828054801561214b57602002820191906000526020600020905b815481526020019060010190808311612137575b50505050509050919050565b600054610100900460ff166121d45760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610626565b60656121e083826133d4565b5060666106d482826133d4565b6000818152600183016020526040812054612234575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556104b0565b5060006104b0565b6060831561224b575081610cd7565b610cd783836124c3565b600073ffffffffffffffffffffffffffffffffffffffff84163b15612423576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a02906122cc9033908990889088906004016134ee565b6020604051808303816000875af1925050508015612325575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261232291810190613537565b60015b6123d8573d808015612353576040519150601f19603f3d011682016040523d82523d6000602084013e612358565b606091505b5080516000036123d05760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610626565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050610ccf565b506001949350505050565b600080826006811115612443576124436128f9565b0361247c57816040517f877df4f20000000000000000000000000000000000000000000000000000000081526004016106269190613284565b6001826006811115612490576124906128f9565b61249f9064e8d4a510006132a5565b6104b09190613292565b610ffa8282604051806020016040528060008152506124ed565b8151156124d35781518083602001fd5b8060405162461bcd60e51b8152600401610626919061283e565b6124f78383612576565b6125046000848484612255565b6106d45760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610626565b73ffffffffffffffffffffffffffffffffffffffff82166125d95760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610626565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff161561264b5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610626565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff16156126bd5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610626565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260686020908152604080832080546001019055848352606790915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b604051806080016040528060608152602001606081526020016060815260200160006006811115612780576127806128f9565b905290565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610bef57600080fd5b6000602082840312156127c557600080fd5b8135610cd781612785565b60005b838110156127eb5781810151838201526020016127d3565b50506000910152565b6000815180845261280c8160208601602086016127d0565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610cd760208301846127f4565b60006020828403121561286357600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461288e57600080fd5b919050565b600080604083850312156128a657600080fd5b6128af8361286a565b946020939093013593505050565b6000806000606084860312156128d257600080fd5b6128db8461286a565b92506128e96020850161286a565b9150604084013590509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6007811061295f577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b600081516080845261297860808501826127f4565b90506020830151848203602086015261299182826127f4565b915050604083015184820360408601526129ab82826127f4565b9150506060830151611fbd6060860182612928565b6060815260006129d36060830186612963565b60206129e181850187612928565b838203604085015284518083528186019282019060005b81811015612a14578451835293830193918301916001016129f8565b509098975050505050505050565b60008083601f840112612a3457600080fd5b50813567ffffffffffffffff811115612a4c57600080fd5b602083019150836020828501011115612a6457600080fd5b9250929050565b60008060008060008060006080888a031215612a8657600080fd5b87359650602088013567ffffffffffffffff80821115612aa557600080fd5b612ab18b838c01612a22565b909850965060408a0135915080821115612aca57600080fd5b612ad68b838c01612a22565b909650945060608a0135915080821115612aef57600080fd5b50612afc8a828b01612a22565b989b979a50959850939692959293505050565b80356007811061288e57600080fd5b600060208284031215612b3057600080fd5b610cd782612b0f565b600060208284031215612b4b57600080fd5b610cd78261286a565b60008083601f840112612b6657600080fd5b50813567ffffffffffffffff811115612b7e57600080fd5b6020830191508360208260051b8501011115612a6457600080fd5b600080600060408486031215612bae57600080fd5b83359250602084013567ffffffffffffffff811115612bcc57600080fd5b612bd886828701612b54565b9497909650939450505050565b60008060408385031215612bf857600080fd5b612c018361286a565b915060208301358015158114612c1657600080fd5b809150509250929050565b600080600080600080600080600060a08a8c031215612c3f57600080fd5b893567ffffffffffffffff80821115612c5757600080fd5b612c638d838e01612a22565b909b50995060208c0135915080821115612c7c57600080fd5b612c888d838e01612a22565b909950975060408c0135915080821115612ca157600080fd5b612cad8d838e01612a22565b9097509550859150612cc160608d01612b0f565b945060808c0135915080821115612cd757600080fd5b50612ce48c828d01612b54565b915080935050809150509295985092959850929598565b60008060208385031215612d0e57600080fd5b823567ffffffffffffffff811115612d2557600080fd5b612d3185828601612b54565b90969095509350505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015612db0577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452612d9e8583516127f4565b94509285019290850190600101612d64565b5092979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060008060808587031215612e0257600080fd5b612e0b8561286a565b9350612e196020860161286a565b925060408501359150606085013567ffffffffffffffff80821115612e3d57600080fd5b818701915087601f830112612e5157600080fd5b813581811115612e6357612e63612dbd565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715612ea957612ea9612dbd565b816040528281528a6020848701011115612ec257600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b60008060408385031215612ef957600080fd5b612f028361286a565b9150612f106020840161286a565b90509250929050565b602081526000610cd76020830184612963565b60008060008060008060006080888a031215612f4757600080fd5b612f5088612b0f565b9650602088013567ffffffffffffffff80821115612aa557600080fd5b600181811c90821680612f8157607f821691505b602082108103612fba577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f8211156106d457600081815260208120601f850160051c81016020861015612fe75750805b601f850160051c820191505b8181101561300657828155600101612ff3565b505050505050565b67ffffffffffffffff83111561302657613026612dbd565b61303a836130348354612f6d565b83612fc0565b6000601f84116001811461308c57600085156130565750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355613122565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b828110156130db57868501358255602094850194600190920191016130bb565b5086821015613116577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6131628185612928565b6040602082015281604082015260007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83111561319e57600080fd5b8260051b8085606085013791909101606001949350505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126131ed57600080fd5b83018035915067ffffffffffffffff82111561320857600080fd5b602001915036819003821315612a6457600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361327d5761327d61321d565b5060010190565b602081016104b08284612928565b818103818111156104b0576104b061321d565b80820281158282048414176104b0576104b061321d565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000826132fa576132fa6132bc565b500690565b60008261330e5761330e6132bc565b500490565b808201808211156104b0576104b061321d565b600082516133388184602087016127d0565b9190910192915050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60608152600061339f60608301888a613342565b82810360208401526133b2818789613342565b905082810360408401526133c7818587613342565b9998505050505050505050565b815167ffffffffffffffff8111156133ee576133ee612dbd565b613402816133fc8454612f6d565b84612fc0565b602080601f831160018114613455576000841561341f5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555613006565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156134a257888601518255948401946001909101908401613483565b50858210156134de57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600073ffffffffffffffffffffffffffffffffffffffff80871683528086166020840152508360408301526080606083015261352d60808301846127f4565b9695505050505050565b60006020828403121561354957600080fd5b8151610cd78161278556fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122078f441787f11096e9e5b9cb7d7785bc623e667ca342c5fa049a603e7a2dc1ff064736f6c63430008130033" - }, - { - "transactionType": "CREATE", - "address": "0xee41378f6E695bF3551054b13a91f9703c175baB", - "initCode": "608060405234801561001057600080fd5b506040516105ef3803806105ef83398101604081905261002f9161013a565b61003833610047565b61004181610097565b5061016a565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0381163b6101185760405162461bcd60e51b815260206004820152603360248201527f5570677261646561626c65426561636f6e3a20696d706c656d656e746174696f60448201527f6e206973206e6f74206120636f6e747261637400000000000000000000000000606482015260840160405180910390fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b60006020828403121561014c57600080fd5b81516001600160a01b038116811461016357600080fd5b9392505050565b610476806101796000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c8063715018a611610050578063715018a6146100c45780638da5cb5b146100cc578063f2fde38b146100ea57600080fd5b80633659cfe61461006c5780635c60da1b14610081575b600080fd5b61007f61007a366004610403565b6100fd565b005b60015473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61007f610152565b60005473ffffffffffffffffffffffffffffffffffffffff1661009b565b61007f6100f8366004610403565b610166565b610105610222565b61010e816102a3565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b61015a610222565b610164600061038e565b565b61016e610222565b73ffffffffffffffffffffffffffffffffffffffff8116610216576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61021f8161038e565b50565b60005473ffffffffffffffffffffffffffffffffffffffff163314610164576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161020d565b73ffffffffffffffffffffffffffffffffffffffff81163b610347576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603360248201527f5570677261646561626c65426561636f6e3a20696d706c656d656e746174696f60448201527f6e206973206e6f74206120636f6e747261637400000000000000000000000000606482015260840161020d565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006020828403121561041557600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461043957600080fd5b939250505056fea264697066735822122048ebef5dea79554c6de8af09830ddb871c241a46dee33849e34fac866c5894bd64736f6c634300081300330000000000000000000000003a10db3a7e56243f29709ca0830b08bd1a9f4243" - } - ], - "isFixedGasLimit": false - }, - { - "hash": "0xb6c9723b9a1f6cc56eb2f5e4cc093b0939809a03f143a8c48731bdd59114e8e0", - "transactionType": "CREATE", - "contractName": "AccessControlSingleton", - "contractAddress": "0xD933e6768a0C86ca11DDf802932FeBD50509Ba4D", - "function": null, - "arguments": null, - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x22aa79", - "value": "0x0", - "data": "0x60a06040523060805234801561001457600080fd5b50608051611ee461004c600039600081816104d101528181610581015281816106d60152818161078601526108cb0152611ee46000f3fe6080604052600436106100dd5760003560e01c806352d1902d1161007f578063a217fddf11610059578063a217fddf146102a8578063ac9650d8146102bd578063c4d66de8146102ea578063d547741f1461030a57600080fd5b806352d1902d146101ea57806354fd4d50146101ff57806391d148541461025557600080fd5b80632f2ff15d116100bb5780632f2ff15d1461017757806336568abe146101975780633659cfe6146101b75780634f1ef286146101d757600080fd5b806301ffc9a7146100e25780631e4e009114610117578063248a9ca314610139575b600080fd5b3480156100ee57600080fd5b506101026100fd3660046118fe565b61032a565b60405190151581526020015b60405180910390f35b34801561012357600080fd5b50610137610132366004611940565b6103c3565b005b34801561014557600080fd5b50610169610154366004611962565b60009081526065602052604090206001015490565b60405190815260200161010e565b34801561018357600080fd5b506101376101923660046119a4565b6103dd565b3480156101a357600080fd5b506101376101b23660046119a4565b610402565b3480156101c357600080fd5b506101376101d23660046119d0565b6104ba565b6101376101e5366004611a1a565b6106bf565b3480156101f657600080fd5b506101696108b1565b34801561020b57600080fd5b506102486040518060400160405280600581526020017f302e312e3000000000000000000000000000000000000000000000000000000081525081565b60405161010e9190611b68565b34801561026157600080fd5b506101026102703660046119a4565b600091825260656020908152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b3480156102b457600080fd5b50610169600081565b3480156102c957600080fd5b506102dd6102d8366004611b7b565b61099d565b60405161010e9190611bf0565b3480156102f657600080fd5b506101376103053660046119d0565b610a92565b34801561031657600080fd5b506101376103253660046119a4565b610c84565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806103bd57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60006103ce81610ca9565b6103d88383610cb3565b505050565b6000828152606560205260409020600101546103f881610ca9565b6103d88383610cfe565b73ffffffffffffffffffffffffffffffffffffffff811633146104ac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b6104b68282610df2565b5050565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016300361057f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016104a3565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166105f47f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610697576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016104a3565b6106a081610ead565b604080516000808252602082019092526106bc91839190610ed7565b50565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610784576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016104a3565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166107f97f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff161461089c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016104a3565b6108a582610ead565b6104b682826001610ed7565b60003073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610978576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016104a3565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b60608167ffffffffffffffff8111156109b8576109b86119eb565b6040519080825280602002602001820160405280156109eb57816020015b60608152602001906001900390816109d65790505b50905060005b82811015610a8b57610a5b30858584818110610a0f57610a0f611c70565b9050602002810190610a219190611c9f565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506110d692505050565b828281518110610a6d57610a6d611c70565b60200260200101819052508080610a8390611d3a565b9150506109f1565b5092915050565b600054610100900460ff1615808015610ab25750600054600160ff909116105b80610acc5750303b158015610acc575060005460ff166001145b610b58576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016104a3565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610bb657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b73ffffffffffffffffffffffffffffffffffffffff8216610c03576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c0b611102565b610c13611102565b610c1e600083610cfe565b80156104b657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b600082815260656020526040902060010154610c9f81610ca9565b6103d88383610df2565b6106bc813361119b565b600082815260656020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff166104b657600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff85168452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055610d943390565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16156104b657600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e36104b681610ca9565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610f0a576103d883611255565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610f8f575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252610f8c91810190611d72565b60015b61101b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016104a3565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81146110ca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016104a3565b506103d883838361135f565b60606110fb8383604051806060016040528060278152602001611e886027913961138a565b9392505050565b600054610100900460ff16611199576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016104a3565b565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff166104b6576111db8161140f565b6111e683602061142e565b6040516020016111f7929190611d8b565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a00000000000000000000000000000000000000000000000000000000082526104a391600401611b68565b73ffffffffffffffffffffffffffffffffffffffff81163b6112f9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016104a3565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61136883611671565b6000825111806113755750805b156103d85761138483836116be565b50505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516113b49190611e0c565b600060405180830381855af49150503d80600081146113ef576040519150601f19603f3d011682016040523d82523d6000602084013e6113f4565b606091505b5091509150611405868383876117fd565b9695505050505050565b60606103bd73ffffffffffffffffffffffffffffffffffffffff831660145b6060600061143d836002611e28565b611448906002611e3f565b67ffffffffffffffff811115611460576114606119eb565b6040519080825280601f01601f19166020018201604052801561148a576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106114c1576114c1611c70565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061152457611524611c70565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000611560846002611e28565b61156b906001611e3f565b90505b6001811115611608577f303132333435363738396162636465660000000000000000000000000000000085600f16601081106115ac576115ac611c70565b1a60f81b8282815181106115c2576115c2611c70565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c9361160181611e52565b905061156e565b5083156110fb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016104a3565b61167a81611255565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606073ffffffffffffffffffffffffffffffffffffffff83163b611764576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e7472616374000000000000000000000000000000000000000000000000000060648201526084016104a3565b6000808473ffffffffffffffffffffffffffffffffffffffff168460405161178c9190611e0c565b600060405180830381855af49150503d80600081146117c7576040519150601f19603f3d011682016040523d82523d6000602084013e6117cc565b606091505b50915091506117f48282604051806060016040528060278152602001611e88602791396118a5565b95945050505050565b6060831561189357825160000361188c5773ffffffffffffffffffffffffffffffffffffffff85163b61188c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016104a3565b508161189d565b61189d83836118ba565b949350505050565b606083156118b45750816110fb565b6110fb83835b8151156118ca5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104a39190611b68565b60006020828403121561191057600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146110fb57600080fd5b6000806040838503121561195357600080fd5b50508035926020909101359150565b60006020828403121561197457600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461199f57600080fd5b919050565b600080604083850312156119b757600080fd5b823591506119c76020840161197b565b90509250929050565b6000602082840312156119e257600080fd5b6110fb8261197b565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060408385031215611a2d57600080fd5b611a368361197b565b9150602083013567ffffffffffffffff80821115611a5357600080fd5b818501915085601f830112611a6757600080fd5b813581811115611a7957611a796119eb565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715611abf57611abf6119eb565b81604052828152886020848701011115611ad857600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b83811015611b15578181015183820152602001611afd565b50506000910152565b60008151808452611b36816020860160208601611afa565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006110fb6020830184611b1e565b60008060208385031215611b8e57600080fd5b823567ffffffffffffffff80821115611ba657600080fd5b818501915085601f830112611bba57600080fd5b813581811115611bc957600080fd5b8660208260051b8501011115611bde57600080fd5b60209290920196919550909350505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015611c63577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452611c51858351611b1e565b94509285019290850190600101611c17565b5092979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611cd457600080fd5b83018035915067ffffffffffffffff821115611cef57600080fd5b602001915036819003821315611d0457600080fd5b9250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611d6b57611d6b611d0b565b5060010190565b600060208284031215611d8457600080fd5b5051919050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351611dc3816017850160208801611afa565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351611e00816028840160208801611afa565b01602801949350505050565b60008251611e1e818460208701611afa565b9190910192915050565b80820281158282048414176103bd576103bd611d0b565b808201808211156103bd576103bd611d0b565b600081611e6157611e61611d0b565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122056edbbe14415fb2ea61687a42161e7f12274d0ebd6a1f38a722858f5dca6739e64736f6c63430008130033", - "nonce": "0x22", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x01066de60670401ac2039bdd1e99b9a876709b40a99504e7720cd30060ffe123", - "transactionType": "CREATE", - "contractName": "ERC1967Proxy", - "contractAddress": "0x58eda9b5b0983f75fa887B598d7164E82791Ba21", - "function": null, - "arguments": [ - "0xD933e6768a0C86ca11DDf802932FeBD50509Ba4D", - "0xc4d66de8000000000000000000000000b6288e57bf7406b35ab4f70fd1135e907107e386" - ], - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x3bece", - "value": "0x0", - "data": "0x60806040526040516104ee3803806104ee833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c760279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60be806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea2646970667358221220a678556ae280ddf13e459fe9ecd177633ae9dbc544c45d5b523d43ba9084c8dc64736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564000000000000000000000000d933e6768a0c86ca11ddf802932febd50509ba4d00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de8000000000000000000000000b6288e57bf7406b35ab4f70fd1135e907107e38600000000000000000000000000000000000000000000000000000000", - "nonce": "0x23", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x04109af705d961b6a732641a681c2e28b1900e25a6ea4e748d93c49d9c1ad7b4", - "transactionType": "CREATE", - "contractName": "FranchiseRegistry", - "contractAddress": "0x4626Bc62A598afA131C9051917f470d7F3787A4f", - "function": null, - "arguments": [ - "0x461DF243955aD5493cFa33434c2B7CfF2C583dc7" - ], - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x3b99bf", - "value": "0x0", - "data": "0x60c0604052306080523480156200001557600080fd5b50604051620036e8380380620036e883398101604081905262000038916200013e565b620000426200007c565b6001600160a01b0381166200006a5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b031660a05262000170565b600054610100900460ff1615620000e95760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811610156200013c576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6000602082840312156200015157600080fd5b81516001600160a01b03811681146200016957600080fd5b9392505050565b60805160a05161352f620001b96000396000818161030d015261115c015260008181610afa01528181610b9001528181610ce601528181610d7c0152610eab015261352f6000f3fe6080604052600436106101965760003560e01c806354fd4d50116100e1578063b88d4fde1161008a578063c87b56dd11610064578063c87b56dd146104ff578063e985e9c51461051f578063ef647e1014610575578063fc1dad811461058a57600080fd5b8063b88d4fde14610475578063bac806d314610495578063c4d66de8146104df57600080fd5b806395d89b41116100bb57806395d89b411461042b5780639b0c6be414610440578063a22cb4651461045557600080fd5b806354fd4d50146103a55780636352211e146103eb57806370a082311461040b57600080fd5b80632c5cefa31161014357806342842e0e1161011d57806342842e0e1461034f5780634f1ef2861461036f57806352d1902d1461038257600080fd5b80632c5cefa3146102995780632dd31000146102fb5780633659cfe61461032f57600080fd5b8063095ea7b311610174578063095ea7b31461023757806319129e5a1461025957806323b872dd1461027957600080fd5b806301ffc9a71461019b57806306fdde03146101d0578063081812fc146101f2575b600080fd5b3480156101a757600080fd5b506101bb6101b6366004612cca565b6105d4565b60405190151581526020015b60405180910390f35b3480156101dc57600080fd5b506101e56106b9565b6040516101c79190612d55565b3480156101fe57600080fd5b5061021261020d366004612d68565b61074b565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101c7565b34801561024357600080fd5b50610257610252366004612da3565b61077f565b005b34801561026557600080fd5b50610257610274366004612dcf565b6108dc565b34801561028557600080fd5b50610257610294366004612dec565b610a5c565b3480156102a557600080fd5b506102126102b4366004612d68565b60009081527f5648324915b730d22cca7279385130ad43fd4829d795fb20e9ab398bfe537e90602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b34801561030757600080fd5b506102127f000000000000000000000000000000000000000000000000000000000000000081565b34801561033b57600080fd5b5061025761034a366004612dcf565b610ae3565b34801561035b57600080fd5b5061025761036a366004612dec565b610cb4565b61025761037d366004612f07565b610ccf565b34801561038e57600080fd5b50610397610e91565b6040519081526020016101c7565b3480156103b157600080fd5b5060408051808201909152600581527f302e312e3000000000000000000000000000000000000000000000000000000060208201526101e5565b3480156103f757600080fd5b50610212610406366004612d68565b610f63565b34801561041757600080fd5b50610397610426366004612dcf565b610fd5565b34801561043757600080fd5b506101e5611089565b34801561044c57600080fd5b50610212600081565b34801561046157600080fd5b50610257610470366004612f65565b611098565b34801561048157600080fd5b50610257610490366004612f9e565b6110a3565b3480156104a157600080fd5b506104b56104b0366004613053565b611131565b6040805192835273ffffffffffffffffffffffffffffffffffffffff9091166020830152016101c7565b3480156104eb57600080fd5b506102576104fa366004612dcf565b6112df565b34801561050b57600080fd5b506101e561051a366004612d68565b6114d5565b34801561052b57600080fd5b506101bb61053a3660046130ed565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260ce6020908152604080832093909416825291909152205460ff1690565b34801561058157600080fd5b50610397600081565b34801561059657600080fd5b507f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b65473ffffffffffffffffffffffffffffffffffffffff16610212565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061066757507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b806106b357507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b606060c980546106c89061311b565b80601f01602080910402602001604051908101604052809291908181526020018280546106f49061311b565b80156107415780601f1061071657610100808354040283529160200191610741565b820191906000526020600020905b81548152906001019060200180831161072457829003601f168201915b5050505050905090565b600061075682611549565b50600090815260cd602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b600061078a82610f63565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036108325760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff8216148061085b575061085b813361053a565b6108cd5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610829565b6108d783836115ba565b505050565b60006108e8813361165a565b610927576040517f75000dc000000000000000000000000000000000000000000000000000000000815260048101829052336024820152604401610829565b61096773ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000611722565b6109cd576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c0000000000000000000000000000000000006044820152606401610829565b7f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811782556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a2505050565b610a66338261173e565b610ad85760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610829565b6108d78383836117fd565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610b8e5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610829565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610c037f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610c8c5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610829565b610c9581611aaa565b60408051600080825260208201909252610cb191839190611b14565b50565b6108d7838383604051806020016040528060008152506110a3565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610d7a5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610829565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610def7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610e785760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610829565b610e8182611aaa565b610e8d82826001611b14565b5050565b60003073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610f3e5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610829565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b600081815260cb602052604081205473ffffffffffffffffffffffffffffffffffffffff16806106b35760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610829565b600073ffffffffffffffffffffffffffffffffffffffff82166110605760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e657200000000000000000000000000000000000000000000006064820152608401610829565b5073ffffffffffffffffffffffffffffffffffffffff16600090815260cc602052604090205490565b606060ca80546106c89061311b565b610e8d338383611cdf565b6110ad338361173e565b61111f5760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610829565b61112b84848484611df2565b50505050565b600080807f5648324915b730d22cca7279385130ad43fd4829d795fb20e9ab398bfe537e8f905060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166386df779e83600001600081546111a79061316e565b9190508190558c8c8c8c8c8c6040518863ffffffff1660e01b81526004016111d59796959493929190613216565b6020604051808303816000875af11580156111f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112189190613266565b82546000908152600184016020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790558254909150611278903390611e7b565b815460408051338152602081019290925273ffffffffffffffffffffffffffffffffffffffff831682820152517f0ee7716498f35cc0a42b8edb136bf88dbc529acf11a42fb9e4ec60b29638aff39181900360600190a19054999098509650505050505050565b600054610100900460ff16158080156112ff5750600054600160ff909116105b806113195750303b158015611319575060005460ff166001145b61138b5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610829565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156113e957600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6113f1611e95565b6113fa82611f14565b61146e6040518060400160405280600e81526020017f53746f72792050726f746f636f6c0000000000000000000000000000000000008152506040518060400160405280600281526020017f53500000000000000000000000000000000000000000000000000000000000008152506121ae565b8015610e8d57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15050565b60606114e082611549565b60006114f760408051602081019091526000815290565b905060008151116115175760405180602001604052806000815250611542565b8061152184612235565b604051602001611532929190613283565b6040516020818303038152906040525b9392505050565b600081815260cb602052604090205473ffffffffffffffffffffffffffffffffffffffff16610cb15760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610829565b600081815260cd6020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117909155819061161482610f63565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000807f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810187905273ffffffffffffffffffffffffffffffffffffffff86811660248301529293509116906391d1485490604401602060405180830381865afa1580156116f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061171a91906132b2565b949350505050565b600061172d836122f3565b801561154257506115428383612357565b60008061174a83610f63565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806117b8575073ffffffffffffffffffffffffffffffffffffffff808216600090815260ce602090815260408083209388168352929052205460ff165b8061171a57508373ffffffffffffffffffffffffffffffffffffffff166117de8461074b565b73ffffffffffffffffffffffffffffffffffffffff1614949350505050565b8273ffffffffffffffffffffffffffffffffffffffff1661181d82610f63565b73ffffffffffffffffffffffffffffffffffffffff16146118a65760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610829565b73ffffffffffffffffffffffffffffffffffffffff821661192e5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610829565b8273ffffffffffffffffffffffffffffffffffffffff1661194e82610f63565b73ffffffffffffffffffffffffffffffffffffffff16146119d75760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610829565b600081815260cd6020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff87811680865260cc855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190559087168086528386208054600101905586865260cb90945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3611ad5813361165a565b610e8d576040517f75000dc000000000000000000000000000000000000000000000000000000000815260048101829052336024820152604401610829565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611b47576108d783612426565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611bcc575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252611bc9918101906132cf565b60015b611c3e5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608401610829565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114611cd35760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152608401610829565b506108d7838383612516565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611d5a5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610829565b73ffffffffffffffffffffffffffffffffffffffff838116600081815260ce602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b611dfd8484846117fd565b611e098484848461253b565b61112b5760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610829565b610e8d828260405180602001604052806000815250612714565b600054610100900460ff16611f125760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610829565b565b600054610100900460ff1615808015611f345750600054600160ff909116105b80611f4e5750303b158015611f4e575060005460ff166001145b611fc05760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610829565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561201e57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61205e73ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000611722565b6120c4576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c0000000000000000000000000000000000006044820152606401610829565b7f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811782556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a2508015610e8d57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020016114c9565b600054610100900460ff1661222b5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610829565b610e8d828261279d565b6060600061224283612833565b600101905060008167ffffffffffffffff81111561226257612262612e2d565b6040519080825280601f01601f19166020018201604052801561228c576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a850494508461229657509392505050565b600061231f827f01ffc9a700000000000000000000000000000000000000000000000000000000612357565b80156106b35750612350827fffffffff00000000000000000000000000000000000000000000000000000000612357565b1592915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d9150600051905082801561240f575060208210155b801561241b5750600081115b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff81163b6124b05760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401610829565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61251f83612915565b60008251118061252c5750805b156108d75761112b8383612962565b600073ffffffffffffffffffffffffffffffffffffffff84163b15612709576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a02906125b29033908990889088906004016132e8565b6020604051808303816000875af192505050801561260b575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261260891810190613331565b60015b6126be573d808015612639576040519150601f19603f3d011682016040523d82523d6000602084013e61263e565b606091505b5080516000036126b65760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610829565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a020000000000000000000000000000000000000000000000000000000014905061171a565b506001949350505050565b61271e8383612a87565b61272b600084848461253b565b6108d75760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610829565b600054610100900460ff1661281a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610829565b60c9612826838261339c565b5060ca6108d7828261339c565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000831061287c577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef810000000083106128a8576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106128c657662386f26fc10000830492506010015b6305f5e10083106128de576305f5e100830492506008015b61271083106128f257612710830492506004015b60648310612904576064830492506002015b600a83106106b35760010192915050565b61291e81612426565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606073ffffffffffffffffffffffffffffffffffffffff83163b6129ee5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e747261637400000000000000000000000000000000000000000000000000006064820152608401610829565b6000808473ffffffffffffffffffffffffffffffffffffffff1684604051612a1691906134b6565b600060405180830381855af49150503d8060008114612a51576040519150601f19603f3d011682016040523d82523d6000602084013e612a56565b606091505b5091509150612a7e82826040518060600160405280602781526020016134d360279139612c5e565b95945050505050565b73ffffffffffffffffffffffffffffffffffffffff8216612aea5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610829565b600081815260cb602052604090205473ffffffffffffffffffffffffffffffffffffffff1615612b5c5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610829565b600081815260cb602052604090205473ffffffffffffffffffffffffffffffffffffffff1615612bce5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610829565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260cc602090815260408083208054600101905584835260cb90915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60608315612c6d575081611542565b6115428383815115612c825781518083602001fd5b8060405162461bcd60e51b81526004016108299190612d55565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610cb157600080fd5b600060208284031215612cdc57600080fd5b813561154281612c9c565b60005b83811015612d02578181015183820152602001612cea565b50506000910152565b60008151808452612d23816020860160208601612ce7565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006115426020830184612d0b565b600060208284031215612d7a57600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610cb157600080fd5b60008060408385031215612db657600080fd5b8235612dc181612d81565b946020939093013593505050565b600060208284031215612de157600080fd5b813561154281612d81565b600080600060608486031215612e0157600080fd5b8335612e0c81612d81565b92506020840135612e1c81612d81565b929592945050506040919091013590565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112612e6d57600080fd5b813567ffffffffffffffff80821115612e8857612e88612e2d565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715612ece57612ece612e2d565b81604052838152866020858801011115612ee757600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060408385031215612f1a57600080fd5b8235612f2581612d81565b9150602083013567ffffffffffffffff811115612f4157600080fd5b612f4d85828601612e5c565b9150509250929050565b8015158114610cb157600080fd5b60008060408385031215612f7857600080fd5b8235612f8381612d81565b91506020830135612f9381612f57565b809150509250929050565b60008060008060808587031215612fb457600080fd5b8435612fbf81612d81565b93506020850135612fcf81612d81565b925060408501359150606085013567ffffffffffffffff811115612ff257600080fd5b612ffe87828801612e5c565b91505092959194509250565b60008083601f84011261301c57600080fd5b50813567ffffffffffffffff81111561303457600080fd5b60208301915083602082850101111561304c57600080fd5b9250929050565b6000806000806000806060878903121561306c57600080fd5b863567ffffffffffffffff8082111561308457600080fd5b6130908a838b0161300a565b909850965060208901359150808211156130a957600080fd5b6130b58a838b0161300a565b909650945060408901359150808211156130ce57600080fd5b506130db89828a0161300a565b979a9699509497509295939492505050565b6000806040838503121561310057600080fd5b823561310b81612d81565b91506020830135612f9381612d81565b600181811c9082168061312f57607f821691505b602082108103613168577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036131c6577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b87815260806020820152600061323060808301888a6131cd565b82810360408401526132438187896131cd565b905082810360608401526132588185876131cd565b9a9950505050505050505050565b60006020828403121561327857600080fd5b815161154281612d81565b60008351613295818460208801612ce7565b8351908301906132a9818360208801612ce7565b01949350505050565b6000602082840312156132c457600080fd5b815161154281612f57565b6000602082840312156132e157600080fd5b5051919050565b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250836040830152608060608301526133276080830184612d0b565b9695505050505050565b60006020828403121561334357600080fd5b815161154281612c9c565b601f8211156108d757600081815260208120601f850160051c810160208610156133755750805b601f850160051c820191505b8181101561339457828155600101613381565b505050505050565b815167ffffffffffffffff8111156133b6576133b6612e2d565b6133ca816133c4845461311b565b8461334e565b602080601f83116001811461341d57600084156133e75750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555613394565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b8281101561346a5788860151825594840194600190910190840161344b565b50858210156134a657878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600082516134c8818460208701612ce7565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212209357ca002307b3a2a53511900e38719b2fc080dd5704844002d324a8ae8a580164736f6c63430008130033000000000000000000000000461df243955ad5493cfa33434c2b7cff2c583dc7", - "nonce": "0x24", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xb5eb7a7a51955ebaa7ff97003a04aa5692cb75012a16c977ff2c56849248de78", - "transactionType": "CREATE", - "contractName": "ERC1967Proxy", - "contractAddress": "0xf157916d184598105FE4681eC93Be0f799599003", - "function": null, - "arguments": [ - "0x4626Bc62A598afA131C9051917f470d7F3787A4f", - "0xc4d66de800000000000000000000000058eda9b5b0983f75fa887b598d7164e82791ba21" - ], - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x4d89d", - "value": "0x0", - "data": "0x60806040526040516104ee3803806104ee833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c760279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60be806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea2646970667358221220a678556ae280ddf13e459fe9ecd177633ae9dbc544c45d5b523d43ba9084c8dc64736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c65640000000000000000000000004626bc62a598afa131c9051917f470d7f3787a4f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de800000000000000000000000058eda9b5b0983f75fa887b598d7164e82791ba2100000000000000000000000000000000000000000000000000000000", - "nonce": "0x25", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x1ff041a965d11099bd330a252d3384f4ea18e9f5e49b32ccefa46ea32b39874a", - "transactionType": "CREATE", - "contractName": "ProtocolRelationshipModule", - "contractAddress": "0xf3b1129B0b2920968CBf089a88c7E6266FaE64aE", - "function": null, - "arguments": [ - "0xf157916d184598105FE4681eC93Be0f799599003" - ], - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x3febcf", - "value": "0x0", - "data": "0x60c0604052306080523480156200001557600080fd5b5060405162003afd38038062003afd833981016040819052620000389162000142565b806001600160a01b038116620000615760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03811660a0526200007862000080565b505062000174565b600054610100900460ff1615620000ed5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116101562000140576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6000602082840312156200015557600080fd5b81516001600160a01b03811681146200016d57600080fd5b9392505050565b60805160a051613940620001bd600039600081816102e50152612d290152600081816106710152818161072101528181610876015281816109260152610a6b01526139406000f3fe6080604052600436106100f35760003560e01c806382c5ae6e1161008a578063ac9650d811610059578063ac9650d81461034c578063b3ef1bbb14610379578063c4d66de814610399578063fc1dad81146103b957600080fd5b806382c5ae6e1461029357806390caf880146102b357806394f99b40146102d35780639b18554b1461032c57600080fd5b80634f1ef286116100c65780634f1ef2861461018f57806352d1902d146101a257806372fa3178146101c557806375f4252d1461027357600080fd5b806315023622146100f857806319129e5a1461012d57806335f52e921461014f5780633659cfe61461016f575b600080fd5b34801561010457600080fd5b50610118610113366004613091565b610403565b60405190151581526020015b60405180910390f35b34801561013957600080fd5b5061014d6101483660046130cf565b61045e565b005b34801561015b57600080fd5b5061014d61016a3660046130ec565b6105e3565b34801561017b57600080fd5b5061014d61018a3660046130cf565b61065a565b61014d61019d366004613183565b61085f565b3480156101ae57600080fd5b506101b7610a51565b604051908152602001610124565b3480156101d157600080fd5b506101e56101e03660046130ec565b610b3d565b6040805182518152602080840151818301528383015115158284015260608085015173ffffffffffffffffffffffffffffffffffffffff908116918401919091526080808601519091169083015260a09384015180516dffffffffffffffffffffffffffff908116958401959095529081015190931660c0820152910151151560e082015261010001610124565b34801561027f57600080fd5b5061014d61028e366004613091565b610c83565b34801561029f57600080fd5b5061014d6102ae366004613249565b610e43565b3480156102bf57600080fd5b506101186102ce366004613091565b6112e4565b3480156102df57600080fd5b506103077f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610124565b34801561033857600080fd5b5061014d6103473660046132cd565b61135c565b34801561035857600080fd5b5061036c61036736600461331c565b6113d5565b60405161012491906133ff565b34801561038557600080fd5b5061014d6103943660046130cf565b6114cb565b3480156103a557600080fd5b5061014d6103b43660046130cf565b61165f565b3480156103c557600080fd5b507f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b65473ffffffffffffffffffffffffffffffffffffffff16610307565b60007fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0b80826104318561178c565b815260208101919091526040016000205460ff1680156104575750610455836112e4565b155b9392505050565b600061046a8133611818565b6104ae576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b6104ee73ffffffffffffffffffffffffffffffffffffffff83167f7965db0b000000000000000000000000000000000000000000000000000000006118d8565b610554576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c00000000000000000000000000000000000060448201526064016104a5565b7f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811782556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a2505050565b7f637821dcee84aabec9c8cf4f6f643013a24ad27fd41511ffd937aea80d8619a961060e8133611818565b61064d576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016104a5565b610656826118f4565b5050565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016300361071f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016104a5565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166107947f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610837576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016104a5565b61084081611a3f565b6040805160008082526020820190925261085c91839190611aa9565b50565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610924576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016104a5565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166109997f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610a3c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016104a5565b610a4582611a3f565b61065682826001611aa9565b60003073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610b18576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016104a5565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b610b896040805160c0810182526000808252602080830182905282840182905260608084018390526080840183905284519081018552828152908101829052928301529060a082015290565b5060009081527fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0d6020908152604091829020825160c08101845281548152600182015481840152600282015460ff80821615158387015273ffffffffffffffffffffffffffffffffffffffff610100909204821660608085019190915260038501549092166080840152855191820186526004909301546dffffffffffffffffffffffffffff80821683526e010000000000000000000000000000820416948201949094527c010000000000000000000000000000000000000000000000000000000090930490911615159282019290925260a082015290565b608081013560009081527fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0d60205260409020600301547fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0b9073ffffffffffffffffffffffffffffffffffffffff163314610d29576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610d348361178c565b60008181526020849052604090205490915060ff16610d7f576040517f32a2f5fc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008181526020838152604090912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690556080840135907f1c597e2ff497f95acc844355a7e0266613bbc54a551e5fa01710e5ad3418e04f90610de8908601866130cf565b6020860135610dfd60608801604089016130cf565b6040805173ffffffffffffffffffffffffffffffffffffffff948516815260208101939093529216818301526060878101359082015290519081900360800190a2505050565b608083013560009081527fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0d6020526040902060048101548491906dffffffffffffffffffffffffffff1615801590610e9e575060a082013515155b15610f295760048101546dffffffffffffffffffffffffffff1660a08301351180610ef2575060048101546e01000000000000000000000000000090046dffffffffffffffffffffffffffff1660a0830135105b15610f29576040517f417de2db00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60808581013560009081527fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0d6020908152604091829020825160c08101845281548152600182015481840152600282015460ff80821615158387015273ffffffffffffffffffffffffffffffffffffffff61010090920482166060808501919091526003850154909216968301969096528451908101855260048301546dffffffffffffffffffffffffffff80821683526e010000000000000000000000000000820416948201949094527c010000000000000000000000000000000000000000000000000000000090930490941615159282019290925260a08301527fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0b91611053908890611ca8565b60028101546040517f63c7c03600000000000000000000000000000000000000000000000000000000815261010090910473ffffffffffffffffffffffffffffffffffffffff16906363c7c036906110b5908a908a908a90339060040161347f565b6020604051808303816000875af11580156110d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f89190613562565b61118a5760808701357fff0396d9569545b52312943ba44341eba3800a0d6e83ba9140283c159792839e61112f60208a018a6130cf565b60208a013561114460608c0160408d016130cf565b6040805173ffffffffffffffffffffffffffffffffffffffff9485168152602081019390935292168183015260608b8101359082015290519081900360800190a26112db565b60006111958861178c565b60008181526020858152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055805160608101825260048701546dffffffffffffffffffffffffffff80821683526e010000000000000000000000000000820416938201939093527c010000000000000000000000000000000000000000000000000000000090920460ff161515908201529192509061124690839060a08c0135611e47565b905060808901357fdac80e4156e67d10c07ce819561c6cd96452ad81db0c68e6a47a8687f3d5927161127b60208c018c6130cf565b60208c013561129060608e0160408f016130cf565b6040805173ffffffffffffffffffffffffffffffffffffffff9485168152602081019390935292168183015260608d810135908201526080810185905290519081900360a00190a250505b50505050505050565b60007fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0b817fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0c816113338661178c565b81526020019081526020016000205490508060001415801561135457504281105b949350505050565b7f637821dcee84aabec9c8cf4f6f643013a24ad27fd41511ffd937aea80d8619a96113878133611818565b6113c6576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016104a5565b6113d08383611edb565b505050565b60608167ffffffffffffffff8111156113f0576113f0613105565b60405190808252806020026020018201604052801561142357816020015b606081526020019060019003908161140e5790505b50905060005b828110156114c357611493308585848181106114475761144761357f565b905060200281019061145991906135ae565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061213f92505050565b8282815181106114a5576114a561357f565b602002602001018190525080806114bb90613649565b915050611429565b505b92915050565b600054610100900460ff16158080156114eb5750600054600160ff909116105b806115055750303b158015611505575060005460ff166001145b611591576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016104a5565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156115ef57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6115f882612164565b801561065657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15050565b600054610100900460ff161580801561167f5750600054600160ff909116105b806116995750303b158015611699575060005460ff166001145b611725576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016104a5565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561178357600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6115f8826114cb565b600061179b60208301836130cf565b60208301356117b060608501604086016130cf565b6040805173ffffffffffffffffffffffffffffffffffffffff94851660208201529081019290925290911660608083019190915283013560808083019190915283013560a082015260c001604051602081830303815290604052805190602001209050919050565b6000807f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810187905273ffffffffffffffffffffffffffffffffffffffff86811660248301529293509116906391d1485490604401602060405180830381865afa1580156118b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113549190613562565b60006118e383612418565b80156104575750610457838361247c565b60008181527fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0d60205260408120547fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0b910361197b576040517f32a2f5fc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000828152600280830160205260408083208381556001810184905591820180547fffffffffffffffffffffff0000000000000000000000000000000000000000001690556003820180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055600490910180547fffffff00000000000000000000000000000000000000000000000000000000001690555183917f72ee2f0fb0c2e5516159220d68bb62f4ee27e2eeefb237e60bf0b0e108ce349091a25050565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3611a6a8133611818565b610656576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016104a5565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611adc576113d08361254b565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611b61575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252611b5e91810190613681565b60015b611bed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016104a5565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114611c9c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016104a5565b506113d0838383612655565b8051600003611ce3576040517f32a2f5fc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080611d03611cf660208601866130cf565b8451602087013590612680565b9150915081611d3e576040517f22df284e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080611d63611d5460608801604089016130cf565b87606001358760200151612680565b9150915081611d9e576040517f03303d3200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b828015611da85750805b8015611dfb5750611dbf60608701604088016130cf565b73ffffffffffffffffffffffffffffffffffffffff16611de260208801886130cf565b73ffffffffffffffffffffffffffffffffffffffff1614155b8015611e08575084604001515b15611e3f576040517f91a3196b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050505050565b81516000907fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0b906dffffffffffffffffffffffffffff1615611ed0576000858152600182016020526040902054801580611ea2575084604001515b15611ece57611eb1844261369a565b600087815260019093016020526040909220829055509050610457565b505b506000949350505050565b6000611ee6826127b1565b905060007fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0b6000858152600282810160209081526040928390208651808255878301516001830181905588860151948301805460608b01517fffffffffffffffffffffff0000000000000000000000000000000000000000009091168715157fffffffffffffffffffffff0000000000000000000000000000000000000000ff161761010073ffffffffffffffffffffffffffffffffffffffff928316021790915560808a01516003850180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169190921617905560a0808a01518051600490950180549682015191909801516dffffffffffffffffffffffffffff9586167fffffffff00000000000000000000000000000000000000000000000000000000909716969096176e0100000000000000000000000000009590911694909402939093177fffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c0100000000000000000000000000000000000000000000000000000000941515949094029390931790945593945087937fd3d40cd5cebeb285ec945b172df2fa012d145a26c64ec9c99ffcaebc5a890c039392906120d19060c08a01908a016130cf565b60a088810151805160209182015160408051988952928801969096529315159086015273ffffffffffffffffffffffffffffffffffffffff90911660608501526dffffffffffffffffffffffffffff918216608085015291169082015260c00160405180910390a250505050565b606061045783836040518060600160405280602781526020016138e460279139612a6c565b600054610100900460ff16158080156121845750600054600160ff909116105b8061219e5750303b15801561219e575060005460ff166001145b61222a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016104a5565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561228857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6122c873ffffffffffffffffffffffffffffffffffffffff83167f7965db0b000000000000000000000000000000000000000000000000000000006118d8565b61232e576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c00000000000000000000000000000000000060448201526064016104a5565b7f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811782556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a250801561065657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602001611653565b6000612444827f01ffc9a70000000000000000000000000000000000000000000000000000000061247c565b80156114c55750612475827fffffffff0000000000000000000000000000000000000000000000000000000061247c565b1592915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015612534575060208210155b80156125405750600081115b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff81163b6125ef576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016104a5565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61265e83612af1565b60008251118061266b5750805b156113d05761267a8383612b3e565b50505050565b6040517f6352211e000000000000000000000000000000000000000000000000000000008152600481018390526000908190819073ffffffffffffffffffffffffffffffffffffffff871690636352211e90602401602060405180830381865afa1580156126f2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061271691906136ad565b73ffffffffffffffffffffffffffffffffffffffff160361273c575060009050806127a9565b61274585612c7d565b905080156127815761277a8361275a86612de6565b600681111561276b5761276b6136ca565b600160ff919091161b16151590565b91506127a9565b7f80000000000000000000000000000000000000000000000000000000000000008316151591505b935093915050565b6127fd6040805160c0810182526000808252602080830182905282840182905260608084018390526080840183905284519081018552828152908101829052928301529060a082015290565b61284d7f63c7c0360000000000000000000000000000000000000000000000000000000061283160c0850160a086016130cf565b73ffffffffffffffffffffffffffffffffffffffff16906118d8565b6128b3576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4952656c6174696f6e7368697050726f636573736f720000000000000000000060448201526064016104a5565b6128c561012083016101008401613717565b6dffffffffffffffffffffffffffff166128e6610100840160e08501613717565b6dffffffffffffffffffffffffffff16101561292e576040517f2373692000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061294060e0840160c085016130cf565b73ffffffffffffffffffffffffffffffffffffffff160361298d576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160c08101909152806129bb6129a68580613732565b6129b6604088016020890161379a565b612e49565b81526020016129e06129d06040860186613732565b6129b6608088016060890161379a565b81526020016129f560a085016080860161379a565b15158152602001612a0c60c0850160a086016130cf565b73ffffffffffffffffffffffffffffffffffffffff168152602001612a3760e0850160c086016130cf565b73ffffffffffffffffffffffffffffffffffffffff168152602001612a6436859003850160e086016137b7565b905292915050565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051612a969190613825565b600060405180830381855af49150503d8060008114612ad1576040519150601f19603f3d011682016040523d82523d6000602084013e612ad6565b606091505b5091509150612ae786838387612f80565b9695505050505050565b612afa8161254b565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606073ffffffffffffffffffffffffffffffffffffffff83163b612be4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e7472616374000000000000000000000000000000000000000000000000000060648201526084016104a5565b6000808473ffffffffffffffffffffffffffffffffffffffff1684604051612c0c9190613825565b600060405180830381855af49150503d8060008114612c47576040519150601f19603f3d011682016040523d82523d6000602084013e612c4c565b606091505b5091509150612c7482826040518060600160405280602781526020016138e460279139613020565b95945050505050565b60008173ffffffffffffffffffffffffffffffffffffffff1663b9d0787c6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612d04575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252612d0191810190613681565b60015b612d1057506000919050565b8273ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16632c5cefa3836040518263ffffffff1660e01b8152600401612d8291815260200190565b602060405180830381865afa158015612d9f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612dc391906136ad565b73ffffffffffffffffffffffffffffffffffffffff16149392505050565b919050565b6000612df764e8d4a5100083613870565b1580612e115750612e0e600664e8d4a51000613884565b82115b15612e1e57506000919050565b612e2d64e8d4a510008361389b565b612e3890600161369a565b60068111156114c5576114c56136ca565b6000828103612e84576040517f8d13b34400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805b84811015612f4f576000868683818110612ea457612ea461357f565b9050602002016020810190612eb991906138af565b6006811115612eca57612eca6136ca565b03612f01576040517f8d13b34400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b858582818110612f1357612f1361357f565b9050602002016020810190612f2891906138af565b6006811115612f3957612f396136ca565b600160ff9190911681901b929092179101612e88565b508215611354577fff0000000000000000000000000000000000000000000000000000000000000017949350505050565b6060831561301657825160000361300f5773ffffffffffffffffffffffffffffffffffffffff85163b61300f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016104a5565b5081611354565b6113548383613035565b6060831561302f575081610457565b61045783835b8151156130455781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104a591906138d0565b600060c0828403121561308b57600080fd5b50919050565b600060c082840312156130a357600080fd5b6104578383613079565b73ffffffffffffffffffffffffffffffffffffffff8116811461085c57600080fd5b6000602082840312156130e157600080fd5b8135610457816130ad565b6000602082840312156130fe57600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561317b5761317b613105565b604052919050565b6000806040838503121561319657600080fd5b82356131a1816130ad565b915060208381013567ffffffffffffffff808211156131bf57600080fd5b818601915086601f8301126131d357600080fd5b8135818111156131e5576131e5613105565b613215847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601613134565b9150808252878482850101111561322b57600080fd5b80848401858401376000848284010152508093505050509250929050565b600080600060e0848603121561325e57600080fd5b6132688585613079565b925060c084013567ffffffffffffffff8082111561328557600080fd5b818601915086601f83011261329957600080fd5b8135818111156132a857600080fd5b8760208285010111156132ba57600080fd5b6020830194508093505050509250925092565b600080604083850312156132e057600080fd5b82359150602083013567ffffffffffffffff8111156132fe57600080fd5b8301610140818603121561331157600080fd5b809150509250929050565b6000806020838503121561332f57600080fd5b823567ffffffffffffffff8082111561334757600080fd5b818501915085601f83011261335b57600080fd5b81358181111561336a57600080fd5b8660208260051b850101111561337f57600080fd5b60209290920196919550909350505050565b60005b838110156133ac578181015183820152602001613394565b50506000910152565b600081518084526133cd816020860160208601613391565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015613472577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08886030184526134608583516133b5565b94509285019290850190600101613426565b5092979650505050505050565b6000610100863561348f816130ad565b73ffffffffffffffffffffffffffffffffffffffff808216855260208901356020860152604089013591506134c3826130ad565b166040840152606087810135908401526080808801359084015260a0808801359084015260c083018190528201849052610120848682850137600085840182015273ffffffffffffffffffffffffffffffffffffffff841660e08401527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f860116830101905095945050505050565b801515811461085c57600080fd5b60006020828403121561357457600080fd5b815161045781613554565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126135e357600080fd5b83018035915067ffffffffffffffff8211156135fe57600080fd5b60200191503681900382131561361357600080fd5b9250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361367a5761367a61361a565b5060010190565b60006020828403121561369357600080fd5b5051919050565b808201808211156114c5576114c561361a565b6000602082840312156136bf57600080fd5b8151610457816130ad565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b80356dffffffffffffffffffffffffffff81168114612de157600080fd5b60006020828403121561372957600080fd5b610457826136f9565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261376757600080fd5b83018035915067ffffffffffffffff82111561378257600080fd5b6020019150600581901b360382131561361357600080fd5b6000602082840312156137ac57600080fd5b813561045781613554565b6000606082840312156137c957600080fd5b6040516060810181811067ffffffffffffffff821117156137ec576137ec613105565b6040526137f8836136f9565b8152613806602084016136f9565b6020820152604083013561381981613554565b60408201529392505050565b60008251613837818460208701613391565b9190910192915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60008261387f5761387f613841565b500690565b80820281158282048414176114c5576114c561361a565b6000826138aa576138aa613841565b500490565b6000602082840312156138c157600080fd5b81356007811061045757600080fd5b60208152600061045760208301846133b556fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212200279528c58839360854f4542e7a6ef2050183229ca2238fe35e5128cd039ead764736f6c63430008130033000000000000000000000000f157916d184598105fe4681ec93be0f799599003", - "nonce": "0x26", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x63ae9932b1a31dc97717eb268153b9148670645fbee1c1ffa2034e2435f937be", - "transactionType": "CREATE", - "contractName": "ERC1967Proxy", - "contractAddress": "0xb146cB898E95953f353bf5A50Fb8f129eC0D5AAb", - "function": null, - "arguments": [ - "0xf3b1129B0b2920968CBf089a88c7E6266FaE64aE", - "0xc4d66de800000000000000000000000058eda9b5b0983f75fa887b598d7164e82791ba21" - ], - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x3f4af", - "value": "0x0", - "data": "0x60806040526040516104ee3803806104ee833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c760279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60be806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea2646970667358221220a678556ae280ddf13e459fe9ecd177633ae9dbc544c45d5b523d43ba9084c8dc64736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564000000000000000000000000f3b1129b0b2920968cbf089a88c7e6266fae64ae00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de800000000000000000000000058eda9b5b0983f75fa887b598d7164e82791ba2100000000000000000000000000000000000000000000000000000000", - "nonce": "0x27", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x0a8fdae74c6e861b563525728e5f89d2a2aef6d6afb6a7d25eb750e53d99b8d3", - "transactionType": "CALL", - "contractName": "ERC1967Proxy", - "contractAddress": "0x58eda9b5b0983f75fa887B598d7164E82791Ba21", - "function": null, - "arguments": null, - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "to": "0x58eda9b5b0983f75fa887b598d7164e82791ba21", - "gas": "0x12f1f", - "value": "0x0", - "data": "0x2f2ff15d189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3000000000000000000000000b6288e57bf7406b35ab4f70fd1135e907107e386", - "nonce": "0x28", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x30380c4c0725b1cd52d4f3e2ae0b0a1196e1ffcd4d12c668931b530446a0a072", - "transactionType": "CALL", - "contractName": "ERC1967Proxy", - "contractAddress": "0x58eda9b5b0983f75fa887B598d7164E82791Ba21", - "function": null, - "arguments": null, - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "to": "0x58eda9b5b0983f75fa887b598d7164e82791ba21", - "gas": "0x12f1f", - "value": "0x0", - "data": "0x2f2ff15d637821dcee84aabec9c8cf4f6f643013a24ad27fd41511ffd937aea80d8619a9000000000000000000000000b6288e57bf7406b35ab4f70fd1135e907107e386", - "nonce": "0x29", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [], - "libraries": [], - "pending": [ - "0x852e7340599d921a7ff5b7597ab2ff4fb3b4277636192dcbd67d676cf6fffcdb", - "0xb6c9723b9a1f6cc56eb2f5e4cc093b0939809a03f143a8c48731bdd59114e8e0", - "0x01066de60670401ac2039bdd1e99b9a876709b40a99504e7720cd30060ffe123", - "0x04109af705d961b6a732641a681c2e28b1900e25a6ea4e748d93c49d9c1ad7b4", - "0xb5eb7a7a51955ebaa7ff97003a04aa5692cb75012a16c977ff2c56849248de78", - "0x1ff041a965d11099bd330a252d3384f4ea18e9f5e49b32ccefa46ea32b39874a", - "0x63ae9932b1a31dc97717eb268153b9148670645fbee1c1ffa2034e2435f937be", - "0x0a8fdae74c6e861b563525728e5f89d2a2aef6d6afb6a7d25eb750e53d99b8d3", - "0x30380c4c0725b1cd52d4f3e2ae0b0a1196e1ffcd4d12c668931b530446a0a072" - ], - "path": "/Users/drmanhattan/Workspace/StoryProtocol/protocol-contracts/broadcast/Deploy.s.sol/5/run-latest.json", - "returns": {}, - "timestamp": 1690240001, - "chain": 5, - "multi": false, - "commit": "2954e6f" -} \ No newline at end of file diff --git a/broadcast/Deploy.s.sol/5/run-1690240013.json b/broadcast/Deploy.s.sol/5/run-1690240013.json deleted file mode 100644 index 3c75bb9c..00000000 --- a/broadcast/Deploy.s.sol/5/run-1690240013.json +++ /dev/null @@ -1,598 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x852e7340599d921a7ff5b7597ab2ff4fb3b4277636192dcbd67d676cf6fffcdb", - "transactionType": "CREATE", - "contractName": "IPAssetRegistryFactory", - "contractAddress": "0x461DF243955aD5493cFa33434c2B7CfF2C583dc7", - "function": null, - "arguments": null, - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x58ec5d", - "value": "0x0", - "data": "0x60a060405234801561001057600080fd5b5061001a3361008d565b604051610026906100dd565b604051809103906000f080158015610042573d6000803e3d6000fd5b5060405161004f906100ea565b6001600160a01b039091168152602001604051809103906000f08015801561007b573d6000803e3d6000fd5b506001600160a01b03166080526100f7565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6136a58061145c83390190565b6105ef80614b0183390190565b60805161133d61011f60003960008181609f0152818161023e0152610440015261133d6000f3fe60806040523480156200001157600080fd5b50600436106200007b5760003560e01c806386df779e116200005657806386df779e14620000f45780638da5cb5b146200010b578063f2fde38b146200012a57600080fd5b80633991fc9d146200008057806349493a4d1462000099578063715018a614620000ea575b600080fd5b62000097620000913660046200083a565b62000141565b005b620000c17f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6200009762000382565b620000c162000105366004620008be565b6200039a565b60005473ffffffffffffffffffffffffffffffffffffffff16620000c1565b620000976200013b3660046200083a565b62000514565b6200014b620005d1565b6200018d73ffffffffffffffffffffffffffffffffffffffff82167fb9d0787c0000000000000000000000000000000000000000000000000000000062000654565b620001f9576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f494950417373657452656769737472790000000000000000000000000000000060448201526064015b60405180910390fd5b6040517f3659cfe600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82811660048301527f00000000000000000000000000000000000000000000000000000000000000001690633659cfe690602401600060405180830381600087803b1580156200028357600080fd5b505af115801562000298573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff167fa8f2f87a44131841a6848a0e54ac181d9f27ca8565b9252b1f49af60507d76928273ffffffffffffffffffffffffffffffffffffffff166354fd4d506040518163ffffffff1660e01b8152600401600060405180830381865afa15801562000320573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052620003689190810190620009c1565b60405162000377919062000ad9565b60405180910390a250565b6200038c620005d1565b6200039860006200067c565b565b600080604051806060016040528060288152602001620012e0602891398051906020012089898989898989604051602401620003dd979695949392919062000b37565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050905060007f0000000000000000000000000000000000000000000000000000000000000000826040516200046e906200082c565b6200047b92919062000b8d565b604051809103906000f08015801562000498573d6000803e3d6000fd5b5090508686604051620004ad92919062000bc6565b60405180910390208173ffffffffffffffffffffffffffffffffffffffff167f423bf0ea6b57d35b37f0caad547ba5e1d340585657e9fec91dcac4375fcd45a98b8b604051620004ff92919062000bd6565b60405180910390a39998505050505050505050565b6200051e620005d1565b73ffffffffffffffffffffffffffffffffffffffff8116620005c3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401620001f0565b620005ce816200067c565b50565b60005473ffffffffffffffffffffffffffffffffffffffff16331462000398576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401620001f0565b60006200066183620006f1565b80156200067557506200067583836200075b565b9392505050565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006200071f827f01ffc9a7000000000000000000000000000000000000000000000000000000006200075b565b801562000755575062000753827fffffffff000000000000000000000000000000000000000000000000000000006200075b565b155b92915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d9150600051905082801562000814575060208210155b8015620008215750600081115b979650505050505050565b6106f38062000bed83390190565b6000602082840312156200084d57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff811681146200067557600080fd5b60008083601f8401126200088557600080fd5b50813567ffffffffffffffff8111156200089e57600080fd5b602083019150836020828501011115620008b757600080fd5b9250929050565b60008060008060008060006080888a031215620008da57600080fd5b87359650602088013567ffffffffffffffff80821115620008fa57600080fd5b620009088b838c0162000872565b909850965060408a01359150808211156200092257600080fd5b620009308b838c0162000872565b909650945060608a01359150808211156200094a57600080fd5b50620009598a828b0162000872565b989b979a50959850939692959293505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60005b83811015620009b85781810151838201526020016200099e565b50506000910152565b600060208284031215620009d457600080fd5b815167ffffffffffffffff80821115620009ed57600080fd5b818401915084601f83011262000a0257600080fd5b81518181111562000a175762000a176200096c565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171562000a605762000a606200096c565b8160405282815287602084870101111562000a7a57600080fd5b620008218360208301602088016200099b565b6000815180845262000aa78160208601602086016200099b565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600062000675602083018462000a8d565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b87815260806020820152600062000b5360808301888a62000aee565b828103604084015262000b6881878962000aee565b9050828103606084015262000b7f81858762000aee565b9a9950505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff8316815260406020820152600062000bbe604083018462000a8d565b949350505050565b8183823760009101908152919050565b60208152600062000bbe60208301848662000aee56fe60806040526040516106f33803806106f383398101604081905261002291610420565b61002e82826000610035565b505061054a565b61003e836100f6565b6040516001600160a01b038416907f1cf3b03a6cf19fa2baba4df148e9dcabedea7f8a5c07840e207e5c089be95d3e90600090a260008251118061007f5750805b156100f1576100ef836001600160a01b0316635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156100c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100e991906104e0565b8361027a565b505b505050565b6001600160a01b0381163b6101605760405162461bcd60e51b815260206004820152602560248201527f455243313936373a206e657720626561636f6e206973206e6f74206120636f6e6044820152641d1c9858dd60da1b60648201526084015b60405180910390fd5b6101d4816001600160a01b0316635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101c591906104e0565b6001600160a01b03163b151590565b6102395760405162461bcd60e51b815260206004820152603060248201527f455243313936373a20626561636f6e20696d706c656d656e746174696f6e206960448201526f1cc81b9bdd08184818dbdb9d1c9858dd60821b6064820152608401610157565b7fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d5080546001600160a01b0319166001600160a01b0392909216919091179055565b606061029f83836040518060600160405280602781526020016106cc602791396102a6565b9392505050565b6060600080856001600160a01b0316856040516102c391906104fb565b600060405180830381855af49150503d80600081146102fe576040519150601f19603f3d011682016040523d82523d6000602084013e610303565b606091505b5090925090506103158683838761031f565b9695505050505050565b6060831561038e578251600003610387576001600160a01b0385163b6103875760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610157565b5081610398565b61039883836103a0565b949350505050565b8151156103b05781518083602001fd5b8060405162461bcd60e51b81526004016101579190610517565b80516001600160a01b03811681146103e157600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b838110156104175781810151838201526020016103ff565b50506000910152565b6000806040838503121561043357600080fd5b61043c836103ca565b60208401519092506001600160401b038082111561045957600080fd5b818501915085601f83011261046d57600080fd5b81518181111561047f5761047f6103e6565b604051601f8201601f19908116603f011681019083821181831017156104a7576104a76103e6565b816040528281528860208487010111156104c057600080fd5b6104d18360208301602088016103fc565b80955050505050509250929050565b6000602082840312156104f257600080fd5b61029f826103ca565b6000825161050d8184602087016103fc565b9190910192915050565b60208152600082518060208401526105368160408501602087016103fc565b601f01601f19169190910160400192915050565b610173806105596000396000f3fe60806040523661001357610011610017565b005b6100115b610027610022610029565b6100dc565b565b60006100697fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d505473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff16635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156100b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100d79190610100565b905090565b3660008037600080366000845af43d6000803e8080156100fb573d6000f35b3d6000fd5b60006020828403121561011257600080fd5b815173ffffffffffffffffffffffffffffffffffffffff8116811461013657600080fd5b939250505056fea26469706673582212206e19af89d0e39d5d76f1b5b6bd963ba5f8c6c6fc546e614a5bb49e1174b5e59d64736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564696e697469616c697a652875696e743235362c737472696e672c737472696e672c737472696e6729a26469706673582212209c23c78bb385d6116b3a9bf5d75450aee14a9f903fa3a8aa01d107c4860fb97b64736f6c6343000813003360806040523480156200001157600080fd5b506200001c62000022565b620000e4565b600054610100900460ff16156200008f5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff9081161015620000e2576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6135b180620000f46000396000f3fe608060405234801561001057600080fd5b50600436106101ae5760003560e01c806370a08231116100ee578063ac9650d811610097578063c87b56dd11610071578063c87b56dd146103cb578063e985e9c5146103de578063eb1f6b5a14610427578063f46aa1891461044757600080fd5b8063ac9650d814610371578063b88d4fde14610391578063b9d0787c146103a457600080fd5b80639dc6693c116100c85780639dc6693c14610338578063a22cb4651461034b578063a8185a2e1461035e57600080fd5b806370a08231146103155780637284e4161461032857806395d89b411461033057600080fd5b80633c7fc59d1161015b5780634ff0a2b2116101355780634ff0a2b2146102ae57806354fd4d50146102b65780636352211e146102ef57806369cf2c371461030257600080fd5b80633c7fc59d1461026657806342842e0e1461028857806346193ccd1461029b57600080fd5b8063095ea7b31161018c578063095ea7b3146102285780630f7966c01461023d57806323b872dd1461025357600080fd5b806301ffc9a7146101b357806306fdde03146101db578063081812fc146101f0575b600080fd5b6101c66101c13660046127b3565b61045a565b60405190151581526020015b60405180910390f35b6101e36104b6565b6040516101d2919061283e565b6102036101fe366004612851565b610548565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101d2565b61023b610236366004612893565b61057c565b005b610245601481565b6040519081526020016101d2565b61023b6102613660046128bd565b6106d9565b610279610274366004612851565b610760565b6040516101d2939291906129c0565b61023b6102963660046128bd565b6107c8565b61023b6102a9366004612a6b565b6107e3565b61023b610a82565b60408051808201909152600581527f302e312e3000000000000000000000000000000000000000000000000000000060208201526101e3565b6102036102fd366004612851565b610bf2565b610245610310366004612b1e565b610c64565b610245610323366004612b39565b610cde565b6101e3610d92565b6101e3610e67565b61023b610346366004612b99565b610e76565b61023b610359366004612be5565b610fef565b61024561036c366004612c21565b610ffe565b61038461037f366004612cfb565b6110a0565b6040516101d29190612d3d565b61023b61039f366004612dec565b611195565b7f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e37a54610245565b6101e36103d9366004612851565b611223565b6101c66103ec366004612ee6565b73ffffffffffffffffffffffffffffffffffffffff9182166000908152606a6020908152604080832093909416825291909152205460ff1690565b61043a610435366004612851565b611238565b6040516101d29190612f19565b610245610455366004612f2c565b61146b565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb9d0787c0000000000000000000000000000000000000000000000000000000014806104b057506104b0826114e1565b92915050565b6060606580546104c590612f6d565b80601f01602080910402602001604051908101604052809291908181526020018280546104f190612f6d565b801561053e5780601f106105135761010080835404028352916020019161053e565b820191906000526020600020905b81548152906001019060200180831161052157829003601f168201915b5050505050905090565b6000610553826115c4565b5060009081526069602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b600061058782610bf2565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361062f5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff82161480610658575061065881336103ec565b6106ca5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610626565b6106d48383611635565b505050565b6106e333826116d5565b6107555760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610626565b6106d4838383611794565b61076861274d565b6000606061077584611238565b925060007f472b429d656ecfb82e6e0cff4b4090577a009a43252b08434ed2201373a9647d6000868152602082905260409020805460ff1694509091506107be60018201611a41565b9496939550505050565b6106d483838360405180602001604052806000815250611195565b600054610100900460ff16158080156108035750600054600160ff909116105b8061081d5750303b15801561081d575060005460ff166001145b61088f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610626565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156108ed57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61096087878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8b018190048102820181019092528981529250899150889081908401838280828437600092019190915250611a4e92505050565b610968611ad5565b876000036109a2576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e37a8890557f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e3787f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e379610a1384868361300e565b50508015610a7857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050505050565b600054610100900460ff1615808015610aa25750600054600160ff909116105b80610abc5750303b158015610abc575060005460ff166001145b610b2e5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610626565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610b8c57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b8015610bef57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50565b60008181526067602052604081205473ffffffffffffffffffffffffffffffffffffffff16806104b05760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610626565b60007f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e378818181856006811115610c9c57610c9c6128f9565b6006811115610cad57610cad6128f9565b815260200190815260200160002054905080600003610cd757610ccf84611b54565b949350505050565b9392505050565b600073ffffffffffffffffffffffffffffffffffffffff8216610d695760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e657200000000000000000000000000000000000000000000006064820152608401610626565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526068602052604090205490565b7f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e37980546060917f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e37891610de390612f6d565b80601f0160208091040260200160405190810160405280929190818152602001828054610e0f90612f6d565b8015610e5c5780601f10610e3157610100808354040283529160200191610e5c565b820191906000526020600020905b815481529060010190602001808311610e3f57829003601f168201915b505050505091505090565b6060606680546104c590612f6d565b806014811115610eb2576040517f77d10abd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481527f472b429d656ecfb82e6e0cff4b4090577a009a43252b08434ed2201373a9647d60208190526040822054909160ff909116905b84811015610faa57816006811115610f0557610f056128f9565b610f26878784818110610f1a57610f1a613129565b90506020020135611bcf565b6006811115610f3757610f376128f9565b14610f6e576040517f50c3390e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610fa1868683818110610f8357610f83613129565b60008b81526020888152604090912060010193910201359050611c32565b50600101610eeb565b50857f823d677ed42b321275c6b3aa7040f32e41d12aea91120455a19a60ae310b0af3828787604051610fdf93929190613158565b60405180910390a2505050505050565b610ffa338383611c3e565b5050565b60008061101160048c8c8c8c8c8c61146b565b905060007f472b429d656ecfb82e6e0cff4b4090577a009a43252b08434ed2201373a9647d6000838152602082905260409020805491925087917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001836006811115611081576110816128f9565b0217905550611091828686610e76565b509a9950505050505050505050565b60608167ffffffffffffffff8111156110bb576110bb612dbd565b6040519080825280602002602001820160405280156110ee57816020015b60608152602001906001900390816110d95790505b50905060005b8281101561118e5761115e3085858481811061111257611112613129565b905060200281019061112491906131b8565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611d5192505050565b82828151811061117057611170613129565b602002602001018190525080806111869061324c565b9150506110f4565b5092915050565b61119f33836116d5565b6112115760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610626565b61121d84848484611e76565b50505050565b606061122e82611238565b6040015192915050565b61124061274d565b60008281527f9d56f7e7ee381479643316c052563e5824551ecde3f8bff0aa320131666f6879602081905260409182902082516080810190935280549192918290829061128c90612f6d565b80601f01602080910402602001604051908101604052809291908181526020018280546112b890612f6d565b80156113055780601f106112da57610100808354040283529160200191611305565b820191906000526020600020905b8154815290600101906020018083116112e857829003601f168201915b5050505050815260200160018201805461131e90612f6d565b80601f016020809104026020016040519081016040528092919081815260200182805461134a90612f6d565b80156113975780601f1061136c57610100808354040283529160200191611397565b820191906000526020600020905b81548152906001019060200180831161137a57829003601f168201915b505050505081526020016002820180546113b090612f6d565b80601f01602080910402602001604051908101604052809291908181526020018280546113dc90612f6d565b80156114295780601f106113fe57610100808354040283529160200191611429565b820191906000526020600020905b81548152906001019060200180831161140c57829003601f168201915b5050509183525050600382015460209091019060ff166006811115611450576114506128f9565b6006811115611461576114616128f9565b9052509392505050565b600080886006811115611480576114806128f9565b036114b7576040517ffa19fa0700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006114c3338a611eff565b90506114d481898989898989611fc5565b5098975050505050505050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061157457507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b806104b057507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316146104b0565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff16610bef5760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610626565b600081815260696020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117909155819061168f82610bf2565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000806116e183610bf2565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061174f575073ffffffffffffffffffffffffffffffffffffffff8082166000908152606a602090815260408083209388168352929052205460ff165b80610ccf57508373ffffffffffffffffffffffffffffffffffffffff1661177584610548565b73ffffffffffffffffffffffffffffffffffffffff1614949350505050565b8273ffffffffffffffffffffffffffffffffffffffff166117b482610bf2565b73ffffffffffffffffffffffffffffffffffffffff161461183d5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610626565b73ffffffffffffffffffffffffffffffffffffffff82166118c55760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610626565b8273ffffffffffffffffffffffffffffffffffffffff166118e582610bf2565b73ffffffffffffffffffffffffffffffffffffffff161461196e5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610626565b600081815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff8781168086526068855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905590871680865283862080546001019055868652606790945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b60606000610cd7836120fb565b600054610100900460ff16611acb5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610626565b610ffa8282612157565b600054610100900460ff16611b525760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610626565b565b600080826006811115611b6957611b696128f9565b03611ba257816040517f877df4f20000000000000000000000000000000000000000000000000000000081526004016106269190613284565b6001826006811115611bb657611bb66128f9565b611bc09190613292565b6104b09064e8d4a510006132a5565b6000611be064e8d4a51000836132eb565b1580611bfa5750611bf7600664e8d4a510006132a5565b82115b15611c0757506000919050565b611c1664e8d4a51000836132ff565b611c21906001613313565b60068111156104b0576104b06128f9565b6000610cd783836121ed565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611cb95760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610626565b73ffffffffffffffffffffffffffffffffffffffff8381166000818152606a602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b606073ffffffffffffffffffffffffffffffffffffffff83163b611ddd5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e747261637400000000000000000000000000000000000000000000000000006064820152608401610626565b6000808473ffffffffffffffffffffffffffffffffffffffff1684604051611e059190613326565b600060405180830381855af49150503d8060008114611e40576040519150601f19603f3d011682016040523d82523d6000602084013e611e45565b606091505b5091509150611e6d82826040518060600160405280602781526020016135556027913961223c565b95945050505050565b611e81848484611794565b611e8d84848484612255565b61121d5760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610626565b600080611f0b83610c64565b611f16906001613313565b9050611f218361242e565b811115611f5a576040517fd5fdab4f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e37881816000866006811115611f9157611f916128f9565b6006811115611fa257611fa26128f9565b8152602081019190915260400160002055611fbd85836124a9565b509392505050565b60008781527f9d56f7e7ee381479643316c052563e5824551ecde3f8bff0aa320131666f68796020819052604082206003810154839060ff16600681111561200f5761200f6128f9565b0361205f5761201d8a611bcf565b6003820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001836006811115612059576120596128f9565b02179055505b8061206b898b8361300e565b506001810161207b87898361300e565b506002810161208b85878361300e565b50600381015460ff1660068111156120a5576120a56128f9565b8a7fa82032c25afb0149419a68bef0de224f05ddf61f663c81661d7f86f32f0381f88b8b8b8b8b8b6040516120df9695949392919061338b565b60405180910390a36003015460ff169998505050505050505050565b60608160000180548060200260200160405190810160405280929190818152602001828054801561214b57602002820191906000526020600020905b815481526020019060010190808311612137575b50505050509050919050565b600054610100900460ff166121d45760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610626565b60656121e083826133d4565b5060666106d482826133d4565b6000818152600183016020526040812054612234575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556104b0565b5060006104b0565b6060831561224b575081610cd7565b610cd783836124c3565b600073ffffffffffffffffffffffffffffffffffffffff84163b15612423576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a02906122cc9033908990889088906004016134ee565b6020604051808303816000875af1925050508015612325575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261232291810190613537565b60015b6123d8573d808015612353576040519150601f19603f3d011682016040523d82523d6000602084013e612358565b606091505b5080516000036123d05760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610626565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050610ccf565b506001949350505050565b600080826006811115612443576124436128f9565b0361247c57816040517f877df4f20000000000000000000000000000000000000000000000000000000081526004016106269190613284565b6001826006811115612490576124906128f9565b61249f9064e8d4a510006132a5565b6104b09190613292565b610ffa8282604051806020016040528060008152506124ed565b8151156124d35781518083602001fd5b8060405162461bcd60e51b8152600401610626919061283e565b6124f78383612576565b6125046000848484612255565b6106d45760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610626565b73ffffffffffffffffffffffffffffffffffffffff82166125d95760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610626565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff161561264b5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610626565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff16156126bd5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610626565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260686020908152604080832080546001019055848352606790915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b604051806080016040528060608152602001606081526020016060815260200160006006811115612780576127806128f9565b905290565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610bef57600080fd5b6000602082840312156127c557600080fd5b8135610cd781612785565b60005b838110156127eb5781810151838201526020016127d3565b50506000910152565b6000815180845261280c8160208601602086016127d0565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610cd760208301846127f4565b60006020828403121561286357600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461288e57600080fd5b919050565b600080604083850312156128a657600080fd5b6128af8361286a565b946020939093013593505050565b6000806000606084860312156128d257600080fd5b6128db8461286a565b92506128e96020850161286a565b9150604084013590509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6007811061295f577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b600081516080845261297860808501826127f4565b90506020830151848203602086015261299182826127f4565b915050604083015184820360408601526129ab82826127f4565b9150506060830151611fbd6060860182612928565b6060815260006129d36060830186612963565b60206129e181850187612928565b838203604085015284518083528186019282019060005b81811015612a14578451835293830193918301916001016129f8565b509098975050505050505050565b60008083601f840112612a3457600080fd5b50813567ffffffffffffffff811115612a4c57600080fd5b602083019150836020828501011115612a6457600080fd5b9250929050565b60008060008060008060006080888a031215612a8657600080fd5b87359650602088013567ffffffffffffffff80821115612aa557600080fd5b612ab18b838c01612a22565b909850965060408a0135915080821115612aca57600080fd5b612ad68b838c01612a22565b909650945060608a0135915080821115612aef57600080fd5b50612afc8a828b01612a22565b989b979a50959850939692959293505050565b80356007811061288e57600080fd5b600060208284031215612b3057600080fd5b610cd782612b0f565b600060208284031215612b4b57600080fd5b610cd78261286a565b60008083601f840112612b6657600080fd5b50813567ffffffffffffffff811115612b7e57600080fd5b6020830191508360208260051b8501011115612a6457600080fd5b600080600060408486031215612bae57600080fd5b83359250602084013567ffffffffffffffff811115612bcc57600080fd5b612bd886828701612b54565b9497909650939450505050565b60008060408385031215612bf857600080fd5b612c018361286a565b915060208301358015158114612c1657600080fd5b809150509250929050565b600080600080600080600080600060a08a8c031215612c3f57600080fd5b893567ffffffffffffffff80821115612c5757600080fd5b612c638d838e01612a22565b909b50995060208c0135915080821115612c7c57600080fd5b612c888d838e01612a22565b909950975060408c0135915080821115612ca157600080fd5b612cad8d838e01612a22565b9097509550859150612cc160608d01612b0f565b945060808c0135915080821115612cd757600080fd5b50612ce48c828d01612b54565b915080935050809150509295985092959850929598565b60008060208385031215612d0e57600080fd5b823567ffffffffffffffff811115612d2557600080fd5b612d3185828601612b54565b90969095509350505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015612db0577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452612d9e8583516127f4565b94509285019290850190600101612d64565b5092979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060008060808587031215612e0257600080fd5b612e0b8561286a565b9350612e196020860161286a565b925060408501359150606085013567ffffffffffffffff80821115612e3d57600080fd5b818701915087601f830112612e5157600080fd5b813581811115612e6357612e63612dbd565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715612ea957612ea9612dbd565b816040528281528a6020848701011115612ec257600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b60008060408385031215612ef957600080fd5b612f028361286a565b9150612f106020840161286a565b90509250929050565b602081526000610cd76020830184612963565b60008060008060008060006080888a031215612f4757600080fd5b612f5088612b0f565b9650602088013567ffffffffffffffff80821115612aa557600080fd5b600181811c90821680612f8157607f821691505b602082108103612fba577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f8211156106d457600081815260208120601f850160051c81016020861015612fe75750805b601f850160051c820191505b8181101561300657828155600101612ff3565b505050505050565b67ffffffffffffffff83111561302657613026612dbd565b61303a836130348354612f6d565b83612fc0565b6000601f84116001811461308c57600085156130565750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355613122565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b828110156130db57868501358255602094850194600190920191016130bb565b5086821015613116577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6131628185612928565b6040602082015281604082015260007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83111561319e57600080fd5b8260051b8085606085013791909101606001949350505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126131ed57600080fd5b83018035915067ffffffffffffffff82111561320857600080fd5b602001915036819003821315612a6457600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361327d5761327d61321d565b5060010190565b602081016104b08284612928565b818103818111156104b0576104b061321d565b80820281158282048414176104b0576104b061321d565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000826132fa576132fa6132bc565b500690565b60008261330e5761330e6132bc565b500490565b808201808211156104b0576104b061321d565b600082516133388184602087016127d0565b9190910192915050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60608152600061339f60608301888a613342565b82810360208401526133b2818789613342565b905082810360408401526133c7818587613342565b9998505050505050505050565b815167ffffffffffffffff8111156133ee576133ee612dbd565b613402816133fc8454612f6d565b84612fc0565b602080601f831160018114613455576000841561341f5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555613006565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156134a257888601518255948401946001909101908401613483565b50858210156134de57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600073ffffffffffffffffffffffffffffffffffffffff80871683528086166020840152508360408301526080606083015261352d60808301846127f4565b9695505050505050565b60006020828403121561354957600080fd5b8151610cd78161278556fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122078f441787f11096e9e5b9cb7d7785bc623e667ca342c5fa049a603e7a2dc1ff064736f6c63430008130033608060405234801561001057600080fd5b506040516105ef3803806105ef83398101604081905261002f9161013a565b61003833610047565b61004181610097565b5061016a565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0381163b6101185760405162461bcd60e51b815260206004820152603360248201527f5570677261646561626c65426561636f6e3a20696d706c656d656e746174696f60448201527f6e206973206e6f74206120636f6e747261637400000000000000000000000000606482015260840160405180910390fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b60006020828403121561014c57600080fd5b81516001600160a01b038116811461016357600080fd5b9392505050565b610476806101796000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c8063715018a611610050578063715018a6146100c45780638da5cb5b146100cc578063f2fde38b146100ea57600080fd5b80633659cfe61461006c5780635c60da1b14610081575b600080fd5b61007f61007a366004610403565b6100fd565b005b60015473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61007f610152565b60005473ffffffffffffffffffffffffffffffffffffffff1661009b565b61007f6100f8366004610403565b610166565b610105610222565b61010e816102a3565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b61015a610222565b610164600061038e565b565b61016e610222565b73ffffffffffffffffffffffffffffffffffffffff8116610216576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61021f8161038e565b50565b60005473ffffffffffffffffffffffffffffffffffffffff163314610164576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161020d565b73ffffffffffffffffffffffffffffffffffffffff81163b610347576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603360248201527f5570677261646561626c65426561636f6e3a20696d706c656d656e746174696f60448201527f6e206973206e6f74206120636f6e747261637400000000000000000000000000606482015260840161020d565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006020828403121561041557600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461043957600080fd5b939250505056fea264697066735822122048ebef5dea79554c6de8af09830ddb871c241a46dee33849e34fac866c5894bd64736f6c63430008130033", - "nonce": "0x21", - "accessList": [] - }, - "additionalContracts": [ - { - "transactionType": "CREATE", - "address": "0x3a10Db3a7E56243f29709ca0830b08bD1a9F4243", - "initCode": "60806040523480156200001157600080fd5b506200001c62000022565b620000e4565b600054610100900460ff16156200008f5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff9081161015620000e2576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6135b180620000f46000396000f3fe608060405234801561001057600080fd5b50600436106101ae5760003560e01c806370a08231116100ee578063ac9650d811610097578063c87b56dd11610071578063c87b56dd146103cb578063e985e9c5146103de578063eb1f6b5a14610427578063f46aa1891461044757600080fd5b8063ac9650d814610371578063b88d4fde14610391578063b9d0787c146103a457600080fd5b80639dc6693c116100c85780639dc6693c14610338578063a22cb4651461034b578063a8185a2e1461035e57600080fd5b806370a08231146103155780637284e4161461032857806395d89b411461033057600080fd5b80633c7fc59d1161015b5780634ff0a2b2116101355780634ff0a2b2146102ae57806354fd4d50146102b65780636352211e146102ef57806369cf2c371461030257600080fd5b80633c7fc59d1461026657806342842e0e1461028857806346193ccd1461029b57600080fd5b8063095ea7b31161018c578063095ea7b3146102285780630f7966c01461023d57806323b872dd1461025357600080fd5b806301ffc9a7146101b357806306fdde03146101db578063081812fc146101f0575b600080fd5b6101c66101c13660046127b3565b61045a565b60405190151581526020015b60405180910390f35b6101e36104b6565b6040516101d2919061283e565b6102036101fe366004612851565b610548565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101d2565b61023b610236366004612893565b61057c565b005b610245601481565b6040519081526020016101d2565b61023b6102613660046128bd565b6106d9565b610279610274366004612851565b610760565b6040516101d2939291906129c0565b61023b6102963660046128bd565b6107c8565b61023b6102a9366004612a6b565b6107e3565b61023b610a82565b60408051808201909152600581527f302e312e3000000000000000000000000000000000000000000000000000000060208201526101e3565b6102036102fd366004612851565b610bf2565b610245610310366004612b1e565b610c64565b610245610323366004612b39565b610cde565b6101e3610d92565b6101e3610e67565b61023b610346366004612b99565b610e76565b61023b610359366004612be5565b610fef565b61024561036c366004612c21565b610ffe565b61038461037f366004612cfb565b6110a0565b6040516101d29190612d3d565b61023b61039f366004612dec565b611195565b7f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e37a54610245565b6101e36103d9366004612851565b611223565b6101c66103ec366004612ee6565b73ffffffffffffffffffffffffffffffffffffffff9182166000908152606a6020908152604080832093909416825291909152205460ff1690565b61043a610435366004612851565b611238565b6040516101d29190612f19565b610245610455366004612f2c565b61146b565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb9d0787c0000000000000000000000000000000000000000000000000000000014806104b057506104b0826114e1565b92915050565b6060606580546104c590612f6d565b80601f01602080910402602001604051908101604052809291908181526020018280546104f190612f6d565b801561053e5780601f106105135761010080835404028352916020019161053e565b820191906000526020600020905b81548152906001019060200180831161052157829003601f168201915b5050505050905090565b6000610553826115c4565b5060009081526069602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b600061058782610bf2565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361062f5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff82161480610658575061065881336103ec565b6106ca5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610626565b6106d48383611635565b505050565b6106e333826116d5565b6107555760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610626565b6106d4838383611794565b61076861274d565b6000606061077584611238565b925060007f472b429d656ecfb82e6e0cff4b4090577a009a43252b08434ed2201373a9647d6000868152602082905260409020805460ff1694509091506107be60018201611a41565b9496939550505050565b6106d483838360405180602001604052806000815250611195565b600054610100900460ff16158080156108035750600054600160ff909116105b8061081d5750303b15801561081d575060005460ff166001145b61088f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610626565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156108ed57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61096087878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8b018190048102820181019092528981529250899150889081908401838280828437600092019190915250611a4e92505050565b610968611ad5565b876000036109a2576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e37a8890557f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e3787f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e379610a1384868361300e565b50508015610a7857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050505050565b600054610100900460ff1615808015610aa25750600054600160ff909116105b80610abc5750303b158015610abc575060005460ff166001145b610b2e5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610626565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610b8c57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b8015610bef57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50565b60008181526067602052604081205473ffffffffffffffffffffffffffffffffffffffff16806104b05760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610626565b60007f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e378818181856006811115610c9c57610c9c6128f9565b6006811115610cad57610cad6128f9565b815260200190815260200160002054905080600003610cd757610ccf84611b54565b949350505050565b9392505050565b600073ffffffffffffffffffffffffffffffffffffffff8216610d695760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e657200000000000000000000000000000000000000000000006064820152608401610626565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526068602052604090205490565b7f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e37980546060917f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e37891610de390612f6d565b80601f0160208091040260200160405190810160405280929190818152602001828054610e0f90612f6d565b8015610e5c5780601f10610e3157610100808354040283529160200191610e5c565b820191906000526020600020905b815481529060010190602001808311610e3f57829003601f168201915b505050505091505090565b6060606680546104c590612f6d565b806014811115610eb2576040517f77d10abd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481527f472b429d656ecfb82e6e0cff4b4090577a009a43252b08434ed2201373a9647d60208190526040822054909160ff909116905b84811015610faa57816006811115610f0557610f056128f9565b610f26878784818110610f1a57610f1a613129565b90506020020135611bcf565b6006811115610f3757610f376128f9565b14610f6e576040517f50c3390e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610fa1868683818110610f8357610f83613129565b60008b81526020888152604090912060010193910201359050611c32565b50600101610eeb565b50857f823d677ed42b321275c6b3aa7040f32e41d12aea91120455a19a60ae310b0af3828787604051610fdf93929190613158565b60405180910390a2505050505050565b610ffa338383611c3e565b5050565b60008061101160048c8c8c8c8c8c61146b565b905060007f472b429d656ecfb82e6e0cff4b4090577a009a43252b08434ed2201373a9647d6000838152602082905260409020805491925087917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001836006811115611081576110816128f9565b0217905550611091828686610e76565b509a9950505050505050505050565b60608167ffffffffffffffff8111156110bb576110bb612dbd565b6040519080825280602002602001820160405280156110ee57816020015b60608152602001906001900390816110d95790505b50905060005b8281101561118e5761115e3085858481811061111257611112613129565b905060200281019061112491906131b8565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611d5192505050565b82828151811061117057611170613129565b602002602001018190525080806111869061324c565b9150506110f4565b5092915050565b61119f33836116d5565b6112115760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610626565b61121d84848484611e76565b50505050565b606061122e82611238565b6040015192915050565b61124061274d565b60008281527f9d56f7e7ee381479643316c052563e5824551ecde3f8bff0aa320131666f6879602081905260409182902082516080810190935280549192918290829061128c90612f6d565b80601f01602080910402602001604051908101604052809291908181526020018280546112b890612f6d565b80156113055780601f106112da57610100808354040283529160200191611305565b820191906000526020600020905b8154815290600101906020018083116112e857829003601f168201915b5050505050815260200160018201805461131e90612f6d565b80601f016020809104026020016040519081016040528092919081815260200182805461134a90612f6d565b80156113975780601f1061136c57610100808354040283529160200191611397565b820191906000526020600020905b81548152906001019060200180831161137a57829003601f168201915b505050505081526020016002820180546113b090612f6d565b80601f01602080910402602001604051908101604052809291908181526020018280546113dc90612f6d565b80156114295780601f106113fe57610100808354040283529160200191611429565b820191906000526020600020905b81548152906001019060200180831161140c57829003601f168201915b5050509183525050600382015460209091019060ff166006811115611450576114506128f9565b6006811115611461576114616128f9565b9052509392505050565b600080886006811115611480576114806128f9565b036114b7576040517ffa19fa0700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006114c3338a611eff565b90506114d481898989898989611fc5565b5098975050505050505050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061157457507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b806104b057507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316146104b0565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff16610bef5760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610626565b600081815260696020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117909155819061168f82610bf2565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000806116e183610bf2565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061174f575073ffffffffffffffffffffffffffffffffffffffff8082166000908152606a602090815260408083209388168352929052205460ff165b80610ccf57508373ffffffffffffffffffffffffffffffffffffffff1661177584610548565b73ffffffffffffffffffffffffffffffffffffffff1614949350505050565b8273ffffffffffffffffffffffffffffffffffffffff166117b482610bf2565b73ffffffffffffffffffffffffffffffffffffffff161461183d5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610626565b73ffffffffffffffffffffffffffffffffffffffff82166118c55760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610626565b8273ffffffffffffffffffffffffffffffffffffffff166118e582610bf2565b73ffffffffffffffffffffffffffffffffffffffff161461196e5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610626565b600081815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff8781168086526068855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905590871680865283862080546001019055868652606790945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b60606000610cd7836120fb565b600054610100900460ff16611acb5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610626565b610ffa8282612157565b600054610100900460ff16611b525760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610626565b565b600080826006811115611b6957611b696128f9565b03611ba257816040517f877df4f20000000000000000000000000000000000000000000000000000000081526004016106269190613284565b6001826006811115611bb657611bb66128f9565b611bc09190613292565b6104b09064e8d4a510006132a5565b6000611be064e8d4a51000836132eb565b1580611bfa5750611bf7600664e8d4a510006132a5565b82115b15611c0757506000919050565b611c1664e8d4a51000836132ff565b611c21906001613313565b60068111156104b0576104b06128f9565b6000610cd783836121ed565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611cb95760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610626565b73ffffffffffffffffffffffffffffffffffffffff8381166000818152606a602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b606073ffffffffffffffffffffffffffffffffffffffff83163b611ddd5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e747261637400000000000000000000000000000000000000000000000000006064820152608401610626565b6000808473ffffffffffffffffffffffffffffffffffffffff1684604051611e059190613326565b600060405180830381855af49150503d8060008114611e40576040519150601f19603f3d011682016040523d82523d6000602084013e611e45565b606091505b5091509150611e6d82826040518060600160405280602781526020016135556027913961223c565b95945050505050565b611e81848484611794565b611e8d84848484612255565b61121d5760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610626565b600080611f0b83610c64565b611f16906001613313565b9050611f218361242e565b811115611f5a576040517fd5fdab4f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e37881816000866006811115611f9157611f916128f9565b6006811115611fa257611fa26128f9565b8152602081019190915260400160002055611fbd85836124a9565b509392505050565b60008781527f9d56f7e7ee381479643316c052563e5824551ecde3f8bff0aa320131666f68796020819052604082206003810154839060ff16600681111561200f5761200f6128f9565b0361205f5761201d8a611bcf565b6003820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001836006811115612059576120596128f9565b02179055505b8061206b898b8361300e565b506001810161207b87898361300e565b506002810161208b85878361300e565b50600381015460ff1660068111156120a5576120a56128f9565b8a7fa82032c25afb0149419a68bef0de224f05ddf61f663c81661d7f86f32f0381f88b8b8b8b8b8b6040516120df9695949392919061338b565b60405180910390a36003015460ff169998505050505050505050565b60608160000180548060200260200160405190810160405280929190818152602001828054801561214b57602002820191906000526020600020905b815481526020019060010190808311612137575b50505050509050919050565b600054610100900460ff166121d45760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610626565b60656121e083826133d4565b5060666106d482826133d4565b6000818152600183016020526040812054612234575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556104b0565b5060006104b0565b6060831561224b575081610cd7565b610cd783836124c3565b600073ffffffffffffffffffffffffffffffffffffffff84163b15612423576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a02906122cc9033908990889088906004016134ee565b6020604051808303816000875af1925050508015612325575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261232291810190613537565b60015b6123d8573d808015612353576040519150601f19603f3d011682016040523d82523d6000602084013e612358565b606091505b5080516000036123d05760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610626565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050610ccf565b506001949350505050565b600080826006811115612443576124436128f9565b0361247c57816040517f877df4f20000000000000000000000000000000000000000000000000000000081526004016106269190613284565b6001826006811115612490576124906128f9565b61249f9064e8d4a510006132a5565b6104b09190613292565b610ffa8282604051806020016040528060008152506124ed565b8151156124d35781518083602001fd5b8060405162461bcd60e51b8152600401610626919061283e565b6124f78383612576565b6125046000848484612255565b6106d45760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610626565b73ffffffffffffffffffffffffffffffffffffffff82166125d95760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610626565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff161561264b5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610626565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff16156126bd5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610626565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260686020908152604080832080546001019055848352606790915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b604051806080016040528060608152602001606081526020016060815260200160006006811115612780576127806128f9565b905290565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610bef57600080fd5b6000602082840312156127c557600080fd5b8135610cd781612785565b60005b838110156127eb5781810151838201526020016127d3565b50506000910152565b6000815180845261280c8160208601602086016127d0565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610cd760208301846127f4565b60006020828403121561286357600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461288e57600080fd5b919050565b600080604083850312156128a657600080fd5b6128af8361286a565b946020939093013593505050565b6000806000606084860312156128d257600080fd5b6128db8461286a565b92506128e96020850161286a565b9150604084013590509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6007811061295f577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b600081516080845261297860808501826127f4565b90506020830151848203602086015261299182826127f4565b915050604083015184820360408601526129ab82826127f4565b9150506060830151611fbd6060860182612928565b6060815260006129d36060830186612963565b60206129e181850187612928565b838203604085015284518083528186019282019060005b81811015612a14578451835293830193918301916001016129f8565b509098975050505050505050565b60008083601f840112612a3457600080fd5b50813567ffffffffffffffff811115612a4c57600080fd5b602083019150836020828501011115612a6457600080fd5b9250929050565b60008060008060008060006080888a031215612a8657600080fd5b87359650602088013567ffffffffffffffff80821115612aa557600080fd5b612ab18b838c01612a22565b909850965060408a0135915080821115612aca57600080fd5b612ad68b838c01612a22565b909650945060608a0135915080821115612aef57600080fd5b50612afc8a828b01612a22565b989b979a50959850939692959293505050565b80356007811061288e57600080fd5b600060208284031215612b3057600080fd5b610cd782612b0f565b600060208284031215612b4b57600080fd5b610cd78261286a565b60008083601f840112612b6657600080fd5b50813567ffffffffffffffff811115612b7e57600080fd5b6020830191508360208260051b8501011115612a6457600080fd5b600080600060408486031215612bae57600080fd5b83359250602084013567ffffffffffffffff811115612bcc57600080fd5b612bd886828701612b54565b9497909650939450505050565b60008060408385031215612bf857600080fd5b612c018361286a565b915060208301358015158114612c1657600080fd5b809150509250929050565b600080600080600080600080600060a08a8c031215612c3f57600080fd5b893567ffffffffffffffff80821115612c5757600080fd5b612c638d838e01612a22565b909b50995060208c0135915080821115612c7c57600080fd5b612c888d838e01612a22565b909950975060408c0135915080821115612ca157600080fd5b612cad8d838e01612a22565b9097509550859150612cc160608d01612b0f565b945060808c0135915080821115612cd757600080fd5b50612ce48c828d01612b54565b915080935050809150509295985092959850929598565b60008060208385031215612d0e57600080fd5b823567ffffffffffffffff811115612d2557600080fd5b612d3185828601612b54565b90969095509350505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015612db0577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452612d9e8583516127f4565b94509285019290850190600101612d64565b5092979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060008060808587031215612e0257600080fd5b612e0b8561286a565b9350612e196020860161286a565b925060408501359150606085013567ffffffffffffffff80821115612e3d57600080fd5b818701915087601f830112612e5157600080fd5b813581811115612e6357612e63612dbd565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715612ea957612ea9612dbd565b816040528281528a6020848701011115612ec257600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b60008060408385031215612ef957600080fd5b612f028361286a565b9150612f106020840161286a565b90509250929050565b602081526000610cd76020830184612963565b60008060008060008060006080888a031215612f4757600080fd5b612f5088612b0f565b9650602088013567ffffffffffffffff80821115612aa557600080fd5b600181811c90821680612f8157607f821691505b602082108103612fba577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f8211156106d457600081815260208120601f850160051c81016020861015612fe75750805b601f850160051c820191505b8181101561300657828155600101612ff3565b505050505050565b67ffffffffffffffff83111561302657613026612dbd565b61303a836130348354612f6d565b83612fc0565b6000601f84116001811461308c57600085156130565750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355613122565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b828110156130db57868501358255602094850194600190920191016130bb565b5086821015613116577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6131628185612928565b6040602082015281604082015260007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83111561319e57600080fd5b8260051b8085606085013791909101606001949350505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126131ed57600080fd5b83018035915067ffffffffffffffff82111561320857600080fd5b602001915036819003821315612a6457600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361327d5761327d61321d565b5060010190565b602081016104b08284612928565b818103818111156104b0576104b061321d565b80820281158282048414176104b0576104b061321d565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000826132fa576132fa6132bc565b500690565b60008261330e5761330e6132bc565b500490565b808201808211156104b0576104b061321d565b600082516133388184602087016127d0565b9190910192915050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60608152600061339f60608301888a613342565b82810360208401526133b2818789613342565b905082810360408401526133c7818587613342565b9998505050505050505050565b815167ffffffffffffffff8111156133ee576133ee612dbd565b613402816133fc8454612f6d565b84612fc0565b602080601f831160018114613455576000841561341f5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555613006565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156134a257888601518255948401946001909101908401613483565b50858210156134de57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600073ffffffffffffffffffffffffffffffffffffffff80871683528086166020840152508360408301526080606083015261352d60808301846127f4565b9695505050505050565b60006020828403121561354957600080fd5b8151610cd78161278556fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122078f441787f11096e9e5b9cb7d7785bc623e667ca342c5fa049a603e7a2dc1ff064736f6c63430008130033" - }, - { - "transactionType": "CREATE", - "address": "0xee41378f6E695bF3551054b13a91f9703c175baB", - "initCode": "608060405234801561001057600080fd5b506040516105ef3803806105ef83398101604081905261002f9161013a565b61003833610047565b61004181610097565b5061016a565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0381163b6101185760405162461bcd60e51b815260206004820152603360248201527f5570677261646561626c65426561636f6e3a20696d706c656d656e746174696f60448201527f6e206973206e6f74206120636f6e747261637400000000000000000000000000606482015260840160405180910390fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b60006020828403121561014c57600080fd5b81516001600160a01b038116811461016357600080fd5b9392505050565b610476806101796000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c8063715018a611610050578063715018a6146100c45780638da5cb5b146100cc578063f2fde38b146100ea57600080fd5b80633659cfe61461006c5780635c60da1b14610081575b600080fd5b61007f61007a366004610403565b6100fd565b005b60015473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61007f610152565b60005473ffffffffffffffffffffffffffffffffffffffff1661009b565b61007f6100f8366004610403565b610166565b610105610222565b61010e816102a3565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b61015a610222565b610164600061038e565b565b61016e610222565b73ffffffffffffffffffffffffffffffffffffffff8116610216576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61021f8161038e565b50565b60005473ffffffffffffffffffffffffffffffffffffffff163314610164576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161020d565b73ffffffffffffffffffffffffffffffffffffffff81163b610347576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603360248201527f5570677261646561626c65426561636f6e3a20696d706c656d656e746174696f60448201527f6e206973206e6f74206120636f6e747261637400000000000000000000000000606482015260840161020d565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006020828403121561041557600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461043957600080fd5b939250505056fea264697066735822122048ebef5dea79554c6de8af09830ddb871c241a46dee33849e34fac866c5894bd64736f6c634300081300330000000000000000000000003a10db3a7e56243f29709ca0830b08bd1a9f4243" - } - ], - "isFixedGasLimit": false - }, - { - "hash": "0xb6c9723b9a1f6cc56eb2f5e4cc093b0939809a03f143a8c48731bdd59114e8e0", - "transactionType": "CREATE", - "contractName": "AccessControlSingleton", - "contractAddress": "0xD933e6768a0C86ca11DDf802932FeBD50509Ba4D", - "function": null, - "arguments": null, - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x22aa79", - "value": "0x0", - "data": "0x60a06040523060805234801561001457600080fd5b50608051611ee461004c600039600081816104d101528181610581015281816106d60152818161078601526108cb0152611ee46000f3fe6080604052600436106100dd5760003560e01c806352d1902d1161007f578063a217fddf11610059578063a217fddf146102a8578063ac9650d8146102bd578063c4d66de8146102ea578063d547741f1461030a57600080fd5b806352d1902d146101ea57806354fd4d50146101ff57806391d148541461025557600080fd5b80632f2ff15d116100bb5780632f2ff15d1461017757806336568abe146101975780633659cfe6146101b75780634f1ef286146101d757600080fd5b806301ffc9a7146100e25780631e4e009114610117578063248a9ca314610139575b600080fd5b3480156100ee57600080fd5b506101026100fd3660046118fe565b61032a565b60405190151581526020015b60405180910390f35b34801561012357600080fd5b50610137610132366004611940565b6103c3565b005b34801561014557600080fd5b50610169610154366004611962565b60009081526065602052604090206001015490565b60405190815260200161010e565b34801561018357600080fd5b506101376101923660046119a4565b6103dd565b3480156101a357600080fd5b506101376101b23660046119a4565b610402565b3480156101c357600080fd5b506101376101d23660046119d0565b6104ba565b6101376101e5366004611a1a565b6106bf565b3480156101f657600080fd5b506101696108b1565b34801561020b57600080fd5b506102486040518060400160405280600581526020017f302e312e3000000000000000000000000000000000000000000000000000000081525081565b60405161010e9190611b68565b34801561026157600080fd5b506101026102703660046119a4565b600091825260656020908152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b3480156102b457600080fd5b50610169600081565b3480156102c957600080fd5b506102dd6102d8366004611b7b565b61099d565b60405161010e9190611bf0565b3480156102f657600080fd5b506101376103053660046119d0565b610a92565b34801561031657600080fd5b506101376103253660046119a4565b610c84565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806103bd57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60006103ce81610ca9565b6103d88383610cb3565b505050565b6000828152606560205260409020600101546103f881610ca9565b6103d88383610cfe565b73ffffffffffffffffffffffffffffffffffffffff811633146104ac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b6104b68282610df2565b5050565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016300361057f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016104a3565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166105f47f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610697576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016104a3565b6106a081610ead565b604080516000808252602082019092526106bc91839190610ed7565b50565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610784576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016104a3565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166107f97f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff161461089c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016104a3565b6108a582610ead565b6104b682826001610ed7565b60003073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610978576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016104a3565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b60608167ffffffffffffffff8111156109b8576109b86119eb565b6040519080825280602002602001820160405280156109eb57816020015b60608152602001906001900390816109d65790505b50905060005b82811015610a8b57610a5b30858584818110610a0f57610a0f611c70565b9050602002810190610a219190611c9f565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506110d692505050565b828281518110610a6d57610a6d611c70565b60200260200101819052508080610a8390611d3a565b9150506109f1565b5092915050565b600054610100900460ff1615808015610ab25750600054600160ff909116105b80610acc5750303b158015610acc575060005460ff166001145b610b58576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016104a3565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610bb657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b73ffffffffffffffffffffffffffffffffffffffff8216610c03576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c0b611102565b610c13611102565b610c1e600083610cfe565b80156104b657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b600082815260656020526040902060010154610c9f81610ca9565b6103d88383610df2565b6106bc813361119b565b600082815260656020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff166104b657600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff85168452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055610d943390565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16156104b657600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e36104b681610ca9565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610f0a576103d883611255565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610f8f575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252610f8c91810190611d72565b60015b61101b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016104a3565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81146110ca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016104a3565b506103d883838361135f565b60606110fb8383604051806060016040528060278152602001611e886027913961138a565b9392505050565b600054610100900460ff16611199576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016104a3565b565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff166104b6576111db8161140f565b6111e683602061142e565b6040516020016111f7929190611d8b565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a00000000000000000000000000000000000000000000000000000000082526104a391600401611b68565b73ffffffffffffffffffffffffffffffffffffffff81163b6112f9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016104a3565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61136883611671565b6000825111806113755750805b156103d85761138483836116be565b50505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516113b49190611e0c565b600060405180830381855af49150503d80600081146113ef576040519150601f19603f3d011682016040523d82523d6000602084013e6113f4565b606091505b5091509150611405868383876117fd565b9695505050505050565b60606103bd73ffffffffffffffffffffffffffffffffffffffff831660145b6060600061143d836002611e28565b611448906002611e3f565b67ffffffffffffffff811115611460576114606119eb565b6040519080825280601f01601f19166020018201604052801561148a576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106114c1576114c1611c70565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061152457611524611c70565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000611560846002611e28565b61156b906001611e3f565b90505b6001811115611608577f303132333435363738396162636465660000000000000000000000000000000085600f16601081106115ac576115ac611c70565b1a60f81b8282815181106115c2576115c2611c70565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c9361160181611e52565b905061156e565b5083156110fb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016104a3565b61167a81611255565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606073ffffffffffffffffffffffffffffffffffffffff83163b611764576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e7472616374000000000000000000000000000000000000000000000000000060648201526084016104a3565b6000808473ffffffffffffffffffffffffffffffffffffffff168460405161178c9190611e0c565b600060405180830381855af49150503d80600081146117c7576040519150601f19603f3d011682016040523d82523d6000602084013e6117cc565b606091505b50915091506117f48282604051806060016040528060278152602001611e88602791396118a5565b95945050505050565b6060831561189357825160000361188c5773ffffffffffffffffffffffffffffffffffffffff85163b61188c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016104a3565b508161189d565b61189d83836118ba565b949350505050565b606083156118b45750816110fb565b6110fb83835b8151156118ca5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104a39190611b68565b60006020828403121561191057600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146110fb57600080fd5b6000806040838503121561195357600080fd5b50508035926020909101359150565b60006020828403121561197457600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461199f57600080fd5b919050565b600080604083850312156119b757600080fd5b823591506119c76020840161197b565b90509250929050565b6000602082840312156119e257600080fd5b6110fb8261197b565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060408385031215611a2d57600080fd5b611a368361197b565b9150602083013567ffffffffffffffff80821115611a5357600080fd5b818501915085601f830112611a6757600080fd5b813581811115611a7957611a796119eb565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715611abf57611abf6119eb565b81604052828152886020848701011115611ad857600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b83811015611b15578181015183820152602001611afd565b50506000910152565b60008151808452611b36816020860160208601611afa565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006110fb6020830184611b1e565b60008060208385031215611b8e57600080fd5b823567ffffffffffffffff80821115611ba657600080fd5b818501915085601f830112611bba57600080fd5b813581811115611bc957600080fd5b8660208260051b8501011115611bde57600080fd5b60209290920196919550909350505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015611c63577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452611c51858351611b1e565b94509285019290850190600101611c17565b5092979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611cd457600080fd5b83018035915067ffffffffffffffff821115611cef57600080fd5b602001915036819003821315611d0457600080fd5b9250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611d6b57611d6b611d0b565b5060010190565b600060208284031215611d8457600080fd5b5051919050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351611dc3816017850160208801611afa565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351611e00816028840160208801611afa565b01602801949350505050565b60008251611e1e818460208701611afa565b9190910192915050565b80820281158282048414176103bd576103bd611d0b565b808201808211156103bd576103bd611d0b565b600081611e6157611e61611d0b565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122056edbbe14415fb2ea61687a42161e7f12274d0ebd6a1f38a722858f5dca6739e64736f6c63430008130033", - "nonce": "0x22", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x01066de60670401ac2039bdd1e99b9a876709b40a99504e7720cd30060ffe123", - "transactionType": "CREATE", - "contractName": "ERC1967Proxy", - "contractAddress": "0x58eda9b5b0983f75fa887B598d7164E82791Ba21", - "function": null, - "arguments": [ - "0xD933e6768a0C86ca11DDf802932FeBD50509Ba4D", - "0xc4d66de8000000000000000000000000b6288e57bf7406b35ab4f70fd1135e907107e386" - ], - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x3bece", - "value": "0x0", - "data": "0x60806040526040516104ee3803806104ee833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c760279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60be806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea2646970667358221220a678556ae280ddf13e459fe9ecd177633ae9dbc544c45d5b523d43ba9084c8dc64736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564000000000000000000000000d933e6768a0c86ca11ddf802932febd50509ba4d00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de8000000000000000000000000b6288e57bf7406b35ab4f70fd1135e907107e38600000000000000000000000000000000000000000000000000000000", - "nonce": "0x23", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x04109af705d961b6a732641a681c2e28b1900e25a6ea4e748d93c49d9c1ad7b4", - "transactionType": "CREATE", - "contractName": "FranchiseRegistry", - "contractAddress": "0x4626Bc62A598afA131C9051917f470d7F3787A4f", - "function": null, - "arguments": [ - "0x461DF243955aD5493cFa33434c2B7CfF2C583dc7" - ], - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x3b99bf", - "value": "0x0", - "data": "0x60c0604052306080523480156200001557600080fd5b50604051620036e8380380620036e883398101604081905262000038916200013e565b620000426200007c565b6001600160a01b0381166200006a5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b031660a05262000170565b600054610100900460ff1615620000e95760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811610156200013c576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6000602082840312156200015157600080fd5b81516001600160a01b03811681146200016957600080fd5b9392505050565b60805160a05161352f620001b96000396000818161030d015261115c015260008181610afa01528181610b9001528181610ce601528181610d7c0152610eab015261352f6000f3fe6080604052600436106101965760003560e01c806354fd4d50116100e1578063b88d4fde1161008a578063c87b56dd11610064578063c87b56dd146104ff578063e985e9c51461051f578063ef647e1014610575578063fc1dad811461058a57600080fd5b8063b88d4fde14610475578063bac806d314610495578063c4d66de8146104df57600080fd5b806395d89b41116100bb57806395d89b411461042b5780639b0c6be414610440578063a22cb4651461045557600080fd5b806354fd4d50146103a55780636352211e146103eb57806370a082311461040b57600080fd5b80632c5cefa31161014357806342842e0e1161011d57806342842e0e1461034f5780634f1ef2861461036f57806352d1902d1461038257600080fd5b80632c5cefa3146102995780632dd31000146102fb5780633659cfe61461032f57600080fd5b8063095ea7b311610174578063095ea7b31461023757806319129e5a1461025957806323b872dd1461027957600080fd5b806301ffc9a71461019b57806306fdde03146101d0578063081812fc146101f2575b600080fd5b3480156101a757600080fd5b506101bb6101b6366004612cca565b6105d4565b60405190151581526020015b60405180910390f35b3480156101dc57600080fd5b506101e56106b9565b6040516101c79190612d55565b3480156101fe57600080fd5b5061021261020d366004612d68565b61074b565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101c7565b34801561024357600080fd5b50610257610252366004612da3565b61077f565b005b34801561026557600080fd5b50610257610274366004612dcf565b6108dc565b34801561028557600080fd5b50610257610294366004612dec565b610a5c565b3480156102a557600080fd5b506102126102b4366004612d68565b60009081527f5648324915b730d22cca7279385130ad43fd4829d795fb20e9ab398bfe537e90602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b34801561030757600080fd5b506102127f000000000000000000000000000000000000000000000000000000000000000081565b34801561033b57600080fd5b5061025761034a366004612dcf565b610ae3565b34801561035b57600080fd5b5061025761036a366004612dec565b610cb4565b61025761037d366004612f07565b610ccf565b34801561038e57600080fd5b50610397610e91565b6040519081526020016101c7565b3480156103b157600080fd5b5060408051808201909152600581527f302e312e3000000000000000000000000000000000000000000000000000000060208201526101e5565b3480156103f757600080fd5b50610212610406366004612d68565b610f63565b34801561041757600080fd5b50610397610426366004612dcf565b610fd5565b34801561043757600080fd5b506101e5611089565b34801561044c57600080fd5b50610212600081565b34801561046157600080fd5b50610257610470366004612f65565b611098565b34801561048157600080fd5b50610257610490366004612f9e565b6110a3565b3480156104a157600080fd5b506104b56104b0366004613053565b611131565b6040805192835273ffffffffffffffffffffffffffffffffffffffff9091166020830152016101c7565b3480156104eb57600080fd5b506102576104fa366004612dcf565b6112df565b34801561050b57600080fd5b506101e561051a366004612d68565b6114d5565b34801561052b57600080fd5b506101bb61053a3660046130ed565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260ce6020908152604080832093909416825291909152205460ff1690565b34801561058157600080fd5b50610397600081565b34801561059657600080fd5b507f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b65473ffffffffffffffffffffffffffffffffffffffff16610212565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061066757507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b806106b357507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b606060c980546106c89061311b565b80601f01602080910402602001604051908101604052809291908181526020018280546106f49061311b565b80156107415780601f1061071657610100808354040283529160200191610741565b820191906000526020600020905b81548152906001019060200180831161072457829003601f168201915b5050505050905090565b600061075682611549565b50600090815260cd602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b600061078a82610f63565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036108325760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff8216148061085b575061085b813361053a565b6108cd5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610829565b6108d783836115ba565b505050565b60006108e8813361165a565b610927576040517f75000dc000000000000000000000000000000000000000000000000000000000815260048101829052336024820152604401610829565b61096773ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000611722565b6109cd576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c0000000000000000000000000000000000006044820152606401610829565b7f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811782556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a2505050565b610a66338261173e565b610ad85760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610829565b6108d78383836117fd565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610b8e5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610829565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610c037f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610c8c5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610829565b610c9581611aaa565b60408051600080825260208201909252610cb191839190611b14565b50565b6108d7838383604051806020016040528060008152506110a3565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610d7a5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610829565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610def7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610e785760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610829565b610e8182611aaa565b610e8d82826001611b14565b5050565b60003073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610f3e5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610829565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b600081815260cb602052604081205473ffffffffffffffffffffffffffffffffffffffff16806106b35760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610829565b600073ffffffffffffffffffffffffffffffffffffffff82166110605760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e657200000000000000000000000000000000000000000000006064820152608401610829565b5073ffffffffffffffffffffffffffffffffffffffff16600090815260cc602052604090205490565b606060ca80546106c89061311b565b610e8d338383611cdf565b6110ad338361173e565b61111f5760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610829565b61112b84848484611df2565b50505050565b600080807f5648324915b730d22cca7279385130ad43fd4829d795fb20e9ab398bfe537e8f905060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166386df779e83600001600081546111a79061316e565b9190508190558c8c8c8c8c8c6040518863ffffffff1660e01b81526004016111d59796959493929190613216565b6020604051808303816000875af11580156111f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112189190613266565b82546000908152600184016020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790558254909150611278903390611e7b565b815460408051338152602081019290925273ffffffffffffffffffffffffffffffffffffffff831682820152517f0ee7716498f35cc0a42b8edb136bf88dbc529acf11a42fb9e4ec60b29638aff39181900360600190a19054999098509650505050505050565b600054610100900460ff16158080156112ff5750600054600160ff909116105b806113195750303b158015611319575060005460ff166001145b61138b5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610829565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156113e957600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6113f1611e95565b6113fa82611f14565b61146e6040518060400160405280600e81526020017f53746f72792050726f746f636f6c0000000000000000000000000000000000008152506040518060400160405280600281526020017f53500000000000000000000000000000000000000000000000000000000000008152506121ae565b8015610e8d57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15050565b60606114e082611549565b60006114f760408051602081019091526000815290565b905060008151116115175760405180602001604052806000815250611542565b8061152184612235565b604051602001611532929190613283565b6040516020818303038152906040525b9392505050565b600081815260cb602052604090205473ffffffffffffffffffffffffffffffffffffffff16610cb15760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610829565b600081815260cd6020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117909155819061161482610f63565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000807f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810187905273ffffffffffffffffffffffffffffffffffffffff86811660248301529293509116906391d1485490604401602060405180830381865afa1580156116f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061171a91906132b2565b949350505050565b600061172d836122f3565b801561154257506115428383612357565b60008061174a83610f63565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806117b8575073ffffffffffffffffffffffffffffffffffffffff808216600090815260ce602090815260408083209388168352929052205460ff165b8061171a57508373ffffffffffffffffffffffffffffffffffffffff166117de8461074b565b73ffffffffffffffffffffffffffffffffffffffff1614949350505050565b8273ffffffffffffffffffffffffffffffffffffffff1661181d82610f63565b73ffffffffffffffffffffffffffffffffffffffff16146118a65760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610829565b73ffffffffffffffffffffffffffffffffffffffff821661192e5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610829565b8273ffffffffffffffffffffffffffffffffffffffff1661194e82610f63565b73ffffffffffffffffffffffffffffffffffffffff16146119d75760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610829565b600081815260cd6020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff87811680865260cc855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190559087168086528386208054600101905586865260cb90945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3611ad5813361165a565b610e8d576040517f75000dc000000000000000000000000000000000000000000000000000000000815260048101829052336024820152604401610829565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611b47576108d783612426565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611bcc575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252611bc9918101906132cf565b60015b611c3e5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608401610829565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114611cd35760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152608401610829565b506108d7838383612516565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611d5a5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610829565b73ffffffffffffffffffffffffffffffffffffffff838116600081815260ce602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b611dfd8484846117fd565b611e098484848461253b565b61112b5760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610829565b610e8d828260405180602001604052806000815250612714565b600054610100900460ff16611f125760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610829565b565b600054610100900460ff1615808015611f345750600054600160ff909116105b80611f4e5750303b158015611f4e575060005460ff166001145b611fc05760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610829565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561201e57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61205e73ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000611722565b6120c4576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c0000000000000000000000000000000000006044820152606401610829565b7f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811782556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a2508015610e8d57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020016114c9565b600054610100900460ff1661222b5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610829565b610e8d828261279d565b6060600061224283612833565b600101905060008167ffffffffffffffff81111561226257612262612e2d565b6040519080825280601f01601f19166020018201604052801561228c576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a850494508461229657509392505050565b600061231f827f01ffc9a700000000000000000000000000000000000000000000000000000000612357565b80156106b35750612350827fffffffff00000000000000000000000000000000000000000000000000000000612357565b1592915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d9150600051905082801561240f575060208210155b801561241b5750600081115b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff81163b6124b05760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401610829565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61251f83612915565b60008251118061252c5750805b156108d75761112b8383612962565b600073ffffffffffffffffffffffffffffffffffffffff84163b15612709576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a02906125b29033908990889088906004016132e8565b6020604051808303816000875af192505050801561260b575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261260891810190613331565b60015b6126be573d808015612639576040519150601f19603f3d011682016040523d82523d6000602084013e61263e565b606091505b5080516000036126b65760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610829565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a020000000000000000000000000000000000000000000000000000000014905061171a565b506001949350505050565b61271e8383612a87565b61272b600084848461253b565b6108d75760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610829565b600054610100900460ff1661281a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610829565b60c9612826838261339c565b5060ca6108d7828261339c565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000831061287c577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef810000000083106128a8576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106128c657662386f26fc10000830492506010015b6305f5e10083106128de576305f5e100830492506008015b61271083106128f257612710830492506004015b60648310612904576064830492506002015b600a83106106b35760010192915050565b61291e81612426565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606073ffffffffffffffffffffffffffffffffffffffff83163b6129ee5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e747261637400000000000000000000000000000000000000000000000000006064820152608401610829565b6000808473ffffffffffffffffffffffffffffffffffffffff1684604051612a1691906134b6565b600060405180830381855af49150503d8060008114612a51576040519150601f19603f3d011682016040523d82523d6000602084013e612a56565b606091505b5091509150612a7e82826040518060600160405280602781526020016134d360279139612c5e565b95945050505050565b73ffffffffffffffffffffffffffffffffffffffff8216612aea5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610829565b600081815260cb602052604090205473ffffffffffffffffffffffffffffffffffffffff1615612b5c5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610829565b600081815260cb602052604090205473ffffffffffffffffffffffffffffffffffffffff1615612bce5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610829565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260cc602090815260408083208054600101905584835260cb90915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60608315612c6d575081611542565b6115428383815115612c825781518083602001fd5b8060405162461bcd60e51b81526004016108299190612d55565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610cb157600080fd5b600060208284031215612cdc57600080fd5b813561154281612c9c565b60005b83811015612d02578181015183820152602001612cea565b50506000910152565b60008151808452612d23816020860160208601612ce7565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006115426020830184612d0b565b600060208284031215612d7a57600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610cb157600080fd5b60008060408385031215612db657600080fd5b8235612dc181612d81565b946020939093013593505050565b600060208284031215612de157600080fd5b813561154281612d81565b600080600060608486031215612e0157600080fd5b8335612e0c81612d81565b92506020840135612e1c81612d81565b929592945050506040919091013590565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112612e6d57600080fd5b813567ffffffffffffffff80821115612e8857612e88612e2d565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715612ece57612ece612e2d565b81604052838152866020858801011115612ee757600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060408385031215612f1a57600080fd5b8235612f2581612d81565b9150602083013567ffffffffffffffff811115612f4157600080fd5b612f4d85828601612e5c565b9150509250929050565b8015158114610cb157600080fd5b60008060408385031215612f7857600080fd5b8235612f8381612d81565b91506020830135612f9381612f57565b809150509250929050565b60008060008060808587031215612fb457600080fd5b8435612fbf81612d81565b93506020850135612fcf81612d81565b925060408501359150606085013567ffffffffffffffff811115612ff257600080fd5b612ffe87828801612e5c565b91505092959194509250565b60008083601f84011261301c57600080fd5b50813567ffffffffffffffff81111561303457600080fd5b60208301915083602082850101111561304c57600080fd5b9250929050565b6000806000806000806060878903121561306c57600080fd5b863567ffffffffffffffff8082111561308457600080fd5b6130908a838b0161300a565b909850965060208901359150808211156130a957600080fd5b6130b58a838b0161300a565b909650945060408901359150808211156130ce57600080fd5b506130db89828a0161300a565b979a9699509497509295939492505050565b6000806040838503121561310057600080fd5b823561310b81612d81565b91506020830135612f9381612d81565b600181811c9082168061312f57607f821691505b602082108103613168577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036131c6577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b87815260806020820152600061323060808301888a6131cd565b82810360408401526132438187896131cd565b905082810360608401526132588185876131cd565b9a9950505050505050505050565b60006020828403121561327857600080fd5b815161154281612d81565b60008351613295818460208801612ce7565b8351908301906132a9818360208801612ce7565b01949350505050565b6000602082840312156132c457600080fd5b815161154281612f57565b6000602082840312156132e157600080fd5b5051919050565b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250836040830152608060608301526133276080830184612d0b565b9695505050505050565b60006020828403121561334357600080fd5b815161154281612c9c565b601f8211156108d757600081815260208120601f850160051c810160208610156133755750805b601f850160051c820191505b8181101561339457828155600101613381565b505050505050565b815167ffffffffffffffff8111156133b6576133b6612e2d565b6133ca816133c4845461311b565b8461334e565b602080601f83116001811461341d57600084156133e75750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555613394565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b8281101561346a5788860151825594840194600190910190840161344b565b50858210156134a657878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600082516134c8818460208701612ce7565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212209357ca002307b3a2a53511900e38719b2fc080dd5704844002d324a8ae8a580164736f6c63430008130033000000000000000000000000461df243955ad5493cfa33434c2b7cff2c583dc7", - "nonce": "0x24", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xb5eb7a7a51955ebaa7ff97003a04aa5692cb75012a16c977ff2c56849248de78", - "transactionType": "CREATE", - "contractName": "ERC1967Proxy", - "contractAddress": "0xf157916d184598105FE4681eC93Be0f799599003", - "function": null, - "arguments": [ - "0x4626Bc62A598afA131C9051917f470d7F3787A4f", - "0xc4d66de800000000000000000000000058eda9b5b0983f75fa887b598d7164e82791ba21" - ], - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x4d89d", - "value": "0x0", - "data": "0x60806040526040516104ee3803806104ee833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c760279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60be806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea2646970667358221220a678556ae280ddf13e459fe9ecd177633ae9dbc544c45d5b523d43ba9084c8dc64736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c65640000000000000000000000004626bc62a598afa131c9051917f470d7f3787a4f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de800000000000000000000000058eda9b5b0983f75fa887b598d7164e82791ba2100000000000000000000000000000000000000000000000000000000", - "nonce": "0x25", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x1ff041a965d11099bd330a252d3384f4ea18e9f5e49b32ccefa46ea32b39874a", - "transactionType": "CREATE", - "contractName": "ProtocolRelationshipModule", - "contractAddress": "0xf3b1129B0b2920968CBf089a88c7E6266FaE64aE", - "function": null, - "arguments": [ - "0xf157916d184598105FE4681eC93Be0f799599003" - ], - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x3febcf", - "value": "0x0", - "data": "0x60c0604052306080523480156200001557600080fd5b5060405162003afd38038062003afd833981016040819052620000389162000142565b806001600160a01b038116620000615760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03811660a0526200007862000080565b505062000174565b600054610100900460ff1615620000ed5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116101562000140576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6000602082840312156200015557600080fd5b81516001600160a01b03811681146200016d57600080fd5b9392505050565b60805160a051613940620001bd600039600081816102e50152612d290152600081816106710152818161072101528181610876015281816109260152610a6b01526139406000f3fe6080604052600436106100f35760003560e01c806382c5ae6e1161008a578063ac9650d811610059578063ac9650d81461034c578063b3ef1bbb14610379578063c4d66de814610399578063fc1dad81146103b957600080fd5b806382c5ae6e1461029357806390caf880146102b357806394f99b40146102d35780639b18554b1461032c57600080fd5b80634f1ef286116100c65780634f1ef2861461018f57806352d1902d146101a257806372fa3178146101c557806375f4252d1461027357600080fd5b806315023622146100f857806319129e5a1461012d57806335f52e921461014f5780633659cfe61461016f575b600080fd5b34801561010457600080fd5b50610118610113366004613091565b610403565b60405190151581526020015b60405180910390f35b34801561013957600080fd5b5061014d6101483660046130cf565b61045e565b005b34801561015b57600080fd5b5061014d61016a3660046130ec565b6105e3565b34801561017b57600080fd5b5061014d61018a3660046130cf565b61065a565b61014d61019d366004613183565b61085f565b3480156101ae57600080fd5b506101b7610a51565b604051908152602001610124565b3480156101d157600080fd5b506101e56101e03660046130ec565b610b3d565b6040805182518152602080840151818301528383015115158284015260608085015173ffffffffffffffffffffffffffffffffffffffff908116918401919091526080808601519091169083015260a09384015180516dffffffffffffffffffffffffffff908116958401959095529081015190931660c0820152910151151560e082015261010001610124565b34801561027f57600080fd5b5061014d61028e366004613091565b610c83565b34801561029f57600080fd5b5061014d6102ae366004613249565b610e43565b3480156102bf57600080fd5b506101186102ce366004613091565b6112e4565b3480156102df57600080fd5b506103077f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610124565b34801561033857600080fd5b5061014d6103473660046132cd565b61135c565b34801561035857600080fd5b5061036c61036736600461331c565b6113d5565b60405161012491906133ff565b34801561038557600080fd5b5061014d6103943660046130cf565b6114cb565b3480156103a557600080fd5b5061014d6103b43660046130cf565b61165f565b3480156103c557600080fd5b507f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b65473ffffffffffffffffffffffffffffffffffffffff16610307565b60007fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0b80826104318561178c565b815260208101919091526040016000205460ff1680156104575750610455836112e4565b155b9392505050565b600061046a8133611818565b6104ae576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b6104ee73ffffffffffffffffffffffffffffffffffffffff83167f7965db0b000000000000000000000000000000000000000000000000000000006118d8565b610554576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c00000000000000000000000000000000000060448201526064016104a5565b7f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811782556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a2505050565b7f637821dcee84aabec9c8cf4f6f643013a24ad27fd41511ffd937aea80d8619a961060e8133611818565b61064d576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016104a5565b610656826118f4565b5050565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016300361071f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016104a5565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166107947f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610837576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016104a5565b61084081611a3f565b6040805160008082526020820190925261085c91839190611aa9565b50565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610924576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016104a5565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166109997f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610a3c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016104a5565b610a4582611a3f565b61065682826001611aa9565b60003073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610b18576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016104a5565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b610b896040805160c0810182526000808252602080830182905282840182905260608084018390526080840183905284519081018552828152908101829052928301529060a082015290565b5060009081527fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0d6020908152604091829020825160c08101845281548152600182015481840152600282015460ff80821615158387015273ffffffffffffffffffffffffffffffffffffffff610100909204821660608085019190915260038501549092166080840152855191820186526004909301546dffffffffffffffffffffffffffff80821683526e010000000000000000000000000000820416948201949094527c010000000000000000000000000000000000000000000000000000000090930490911615159282019290925260a082015290565b608081013560009081527fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0d60205260409020600301547fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0b9073ffffffffffffffffffffffffffffffffffffffff163314610d29576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610d348361178c565b60008181526020849052604090205490915060ff16610d7f576040517f32a2f5fc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008181526020838152604090912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690556080840135907f1c597e2ff497f95acc844355a7e0266613bbc54a551e5fa01710e5ad3418e04f90610de8908601866130cf565b6020860135610dfd60608801604089016130cf565b6040805173ffffffffffffffffffffffffffffffffffffffff948516815260208101939093529216818301526060878101359082015290519081900360800190a2505050565b608083013560009081527fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0d6020526040902060048101548491906dffffffffffffffffffffffffffff1615801590610e9e575060a082013515155b15610f295760048101546dffffffffffffffffffffffffffff1660a08301351180610ef2575060048101546e01000000000000000000000000000090046dffffffffffffffffffffffffffff1660a0830135105b15610f29576040517f417de2db00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60808581013560009081527fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0d6020908152604091829020825160c08101845281548152600182015481840152600282015460ff80821615158387015273ffffffffffffffffffffffffffffffffffffffff61010090920482166060808501919091526003850154909216968301969096528451908101855260048301546dffffffffffffffffffffffffffff80821683526e010000000000000000000000000000820416948201949094527c010000000000000000000000000000000000000000000000000000000090930490941615159282019290925260a08301527fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0b91611053908890611ca8565b60028101546040517f63c7c03600000000000000000000000000000000000000000000000000000000815261010090910473ffffffffffffffffffffffffffffffffffffffff16906363c7c036906110b5908a908a908a90339060040161347f565b6020604051808303816000875af11580156110d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f89190613562565b61118a5760808701357fff0396d9569545b52312943ba44341eba3800a0d6e83ba9140283c159792839e61112f60208a018a6130cf565b60208a013561114460608c0160408d016130cf565b6040805173ffffffffffffffffffffffffffffffffffffffff9485168152602081019390935292168183015260608b8101359082015290519081900360800190a26112db565b60006111958861178c565b60008181526020858152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055805160608101825260048701546dffffffffffffffffffffffffffff80821683526e010000000000000000000000000000820416938201939093527c010000000000000000000000000000000000000000000000000000000090920460ff161515908201529192509061124690839060a08c0135611e47565b905060808901357fdac80e4156e67d10c07ce819561c6cd96452ad81db0c68e6a47a8687f3d5927161127b60208c018c6130cf565b60208c013561129060608e0160408f016130cf565b6040805173ffffffffffffffffffffffffffffffffffffffff9485168152602081019390935292168183015260608d810135908201526080810185905290519081900360a00190a250505b50505050505050565b60007fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0b817fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0c816113338661178c565b81526020019081526020016000205490508060001415801561135457504281105b949350505050565b7f637821dcee84aabec9c8cf4f6f643013a24ad27fd41511ffd937aea80d8619a96113878133611818565b6113c6576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016104a5565b6113d08383611edb565b505050565b60608167ffffffffffffffff8111156113f0576113f0613105565b60405190808252806020026020018201604052801561142357816020015b606081526020019060019003908161140e5790505b50905060005b828110156114c357611493308585848181106114475761144761357f565b905060200281019061145991906135ae565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061213f92505050565b8282815181106114a5576114a561357f565b602002602001018190525080806114bb90613649565b915050611429565b505b92915050565b600054610100900460ff16158080156114eb5750600054600160ff909116105b806115055750303b158015611505575060005460ff166001145b611591576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016104a5565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156115ef57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6115f882612164565b801561065657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15050565b600054610100900460ff161580801561167f5750600054600160ff909116105b806116995750303b158015611699575060005460ff166001145b611725576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016104a5565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561178357600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6115f8826114cb565b600061179b60208301836130cf565b60208301356117b060608501604086016130cf565b6040805173ffffffffffffffffffffffffffffffffffffffff94851660208201529081019290925290911660608083019190915283013560808083019190915283013560a082015260c001604051602081830303815290604052805190602001209050919050565b6000807f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810187905273ffffffffffffffffffffffffffffffffffffffff86811660248301529293509116906391d1485490604401602060405180830381865afa1580156118b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113549190613562565b60006118e383612418565b80156104575750610457838361247c565b60008181527fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0d60205260408120547fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0b910361197b576040517f32a2f5fc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000828152600280830160205260408083208381556001810184905591820180547fffffffffffffffffffffff0000000000000000000000000000000000000000001690556003820180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055600490910180547fffffff00000000000000000000000000000000000000000000000000000000001690555183917f72ee2f0fb0c2e5516159220d68bb62f4ee27e2eeefb237e60bf0b0e108ce349091a25050565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3611a6a8133611818565b610656576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016104a5565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611adc576113d08361254b565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611b61575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252611b5e91810190613681565b60015b611bed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016104a5565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114611c9c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016104a5565b506113d0838383612655565b8051600003611ce3576040517f32a2f5fc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080611d03611cf660208601866130cf565b8451602087013590612680565b9150915081611d3e576040517f22df284e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080611d63611d5460608801604089016130cf565b87606001358760200151612680565b9150915081611d9e576040517f03303d3200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b828015611da85750805b8015611dfb5750611dbf60608701604088016130cf565b73ffffffffffffffffffffffffffffffffffffffff16611de260208801886130cf565b73ffffffffffffffffffffffffffffffffffffffff1614155b8015611e08575084604001515b15611e3f576040517f91a3196b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050505050565b81516000907fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0b906dffffffffffffffffffffffffffff1615611ed0576000858152600182016020526040902054801580611ea2575084604001515b15611ece57611eb1844261369a565b600087815260019093016020526040909220829055509050610457565b505b506000949350505050565b6000611ee6826127b1565b905060007fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0b6000858152600282810160209081526040928390208651808255878301516001830181905588860151948301805460608b01517fffffffffffffffffffffff0000000000000000000000000000000000000000009091168715157fffffffffffffffffffffff0000000000000000000000000000000000000000ff161761010073ffffffffffffffffffffffffffffffffffffffff928316021790915560808a01516003850180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169190921617905560a0808a01518051600490950180549682015191909801516dffffffffffffffffffffffffffff9586167fffffffff00000000000000000000000000000000000000000000000000000000909716969096176e0100000000000000000000000000009590911694909402939093177fffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c0100000000000000000000000000000000000000000000000000000000941515949094029390931790945593945087937fd3d40cd5cebeb285ec945b172df2fa012d145a26c64ec9c99ffcaebc5a890c039392906120d19060c08a01908a016130cf565b60a088810151805160209182015160408051988952928801969096529315159086015273ffffffffffffffffffffffffffffffffffffffff90911660608501526dffffffffffffffffffffffffffff918216608085015291169082015260c00160405180910390a250505050565b606061045783836040518060600160405280602781526020016138e460279139612a6c565b600054610100900460ff16158080156121845750600054600160ff909116105b8061219e5750303b15801561219e575060005460ff166001145b61222a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016104a5565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561228857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6122c873ffffffffffffffffffffffffffffffffffffffff83167f7965db0b000000000000000000000000000000000000000000000000000000006118d8565b61232e576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c00000000000000000000000000000000000060448201526064016104a5565b7f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811782556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a250801561065657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602001611653565b6000612444827f01ffc9a70000000000000000000000000000000000000000000000000000000061247c565b80156114c55750612475827fffffffff0000000000000000000000000000000000000000000000000000000061247c565b1592915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015612534575060208210155b80156125405750600081115b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff81163b6125ef576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016104a5565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61265e83612af1565b60008251118061266b5750805b156113d05761267a8383612b3e565b50505050565b6040517f6352211e000000000000000000000000000000000000000000000000000000008152600481018390526000908190819073ffffffffffffffffffffffffffffffffffffffff871690636352211e90602401602060405180830381865afa1580156126f2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061271691906136ad565b73ffffffffffffffffffffffffffffffffffffffff160361273c575060009050806127a9565b61274585612c7d565b905080156127815761277a8361275a86612de6565b600681111561276b5761276b6136ca565b600160ff919091161b16151590565b91506127a9565b7f80000000000000000000000000000000000000000000000000000000000000008316151591505b935093915050565b6127fd6040805160c0810182526000808252602080830182905282840182905260608084018390526080840183905284519081018552828152908101829052928301529060a082015290565b61284d7f63c7c0360000000000000000000000000000000000000000000000000000000061283160c0850160a086016130cf565b73ffffffffffffffffffffffffffffffffffffffff16906118d8565b6128b3576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4952656c6174696f6e7368697050726f636573736f720000000000000000000060448201526064016104a5565b6128c561012083016101008401613717565b6dffffffffffffffffffffffffffff166128e6610100840160e08501613717565b6dffffffffffffffffffffffffffff16101561292e576040517f2373692000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061294060e0840160c085016130cf565b73ffffffffffffffffffffffffffffffffffffffff160361298d576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160c08101909152806129bb6129a68580613732565b6129b6604088016020890161379a565b612e49565b81526020016129e06129d06040860186613732565b6129b6608088016060890161379a565b81526020016129f560a085016080860161379a565b15158152602001612a0c60c0850160a086016130cf565b73ffffffffffffffffffffffffffffffffffffffff168152602001612a3760e0850160c086016130cf565b73ffffffffffffffffffffffffffffffffffffffff168152602001612a6436859003850160e086016137b7565b905292915050565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051612a969190613825565b600060405180830381855af49150503d8060008114612ad1576040519150601f19603f3d011682016040523d82523d6000602084013e612ad6565b606091505b5091509150612ae786838387612f80565b9695505050505050565b612afa8161254b565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606073ffffffffffffffffffffffffffffffffffffffff83163b612be4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e7472616374000000000000000000000000000000000000000000000000000060648201526084016104a5565b6000808473ffffffffffffffffffffffffffffffffffffffff1684604051612c0c9190613825565b600060405180830381855af49150503d8060008114612c47576040519150601f19603f3d011682016040523d82523d6000602084013e612c4c565b606091505b5091509150612c7482826040518060600160405280602781526020016138e460279139613020565b95945050505050565b60008173ffffffffffffffffffffffffffffffffffffffff1663b9d0787c6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612d04575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252612d0191810190613681565b60015b612d1057506000919050565b8273ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16632c5cefa3836040518263ffffffff1660e01b8152600401612d8291815260200190565b602060405180830381865afa158015612d9f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612dc391906136ad565b73ffffffffffffffffffffffffffffffffffffffff16149392505050565b919050565b6000612df764e8d4a5100083613870565b1580612e115750612e0e600664e8d4a51000613884565b82115b15612e1e57506000919050565b612e2d64e8d4a510008361389b565b612e3890600161369a565b60068111156114c5576114c56136ca565b6000828103612e84576040517f8d13b34400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805b84811015612f4f576000868683818110612ea457612ea461357f565b9050602002016020810190612eb991906138af565b6006811115612eca57612eca6136ca565b03612f01576040517f8d13b34400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b858582818110612f1357612f1361357f565b9050602002016020810190612f2891906138af565b6006811115612f3957612f396136ca565b600160ff9190911681901b929092179101612e88565b508215611354577fff0000000000000000000000000000000000000000000000000000000000000017949350505050565b6060831561301657825160000361300f5773ffffffffffffffffffffffffffffffffffffffff85163b61300f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016104a5565b5081611354565b6113548383613035565b6060831561302f575081610457565b61045783835b8151156130455781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104a591906138d0565b600060c0828403121561308b57600080fd5b50919050565b600060c082840312156130a357600080fd5b6104578383613079565b73ffffffffffffffffffffffffffffffffffffffff8116811461085c57600080fd5b6000602082840312156130e157600080fd5b8135610457816130ad565b6000602082840312156130fe57600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561317b5761317b613105565b604052919050565b6000806040838503121561319657600080fd5b82356131a1816130ad565b915060208381013567ffffffffffffffff808211156131bf57600080fd5b818601915086601f8301126131d357600080fd5b8135818111156131e5576131e5613105565b613215847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601613134565b9150808252878482850101111561322b57600080fd5b80848401858401376000848284010152508093505050509250929050565b600080600060e0848603121561325e57600080fd5b6132688585613079565b925060c084013567ffffffffffffffff8082111561328557600080fd5b818601915086601f83011261329957600080fd5b8135818111156132a857600080fd5b8760208285010111156132ba57600080fd5b6020830194508093505050509250925092565b600080604083850312156132e057600080fd5b82359150602083013567ffffffffffffffff8111156132fe57600080fd5b8301610140818603121561331157600080fd5b809150509250929050565b6000806020838503121561332f57600080fd5b823567ffffffffffffffff8082111561334757600080fd5b818501915085601f83011261335b57600080fd5b81358181111561336a57600080fd5b8660208260051b850101111561337f57600080fd5b60209290920196919550909350505050565b60005b838110156133ac578181015183820152602001613394565b50506000910152565b600081518084526133cd816020860160208601613391565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015613472577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08886030184526134608583516133b5565b94509285019290850190600101613426565b5092979650505050505050565b6000610100863561348f816130ad565b73ffffffffffffffffffffffffffffffffffffffff808216855260208901356020860152604089013591506134c3826130ad565b166040840152606087810135908401526080808801359084015260a0808801359084015260c083018190528201849052610120848682850137600085840182015273ffffffffffffffffffffffffffffffffffffffff841660e08401527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f860116830101905095945050505050565b801515811461085c57600080fd5b60006020828403121561357457600080fd5b815161045781613554565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126135e357600080fd5b83018035915067ffffffffffffffff8211156135fe57600080fd5b60200191503681900382131561361357600080fd5b9250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361367a5761367a61361a565b5060010190565b60006020828403121561369357600080fd5b5051919050565b808201808211156114c5576114c561361a565b6000602082840312156136bf57600080fd5b8151610457816130ad565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b80356dffffffffffffffffffffffffffff81168114612de157600080fd5b60006020828403121561372957600080fd5b610457826136f9565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261376757600080fd5b83018035915067ffffffffffffffff82111561378257600080fd5b6020019150600581901b360382131561361357600080fd5b6000602082840312156137ac57600080fd5b813561045781613554565b6000606082840312156137c957600080fd5b6040516060810181811067ffffffffffffffff821117156137ec576137ec613105565b6040526137f8836136f9565b8152613806602084016136f9565b6020820152604083013561381981613554565b60408201529392505050565b60008251613837818460208701613391565b9190910192915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60008261387f5761387f613841565b500690565b80820281158282048414176114c5576114c561361a565b6000826138aa576138aa613841565b500490565b6000602082840312156138c157600080fd5b81356007811061045757600080fd5b60208152600061045760208301846133b556fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212200279528c58839360854f4542e7a6ef2050183229ca2238fe35e5128cd039ead764736f6c63430008130033000000000000000000000000f157916d184598105fe4681ec93be0f799599003", - "nonce": "0x26", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x63ae9932b1a31dc97717eb268153b9148670645fbee1c1ffa2034e2435f937be", - "transactionType": "CREATE", - "contractName": "ERC1967Proxy", - "contractAddress": "0xb146cB898E95953f353bf5A50Fb8f129eC0D5AAb", - "function": null, - "arguments": [ - "0xf3b1129B0b2920968CBf089a88c7E6266FaE64aE", - "0xc4d66de800000000000000000000000058eda9b5b0983f75fa887b598d7164e82791ba21" - ], - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x3f4af", - "value": "0x0", - "data": "0x60806040526040516104ee3803806104ee833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c760279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60be806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea2646970667358221220a678556ae280ddf13e459fe9ecd177633ae9dbc544c45d5b523d43ba9084c8dc64736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564000000000000000000000000f3b1129b0b2920968cbf089a88c7e6266fae64ae00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de800000000000000000000000058eda9b5b0983f75fa887b598d7164e82791ba2100000000000000000000000000000000000000000000000000000000", - "nonce": "0x27", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x0a8fdae74c6e861b563525728e5f89d2a2aef6d6afb6a7d25eb750e53d99b8d3", - "transactionType": "CALL", - "contractName": "ERC1967Proxy", - "contractAddress": "0x58eda9b5b0983f75fa887B598d7164E82791Ba21", - "function": null, - "arguments": null, - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "to": "0x58eda9b5b0983f75fa887b598d7164e82791ba21", - "gas": "0x12f1f", - "value": "0x0", - "data": "0x2f2ff15d189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3000000000000000000000000b6288e57bf7406b35ab4f70fd1135e907107e386", - "nonce": "0x28", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x30380c4c0725b1cd52d4f3e2ae0b0a1196e1ffcd4d12c668931b530446a0a072", - "transactionType": "CALL", - "contractName": "ERC1967Proxy", - "contractAddress": "0x58eda9b5b0983f75fa887B598d7164E82791Ba21", - "function": null, - "arguments": null, - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "to": "0x58eda9b5b0983f75fa887b598d7164e82791ba21", - "gas": "0x12f1f", - "value": "0x0", - "data": "0x2f2ff15d637821dcee84aabec9c8cf4f6f643013a24ad27fd41511ffd937aea80d8619a9000000000000000000000000b6288e57bf7406b35ab4f70fd1135e907107e386", - "nonce": "0x29", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "transactionHash": "0x852e7340599d921a7ff5b7597ab2ff4fb3b4277636192dcbd67d676cf6fffcdb", - "transactionIndex": "0x2", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": null, - "cumulativeGasUsed": "0x4513fb", - "gasUsed": "0x446feb", - "contractAddress": "0x461DF243955aD5493cFa33434c2B7CfF2C583dc7", - "logs": [ - { - "address": "0x461DF243955aD5493cFa33434c2B7CfF2C583dc7", - "topics": [ - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000b6288e57bf7406b35ab4f70fd1135e907107e386" - ], - "data": "0x", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "transactionHash": "0x852e7340599d921a7ff5b7597ab2ff4fb3b4277636192dcbd67d676cf6fffcdb", - "transactionIndex": "0x2", - "logIndex": "0x0", - "removed": false - }, - { - "address": "0x3a10Db3a7E56243f29709ca0830b08bD1a9F4243", - "topics": [ - "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000000ff", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "transactionHash": "0x852e7340599d921a7ff5b7597ab2ff4fb3b4277636192dcbd67d676cf6fffcdb", - "transactionIndex": "0x2", - "logIndex": "0x1", - "removed": false - }, - { - "address": "0xee41378f6E695bF3551054b13a91f9703c175baB", - "topics": [ - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000461df243955ad5493cfa33434c2b7cff2c583dc7" - ], - "data": "0x", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "transactionHash": "0x852e7340599d921a7ff5b7597ab2ff4fb3b4277636192dcbd67d676cf6fffcdb", - "transactionIndex": "0x2", - "logIndex": "0x2", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000000000000000000000400000000000000000000000000800000100000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000020000000000001000010000000000000000000000000000000020000000000000000000800000000000080000100000000000000400000000000001008000000000000000000000000000080000010000000000000000000000100000000000000000400000000000000000000000000000000000000080000000000000000000000040000000000000001000800000000000020000200000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d0cde1" - }, - { - "transactionHash": "0xb6c9723b9a1f6cc56eb2f5e4cc093b0939809a03f143a8c48731bdd59114e8e0", - "transactionIndex": "0x3", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": null, - "cumulativeGasUsed": "0x5fc074", - "gasUsed": "0x1aac79", - "contractAddress": "0xD933e6768a0C86ca11DDf802932FeBD50509Ba4D", - "logs": [], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d0cde1" - }, - { - "transactionHash": "0x01066de60670401ac2039bdd1e99b9a876709b40a99504e7720cd30060ffe123", - "transactionIndex": "0x4", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": null, - "cumulativeGasUsed": "0x62a259", - "gasUsed": "0x2e1e5", - "contractAddress": "0x58eda9b5b0983f75fa887B598d7164E82791Ba21", - "logs": [ - { - "address": "0x58eda9b5b0983f75fa887B598d7164E82791Ba21", - "topics": [ - "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", - "0x000000000000000000000000d933e6768a0c86ca11ddf802932febd50509ba4d" - ], - "data": "0x", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "transactionHash": "0x01066de60670401ac2039bdd1e99b9a876709b40a99504e7720cd30060ffe123", - "transactionIndex": "0x4", - "logIndex": "0x3", - "removed": false - }, - { - "address": "0x58eda9b5b0983f75fa887B598d7164E82791Ba21", - "topics": [ - "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000b6288e57bf7406b35ab4f70fd1135e907107e386", - "0x000000000000000000000000b6288e57bf7406b35ab4f70fd1135e907107e386" - ], - "data": "0x", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "transactionHash": "0x01066de60670401ac2039bdd1e99b9a876709b40a99504e7720cd30060ffe123", - "transactionIndex": "0x4", - "logIndex": "0x4", - "removed": false - }, - { - "address": "0x58eda9b5b0983f75fa887B598d7164E82791Ba21", - "topics": [ - "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "transactionHash": "0x01066de60670401ac2039bdd1e99b9a876709b40a99504e7720cd30060ffe123", - "transactionIndex": "0x4", - "logIndex": "0x5", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x0000000400000000000000000000000040000000000000010000000000000000000000000000000000000200000000000000000000000000200000000000000000200000000000000000000000000200000000000000000000000000000000000000000002000000000000000000080000000000000000000000000000000000000000000000000800000000000000c000000000000080000000000000000000000000000000000000000000000400000000000000000000001000000000000000080020000000000000000000040000000000000000000100000000000020000000000000000000000000000000000000000080000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d0cde1" - }, - { - "transactionHash": "0x04109af705d961b6a732641a681c2e28b1900e25a6ea4e748d93c49d9c1ad7b4", - "transactionIndex": "0x5", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": null, - "cumulativeGasUsed": "0x907e86", - "gasUsed": "0x2ddc2d", - "contractAddress": "0x4626Bc62A598afA131C9051917f470d7F3787A4f", - "logs": [ - { - "address": "0x4626Bc62A598afA131C9051917f470d7F3787A4f", - "topics": [ - "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000000ff", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "transactionHash": "0x04109af705d961b6a732641a681c2e28b1900e25a6ea4e748d93c49d9c1ad7b4", - "transactionIndex": "0x5", - "logIndex": "0x6", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400040000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d0cde1" - }, - { - "transactionHash": "0xb5eb7a7a51955ebaa7ff97003a04aa5692cb75012a16c977ff2c56849248de78", - "transactionIndex": "0x6", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": null, - "cumulativeGasUsed": "0x943932", - "gasUsed": "0x3baac", - "contractAddress": "0xf157916d184598105FE4681eC93Be0f799599003", - "logs": [ - { - "address": "0xf157916d184598105FE4681eC93Be0f799599003", - "topics": [ - "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", - "0x0000000000000000000000004626bc62a598afa131c9051917f470d7f3787a4f" - ], - "data": "0x", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "transactionHash": "0xb5eb7a7a51955ebaa7ff97003a04aa5692cb75012a16c977ff2c56849248de78", - "transactionIndex": "0x6", - "logIndex": "0x7", - "removed": false - }, - { - "address": "0xf157916d184598105FE4681eC93Be0f799599003", - "topics": [ - "0xc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da9709", - "0x00000000000000000000000058eda9b5b0983f75fa887b598d7164e82791ba21" - ], - "data": "0x", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "transactionHash": "0xb5eb7a7a51955ebaa7ff97003a04aa5692cb75012a16c977ff2c56849248de78", - "transactionIndex": "0x6", - "logIndex": "0x8", - "removed": false - }, - { - "address": "0xf157916d184598105FE4681eC93Be0f799599003", - "topics": [ - "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "transactionHash": "0xb5eb7a7a51955ebaa7ff97003a04aa5692cb75012a16c977ff2c56849248de78", - "transactionIndex": "0x6", - "logIndex": "0x9", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000080200000000000000200000000000002000000000000000000000000000000000000000000000000000000000000000040020000000000000008000000000000000000000000000000000000008000000000000000000080000200000000000000000000000000000000000000000400000000010000000000000000000000000000000020000000000000000000040000000000000000000000000000000000000000000000001000000000000000200000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d0cde1" - }, - { - "transactionHash": "0x1ff041a965d11099bd330a252d3384f4ea18e9f5e49b32ccefa46ea32b39874a", - "transactionIndex": "0x7", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": null, - "cumulativeGasUsed": "0xc56870", - "gasUsed": "0x312f3e", - "contractAddress": "0xf3b1129B0b2920968CBf089a88c7E6266FaE64aE", - "logs": [ - { - "address": "0xf3b1129B0b2920968CBf089a88c7E6266FaE64aE", - "topics": [ - "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000000ff", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "transactionHash": "0x1ff041a965d11099bd330a252d3384f4ea18e9f5e49b32ccefa46ea32b39874a", - "transactionIndex": "0x7", - "logIndex": "0xa", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000080000000000000000000000000000000000000000000000400000002000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d0cde1" - }, - { - "transactionHash": "0x63ae9932b1a31dc97717eb268153b9148670645fbee1c1ffa2034e2435f937be", - "transactionIndex": "0x8", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": null, - "cumulativeGasUsed": "0xc873c7", - "gasUsed": "0x30b57", - "contractAddress": "0xb146cB898E95953f353bf5A50Fb8f129eC0D5AAb", - "logs": [ - { - "address": "0xb146cB898E95953f353bf5A50Fb8f129eC0D5AAb", - "topics": [ - "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", - "0x000000000000000000000000f3b1129b0b2920968cbf089a88c7e6266fae64ae" - ], - "data": "0x", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "transactionHash": "0x63ae9932b1a31dc97717eb268153b9148670645fbee1c1ffa2034e2435f937be", - "transactionIndex": "0x8", - "logIndex": "0xb", - "removed": false - }, - { - "address": "0xb146cB898E95953f353bf5A50Fb8f129eC0D5AAb", - "topics": [ - "0xc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da9709", - "0x00000000000000000000000058eda9b5b0983f75fa887b598d7164e82791ba21" - ], - "data": "0x", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "transactionHash": "0x63ae9932b1a31dc97717eb268153b9148670645fbee1c1ffa2034e2435f937be", - "transactionIndex": "0x8", - "logIndex": "0xc", - "removed": false - }, - { - "address": "0xb146cB898E95953f353bf5A50Fb8f129eC0D5AAb", - "topics": [ - "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "transactionHash": "0x63ae9932b1a31dc97717eb268153b9148670645fbee1c1ffa2034e2435f937be", - "transactionIndex": "0x8", - "logIndex": "0xd", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000400000000000000000000000000000000000020000000000000000000000000000000000000080000000000000000080200200000000000000008000000002000000000000000000000000000000000000000000000000000000000000000040020000000000010000000000000000000000000000000000000000008000000000000000000080000000000000000000000000000000000000000000000400000000010000000000000000000000000000000020000000000000000000040000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d0cde1" - }, - { - "transactionHash": "0x0a8fdae74c6e861b563525728e5f89d2a2aef6d6afb6a7d25eb750e53d99b8d3", - "transactionIndex": "0x9", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": "0x58eda9b5b0983f75fa887B598d7164E82791Ba21", - "cumulativeGasUsed": "0xc94f3c", - "gasUsed": "0xdb75", - "contractAddress": null, - "logs": [ - { - "address": "0x58eda9b5b0983f75fa887B598d7164E82791Ba21", - "topics": [ - "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", - "0x189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3", - "0x000000000000000000000000b6288e57bf7406b35ab4f70fd1135e907107e386", - "0x000000000000000000000000b6288e57bf7406b35ab4f70fd1135e907107e386" - ], - "data": "0x", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "transactionHash": "0x0a8fdae74c6e861b563525728e5f89d2a2aef6d6afb6a7d25eb750e53d99b8d3", - "transactionIndex": "0x9", - "logIndex": "0xe", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000004000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000002000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000008000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000080000000000000000000000000000000000000000000100000000000000000080000000000000000000000000000000000080000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d0cde1" - }, - { - "transactionHash": "0x30380c4c0725b1cd52d4f3e2ae0b0a1196e1ffcd4d12c668931b530446a0a072", - "transactionIndex": "0xa", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": "0x58eda9b5b0983f75fa887B598d7164E82791Ba21", - "cumulativeGasUsed": "0xca2ab1", - "gasUsed": "0xdb75", - "contractAddress": null, - "logs": [ - { - "address": "0x58eda9b5b0983f75fa887B598d7164E82791Ba21", - "topics": [ - "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", - "0x637821dcee84aabec9c8cf4f6f643013a24ad27fd41511ffd937aea80d8619a9", - "0x000000000000000000000000b6288e57bf7406b35ab4f70fd1135e907107e386", - "0x000000000000000000000000b6288e57bf7406b35ab4f70fd1135e907107e386" - ], - "data": "0x", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "transactionHash": "0x30380c4c0725b1cd52d4f3e2ae0b0a1196e1ffcd4d12c668931b530446a0a072", - "transactionIndex": "0xa", - "logIndex": "0xf", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000004008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000010000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000008000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000080000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000080000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d0cde1" - } - ], - "libraries": [], - "pending": [], - "path": "/Users/drmanhattan/Workspace/StoryProtocol/protocol-contracts/broadcast/Deploy.s.sol/5/run-latest.json", - "returns": {}, - "timestamp": 1690240013, - "chain": 5, - "multi": false, - "commit": "2954e6f" -} \ No newline at end of file diff --git a/broadcast/Deploy.s.sol/5/run-1690240178.json b/broadcast/Deploy.s.sol/5/run-1690240178.json deleted file mode 100644 index 48a6b85f..00000000 --- a/broadcast/Deploy.s.sol/5/run-1690240178.json +++ /dev/null @@ -1,598 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x852e7340599d921a7ff5b7597ab2ff4fb3b4277636192dcbd67d676cf6fffcdb", - "transactionType": "CREATE", - "contractName": "IPAssetRegistryFactory", - "contractAddress": "0x461DF243955aD5493cFa33434c2B7CfF2C583dc7", - "function": null, - "arguments": null, - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x58ec5d", - "value": "0x0", - "data": "0x60a060405234801561001057600080fd5b5061001a3361008d565b604051610026906100dd565b604051809103906000f080158015610042573d6000803e3d6000fd5b5060405161004f906100ea565b6001600160a01b039091168152602001604051809103906000f08015801561007b573d6000803e3d6000fd5b506001600160a01b03166080526100f7565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6136a58061145c83390190565b6105ef80614b0183390190565b60805161133d61011f60003960008181609f0152818161023e0152610440015261133d6000f3fe60806040523480156200001157600080fd5b50600436106200007b5760003560e01c806386df779e116200005657806386df779e14620000f45780638da5cb5b146200010b578063f2fde38b146200012a57600080fd5b80633991fc9d146200008057806349493a4d1462000099578063715018a614620000ea575b600080fd5b62000097620000913660046200083a565b62000141565b005b620000c17f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6200009762000382565b620000c162000105366004620008be565b6200039a565b60005473ffffffffffffffffffffffffffffffffffffffff16620000c1565b620000976200013b3660046200083a565b62000514565b6200014b620005d1565b6200018d73ffffffffffffffffffffffffffffffffffffffff82167fb9d0787c0000000000000000000000000000000000000000000000000000000062000654565b620001f9576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f494950417373657452656769737472790000000000000000000000000000000060448201526064015b60405180910390fd5b6040517f3659cfe600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82811660048301527f00000000000000000000000000000000000000000000000000000000000000001690633659cfe690602401600060405180830381600087803b1580156200028357600080fd5b505af115801562000298573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff167fa8f2f87a44131841a6848a0e54ac181d9f27ca8565b9252b1f49af60507d76928273ffffffffffffffffffffffffffffffffffffffff166354fd4d506040518163ffffffff1660e01b8152600401600060405180830381865afa15801562000320573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052620003689190810190620009c1565b60405162000377919062000ad9565b60405180910390a250565b6200038c620005d1565b6200039860006200067c565b565b600080604051806060016040528060288152602001620012e0602891398051906020012089898989898989604051602401620003dd979695949392919062000b37565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050905060007f0000000000000000000000000000000000000000000000000000000000000000826040516200046e906200082c565b6200047b92919062000b8d565b604051809103906000f08015801562000498573d6000803e3d6000fd5b5090508686604051620004ad92919062000bc6565b60405180910390208173ffffffffffffffffffffffffffffffffffffffff167f423bf0ea6b57d35b37f0caad547ba5e1d340585657e9fec91dcac4375fcd45a98b8b604051620004ff92919062000bd6565b60405180910390a39998505050505050505050565b6200051e620005d1565b73ffffffffffffffffffffffffffffffffffffffff8116620005c3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401620001f0565b620005ce816200067c565b50565b60005473ffffffffffffffffffffffffffffffffffffffff16331462000398576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401620001f0565b60006200066183620006f1565b80156200067557506200067583836200075b565b9392505050565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006200071f827f01ffc9a7000000000000000000000000000000000000000000000000000000006200075b565b801562000755575062000753827fffffffff000000000000000000000000000000000000000000000000000000006200075b565b155b92915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d9150600051905082801562000814575060208210155b8015620008215750600081115b979650505050505050565b6106f38062000bed83390190565b6000602082840312156200084d57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff811681146200067557600080fd5b60008083601f8401126200088557600080fd5b50813567ffffffffffffffff8111156200089e57600080fd5b602083019150836020828501011115620008b757600080fd5b9250929050565b60008060008060008060006080888a031215620008da57600080fd5b87359650602088013567ffffffffffffffff80821115620008fa57600080fd5b620009088b838c0162000872565b909850965060408a01359150808211156200092257600080fd5b620009308b838c0162000872565b909650945060608a01359150808211156200094a57600080fd5b50620009598a828b0162000872565b989b979a50959850939692959293505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60005b83811015620009b85781810151838201526020016200099e565b50506000910152565b600060208284031215620009d457600080fd5b815167ffffffffffffffff80821115620009ed57600080fd5b818401915084601f83011262000a0257600080fd5b81518181111562000a175762000a176200096c565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171562000a605762000a606200096c565b8160405282815287602084870101111562000a7a57600080fd5b620008218360208301602088016200099b565b6000815180845262000aa78160208601602086016200099b565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600062000675602083018462000a8d565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b87815260806020820152600062000b5360808301888a62000aee565b828103604084015262000b6881878962000aee565b9050828103606084015262000b7f81858762000aee565b9a9950505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff8316815260406020820152600062000bbe604083018462000a8d565b949350505050565b8183823760009101908152919050565b60208152600062000bbe60208301848662000aee56fe60806040526040516106f33803806106f383398101604081905261002291610420565b61002e82826000610035565b505061054a565b61003e836100f6565b6040516001600160a01b038416907f1cf3b03a6cf19fa2baba4df148e9dcabedea7f8a5c07840e207e5c089be95d3e90600090a260008251118061007f5750805b156100f1576100ef836001600160a01b0316635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156100c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100e991906104e0565b8361027a565b505b505050565b6001600160a01b0381163b6101605760405162461bcd60e51b815260206004820152602560248201527f455243313936373a206e657720626561636f6e206973206e6f74206120636f6e6044820152641d1c9858dd60da1b60648201526084015b60405180910390fd5b6101d4816001600160a01b0316635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101c591906104e0565b6001600160a01b03163b151590565b6102395760405162461bcd60e51b815260206004820152603060248201527f455243313936373a20626561636f6e20696d706c656d656e746174696f6e206960448201526f1cc81b9bdd08184818dbdb9d1c9858dd60821b6064820152608401610157565b7fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d5080546001600160a01b0319166001600160a01b0392909216919091179055565b606061029f83836040518060600160405280602781526020016106cc602791396102a6565b9392505050565b6060600080856001600160a01b0316856040516102c391906104fb565b600060405180830381855af49150503d80600081146102fe576040519150601f19603f3d011682016040523d82523d6000602084013e610303565b606091505b5090925090506103158683838761031f565b9695505050505050565b6060831561038e578251600003610387576001600160a01b0385163b6103875760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610157565b5081610398565b61039883836103a0565b949350505050565b8151156103b05781518083602001fd5b8060405162461bcd60e51b81526004016101579190610517565b80516001600160a01b03811681146103e157600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b838110156104175781810151838201526020016103ff565b50506000910152565b6000806040838503121561043357600080fd5b61043c836103ca565b60208401519092506001600160401b038082111561045957600080fd5b818501915085601f83011261046d57600080fd5b81518181111561047f5761047f6103e6565b604051601f8201601f19908116603f011681019083821181831017156104a7576104a76103e6565b816040528281528860208487010111156104c057600080fd5b6104d18360208301602088016103fc565b80955050505050509250929050565b6000602082840312156104f257600080fd5b61029f826103ca565b6000825161050d8184602087016103fc565b9190910192915050565b60208152600082518060208401526105368160408501602087016103fc565b601f01601f19169190910160400192915050565b610173806105596000396000f3fe60806040523661001357610011610017565b005b6100115b610027610022610029565b6100dc565b565b60006100697fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d505473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff16635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156100b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100d79190610100565b905090565b3660008037600080366000845af43d6000803e8080156100fb573d6000f35b3d6000fd5b60006020828403121561011257600080fd5b815173ffffffffffffffffffffffffffffffffffffffff8116811461013657600080fd5b939250505056fea26469706673582212206e19af89d0e39d5d76f1b5b6bd963ba5f8c6c6fc546e614a5bb49e1174b5e59d64736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564696e697469616c697a652875696e743235362c737472696e672c737472696e672c737472696e6729a26469706673582212209c23c78bb385d6116b3a9bf5d75450aee14a9f903fa3a8aa01d107c4860fb97b64736f6c6343000813003360806040523480156200001157600080fd5b506200001c62000022565b620000e4565b600054610100900460ff16156200008f5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff9081161015620000e2576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6135b180620000f46000396000f3fe608060405234801561001057600080fd5b50600436106101ae5760003560e01c806370a08231116100ee578063ac9650d811610097578063c87b56dd11610071578063c87b56dd146103cb578063e985e9c5146103de578063eb1f6b5a14610427578063f46aa1891461044757600080fd5b8063ac9650d814610371578063b88d4fde14610391578063b9d0787c146103a457600080fd5b80639dc6693c116100c85780639dc6693c14610338578063a22cb4651461034b578063a8185a2e1461035e57600080fd5b806370a08231146103155780637284e4161461032857806395d89b411461033057600080fd5b80633c7fc59d1161015b5780634ff0a2b2116101355780634ff0a2b2146102ae57806354fd4d50146102b65780636352211e146102ef57806369cf2c371461030257600080fd5b80633c7fc59d1461026657806342842e0e1461028857806346193ccd1461029b57600080fd5b8063095ea7b31161018c578063095ea7b3146102285780630f7966c01461023d57806323b872dd1461025357600080fd5b806301ffc9a7146101b357806306fdde03146101db578063081812fc146101f0575b600080fd5b6101c66101c13660046127b3565b61045a565b60405190151581526020015b60405180910390f35b6101e36104b6565b6040516101d2919061283e565b6102036101fe366004612851565b610548565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101d2565b61023b610236366004612893565b61057c565b005b610245601481565b6040519081526020016101d2565b61023b6102613660046128bd565b6106d9565b610279610274366004612851565b610760565b6040516101d2939291906129c0565b61023b6102963660046128bd565b6107c8565b61023b6102a9366004612a6b565b6107e3565b61023b610a82565b60408051808201909152600581527f302e312e3000000000000000000000000000000000000000000000000000000060208201526101e3565b6102036102fd366004612851565b610bf2565b610245610310366004612b1e565b610c64565b610245610323366004612b39565b610cde565b6101e3610d92565b6101e3610e67565b61023b610346366004612b99565b610e76565b61023b610359366004612be5565b610fef565b61024561036c366004612c21565b610ffe565b61038461037f366004612cfb565b6110a0565b6040516101d29190612d3d565b61023b61039f366004612dec565b611195565b7f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e37a54610245565b6101e36103d9366004612851565b611223565b6101c66103ec366004612ee6565b73ffffffffffffffffffffffffffffffffffffffff9182166000908152606a6020908152604080832093909416825291909152205460ff1690565b61043a610435366004612851565b611238565b6040516101d29190612f19565b610245610455366004612f2c565b61146b565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb9d0787c0000000000000000000000000000000000000000000000000000000014806104b057506104b0826114e1565b92915050565b6060606580546104c590612f6d565b80601f01602080910402602001604051908101604052809291908181526020018280546104f190612f6d565b801561053e5780601f106105135761010080835404028352916020019161053e565b820191906000526020600020905b81548152906001019060200180831161052157829003601f168201915b5050505050905090565b6000610553826115c4565b5060009081526069602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b600061058782610bf2565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361062f5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff82161480610658575061065881336103ec565b6106ca5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610626565b6106d48383611635565b505050565b6106e333826116d5565b6107555760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610626565b6106d4838383611794565b61076861274d565b6000606061077584611238565b925060007f472b429d656ecfb82e6e0cff4b4090577a009a43252b08434ed2201373a9647d6000868152602082905260409020805460ff1694509091506107be60018201611a41565b9496939550505050565b6106d483838360405180602001604052806000815250611195565b600054610100900460ff16158080156108035750600054600160ff909116105b8061081d5750303b15801561081d575060005460ff166001145b61088f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610626565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156108ed57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61096087878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8b018190048102820181019092528981529250899150889081908401838280828437600092019190915250611a4e92505050565b610968611ad5565b876000036109a2576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e37a8890557f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e3787f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e379610a1384868361300e565b50508015610a7857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050505050565b600054610100900460ff1615808015610aa25750600054600160ff909116105b80610abc5750303b158015610abc575060005460ff166001145b610b2e5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610626565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610b8c57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b8015610bef57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50565b60008181526067602052604081205473ffffffffffffffffffffffffffffffffffffffff16806104b05760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610626565b60007f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e378818181856006811115610c9c57610c9c6128f9565b6006811115610cad57610cad6128f9565b815260200190815260200160002054905080600003610cd757610ccf84611b54565b949350505050565b9392505050565b600073ffffffffffffffffffffffffffffffffffffffff8216610d695760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e657200000000000000000000000000000000000000000000006064820152608401610626565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526068602052604090205490565b7f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e37980546060917f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e37891610de390612f6d565b80601f0160208091040260200160405190810160405280929190818152602001828054610e0f90612f6d565b8015610e5c5780601f10610e3157610100808354040283529160200191610e5c565b820191906000526020600020905b815481529060010190602001808311610e3f57829003601f168201915b505050505091505090565b6060606680546104c590612f6d565b806014811115610eb2576040517f77d10abd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481527f472b429d656ecfb82e6e0cff4b4090577a009a43252b08434ed2201373a9647d60208190526040822054909160ff909116905b84811015610faa57816006811115610f0557610f056128f9565b610f26878784818110610f1a57610f1a613129565b90506020020135611bcf565b6006811115610f3757610f376128f9565b14610f6e576040517f50c3390e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610fa1868683818110610f8357610f83613129565b60008b81526020888152604090912060010193910201359050611c32565b50600101610eeb565b50857f823d677ed42b321275c6b3aa7040f32e41d12aea91120455a19a60ae310b0af3828787604051610fdf93929190613158565b60405180910390a2505050505050565b610ffa338383611c3e565b5050565b60008061101160048c8c8c8c8c8c61146b565b905060007f472b429d656ecfb82e6e0cff4b4090577a009a43252b08434ed2201373a9647d6000838152602082905260409020805491925087917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001836006811115611081576110816128f9565b0217905550611091828686610e76565b509a9950505050505050505050565b60608167ffffffffffffffff8111156110bb576110bb612dbd565b6040519080825280602002602001820160405280156110ee57816020015b60608152602001906001900390816110d95790505b50905060005b8281101561118e5761115e3085858481811061111257611112613129565b905060200281019061112491906131b8565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611d5192505050565b82828151811061117057611170613129565b602002602001018190525080806111869061324c565b9150506110f4565b5092915050565b61119f33836116d5565b6112115760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610626565b61121d84848484611e76565b50505050565b606061122e82611238565b6040015192915050565b61124061274d565b60008281527f9d56f7e7ee381479643316c052563e5824551ecde3f8bff0aa320131666f6879602081905260409182902082516080810190935280549192918290829061128c90612f6d565b80601f01602080910402602001604051908101604052809291908181526020018280546112b890612f6d565b80156113055780601f106112da57610100808354040283529160200191611305565b820191906000526020600020905b8154815290600101906020018083116112e857829003601f168201915b5050505050815260200160018201805461131e90612f6d565b80601f016020809104026020016040519081016040528092919081815260200182805461134a90612f6d565b80156113975780601f1061136c57610100808354040283529160200191611397565b820191906000526020600020905b81548152906001019060200180831161137a57829003601f168201915b505050505081526020016002820180546113b090612f6d565b80601f01602080910402602001604051908101604052809291908181526020018280546113dc90612f6d565b80156114295780601f106113fe57610100808354040283529160200191611429565b820191906000526020600020905b81548152906001019060200180831161140c57829003601f168201915b5050509183525050600382015460209091019060ff166006811115611450576114506128f9565b6006811115611461576114616128f9565b9052509392505050565b600080886006811115611480576114806128f9565b036114b7576040517ffa19fa0700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006114c3338a611eff565b90506114d481898989898989611fc5565b5098975050505050505050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061157457507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b806104b057507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316146104b0565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff16610bef5760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610626565b600081815260696020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117909155819061168f82610bf2565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000806116e183610bf2565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061174f575073ffffffffffffffffffffffffffffffffffffffff8082166000908152606a602090815260408083209388168352929052205460ff165b80610ccf57508373ffffffffffffffffffffffffffffffffffffffff1661177584610548565b73ffffffffffffffffffffffffffffffffffffffff1614949350505050565b8273ffffffffffffffffffffffffffffffffffffffff166117b482610bf2565b73ffffffffffffffffffffffffffffffffffffffff161461183d5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610626565b73ffffffffffffffffffffffffffffffffffffffff82166118c55760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610626565b8273ffffffffffffffffffffffffffffffffffffffff166118e582610bf2565b73ffffffffffffffffffffffffffffffffffffffff161461196e5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610626565b600081815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff8781168086526068855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905590871680865283862080546001019055868652606790945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b60606000610cd7836120fb565b600054610100900460ff16611acb5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610626565b610ffa8282612157565b600054610100900460ff16611b525760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610626565b565b600080826006811115611b6957611b696128f9565b03611ba257816040517f877df4f20000000000000000000000000000000000000000000000000000000081526004016106269190613284565b6001826006811115611bb657611bb66128f9565b611bc09190613292565b6104b09064e8d4a510006132a5565b6000611be064e8d4a51000836132eb565b1580611bfa5750611bf7600664e8d4a510006132a5565b82115b15611c0757506000919050565b611c1664e8d4a51000836132ff565b611c21906001613313565b60068111156104b0576104b06128f9565b6000610cd783836121ed565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611cb95760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610626565b73ffffffffffffffffffffffffffffffffffffffff8381166000818152606a602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b606073ffffffffffffffffffffffffffffffffffffffff83163b611ddd5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e747261637400000000000000000000000000000000000000000000000000006064820152608401610626565b6000808473ffffffffffffffffffffffffffffffffffffffff1684604051611e059190613326565b600060405180830381855af49150503d8060008114611e40576040519150601f19603f3d011682016040523d82523d6000602084013e611e45565b606091505b5091509150611e6d82826040518060600160405280602781526020016135556027913961223c565b95945050505050565b611e81848484611794565b611e8d84848484612255565b61121d5760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610626565b600080611f0b83610c64565b611f16906001613313565b9050611f218361242e565b811115611f5a576040517fd5fdab4f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e37881816000866006811115611f9157611f916128f9565b6006811115611fa257611fa26128f9565b8152602081019190915260400160002055611fbd85836124a9565b509392505050565b60008781527f9d56f7e7ee381479643316c052563e5824551ecde3f8bff0aa320131666f68796020819052604082206003810154839060ff16600681111561200f5761200f6128f9565b0361205f5761201d8a611bcf565b6003820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001836006811115612059576120596128f9565b02179055505b8061206b898b8361300e565b506001810161207b87898361300e565b506002810161208b85878361300e565b50600381015460ff1660068111156120a5576120a56128f9565b8a7fa82032c25afb0149419a68bef0de224f05ddf61f663c81661d7f86f32f0381f88b8b8b8b8b8b6040516120df9695949392919061338b565b60405180910390a36003015460ff169998505050505050505050565b60608160000180548060200260200160405190810160405280929190818152602001828054801561214b57602002820191906000526020600020905b815481526020019060010190808311612137575b50505050509050919050565b600054610100900460ff166121d45760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610626565b60656121e083826133d4565b5060666106d482826133d4565b6000818152600183016020526040812054612234575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556104b0565b5060006104b0565b6060831561224b575081610cd7565b610cd783836124c3565b600073ffffffffffffffffffffffffffffffffffffffff84163b15612423576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a02906122cc9033908990889088906004016134ee565b6020604051808303816000875af1925050508015612325575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261232291810190613537565b60015b6123d8573d808015612353576040519150601f19603f3d011682016040523d82523d6000602084013e612358565b606091505b5080516000036123d05760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610626565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050610ccf565b506001949350505050565b600080826006811115612443576124436128f9565b0361247c57816040517f877df4f20000000000000000000000000000000000000000000000000000000081526004016106269190613284565b6001826006811115612490576124906128f9565b61249f9064e8d4a510006132a5565b6104b09190613292565b610ffa8282604051806020016040528060008152506124ed565b8151156124d35781518083602001fd5b8060405162461bcd60e51b8152600401610626919061283e565b6124f78383612576565b6125046000848484612255565b6106d45760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610626565b73ffffffffffffffffffffffffffffffffffffffff82166125d95760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610626565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff161561264b5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610626565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff16156126bd5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610626565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260686020908152604080832080546001019055848352606790915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b604051806080016040528060608152602001606081526020016060815260200160006006811115612780576127806128f9565b905290565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610bef57600080fd5b6000602082840312156127c557600080fd5b8135610cd781612785565b60005b838110156127eb5781810151838201526020016127d3565b50506000910152565b6000815180845261280c8160208601602086016127d0565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610cd760208301846127f4565b60006020828403121561286357600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461288e57600080fd5b919050565b600080604083850312156128a657600080fd5b6128af8361286a565b946020939093013593505050565b6000806000606084860312156128d257600080fd5b6128db8461286a565b92506128e96020850161286a565b9150604084013590509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6007811061295f577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b600081516080845261297860808501826127f4565b90506020830151848203602086015261299182826127f4565b915050604083015184820360408601526129ab82826127f4565b9150506060830151611fbd6060860182612928565b6060815260006129d36060830186612963565b60206129e181850187612928565b838203604085015284518083528186019282019060005b81811015612a14578451835293830193918301916001016129f8565b509098975050505050505050565b60008083601f840112612a3457600080fd5b50813567ffffffffffffffff811115612a4c57600080fd5b602083019150836020828501011115612a6457600080fd5b9250929050565b60008060008060008060006080888a031215612a8657600080fd5b87359650602088013567ffffffffffffffff80821115612aa557600080fd5b612ab18b838c01612a22565b909850965060408a0135915080821115612aca57600080fd5b612ad68b838c01612a22565b909650945060608a0135915080821115612aef57600080fd5b50612afc8a828b01612a22565b989b979a50959850939692959293505050565b80356007811061288e57600080fd5b600060208284031215612b3057600080fd5b610cd782612b0f565b600060208284031215612b4b57600080fd5b610cd78261286a565b60008083601f840112612b6657600080fd5b50813567ffffffffffffffff811115612b7e57600080fd5b6020830191508360208260051b8501011115612a6457600080fd5b600080600060408486031215612bae57600080fd5b83359250602084013567ffffffffffffffff811115612bcc57600080fd5b612bd886828701612b54565b9497909650939450505050565b60008060408385031215612bf857600080fd5b612c018361286a565b915060208301358015158114612c1657600080fd5b809150509250929050565b600080600080600080600080600060a08a8c031215612c3f57600080fd5b893567ffffffffffffffff80821115612c5757600080fd5b612c638d838e01612a22565b909b50995060208c0135915080821115612c7c57600080fd5b612c888d838e01612a22565b909950975060408c0135915080821115612ca157600080fd5b612cad8d838e01612a22565b9097509550859150612cc160608d01612b0f565b945060808c0135915080821115612cd757600080fd5b50612ce48c828d01612b54565b915080935050809150509295985092959850929598565b60008060208385031215612d0e57600080fd5b823567ffffffffffffffff811115612d2557600080fd5b612d3185828601612b54565b90969095509350505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015612db0577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452612d9e8583516127f4565b94509285019290850190600101612d64565b5092979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060008060808587031215612e0257600080fd5b612e0b8561286a565b9350612e196020860161286a565b925060408501359150606085013567ffffffffffffffff80821115612e3d57600080fd5b818701915087601f830112612e5157600080fd5b813581811115612e6357612e63612dbd565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715612ea957612ea9612dbd565b816040528281528a6020848701011115612ec257600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b60008060408385031215612ef957600080fd5b612f028361286a565b9150612f106020840161286a565b90509250929050565b602081526000610cd76020830184612963565b60008060008060008060006080888a031215612f4757600080fd5b612f5088612b0f565b9650602088013567ffffffffffffffff80821115612aa557600080fd5b600181811c90821680612f8157607f821691505b602082108103612fba577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f8211156106d457600081815260208120601f850160051c81016020861015612fe75750805b601f850160051c820191505b8181101561300657828155600101612ff3565b505050505050565b67ffffffffffffffff83111561302657613026612dbd565b61303a836130348354612f6d565b83612fc0565b6000601f84116001811461308c57600085156130565750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355613122565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b828110156130db57868501358255602094850194600190920191016130bb565b5086821015613116577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6131628185612928565b6040602082015281604082015260007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83111561319e57600080fd5b8260051b8085606085013791909101606001949350505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126131ed57600080fd5b83018035915067ffffffffffffffff82111561320857600080fd5b602001915036819003821315612a6457600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361327d5761327d61321d565b5060010190565b602081016104b08284612928565b818103818111156104b0576104b061321d565b80820281158282048414176104b0576104b061321d565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000826132fa576132fa6132bc565b500690565b60008261330e5761330e6132bc565b500490565b808201808211156104b0576104b061321d565b600082516133388184602087016127d0565b9190910192915050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60608152600061339f60608301888a613342565b82810360208401526133b2818789613342565b905082810360408401526133c7818587613342565b9998505050505050505050565b815167ffffffffffffffff8111156133ee576133ee612dbd565b613402816133fc8454612f6d565b84612fc0565b602080601f831160018114613455576000841561341f5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555613006565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156134a257888601518255948401946001909101908401613483565b50858210156134de57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600073ffffffffffffffffffffffffffffffffffffffff80871683528086166020840152508360408301526080606083015261352d60808301846127f4565b9695505050505050565b60006020828403121561354957600080fd5b8151610cd78161278556fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122078f441787f11096e9e5b9cb7d7785bc623e667ca342c5fa049a603e7a2dc1ff064736f6c63430008130033608060405234801561001057600080fd5b506040516105ef3803806105ef83398101604081905261002f9161013a565b61003833610047565b61004181610097565b5061016a565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0381163b6101185760405162461bcd60e51b815260206004820152603360248201527f5570677261646561626c65426561636f6e3a20696d706c656d656e746174696f60448201527f6e206973206e6f74206120636f6e747261637400000000000000000000000000606482015260840160405180910390fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b60006020828403121561014c57600080fd5b81516001600160a01b038116811461016357600080fd5b9392505050565b610476806101796000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c8063715018a611610050578063715018a6146100c45780638da5cb5b146100cc578063f2fde38b146100ea57600080fd5b80633659cfe61461006c5780635c60da1b14610081575b600080fd5b61007f61007a366004610403565b6100fd565b005b60015473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61007f610152565b60005473ffffffffffffffffffffffffffffffffffffffff1661009b565b61007f6100f8366004610403565b610166565b610105610222565b61010e816102a3565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b61015a610222565b610164600061038e565b565b61016e610222565b73ffffffffffffffffffffffffffffffffffffffff8116610216576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61021f8161038e565b50565b60005473ffffffffffffffffffffffffffffffffffffffff163314610164576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161020d565b73ffffffffffffffffffffffffffffffffffffffff81163b610347576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603360248201527f5570677261646561626c65426561636f6e3a20696d706c656d656e746174696f60448201527f6e206973206e6f74206120636f6e747261637400000000000000000000000000606482015260840161020d565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006020828403121561041557600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461043957600080fd5b939250505056fea264697066735822122048ebef5dea79554c6de8af09830ddb871c241a46dee33849e34fac866c5894bd64736f6c63430008130033", - "nonce": "0x21", - "accessList": [] - }, - "additionalContracts": [ - { - "transactionType": "CREATE", - "address": "0x3a10Db3a7E56243f29709ca0830b08bD1a9F4243", - "initCode": "60806040523480156200001157600080fd5b506200001c62000022565b620000e4565b600054610100900460ff16156200008f5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff9081161015620000e2576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6135b180620000f46000396000f3fe608060405234801561001057600080fd5b50600436106101ae5760003560e01c806370a08231116100ee578063ac9650d811610097578063c87b56dd11610071578063c87b56dd146103cb578063e985e9c5146103de578063eb1f6b5a14610427578063f46aa1891461044757600080fd5b8063ac9650d814610371578063b88d4fde14610391578063b9d0787c146103a457600080fd5b80639dc6693c116100c85780639dc6693c14610338578063a22cb4651461034b578063a8185a2e1461035e57600080fd5b806370a08231146103155780637284e4161461032857806395d89b411461033057600080fd5b80633c7fc59d1161015b5780634ff0a2b2116101355780634ff0a2b2146102ae57806354fd4d50146102b65780636352211e146102ef57806369cf2c371461030257600080fd5b80633c7fc59d1461026657806342842e0e1461028857806346193ccd1461029b57600080fd5b8063095ea7b31161018c578063095ea7b3146102285780630f7966c01461023d57806323b872dd1461025357600080fd5b806301ffc9a7146101b357806306fdde03146101db578063081812fc146101f0575b600080fd5b6101c66101c13660046127b3565b61045a565b60405190151581526020015b60405180910390f35b6101e36104b6565b6040516101d2919061283e565b6102036101fe366004612851565b610548565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101d2565b61023b610236366004612893565b61057c565b005b610245601481565b6040519081526020016101d2565b61023b6102613660046128bd565b6106d9565b610279610274366004612851565b610760565b6040516101d2939291906129c0565b61023b6102963660046128bd565b6107c8565b61023b6102a9366004612a6b565b6107e3565b61023b610a82565b60408051808201909152600581527f302e312e3000000000000000000000000000000000000000000000000000000060208201526101e3565b6102036102fd366004612851565b610bf2565b610245610310366004612b1e565b610c64565b610245610323366004612b39565b610cde565b6101e3610d92565b6101e3610e67565b61023b610346366004612b99565b610e76565b61023b610359366004612be5565b610fef565b61024561036c366004612c21565b610ffe565b61038461037f366004612cfb565b6110a0565b6040516101d29190612d3d565b61023b61039f366004612dec565b611195565b7f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e37a54610245565b6101e36103d9366004612851565b611223565b6101c66103ec366004612ee6565b73ffffffffffffffffffffffffffffffffffffffff9182166000908152606a6020908152604080832093909416825291909152205460ff1690565b61043a610435366004612851565b611238565b6040516101d29190612f19565b610245610455366004612f2c565b61146b565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb9d0787c0000000000000000000000000000000000000000000000000000000014806104b057506104b0826114e1565b92915050565b6060606580546104c590612f6d565b80601f01602080910402602001604051908101604052809291908181526020018280546104f190612f6d565b801561053e5780601f106105135761010080835404028352916020019161053e565b820191906000526020600020905b81548152906001019060200180831161052157829003601f168201915b5050505050905090565b6000610553826115c4565b5060009081526069602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b600061058782610bf2565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361062f5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff82161480610658575061065881336103ec565b6106ca5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610626565b6106d48383611635565b505050565b6106e333826116d5565b6107555760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610626565b6106d4838383611794565b61076861274d565b6000606061077584611238565b925060007f472b429d656ecfb82e6e0cff4b4090577a009a43252b08434ed2201373a9647d6000868152602082905260409020805460ff1694509091506107be60018201611a41565b9496939550505050565b6106d483838360405180602001604052806000815250611195565b600054610100900460ff16158080156108035750600054600160ff909116105b8061081d5750303b15801561081d575060005460ff166001145b61088f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610626565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156108ed57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61096087878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8b018190048102820181019092528981529250899150889081908401838280828437600092019190915250611a4e92505050565b610968611ad5565b876000036109a2576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e37a8890557f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e3787f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e379610a1384868361300e565b50508015610a7857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050505050565b600054610100900460ff1615808015610aa25750600054600160ff909116105b80610abc5750303b158015610abc575060005460ff166001145b610b2e5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610626565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610b8c57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b8015610bef57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50565b60008181526067602052604081205473ffffffffffffffffffffffffffffffffffffffff16806104b05760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610626565b60007f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e378818181856006811115610c9c57610c9c6128f9565b6006811115610cad57610cad6128f9565b815260200190815260200160002054905080600003610cd757610ccf84611b54565b949350505050565b9392505050565b600073ffffffffffffffffffffffffffffffffffffffff8216610d695760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e657200000000000000000000000000000000000000000000006064820152608401610626565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526068602052604090205490565b7f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e37980546060917f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e37891610de390612f6d565b80601f0160208091040260200160405190810160405280929190818152602001828054610e0f90612f6d565b8015610e5c5780601f10610e3157610100808354040283529160200191610e5c565b820191906000526020600020905b815481529060010190602001808311610e3f57829003601f168201915b505050505091505090565b6060606680546104c590612f6d565b806014811115610eb2576040517f77d10abd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481527f472b429d656ecfb82e6e0cff4b4090577a009a43252b08434ed2201373a9647d60208190526040822054909160ff909116905b84811015610faa57816006811115610f0557610f056128f9565b610f26878784818110610f1a57610f1a613129565b90506020020135611bcf565b6006811115610f3757610f376128f9565b14610f6e576040517f50c3390e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610fa1868683818110610f8357610f83613129565b60008b81526020888152604090912060010193910201359050611c32565b50600101610eeb565b50857f823d677ed42b321275c6b3aa7040f32e41d12aea91120455a19a60ae310b0af3828787604051610fdf93929190613158565b60405180910390a2505050505050565b610ffa338383611c3e565b5050565b60008061101160048c8c8c8c8c8c61146b565b905060007f472b429d656ecfb82e6e0cff4b4090577a009a43252b08434ed2201373a9647d6000838152602082905260409020805491925087917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001836006811115611081576110816128f9565b0217905550611091828686610e76565b509a9950505050505050505050565b60608167ffffffffffffffff8111156110bb576110bb612dbd565b6040519080825280602002602001820160405280156110ee57816020015b60608152602001906001900390816110d95790505b50905060005b8281101561118e5761115e3085858481811061111257611112613129565b905060200281019061112491906131b8565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611d5192505050565b82828151811061117057611170613129565b602002602001018190525080806111869061324c565b9150506110f4565b5092915050565b61119f33836116d5565b6112115760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610626565b61121d84848484611e76565b50505050565b606061122e82611238565b6040015192915050565b61124061274d565b60008281527f9d56f7e7ee381479643316c052563e5824551ecde3f8bff0aa320131666f6879602081905260409182902082516080810190935280549192918290829061128c90612f6d565b80601f01602080910402602001604051908101604052809291908181526020018280546112b890612f6d565b80156113055780601f106112da57610100808354040283529160200191611305565b820191906000526020600020905b8154815290600101906020018083116112e857829003601f168201915b5050505050815260200160018201805461131e90612f6d565b80601f016020809104026020016040519081016040528092919081815260200182805461134a90612f6d565b80156113975780601f1061136c57610100808354040283529160200191611397565b820191906000526020600020905b81548152906001019060200180831161137a57829003601f168201915b505050505081526020016002820180546113b090612f6d565b80601f01602080910402602001604051908101604052809291908181526020018280546113dc90612f6d565b80156114295780601f106113fe57610100808354040283529160200191611429565b820191906000526020600020905b81548152906001019060200180831161140c57829003601f168201915b5050509183525050600382015460209091019060ff166006811115611450576114506128f9565b6006811115611461576114616128f9565b9052509392505050565b600080886006811115611480576114806128f9565b036114b7576040517ffa19fa0700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006114c3338a611eff565b90506114d481898989898989611fc5565b5098975050505050505050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061157457507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b806104b057507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316146104b0565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff16610bef5760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610626565b600081815260696020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117909155819061168f82610bf2565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000806116e183610bf2565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061174f575073ffffffffffffffffffffffffffffffffffffffff8082166000908152606a602090815260408083209388168352929052205460ff165b80610ccf57508373ffffffffffffffffffffffffffffffffffffffff1661177584610548565b73ffffffffffffffffffffffffffffffffffffffff1614949350505050565b8273ffffffffffffffffffffffffffffffffffffffff166117b482610bf2565b73ffffffffffffffffffffffffffffffffffffffff161461183d5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610626565b73ffffffffffffffffffffffffffffffffffffffff82166118c55760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610626565b8273ffffffffffffffffffffffffffffffffffffffff166118e582610bf2565b73ffffffffffffffffffffffffffffffffffffffff161461196e5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610626565b600081815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff8781168086526068855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905590871680865283862080546001019055868652606790945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b60606000610cd7836120fb565b600054610100900460ff16611acb5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610626565b610ffa8282612157565b600054610100900460ff16611b525760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610626565b565b600080826006811115611b6957611b696128f9565b03611ba257816040517f877df4f20000000000000000000000000000000000000000000000000000000081526004016106269190613284565b6001826006811115611bb657611bb66128f9565b611bc09190613292565b6104b09064e8d4a510006132a5565b6000611be064e8d4a51000836132eb565b1580611bfa5750611bf7600664e8d4a510006132a5565b82115b15611c0757506000919050565b611c1664e8d4a51000836132ff565b611c21906001613313565b60068111156104b0576104b06128f9565b6000610cd783836121ed565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611cb95760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610626565b73ffffffffffffffffffffffffffffffffffffffff8381166000818152606a602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b606073ffffffffffffffffffffffffffffffffffffffff83163b611ddd5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e747261637400000000000000000000000000000000000000000000000000006064820152608401610626565b6000808473ffffffffffffffffffffffffffffffffffffffff1684604051611e059190613326565b600060405180830381855af49150503d8060008114611e40576040519150601f19603f3d011682016040523d82523d6000602084013e611e45565b606091505b5091509150611e6d82826040518060600160405280602781526020016135556027913961223c565b95945050505050565b611e81848484611794565b611e8d84848484612255565b61121d5760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610626565b600080611f0b83610c64565b611f16906001613313565b9050611f218361242e565b811115611f5a576040517fd5fdab4f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e37881816000866006811115611f9157611f916128f9565b6006811115611fa257611fa26128f9565b8152602081019190915260400160002055611fbd85836124a9565b509392505050565b60008781527f9d56f7e7ee381479643316c052563e5824551ecde3f8bff0aa320131666f68796020819052604082206003810154839060ff16600681111561200f5761200f6128f9565b0361205f5761201d8a611bcf565b6003820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001836006811115612059576120596128f9565b02179055505b8061206b898b8361300e565b506001810161207b87898361300e565b506002810161208b85878361300e565b50600381015460ff1660068111156120a5576120a56128f9565b8a7fa82032c25afb0149419a68bef0de224f05ddf61f663c81661d7f86f32f0381f88b8b8b8b8b8b6040516120df9695949392919061338b565b60405180910390a36003015460ff169998505050505050505050565b60608160000180548060200260200160405190810160405280929190818152602001828054801561214b57602002820191906000526020600020905b815481526020019060010190808311612137575b50505050509050919050565b600054610100900460ff166121d45760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610626565b60656121e083826133d4565b5060666106d482826133d4565b6000818152600183016020526040812054612234575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556104b0565b5060006104b0565b6060831561224b575081610cd7565b610cd783836124c3565b600073ffffffffffffffffffffffffffffffffffffffff84163b15612423576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a02906122cc9033908990889088906004016134ee565b6020604051808303816000875af1925050508015612325575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261232291810190613537565b60015b6123d8573d808015612353576040519150601f19603f3d011682016040523d82523d6000602084013e612358565b606091505b5080516000036123d05760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610626565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050610ccf565b506001949350505050565b600080826006811115612443576124436128f9565b0361247c57816040517f877df4f20000000000000000000000000000000000000000000000000000000081526004016106269190613284565b6001826006811115612490576124906128f9565b61249f9064e8d4a510006132a5565b6104b09190613292565b610ffa8282604051806020016040528060008152506124ed565b8151156124d35781518083602001fd5b8060405162461bcd60e51b8152600401610626919061283e565b6124f78383612576565b6125046000848484612255565b6106d45760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610626565b73ffffffffffffffffffffffffffffffffffffffff82166125d95760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610626565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff161561264b5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610626565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff16156126bd5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610626565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260686020908152604080832080546001019055848352606790915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b604051806080016040528060608152602001606081526020016060815260200160006006811115612780576127806128f9565b905290565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610bef57600080fd5b6000602082840312156127c557600080fd5b8135610cd781612785565b60005b838110156127eb5781810151838201526020016127d3565b50506000910152565b6000815180845261280c8160208601602086016127d0565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610cd760208301846127f4565b60006020828403121561286357600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461288e57600080fd5b919050565b600080604083850312156128a657600080fd5b6128af8361286a565b946020939093013593505050565b6000806000606084860312156128d257600080fd5b6128db8461286a565b92506128e96020850161286a565b9150604084013590509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6007811061295f577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b600081516080845261297860808501826127f4565b90506020830151848203602086015261299182826127f4565b915050604083015184820360408601526129ab82826127f4565b9150506060830151611fbd6060860182612928565b6060815260006129d36060830186612963565b60206129e181850187612928565b838203604085015284518083528186019282019060005b81811015612a14578451835293830193918301916001016129f8565b509098975050505050505050565b60008083601f840112612a3457600080fd5b50813567ffffffffffffffff811115612a4c57600080fd5b602083019150836020828501011115612a6457600080fd5b9250929050565b60008060008060008060006080888a031215612a8657600080fd5b87359650602088013567ffffffffffffffff80821115612aa557600080fd5b612ab18b838c01612a22565b909850965060408a0135915080821115612aca57600080fd5b612ad68b838c01612a22565b909650945060608a0135915080821115612aef57600080fd5b50612afc8a828b01612a22565b989b979a50959850939692959293505050565b80356007811061288e57600080fd5b600060208284031215612b3057600080fd5b610cd782612b0f565b600060208284031215612b4b57600080fd5b610cd78261286a565b60008083601f840112612b6657600080fd5b50813567ffffffffffffffff811115612b7e57600080fd5b6020830191508360208260051b8501011115612a6457600080fd5b600080600060408486031215612bae57600080fd5b83359250602084013567ffffffffffffffff811115612bcc57600080fd5b612bd886828701612b54565b9497909650939450505050565b60008060408385031215612bf857600080fd5b612c018361286a565b915060208301358015158114612c1657600080fd5b809150509250929050565b600080600080600080600080600060a08a8c031215612c3f57600080fd5b893567ffffffffffffffff80821115612c5757600080fd5b612c638d838e01612a22565b909b50995060208c0135915080821115612c7c57600080fd5b612c888d838e01612a22565b909950975060408c0135915080821115612ca157600080fd5b612cad8d838e01612a22565b9097509550859150612cc160608d01612b0f565b945060808c0135915080821115612cd757600080fd5b50612ce48c828d01612b54565b915080935050809150509295985092959850929598565b60008060208385031215612d0e57600080fd5b823567ffffffffffffffff811115612d2557600080fd5b612d3185828601612b54565b90969095509350505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015612db0577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452612d9e8583516127f4565b94509285019290850190600101612d64565b5092979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060008060808587031215612e0257600080fd5b612e0b8561286a565b9350612e196020860161286a565b925060408501359150606085013567ffffffffffffffff80821115612e3d57600080fd5b818701915087601f830112612e5157600080fd5b813581811115612e6357612e63612dbd565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715612ea957612ea9612dbd565b816040528281528a6020848701011115612ec257600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b60008060408385031215612ef957600080fd5b612f028361286a565b9150612f106020840161286a565b90509250929050565b602081526000610cd76020830184612963565b60008060008060008060006080888a031215612f4757600080fd5b612f5088612b0f565b9650602088013567ffffffffffffffff80821115612aa557600080fd5b600181811c90821680612f8157607f821691505b602082108103612fba577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f8211156106d457600081815260208120601f850160051c81016020861015612fe75750805b601f850160051c820191505b8181101561300657828155600101612ff3565b505050505050565b67ffffffffffffffff83111561302657613026612dbd565b61303a836130348354612f6d565b83612fc0565b6000601f84116001811461308c57600085156130565750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355613122565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b828110156130db57868501358255602094850194600190920191016130bb565b5086821015613116577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6131628185612928565b6040602082015281604082015260007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83111561319e57600080fd5b8260051b8085606085013791909101606001949350505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126131ed57600080fd5b83018035915067ffffffffffffffff82111561320857600080fd5b602001915036819003821315612a6457600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361327d5761327d61321d565b5060010190565b602081016104b08284612928565b818103818111156104b0576104b061321d565b80820281158282048414176104b0576104b061321d565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000826132fa576132fa6132bc565b500690565b60008261330e5761330e6132bc565b500490565b808201808211156104b0576104b061321d565b600082516133388184602087016127d0565b9190910192915050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60608152600061339f60608301888a613342565b82810360208401526133b2818789613342565b905082810360408401526133c7818587613342565b9998505050505050505050565b815167ffffffffffffffff8111156133ee576133ee612dbd565b613402816133fc8454612f6d565b84612fc0565b602080601f831160018114613455576000841561341f5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555613006565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156134a257888601518255948401946001909101908401613483565b50858210156134de57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600073ffffffffffffffffffffffffffffffffffffffff80871683528086166020840152508360408301526080606083015261352d60808301846127f4565b9695505050505050565b60006020828403121561354957600080fd5b8151610cd78161278556fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122078f441787f11096e9e5b9cb7d7785bc623e667ca342c5fa049a603e7a2dc1ff064736f6c63430008130033" - }, - { - "transactionType": "CREATE", - "address": "0xee41378f6E695bF3551054b13a91f9703c175baB", - "initCode": "608060405234801561001057600080fd5b506040516105ef3803806105ef83398101604081905261002f9161013a565b61003833610047565b61004181610097565b5061016a565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0381163b6101185760405162461bcd60e51b815260206004820152603360248201527f5570677261646561626c65426561636f6e3a20696d706c656d656e746174696f60448201527f6e206973206e6f74206120636f6e747261637400000000000000000000000000606482015260840160405180910390fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b60006020828403121561014c57600080fd5b81516001600160a01b038116811461016357600080fd5b9392505050565b610476806101796000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c8063715018a611610050578063715018a6146100c45780638da5cb5b146100cc578063f2fde38b146100ea57600080fd5b80633659cfe61461006c5780635c60da1b14610081575b600080fd5b61007f61007a366004610403565b6100fd565b005b60015473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61007f610152565b60005473ffffffffffffffffffffffffffffffffffffffff1661009b565b61007f6100f8366004610403565b610166565b610105610222565b61010e816102a3565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b61015a610222565b610164600061038e565b565b61016e610222565b73ffffffffffffffffffffffffffffffffffffffff8116610216576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61021f8161038e565b50565b60005473ffffffffffffffffffffffffffffffffffffffff163314610164576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161020d565b73ffffffffffffffffffffffffffffffffffffffff81163b610347576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603360248201527f5570677261646561626c65426561636f6e3a20696d706c656d656e746174696f60448201527f6e206973206e6f74206120636f6e747261637400000000000000000000000000606482015260840161020d565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006020828403121561041557600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461043957600080fd5b939250505056fea264697066735822122048ebef5dea79554c6de8af09830ddb871c241a46dee33849e34fac866c5894bd64736f6c634300081300330000000000000000000000003a10db3a7e56243f29709ca0830b08bd1a9f4243" - } - ], - "isFixedGasLimit": false - }, - { - "hash": "0xb6c9723b9a1f6cc56eb2f5e4cc093b0939809a03f143a8c48731bdd59114e8e0", - "transactionType": "CREATE", - "contractName": "AccessControlSingleton", - "contractAddress": "0xD933e6768a0C86ca11DDf802932FeBD50509Ba4D", - "function": null, - "arguments": null, - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x22aa79", - "value": "0x0", - "data": "0x60a06040523060805234801561001457600080fd5b50608051611ee461004c600039600081816104d101528181610581015281816106d60152818161078601526108cb0152611ee46000f3fe6080604052600436106100dd5760003560e01c806352d1902d1161007f578063a217fddf11610059578063a217fddf146102a8578063ac9650d8146102bd578063c4d66de8146102ea578063d547741f1461030a57600080fd5b806352d1902d146101ea57806354fd4d50146101ff57806391d148541461025557600080fd5b80632f2ff15d116100bb5780632f2ff15d1461017757806336568abe146101975780633659cfe6146101b75780634f1ef286146101d757600080fd5b806301ffc9a7146100e25780631e4e009114610117578063248a9ca314610139575b600080fd5b3480156100ee57600080fd5b506101026100fd3660046118fe565b61032a565b60405190151581526020015b60405180910390f35b34801561012357600080fd5b50610137610132366004611940565b6103c3565b005b34801561014557600080fd5b50610169610154366004611962565b60009081526065602052604090206001015490565b60405190815260200161010e565b34801561018357600080fd5b506101376101923660046119a4565b6103dd565b3480156101a357600080fd5b506101376101b23660046119a4565b610402565b3480156101c357600080fd5b506101376101d23660046119d0565b6104ba565b6101376101e5366004611a1a565b6106bf565b3480156101f657600080fd5b506101696108b1565b34801561020b57600080fd5b506102486040518060400160405280600581526020017f302e312e3000000000000000000000000000000000000000000000000000000081525081565b60405161010e9190611b68565b34801561026157600080fd5b506101026102703660046119a4565b600091825260656020908152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b3480156102b457600080fd5b50610169600081565b3480156102c957600080fd5b506102dd6102d8366004611b7b565b61099d565b60405161010e9190611bf0565b3480156102f657600080fd5b506101376103053660046119d0565b610a92565b34801561031657600080fd5b506101376103253660046119a4565b610c84565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806103bd57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60006103ce81610ca9565b6103d88383610cb3565b505050565b6000828152606560205260409020600101546103f881610ca9565b6103d88383610cfe565b73ffffffffffffffffffffffffffffffffffffffff811633146104ac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b6104b68282610df2565b5050565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016300361057f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016104a3565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166105f47f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610697576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016104a3565b6106a081610ead565b604080516000808252602082019092526106bc91839190610ed7565b50565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610784576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016104a3565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166107f97f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff161461089c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016104a3565b6108a582610ead565b6104b682826001610ed7565b60003073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610978576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016104a3565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b60608167ffffffffffffffff8111156109b8576109b86119eb565b6040519080825280602002602001820160405280156109eb57816020015b60608152602001906001900390816109d65790505b50905060005b82811015610a8b57610a5b30858584818110610a0f57610a0f611c70565b9050602002810190610a219190611c9f565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506110d692505050565b828281518110610a6d57610a6d611c70565b60200260200101819052508080610a8390611d3a565b9150506109f1565b5092915050565b600054610100900460ff1615808015610ab25750600054600160ff909116105b80610acc5750303b158015610acc575060005460ff166001145b610b58576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016104a3565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610bb657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b73ffffffffffffffffffffffffffffffffffffffff8216610c03576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c0b611102565b610c13611102565b610c1e600083610cfe565b80156104b657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b600082815260656020526040902060010154610c9f81610ca9565b6103d88383610df2565b6106bc813361119b565b600082815260656020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff166104b657600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff85168452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055610d943390565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16156104b657600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e36104b681610ca9565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610f0a576103d883611255565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610f8f575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252610f8c91810190611d72565b60015b61101b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016104a3565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81146110ca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016104a3565b506103d883838361135f565b60606110fb8383604051806060016040528060278152602001611e886027913961138a565b9392505050565b600054610100900460ff16611199576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016104a3565b565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff166104b6576111db8161140f565b6111e683602061142e565b6040516020016111f7929190611d8b565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a00000000000000000000000000000000000000000000000000000000082526104a391600401611b68565b73ffffffffffffffffffffffffffffffffffffffff81163b6112f9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016104a3565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61136883611671565b6000825111806113755750805b156103d85761138483836116be565b50505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516113b49190611e0c565b600060405180830381855af49150503d80600081146113ef576040519150601f19603f3d011682016040523d82523d6000602084013e6113f4565b606091505b5091509150611405868383876117fd565b9695505050505050565b60606103bd73ffffffffffffffffffffffffffffffffffffffff831660145b6060600061143d836002611e28565b611448906002611e3f565b67ffffffffffffffff811115611460576114606119eb565b6040519080825280601f01601f19166020018201604052801561148a576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106114c1576114c1611c70565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061152457611524611c70565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000611560846002611e28565b61156b906001611e3f565b90505b6001811115611608577f303132333435363738396162636465660000000000000000000000000000000085600f16601081106115ac576115ac611c70565b1a60f81b8282815181106115c2576115c2611c70565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c9361160181611e52565b905061156e565b5083156110fb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016104a3565b61167a81611255565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606073ffffffffffffffffffffffffffffffffffffffff83163b611764576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e7472616374000000000000000000000000000000000000000000000000000060648201526084016104a3565b6000808473ffffffffffffffffffffffffffffffffffffffff168460405161178c9190611e0c565b600060405180830381855af49150503d80600081146117c7576040519150601f19603f3d011682016040523d82523d6000602084013e6117cc565b606091505b50915091506117f48282604051806060016040528060278152602001611e88602791396118a5565b95945050505050565b6060831561189357825160000361188c5773ffffffffffffffffffffffffffffffffffffffff85163b61188c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016104a3565b508161189d565b61189d83836118ba565b949350505050565b606083156118b45750816110fb565b6110fb83835b8151156118ca5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104a39190611b68565b60006020828403121561191057600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146110fb57600080fd5b6000806040838503121561195357600080fd5b50508035926020909101359150565b60006020828403121561197457600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461199f57600080fd5b919050565b600080604083850312156119b757600080fd5b823591506119c76020840161197b565b90509250929050565b6000602082840312156119e257600080fd5b6110fb8261197b565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060408385031215611a2d57600080fd5b611a368361197b565b9150602083013567ffffffffffffffff80821115611a5357600080fd5b818501915085601f830112611a6757600080fd5b813581811115611a7957611a796119eb565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715611abf57611abf6119eb565b81604052828152886020848701011115611ad857600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b83811015611b15578181015183820152602001611afd565b50506000910152565b60008151808452611b36816020860160208601611afa565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006110fb6020830184611b1e565b60008060208385031215611b8e57600080fd5b823567ffffffffffffffff80821115611ba657600080fd5b818501915085601f830112611bba57600080fd5b813581811115611bc957600080fd5b8660208260051b8501011115611bde57600080fd5b60209290920196919550909350505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015611c63577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452611c51858351611b1e565b94509285019290850190600101611c17565b5092979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611cd457600080fd5b83018035915067ffffffffffffffff821115611cef57600080fd5b602001915036819003821315611d0457600080fd5b9250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611d6b57611d6b611d0b565b5060010190565b600060208284031215611d8457600080fd5b5051919050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351611dc3816017850160208801611afa565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351611e00816028840160208801611afa565b01602801949350505050565b60008251611e1e818460208701611afa565b9190910192915050565b80820281158282048414176103bd576103bd611d0b565b808201808211156103bd576103bd611d0b565b600081611e6157611e61611d0b565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122056edbbe14415fb2ea61687a42161e7f12274d0ebd6a1f38a722858f5dca6739e64736f6c63430008130033", - "nonce": "0x22", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x01066de60670401ac2039bdd1e99b9a876709b40a99504e7720cd30060ffe123", - "transactionType": "CREATE", - "contractName": "ERC1967Proxy", - "contractAddress": "0x58eda9b5b0983f75fa887B598d7164E82791Ba21", - "function": null, - "arguments": [ - "0xD933e6768a0C86ca11DDf802932FeBD50509Ba4D", - "0xc4d66de8000000000000000000000000b6288e57bf7406b35ab4f70fd1135e907107e386" - ], - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x3bece", - "value": "0x0", - "data": "0x60806040526040516104ee3803806104ee833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c760279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60be806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea2646970667358221220a678556ae280ddf13e459fe9ecd177633ae9dbc544c45d5b523d43ba9084c8dc64736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564000000000000000000000000d933e6768a0c86ca11ddf802932febd50509ba4d00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de8000000000000000000000000b6288e57bf7406b35ab4f70fd1135e907107e38600000000000000000000000000000000000000000000000000000000", - "nonce": "0x23", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x04109af705d961b6a732641a681c2e28b1900e25a6ea4e748d93c49d9c1ad7b4", - "transactionType": "CREATE", - "contractName": "FranchiseRegistry", - "contractAddress": "0x4626Bc62A598afA131C9051917f470d7F3787A4f", - "function": null, - "arguments": [ - "0x461DF243955aD5493cFa33434c2B7CfF2C583dc7" - ], - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x3b99bf", - "value": "0x0", - "data": "0x60c0604052306080523480156200001557600080fd5b50604051620036e8380380620036e883398101604081905262000038916200013e565b620000426200007c565b6001600160a01b0381166200006a5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b031660a05262000170565b600054610100900460ff1615620000e95760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811610156200013c576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6000602082840312156200015157600080fd5b81516001600160a01b03811681146200016957600080fd5b9392505050565b60805160a05161352f620001b96000396000818161030d015261115c015260008181610afa01528181610b9001528181610ce601528181610d7c0152610eab015261352f6000f3fe6080604052600436106101965760003560e01c806354fd4d50116100e1578063b88d4fde1161008a578063c87b56dd11610064578063c87b56dd146104ff578063e985e9c51461051f578063ef647e1014610575578063fc1dad811461058a57600080fd5b8063b88d4fde14610475578063bac806d314610495578063c4d66de8146104df57600080fd5b806395d89b41116100bb57806395d89b411461042b5780639b0c6be414610440578063a22cb4651461045557600080fd5b806354fd4d50146103a55780636352211e146103eb57806370a082311461040b57600080fd5b80632c5cefa31161014357806342842e0e1161011d57806342842e0e1461034f5780634f1ef2861461036f57806352d1902d1461038257600080fd5b80632c5cefa3146102995780632dd31000146102fb5780633659cfe61461032f57600080fd5b8063095ea7b311610174578063095ea7b31461023757806319129e5a1461025957806323b872dd1461027957600080fd5b806301ffc9a71461019b57806306fdde03146101d0578063081812fc146101f2575b600080fd5b3480156101a757600080fd5b506101bb6101b6366004612cca565b6105d4565b60405190151581526020015b60405180910390f35b3480156101dc57600080fd5b506101e56106b9565b6040516101c79190612d55565b3480156101fe57600080fd5b5061021261020d366004612d68565b61074b565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101c7565b34801561024357600080fd5b50610257610252366004612da3565b61077f565b005b34801561026557600080fd5b50610257610274366004612dcf565b6108dc565b34801561028557600080fd5b50610257610294366004612dec565b610a5c565b3480156102a557600080fd5b506102126102b4366004612d68565b60009081527f5648324915b730d22cca7279385130ad43fd4829d795fb20e9ab398bfe537e90602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b34801561030757600080fd5b506102127f000000000000000000000000000000000000000000000000000000000000000081565b34801561033b57600080fd5b5061025761034a366004612dcf565b610ae3565b34801561035b57600080fd5b5061025761036a366004612dec565b610cb4565b61025761037d366004612f07565b610ccf565b34801561038e57600080fd5b50610397610e91565b6040519081526020016101c7565b3480156103b157600080fd5b5060408051808201909152600581527f302e312e3000000000000000000000000000000000000000000000000000000060208201526101e5565b3480156103f757600080fd5b50610212610406366004612d68565b610f63565b34801561041757600080fd5b50610397610426366004612dcf565b610fd5565b34801561043757600080fd5b506101e5611089565b34801561044c57600080fd5b50610212600081565b34801561046157600080fd5b50610257610470366004612f65565b611098565b34801561048157600080fd5b50610257610490366004612f9e565b6110a3565b3480156104a157600080fd5b506104b56104b0366004613053565b611131565b6040805192835273ffffffffffffffffffffffffffffffffffffffff9091166020830152016101c7565b3480156104eb57600080fd5b506102576104fa366004612dcf565b6112df565b34801561050b57600080fd5b506101e561051a366004612d68565b6114d5565b34801561052b57600080fd5b506101bb61053a3660046130ed565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260ce6020908152604080832093909416825291909152205460ff1690565b34801561058157600080fd5b50610397600081565b34801561059657600080fd5b507f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b65473ffffffffffffffffffffffffffffffffffffffff16610212565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061066757507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b806106b357507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b606060c980546106c89061311b565b80601f01602080910402602001604051908101604052809291908181526020018280546106f49061311b565b80156107415780601f1061071657610100808354040283529160200191610741565b820191906000526020600020905b81548152906001019060200180831161072457829003601f168201915b5050505050905090565b600061075682611549565b50600090815260cd602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b600061078a82610f63565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036108325760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff8216148061085b575061085b813361053a565b6108cd5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610829565b6108d783836115ba565b505050565b60006108e8813361165a565b610927576040517f75000dc000000000000000000000000000000000000000000000000000000000815260048101829052336024820152604401610829565b61096773ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000611722565b6109cd576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c0000000000000000000000000000000000006044820152606401610829565b7f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811782556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a2505050565b610a66338261173e565b610ad85760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610829565b6108d78383836117fd565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610b8e5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610829565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610c037f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610c8c5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610829565b610c9581611aaa565b60408051600080825260208201909252610cb191839190611b14565b50565b6108d7838383604051806020016040528060008152506110a3565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610d7a5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610829565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610def7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610e785760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610829565b610e8182611aaa565b610e8d82826001611b14565b5050565b60003073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610f3e5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610829565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b600081815260cb602052604081205473ffffffffffffffffffffffffffffffffffffffff16806106b35760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610829565b600073ffffffffffffffffffffffffffffffffffffffff82166110605760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e657200000000000000000000000000000000000000000000006064820152608401610829565b5073ffffffffffffffffffffffffffffffffffffffff16600090815260cc602052604090205490565b606060ca80546106c89061311b565b610e8d338383611cdf565b6110ad338361173e565b61111f5760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610829565b61112b84848484611df2565b50505050565b600080807f5648324915b730d22cca7279385130ad43fd4829d795fb20e9ab398bfe537e8f905060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166386df779e83600001600081546111a79061316e565b9190508190558c8c8c8c8c8c6040518863ffffffff1660e01b81526004016111d59796959493929190613216565b6020604051808303816000875af11580156111f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112189190613266565b82546000908152600184016020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790558254909150611278903390611e7b565b815460408051338152602081019290925273ffffffffffffffffffffffffffffffffffffffff831682820152517f0ee7716498f35cc0a42b8edb136bf88dbc529acf11a42fb9e4ec60b29638aff39181900360600190a19054999098509650505050505050565b600054610100900460ff16158080156112ff5750600054600160ff909116105b806113195750303b158015611319575060005460ff166001145b61138b5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610829565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156113e957600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6113f1611e95565b6113fa82611f14565b61146e6040518060400160405280600e81526020017f53746f72792050726f746f636f6c0000000000000000000000000000000000008152506040518060400160405280600281526020017f53500000000000000000000000000000000000000000000000000000000000008152506121ae565b8015610e8d57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15050565b60606114e082611549565b60006114f760408051602081019091526000815290565b905060008151116115175760405180602001604052806000815250611542565b8061152184612235565b604051602001611532929190613283565b6040516020818303038152906040525b9392505050565b600081815260cb602052604090205473ffffffffffffffffffffffffffffffffffffffff16610cb15760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610829565b600081815260cd6020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117909155819061161482610f63565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000807f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810187905273ffffffffffffffffffffffffffffffffffffffff86811660248301529293509116906391d1485490604401602060405180830381865afa1580156116f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061171a91906132b2565b949350505050565b600061172d836122f3565b801561154257506115428383612357565b60008061174a83610f63565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806117b8575073ffffffffffffffffffffffffffffffffffffffff808216600090815260ce602090815260408083209388168352929052205460ff165b8061171a57508373ffffffffffffffffffffffffffffffffffffffff166117de8461074b565b73ffffffffffffffffffffffffffffffffffffffff1614949350505050565b8273ffffffffffffffffffffffffffffffffffffffff1661181d82610f63565b73ffffffffffffffffffffffffffffffffffffffff16146118a65760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610829565b73ffffffffffffffffffffffffffffffffffffffff821661192e5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610829565b8273ffffffffffffffffffffffffffffffffffffffff1661194e82610f63565b73ffffffffffffffffffffffffffffffffffffffff16146119d75760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610829565b600081815260cd6020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff87811680865260cc855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190559087168086528386208054600101905586865260cb90945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3611ad5813361165a565b610e8d576040517f75000dc000000000000000000000000000000000000000000000000000000000815260048101829052336024820152604401610829565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611b47576108d783612426565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611bcc575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252611bc9918101906132cf565b60015b611c3e5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608401610829565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114611cd35760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152608401610829565b506108d7838383612516565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611d5a5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610829565b73ffffffffffffffffffffffffffffffffffffffff838116600081815260ce602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b611dfd8484846117fd565b611e098484848461253b565b61112b5760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610829565b610e8d828260405180602001604052806000815250612714565b600054610100900460ff16611f125760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610829565b565b600054610100900460ff1615808015611f345750600054600160ff909116105b80611f4e5750303b158015611f4e575060005460ff166001145b611fc05760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610829565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561201e57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61205e73ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000611722565b6120c4576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c0000000000000000000000000000000000006044820152606401610829565b7f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811782556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a2508015610e8d57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020016114c9565b600054610100900460ff1661222b5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610829565b610e8d828261279d565b6060600061224283612833565b600101905060008167ffffffffffffffff81111561226257612262612e2d565b6040519080825280601f01601f19166020018201604052801561228c576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a850494508461229657509392505050565b600061231f827f01ffc9a700000000000000000000000000000000000000000000000000000000612357565b80156106b35750612350827fffffffff00000000000000000000000000000000000000000000000000000000612357565b1592915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d9150600051905082801561240f575060208210155b801561241b5750600081115b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff81163b6124b05760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401610829565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61251f83612915565b60008251118061252c5750805b156108d75761112b8383612962565b600073ffffffffffffffffffffffffffffffffffffffff84163b15612709576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a02906125b29033908990889088906004016132e8565b6020604051808303816000875af192505050801561260b575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261260891810190613331565b60015b6126be573d808015612639576040519150601f19603f3d011682016040523d82523d6000602084013e61263e565b606091505b5080516000036126b65760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610829565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a020000000000000000000000000000000000000000000000000000000014905061171a565b506001949350505050565b61271e8383612a87565b61272b600084848461253b565b6108d75760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610829565b600054610100900460ff1661281a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610829565b60c9612826838261339c565b5060ca6108d7828261339c565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000831061287c577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef810000000083106128a8576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106128c657662386f26fc10000830492506010015b6305f5e10083106128de576305f5e100830492506008015b61271083106128f257612710830492506004015b60648310612904576064830492506002015b600a83106106b35760010192915050565b61291e81612426565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606073ffffffffffffffffffffffffffffffffffffffff83163b6129ee5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e747261637400000000000000000000000000000000000000000000000000006064820152608401610829565b6000808473ffffffffffffffffffffffffffffffffffffffff1684604051612a1691906134b6565b600060405180830381855af49150503d8060008114612a51576040519150601f19603f3d011682016040523d82523d6000602084013e612a56565b606091505b5091509150612a7e82826040518060600160405280602781526020016134d360279139612c5e565b95945050505050565b73ffffffffffffffffffffffffffffffffffffffff8216612aea5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610829565b600081815260cb602052604090205473ffffffffffffffffffffffffffffffffffffffff1615612b5c5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610829565b600081815260cb602052604090205473ffffffffffffffffffffffffffffffffffffffff1615612bce5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610829565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260cc602090815260408083208054600101905584835260cb90915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60608315612c6d575081611542565b6115428383815115612c825781518083602001fd5b8060405162461bcd60e51b81526004016108299190612d55565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610cb157600080fd5b600060208284031215612cdc57600080fd5b813561154281612c9c565b60005b83811015612d02578181015183820152602001612cea565b50506000910152565b60008151808452612d23816020860160208601612ce7565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006115426020830184612d0b565b600060208284031215612d7a57600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610cb157600080fd5b60008060408385031215612db657600080fd5b8235612dc181612d81565b946020939093013593505050565b600060208284031215612de157600080fd5b813561154281612d81565b600080600060608486031215612e0157600080fd5b8335612e0c81612d81565b92506020840135612e1c81612d81565b929592945050506040919091013590565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112612e6d57600080fd5b813567ffffffffffffffff80821115612e8857612e88612e2d565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715612ece57612ece612e2d565b81604052838152866020858801011115612ee757600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060408385031215612f1a57600080fd5b8235612f2581612d81565b9150602083013567ffffffffffffffff811115612f4157600080fd5b612f4d85828601612e5c565b9150509250929050565b8015158114610cb157600080fd5b60008060408385031215612f7857600080fd5b8235612f8381612d81565b91506020830135612f9381612f57565b809150509250929050565b60008060008060808587031215612fb457600080fd5b8435612fbf81612d81565b93506020850135612fcf81612d81565b925060408501359150606085013567ffffffffffffffff811115612ff257600080fd5b612ffe87828801612e5c565b91505092959194509250565b60008083601f84011261301c57600080fd5b50813567ffffffffffffffff81111561303457600080fd5b60208301915083602082850101111561304c57600080fd5b9250929050565b6000806000806000806060878903121561306c57600080fd5b863567ffffffffffffffff8082111561308457600080fd5b6130908a838b0161300a565b909850965060208901359150808211156130a957600080fd5b6130b58a838b0161300a565b909650945060408901359150808211156130ce57600080fd5b506130db89828a0161300a565b979a9699509497509295939492505050565b6000806040838503121561310057600080fd5b823561310b81612d81565b91506020830135612f9381612d81565b600181811c9082168061312f57607f821691505b602082108103613168577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036131c6577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b87815260806020820152600061323060808301888a6131cd565b82810360408401526132438187896131cd565b905082810360608401526132588185876131cd565b9a9950505050505050505050565b60006020828403121561327857600080fd5b815161154281612d81565b60008351613295818460208801612ce7565b8351908301906132a9818360208801612ce7565b01949350505050565b6000602082840312156132c457600080fd5b815161154281612f57565b6000602082840312156132e157600080fd5b5051919050565b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250836040830152608060608301526133276080830184612d0b565b9695505050505050565b60006020828403121561334357600080fd5b815161154281612c9c565b601f8211156108d757600081815260208120601f850160051c810160208610156133755750805b601f850160051c820191505b8181101561339457828155600101613381565b505050505050565b815167ffffffffffffffff8111156133b6576133b6612e2d565b6133ca816133c4845461311b565b8461334e565b602080601f83116001811461341d57600084156133e75750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555613394565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b8281101561346a5788860151825594840194600190910190840161344b565b50858210156134a657878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600082516134c8818460208701612ce7565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212209357ca002307b3a2a53511900e38719b2fc080dd5704844002d324a8ae8a580164736f6c63430008130033000000000000000000000000461df243955ad5493cfa33434c2b7cff2c583dc7", - "nonce": "0x24", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xb5eb7a7a51955ebaa7ff97003a04aa5692cb75012a16c977ff2c56849248de78", - "transactionType": "CREATE", - "contractName": "ERC1967Proxy", - "contractAddress": "0xf157916d184598105FE4681eC93Be0f799599003", - "function": null, - "arguments": [ - "0x4626Bc62A598afA131C9051917f470d7F3787A4f", - "0xc4d66de800000000000000000000000058eda9b5b0983f75fa887b598d7164e82791ba21" - ], - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x4d89d", - "value": "0x0", - "data": "0x60806040526040516104ee3803806104ee833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c760279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60be806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea2646970667358221220a678556ae280ddf13e459fe9ecd177633ae9dbc544c45d5b523d43ba9084c8dc64736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c65640000000000000000000000004626bc62a598afa131c9051917f470d7f3787a4f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de800000000000000000000000058eda9b5b0983f75fa887b598d7164e82791ba2100000000000000000000000000000000000000000000000000000000", - "nonce": "0x25", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x1ff041a965d11099bd330a252d3384f4ea18e9f5e49b32ccefa46ea32b39874a", - "transactionType": "CREATE", - "contractName": "ProtocolRelationshipModule", - "contractAddress": "0xf3b1129B0b2920968CBf089a88c7E6266FaE64aE", - "function": null, - "arguments": [ - "0xf157916d184598105FE4681eC93Be0f799599003" - ], - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x3febcf", - "value": "0x0", - "data": "0x60c0604052306080523480156200001557600080fd5b5060405162003afd38038062003afd833981016040819052620000389162000142565b806001600160a01b038116620000615760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03811660a0526200007862000080565b505062000174565b600054610100900460ff1615620000ed5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116101562000140576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6000602082840312156200015557600080fd5b81516001600160a01b03811681146200016d57600080fd5b9392505050565b60805160a051613940620001bd600039600081816102e50152612d290152600081816106710152818161072101528181610876015281816109260152610a6b01526139406000f3fe6080604052600436106100f35760003560e01c806382c5ae6e1161008a578063ac9650d811610059578063ac9650d81461034c578063b3ef1bbb14610379578063c4d66de814610399578063fc1dad81146103b957600080fd5b806382c5ae6e1461029357806390caf880146102b357806394f99b40146102d35780639b18554b1461032c57600080fd5b80634f1ef286116100c65780634f1ef2861461018f57806352d1902d146101a257806372fa3178146101c557806375f4252d1461027357600080fd5b806315023622146100f857806319129e5a1461012d57806335f52e921461014f5780633659cfe61461016f575b600080fd5b34801561010457600080fd5b50610118610113366004613091565b610403565b60405190151581526020015b60405180910390f35b34801561013957600080fd5b5061014d6101483660046130cf565b61045e565b005b34801561015b57600080fd5b5061014d61016a3660046130ec565b6105e3565b34801561017b57600080fd5b5061014d61018a3660046130cf565b61065a565b61014d61019d366004613183565b61085f565b3480156101ae57600080fd5b506101b7610a51565b604051908152602001610124565b3480156101d157600080fd5b506101e56101e03660046130ec565b610b3d565b6040805182518152602080840151818301528383015115158284015260608085015173ffffffffffffffffffffffffffffffffffffffff908116918401919091526080808601519091169083015260a09384015180516dffffffffffffffffffffffffffff908116958401959095529081015190931660c0820152910151151560e082015261010001610124565b34801561027f57600080fd5b5061014d61028e366004613091565b610c83565b34801561029f57600080fd5b5061014d6102ae366004613249565b610e43565b3480156102bf57600080fd5b506101186102ce366004613091565b6112e4565b3480156102df57600080fd5b506103077f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610124565b34801561033857600080fd5b5061014d6103473660046132cd565b61135c565b34801561035857600080fd5b5061036c61036736600461331c565b6113d5565b60405161012491906133ff565b34801561038557600080fd5b5061014d6103943660046130cf565b6114cb565b3480156103a557600080fd5b5061014d6103b43660046130cf565b61165f565b3480156103c557600080fd5b507f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b65473ffffffffffffffffffffffffffffffffffffffff16610307565b60007fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0b80826104318561178c565b815260208101919091526040016000205460ff1680156104575750610455836112e4565b155b9392505050565b600061046a8133611818565b6104ae576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b6104ee73ffffffffffffffffffffffffffffffffffffffff83167f7965db0b000000000000000000000000000000000000000000000000000000006118d8565b610554576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c00000000000000000000000000000000000060448201526064016104a5565b7f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811782556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a2505050565b7f637821dcee84aabec9c8cf4f6f643013a24ad27fd41511ffd937aea80d8619a961060e8133611818565b61064d576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016104a5565b610656826118f4565b5050565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016300361071f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016104a5565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166107947f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610837576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016104a5565b61084081611a3f565b6040805160008082526020820190925261085c91839190611aa9565b50565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610924576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016104a5565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166109997f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610a3c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016104a5565b610a4582611a3f565b61065682826001611aa9565b60003073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610b18576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016104a5565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b610b896040805160c0810182526000808252602080830182905282840182905260608084018390526080840183905284519081018552828152908101829052928301529060a082015290565b5060009081527fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0d6020908152604091829020825160c08101845281548152600182015481840152600282015460ff80821615158387015273ffffffffffffffffffffffffffffffffffffffff610100909204821660608085019190915260038501549092166080840152855191820186526004909301546dffffffffffffffffffffffffffff80821683526e010000000000000000000000000000820416948201949094527c010000000000000000000000000000000000000000000000000000000090930490911615159282019290925260a082015290565b608081013560009081527fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0d60205260409020600301547fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0b9073ffffffffffffffffffffffffffffffffffffffff163314610d29576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610d348361178c565b60008181526020849052604090205490915060ff16610d7f576040517f32a2f5fc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008181526020838152604090912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690556080840135907f1c597e2ff497f95acc844355a7e0266613bbc54a551e5fa01710e5ad3418e04f90610de8908601866130cf565b6020860135610dfd60608801604089016130cf565b6040805173ffffffffffffffffffffffffffffffffffffffff948516815260208101939093529216818301526060878101359082015290519081900360800190a2505050565b608083013560009081527fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0d6020526040902060048101548491906dffffffffffffffffffffffffffff1615801590610e9e575060a082013515155b15610f295760048101546dffffffffffffffffffffffffffff1660a08301351180610ef2575060048101546e01000000000000000000000000000090046dffffffffffffffffffffffffffff1660a0830135105b15610f29576040517f417de2db00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60808581013560009081527fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0d6020908152604091829020825160c08101845281548152600182015481840152600282015460ff80821615158387015273ffffffffffffffffffffffffffffffffffffffff61010090920482166060808501919091526003850154909216968301969096528451908101855260048301546dffffffffffffffffffffffffffff80821683526e010000000000000000000000000000820416948201949094527c010000000000000000000000000000000000000000000000000000000090930490941615159282019290925260a08301527fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0b91611053908890611ca8565b60028101546040517f63c7c03600000000000000000000000000000000000000000000000000000000815261010090910473ffffffffffffffffffffffffffffffffffffffff16906363c7c036906110b5908a908a908a90339060040161347f565b6020604051808303816000875af11580156110d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f89190613562565b61118a5760808701357fff0396d9569545b52312943ba44341eba3800a0d6e83ba9140283c159792839e61112f60208a018a6130cf565b60208a013561114460608c0160408d016130cf565b6040805173ffffffffffffffffffffffffffffffffffffffff9485168152602081019390935292168183015260608b8101359082015290519081900360800190a26112db565b60006111958861178c565b60008181526020858152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055805160608101825260048701546dffffffffffffffffffffffffffff80821683526e010000000000000000000000000000820416938201939093527c010000000000000000000000000000000000000000000000000000000090920460ff161515908201529192509061124690839060a08c0135611e47565b905060808901357fdac80e4156e67d10c07ce819561c6cd96452ad81db0c68e6a47a8687f3d5927161127b60208c018c6130cf565b60208c013561129060608e0160408f016130cf565b6040805173ffffffffffffffffffffffffffffffffffffffff9485168152602081019390935292168183015260608d810135908201526080810185905290519081900360a00190a250505b50505050505050565b60007fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0b817fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0c816113338661178c565b81526020019081526020016000205490508060001415801561135457504281105b949350505050565b7f637821dcee84aabec9c8cf4f6f643013a24ad27fd41511ffd937aea80d8619a96113878133611818565b6113c6576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016104a5565b6113d08383611edb565b505050565b60608167ffffffffffffffff8111156113f0576113f0613105565b60405190808252806020026020018201604052801561142357816020015b606081526020019060019003908161140e5790505b50905060005b828110156114c357611493308585848181106114475761144761357f565b905060200281019061145991906135ae565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061213f92505050565b8282815181106114a5576114a561357f565b602002602001018190525080806114bb90613649565b915050611429565b505b92915050565b600054610100900460ff16158080156114eb5750600054600160ff909116105b806115055750303b158015611505575060005460ff166001145b611591576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016104a5565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156115ef57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6115f882612164565b801561065657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15050565b600054610100900460ff161580801561167f5750600054600160ff909116105b806116995750303b158015611699575060005460ff166001145b611725576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016104a5565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561178357600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6115f8826114cb565b600061179b60208301836130cf565b60208301356117b060608501604086016130cf565b6040805173ffffffffffffffffffffffffffffffffffffffff94851660208201529081019290925290911660608083019190915283013560808083019190915283013560a082015260c001604051602081830303815290604052805190602001209050919050565b6000807f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810187905273ffffffffffffffffffffffffffffffffffffffff86811660248301529293509116906391d1485490604401602060405180830381865afa1580156118b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113549190613562565b60006118e383612418565b80156104575750610457838361247c565b60008181527fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0d60205260408120547fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0b910361197b576040517f32a2f5fc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000828152600280830160205260408083208381556001810184905591820180547fffffffffffffffffffffff0000000000000000000000000000000000000000001690556003820180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055600490910180547fffffff00000000000000000000000000000000000000000000000000000000001690555183917f72ee2f0fb0c2e5516159220d68bb62f4ee27e2eeefb237e60bf0b0e108ce349091a25050565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3611a6a8133611818565b610656576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016104a5565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611adc576113d08361254b565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611b61575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252611b5e91810190613681565b60015b611bed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016104a5565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114611c9c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016104a5565b506113d0838383612655565b8051600003611ce3576040517f32a2f5fc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080611d03611cf660208601866130cf565b8451602087013590612680565b9150915081611d3e576040517f22df284e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080611d63611d5460608801604089016130cf565b87606001358760200151612680565b9150915081611d9e576040517f03303d3200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b828015611da85750805b8015611dfb5750611dbf60608701604088016130cf565b73ffffffffffffffffffffffffffffffffffffffff16611de260208801886130cf565b73ffffffffffffffffffffffffffffffffffffffff1614155b8015611e08575084604001515b15611e3f576040517f91a3196b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050505050565b81516000907fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0b906dffffffffffffffffffffffffffff1615611ed0576000858152600182016020526040902054801580611ea2575084604001515b15611ece57611eb1844261369a565b600087815260019093016020526040909220829055509050610457565b505b506000949350505050565b6000611ee6826127b1565b905060007fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0b6000858152600282810160209081526040928390208651808255878301516001830181905588860151948301805460608b01517fffffffffffffffffffffff0000000000000000000000000000000000000000009091168715157fffffffffffffffffffffff0000000000000000000000000000000000000000ff161761010073ffffffffffffffffffffffffffffffffffffffff928316021790915560808a01516003850180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169190921617905560a0808a01518051600490950180549682015191909801516dffffffffffffffffffffffffffff9586167fffffffff00000000000000000000000000000000000000000000000000000000909716969096176e0100000000000000000000000000009590911694909402939093177fffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c0100000000000000000000000000000000000000000000000000000000941515949094029390931790945593945087937fd3d40cd5cebeb285ec945b172df2fa012d145a26c64ec9c99ffcaebc5a890c039392906120d19060c08a01908a016130cf565b60a088810151805160209182015160408051988952928801969096529315159086015273ffffffffffffffffffffffffffffffffffffffff90911660608501526dffffffffffffffffffffffffffff918216608085015291169082015260c00160405180910390a250505050565b606061045783836040518060600160405280602781526020016138e460279139612a6c565b600054610100900460ff16158080156121845750600054600160ff909116105b8061219e5750303b15801561219e575060005460ff166001145b61222a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016104a5565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561228857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6122c873ffffffffffffffffffffffffffffffffffffffff83167f7965db0b000000000000000000000000000000000000000000000000000000006118d8565b61232e576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c00000000000000000000000000000000000060448201526064016104a5565b7f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811782556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a250801561065657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602001611653565b6000612444827f01ffc9a70000000000000000000000000000000000000000000000000000000061247c565b80156114c55750612475827fffffffff0000000000000000000000000000000000000000000000000000000061247c565b1592915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015612534575060208210155b80156125405750600081115b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff81163b6125ef576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016104a5565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61265e83612af1565b60008251118061266b5750805b156113d05761267a8383612b3e565b50505050565b6040517f6352211e000000000000000000000000000000000000000000000000000000008152600481018390526000908190819073ffffffffffffffffffffffffffffffffffffffff871690636352211e90602401602060405180830381865afa1580156126f2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061271691906136ad565b73ffffffffffffffffffffffffffffffffffffffff160361273c575060009050806127a9565b61274585612c7d565b905080156127815761277a8361275a86612de6565b600681111561276b5761276b6136ca565b600160ff919091161b16151590565b91506127a9565b7f80000000000000000000000000000000000000000000000000000000000000008316151591505b935093915050565b6127fd6040805160c0810182526000808252602080830182905282840182905260608084018390526080840183905284519081018552828152908101829052928301529060a082015290565b61284d7f63c7c0360000000000000000000000000000000000000000000000000000000061283160c0850160a086016130cf565b73ffffffffffffffffffffffffffffffffffffffff16906118d8565b6128b3576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4952656c6174696f6e7368697050726f636573736f720000000000000000000060448201526064016104a5565b6128c561012083016101008401613717565b6dffffffffffffffffffffffffffff166128e6610100840160e08501613717565b6dffffffffffffffffffffffffffff16101561292e576040517f2373692000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061294060e0840160c085016130cf565b73ffffffffffffffffffffffffffffffffffffffff160361298d576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160c08101909152806129bb6129a68580613732565b6129b6604088016020890161379a565b612e49565b81526020016129e06129d06040860186613732565b6129b6608088016060890161379a565b81526020016129f560a085016080860161379a565b15158152602001612a0c60c0850160a086016130cf565b73ffffffffffffffffffffffffffffffffffffffff168152602001612a3760e0850160c086016130cf565b73ffffffffffffffffffffffffffffffffffffffff168152602001612a6436859003850160e086016137b7565b905292915050565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051612a969190613825565b600060405180830381855af49150503d8060008114612ad1576040519150601f19603f3d011682016040523d82523d6000602084013e612ad6565b606091505b5091509150612ae786838387612f80565b9695505050505050565b612afa8161254b565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606073ffffffffffffffffffffffffffffffffffffffff83163b612be4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e7472616374000000000000000000000000000000000000000000000000000060648201526084016104a5565b6000808473ffffffffffffffffffffffffffffffffffffffff1684604051612c0c9190613825565b600060405180830381855af49150503d8060008114612c47576040519150601f19603f3d011682016040523d82523d6000602084013e612c4c565b606091505b5091509150612c7482826040518060600160405280602781526020016138e460279139613020565b95945050505050565b60008173ffffffffffffffffffffffffffffffffffffffff1663b9d0787c6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612d04575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252612d0191810190613681565b60015b612d1057506000919050565b8273ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16632c5cefa3836040518263ffffffff1660e01b8152600401612d8291815260200190565b602060405180830381865afa158015612d9f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612dc391906136ad565b73ffffffffffffffffffffffffffffffffffffffff16149392505050565b919050565b6000612df764e8d4a5100083613870565b1580612e115750612e0e600664e8d4a51000613884565b82115b15612e1e57506000919050565b612e2d64e8d4a510008361389b565b612e3890600161369a565b60068111156114c5576114c56136ca565b6000828103612e84576040517f8d13b34400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805b84811015612f4f576000868683818110612ea457612ea461357f565b9050602002016020810190612eb991906138af565b6006811115612eca57612eca6136ca565b03612f01576040517f8d13b34400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b858582818110612f1357612f1361357f565b9050602002016020810190612f2891906138af565b6006811115612f3957612f396136ca565b600160ff9190911681901b929092179101612e88565b508215611354577fff0000000000000000000000000000000000000000000000000000000000000017949350505050565b6060831561301657825160000361300f5773ffffffffffffffffffffffffffffffffffffffff85163b61300f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016104a5565b5081611354565b6113548383613035565b6060831561302f575081610457565b61045783835b8151156130455781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104a591906138d0565b600060c0828403121561308b57600080fd5b50919050565b600060c082840312156130a357600080fd5b6104578383613079565b73ffffffffffffffffffffffffffffffffffffffff8116811461085c57600080fd5b6000602082840312156130e157600080fd5b8135610457816130ad565b6000602082840312156130fe57600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561317b5761317b613105565b604052919050565b6000806040838503121561319657600080fd5b82356131a1816130ad565b915060208381013567ffffffffffffffff808211156131bf57600080fd5b818601915086601f8301126131d357600080fd5b8135818111156131e5576131e5613105565b613215847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601613134565b9150808252878482850101111561322b57600080fd5b80848401858401376000848284010152508093505050509250929050565b600080600060e0848603121561325e57600080fd5b6132688585613079565b925060c084013567ffffffffffffffff8082111561328557600080fd5b818601915086601f83011261329957600080fd5b8135818111156132a857600080fd5b8760208285010111156132ba57600080fd5b6020830194508093505050509250925092565b600080604083850312156132e057600080fd5b82359150602083013567ffffffffffffffff8111156132fe57600080fd5b8301610140818603121561331157600080fd5b809150509250929050565b6000806020838503121561332f57600080fd5b823567ffffffffffffffff8082111561334757600080fd5b818501915085601f83011261335b57600080fd5b81358181111561336a57600080fd5b8660208260051b850101111561337f57600080fd5b60209290920196919550909350505050565b60005b838110156133ac578181015183820152602001613394565b50506000910152565b600081518084526133cd816020860160208601613391565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015613472577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08886030184526134608583516133b5565b94509285019290850190600101613426565b5092979650505050505050565b6000610100863561348f816130ad565b73ffffffffffffffffffffffffffffffffffffffff808216855260208901356020860152604089013591506134c3826130ad565b166040840152606087810135908401526080808801359084015260a0808801359084015260c083018190528201849052610120848682850137600085840182015273ffffffffffffffffffffffffffffffffffffffff841660e08401527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f860116830101905095945050505050565b801515811461085c57600080fd5b60006020828403121561357457600080fd5b815161045781613554565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126135e357600080fd5b83018035915067ffffffffffffffff8211156135fe57600080fd5b60200191503681900382131561361357600080fd5b9250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361367a5761367a61361a565b5060010190565b60006020828403121561369357600080fd5b5051919050565b808201808211156114c5576114c561361a565b6000602082840312156136bf57600080fd5b8151610457816130ad565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b80356dffffffffffffffffffffffffffff81168114612de157600080fd5b60006020828403121561372957600080fd5b610457826136f9565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261376757600080fd5b83018035915067ffffffffffffffff82111561378257600080fd5b6020019150600581901b360382131561361357600080fd5b6000602082840312156137ac57600080fd5b813561045781613554565b6000606082840312156137c957600080fd5b6040516060810181811067ffffffffffffffff821117156137ec576137ec613105565b6040526137f8836136f9565b8152613806602084016136f9565b6020820152604083013561381981613554565b60408201529392505050565b60008251613837818460208701613391565b9190910192915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60008261387f5761387f613841565b500690565b80820281158282048414176114c5576114c561361a565b6000826138aa576138aa613841565b500490565b6000602082840312156138c157600080fd5b81356007811061045757600080fd5b60208152600061045760208301846133b556fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212200279528c58839360854f4542e7a6ef2050183229ca2238fe35e5128cd039ead764736f6c63430008130033000000000000000000000000f157916d184598105fe4681ec93be0f799599003", - "nonce": "0x26", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x63ae9932b1a31dc97717eb268153b9148670645fbee1c1ffa2034e2435f937be", - "transactionType": "CREATE", - "contractName": "ERC1967Proxy", - "contractAddress": "0xb146cB898E95953f353bf5A50Fb8f129eC0D5AAb", - "function": null, - "arguments": [ - "0xf3b1129B0b2920968CBf089a88c7E6266FaE64aE", - "0xc4d66de800000000000000000000000058eda9b5b0983f75fa887b598d7164e82791ba21" - ], - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x3f4af", - "value": "0x0", - "data": "0x60806040526040516104ee3803806104ee833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c760279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60be806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea2646970667358221220a678556ae280ddf13e459fe9ecd177633ae9dbc544c45d5b523d43ba9084c8dc64736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564000000000000000000000000f3b1129b0b2920968cbf089a88c7e6266fae64ae00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de800000000000000000000000058eda9b5b0983f75fa887b598d7164e82791ba2100000000000000000000000000000000000000000000000000000000", - "nonce": "0x27", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x0a8fdae74c6e861b563525728e5f89d2a2aef6d6afb6a7d25eb750e53d99b8d3", - "transactionType": "CALL", - "contractName": "ERC1967Proxy", - "contractAddress": "0x58eda9b5b0983f75fa887B598d7164E82791Ba21", - "function": null, - "arguments": null, - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "to": "0x58eda9b5b0983f75fa887b598d7164e82791ba21", - "gas": "0x12f1f", - "value": "0x0", - "data": "0x2f2ff15d189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3000000000000000000000000b6288e57bf7406b35ab4f70fd1135e907107e386", - "nonce": "0x28", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x30380c4c0725b1cd52d4f3e2ae0b0a1196e1ffcd4d12c668931b530446a0a072", - "transactionType": "CALL", - "contractName": "ERC1967Proxy", - "contractAddress": "0x58eda9b5b0983f75fa887B598d7164E82791Ba21", - "function": null, - "arguments": null, - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "to": "0x58eda9b5b0983f75fa887b598d7164e82791ba21", - "gas": "0x12f1f", - "value": "0x0", - "data": "0x2f2ff15d637821dcee84aabec9c8cf4f6f643013a24ad27fd41511ffd937aea80d8619a9000000000000000000000000b6288e57bf7406b35ab4f70fd1135e907107e386", - "nonce": "0x29", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "transactionHash": "0x852e7340599d921a7ff5b7597ab2ff4fb3b4277636192dcbd67d676cf6fffcdb", - "transactionIndex": "0x2", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": null, - "cumulativeGasUsed": "0x4513fb", - "gasUsed": "0x446feb", - "contractAddress": "0x461DF243955aD5493cFa33434c2B7CfF2C583dc7", - "logs": [ - { - "address": "0x461DF243955aD5493cFa33434c2B7CfF2C583dc7", - "topics": [ - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000b6288e57bf7406b35ab4f70fd1135e907107e386" - ], - "data": "0x", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "transactionHash": "0x852e7340599d921a7ff5b7597ab2ff4fb3b4277636192dcbd67d676cf6fffcdb", - "transactionIndex": "0x2", - "logIndex": "0x0", - "removed": false - }, - { - "address": "0x3a10Db3a7E56243f29709ca0830b08bD1a9F4243", - "topics": [ - "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000000ff", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "transactionHash": "0x852e7340599d921a7ff5b7597ab2ff4fb3b4277636192dcbd67d676cf6fffcdb", - "transactionIndex": "0x2", - "logIndex": "0x1", - "removed": false - }, - { - "address": "0xee41378f6E695bF3551054b13a91f9703c175baB", - "topics": [ - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000461df243955ad5493cfa33434c2b7cff2c583dc7" - ], - "data": "0x", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "transactionHash": "0x852e7340599d921a7ff5b7597ab2ff4fb3b4277636192dcbd67d676cf6fffcdb", - "transactionIndex": "0x2", - "logIndex": "0x2", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000000000000000000000400000000000000000000000000800000100000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000020000000000001000010000000000000000000000000000000020000000000000000000800000000000080000100000000000000400000000000001008000000000000000000000000000080000010000000000000000000000100000000000000000400000000000000000000000000000000000000080000000000000000000000040000000000000001000800000000000020000200000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d0cde1" - }, - { - "transactionHash": "0xb6c9723b9a1f6cc56eb2f5e4cc093b0939809a03f143a8c48731bdd59114e8e0", - "transactionIndex": "0x3", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": null, - "cumulativeGasUsed": "0x5fc074", - "gasUsed": "0x1aac79", - "contractAddress": "0xD933e6768a0C86ca11DDf802932FeBD50509Ba4D", - "logs": [], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d0cde1" - }, - { - "transactionHash": "0x01066de60670401ac2039bdd1e99b9a876709b40a99504e7720cd30060ffe123", - "transactionIndex": "0x4", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": null, - "cumulativeGasUsed": "0x62a259", - "gasUsed": "0x2e1e5", - "contractAddress": "0x58eda9b5b0983f75fa887B598d7164E82791Ba21", - "logs": [ - { - "address": "0x58eda9b5b0983f75fa887B598d7164E82791Ba21", - "topics": [ - "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", - "0x000000000000000000000000d933e6768a0c86ca11ddf802932febd50509ba4d" - ], - "data": "0x", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "transactionHash": "0x01066de60670401ac2039bdd1e99b9a876709b40a99504e7720cd30060ffe123", - "transactionIndex": "0x4", - "logIndex": "0x3", - "removed": false - }, - { - "address": "0x58eda9b5b0983f75fa887B598d7164E82791Ba21", - "topics": [ - "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000b6288e57bf7406b35ab4f70fd1135e907107e386", - "0x000000000000000000000000b6288e57bf7406b35ab4f70fd1135e907107e386" - ], - "data": "0x", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "transactionHash": "0x01066de60670401ac2039bdd1e99b9a876709b40a99504e7720cd30060ffe123", - "transactionIndex": "0x4", - "logIndex": "0x4", - "removed": false - }, - { - "address": "0x58eda9b5b0983f75fa887B598d7164E82791Ba21", - "topics": [ - "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "transactionHash": "0x01066de60670401ac2039bdd1e99b9a876709b40a99504e7720cd30060ffe123", - "transactionIndex": "0x4", - "logIndex": "0x5", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x0000000400000000000000000000000040000000000000010000000000000000000000000000000000000200000000000000000000000000200000000000000000200000000000000000000000000200000000000000000000000000000000000000000002000000000000000000080000000000000000000000000000000000000000000000000800000000000000c000000000000080000000000000000000000000000000000000000000000400000000000000000000001000000000000000080020000000000000000000040000000000000000000100000000000020000000000000000000000000000000000000000080000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d0cde1" - }, - { - "transactionHash": "0x04109af705d961b6a732641a681c2e28b1900e25a6ea4e748d93c49d9c1ad7b4", - "transactionIndex": "0x5", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": null, - "cumulativeGasUsed": "0x907e86", - "gasUsed": "0x2ddc2d", - "contractAddress": "0x4626Bc62A598afA131C9051917f470d7F3787A4f", - "logs": [ - { - "address": "0x4626Bc62A598afA131C9051917f470d7F3787A4f", - "topics": [ - "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000000ff", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "transactionHash": "0x04109af705d961b6a732641a681c2e28b1900e25a6ea4e748d93c49d9c1ad7b4", - "transactionIndex": "0x5", - "logIndex": "0x6", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400040000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d0cde1" - }, - { - "transactionHash": "0xb5eb7a7a51955ebaa7ff97003a04aa5692cb75012a16c977ff2c56849248de78", - "transactionIndex": "0x6", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": null, - "cumulativeGasUsed": "0x943932", - "gasUsed": "0x3baac", - "contractAddress": "0xf157916d184598105FE4681eC93Be0f799599003", - "logs": [ - { - "address": "0xf157916d184598105FE4681eC93Be0f799599003", - "topics": [ - "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", - "0x0000000000000000000000004626bc62a598afa131c9051917f470d7f3787a4f" - ], - "data": "0x", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "transactionHash": "0xb5eb7a7a51955ebaa7ff97003a04aa5692cb75012a16c977ff2c56849248de78", - "transactionIndex": "0x6", - "logIndex": "0x7", - "removed": false - }, - { - "address": "0xf157916d184598105FE4681eC93Be0f799599003", - "topics": [ - "0xc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da9709", - "0x00000000000000000000000058eda9b5b0983f75fa887b598d7164e82791ba21" - ], - "data": "0x", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "transactionHash": "0xb5eb7a7a51955ebaa7ff97003a04aa5692cb75012a16c977ff2c56849248de78", - "transactionIndex": "0x6", - "logIndex": "0x8", - "removed": false - }, - { - "address": "0xf157916d184598105FE4681eC93Be0f799599003", - "topics": [ - "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "transactionHash": "0xb5eb7a7a51955ebaa7ff97003a04aa5692cb75012a16c977ff2c56849248de78", - "transactionIndex": "0x6", - "logIndex": "0x9", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000080200000000000000200000000000002000000000000000000000000000000000000000000000000000000000000000040020000000000000008000000000000000000000000000000000000008000000000000000000080000200000000000000000000000000000000000000000400000000010000000000000000000000000000000020000000000000000000040000000000000000000000000000000000000000000000001000000000000000200000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d0cde1" - }, - { - "transactionHash": "0x1ff041a965d11099bd330a252d3384f4ea18e9f5e49b32ccefa46ea32b39874a", - "transactionIndex": "0x7", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": null, - "cumulativeGasUsed": "0xc56870", - "gasUsed": "0x312f3e", - "contractAddress": "0xf3b1129B0b2920968CBf089a88c7E6266FaE64aE", - "logs": [ - { - "address": "0xf3b1129B0b2920968CBf089a88c7E6266FaE64aE", - "topics": [ - "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000000ff", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "transactionHash": "0x1ff041a965d11099bd330a252d3384f4ea18e9f5e49b32ccefa46ea32b39874a", - "transactionIndex": "0x7", - "logIndex": "0xa", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000080000000000000000000000000000000000000000000000400000002000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d0cde1" - }, - { - "transactionHash": "0x63ae9932b1a31dc97717eb268153b9148670645fbee1c1ffa2034e2435f937be", - "transactionIndex": "0x8", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": null, - "cumulativeGasUsed": "0xc873c7", - "gasUsed": "0x30b57", - "contractAddress": "0xb146cB898E95953f353bf5A50Fb8f129eC0D5AAb", - "logs": [ - { - "address": "0xb146cB898E95953f353bf5A50Fb8f129eC0D5AAb", - "topics": [ - "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", - "0x000000000000000000000000f3b1129b0b2920968cbf089a88c7e6266fae64ae" - ], - "data": "0x", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "transactionHash": "0x63ae9932b1a31dc97717eb268153b9148670645fbee1c1ffa2034e2435f937be", - "transactionIndex": "0x8", - "logIndex": "0xb", - "removed": false - }, - { - "address": "0xb146cB898E95953f353bf5A50Fb8f129eC0D5AAb", - "topics": [ - "0xc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da9709", - "0x00000000000000000000000058eda9b5b0983f75fa887b598d7164e82791ba21" - ], - "data": "0x", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "transactionHash": "0x63ae9932b1a31dc97717eb268153b9148670645fbee1c1ffa2034e2435f937be", - "transactionIndex": "0x8", - "logIndex": "0xc", - "removed": false - }, - { - "address": "0xb146cB898E95953f353bf5A50Fb8f129eC0D5AAb", - "topics": [ - "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "transactionHash": "0x63ae9932b1a31dc97717eb268153b9148670645fbee1c1ffa2034e2435f937be", - "transactionIndex": "0x8", - "logIndex": "0xd", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000400000000000000000000000000000000000020000000000000000000000000000000000000080000000000000000080200200000000000000008000000002000000000000000000000000000000000000000000000000000000000000000040020000000000010000000000000000000000000000000000000000008000000000000000000080000000000000000000000000000000000000000000000400000000010000000000000000000000000000000020000000000000000000040000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d0cde1" - }, - { - "transactionHash": "0x0a8fdae74c6e861b563525728e5f89d2a2aef6d6afb6a7d25eb750e53d99b8d3", - "transactionIndex": "0x9", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": "0x58eda9b5b0983f75fa887B598d7164E82791Ba21", - "cumulativeGasUsed": "0xc94f3c", - "gasUsed": "0xdb75", - "contractAddress": null, - "logs": [ - { - "address": "0x58eda9b5b0983f75fa887B598d7164E82791Ba21", - "topics": [ - "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", - "0x189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3", - "0x000000000000000000000000b6288e57bf7406b35ab4f70fd1135e907107e386", - "0x000000000000000000000000b6288e57bf7406b35ab4f70fd1135e907107e386" - ], - "data": "0x", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "transactionHash": "0x0a8fdae74c6e861b563525728e5f89d2a2aef6d6afb6a7d25eb750e53d99b8d3", - "transactionIndex": "0x9", - "logIndex": "0xe", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000004000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000002000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000008000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000080000000000000000000000000000000000000000000100000000000000000080000000000000000000000000000000000080000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d0cde1" - }, - { - "transactionHash": "0x30380c4c0725b1cd52d4f3e2ae0b0a1196e1ffcd4d12c668931b530446a0a072", - "transactionIndex": "0xa", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": "0x58eda9b5b0983f75fa887B598d7164E82791Ba21", - "cumulativeGasUsed": "0xca2ab1", - "gasUsed": "0xdb75", - "contractAddress": null, - "logs": [ - { - "address": "0x58eda9b5b0983f75fa887B598d7164E82791Ba21", - "topics": [ - "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", - "0x637821dcee84aabec9c8cf4f6f643013a24ad27fd41511ffd937aea80d8619a9", - "0x000000000000000000000000b6288e57bf7406b35ab4f70fd1135e907107e386", - "0x000000000000000000000000b6288e57bf7406b35ab4f70fd1135e907107e386" - ], - "data": "0x", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "transactionHash": "0x30380c4c0725b1cd52d4f3e2ae0b0a1196e1ffcd4d12c668931b530446a0a072", - "transactionIndex": "0xa", - "logIndex": "0xf", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000004008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000010000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000008000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000080000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000080000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d0cde1" - } - ], - "libraries": [], - "pending": [], - "path": "/Users/drmanhattan/Workspace/StoryProtocol/protocol-contracts/broadcast/Deploy.s.sol/5/run-latest.json", - "returns": {}, - "timestamp": 1690240178, - "chain": 5, - "multi": false, - "commit": "2954e6f" -} \ No newline at end of file diff --git a/broadcast/Deploy.s.sol/5/run-latest.json b/broadcast/Deploy.s.sol/5/run-latest.json deleted file mode 100644 index 48a6b85f..00000000 --- a/broadcast/Deploy.s.sol/5/run-latest.json +++ /dev/null @@ -1,598 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x852e7340599d921a7ff5b7597ab2ff4fb3b4277636192dcbd67d676cf6fffcdb", - "transactionType": "CREATE", - "contractName": "IPAssetRegistryFactory", - "contractAddress": "0x461DF243955aD5493cFa33434c2B7CfF2C583dc7", - "function": null, - "arguments": null, - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x58ec5d", - "value": "0x0", - "data": "0x60a060405234801561001057600080fd5b5061001a3361008d565b604051610026906100dd565b604051809103906000f080158015610042573d6000803e3d6000fd5b5060405161004f906100ea565b6001600160a01b039091168152602001604051809103906000f08015801561007b573d6000803e3d6000fd5b506001600160a01b03166080526100f7565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6136a58061145c83390190565b6105ef80614b0183390190565b60805161133d61011f60003960008181609f0152818161023e0152610440015261133d6000f3fe60806040523480156200001157600080fd5b50600436106200007b5760003560e01c806386df779e116200005657806386df779e14620000f45780638da5cb5b146200010b578063f2fde38b146200012a57600080fd5b80633991fc9d146200008057806349493a4d1462000099578063715018a614620000ea575b600080fd5b62000097620000913660046200083a565b62000141565b005b620000c17f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6200009762000382565b620000c162000105366004620008be565b6200039a565b60005473ffffffffffffffffffffffffffffffffffffffff16620000c1565b620000976200013b3660046200083a565b62000514565b6200014b620005d1565b6200018d73ffffffffffffffffffffffffffffffffffffffff82167fb9d0787c0000000000000000000000000000000000000000000000000000000062000654565b620001f9576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f494950417373657452656769737472790000000000000000000000000000000060448201526064015b60405180910390fd5b6040517f3659cfe600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82811660048301527f00000000000000000000000000000000000000000000000000000000000000001690633659cfe690602401600060405180830381600087803b1580156200028357600080fd5b505af115801562000298573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff167fa8f2f87a44131841a6848a0e54ac181d9f27ca8565b9252b1f49af60507d76928273ffffffffffffffffffffffffffffffffffffffff166354fd4d506040518163ffffffff1660e01b8152600401600060405180830381865afa15801562000320573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052620003689190810190620009c1565b60405162000377919062000ad9565b60405180910390a250565b6200038c620005d1565b6200039860006200067c565b565b600080604051806060016040528060288152602001620012e0602891398051906020012089898989898989604051602401620003dd979695949392919062000b37565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050905060007f0000000000000000000000000000000000000000000000000000000000000000826040516200046e906200082c565b6200047b92919062000b8d565b604051809103906000f08015801562000498573d6000803e3d6000fd5b5090508686604051620004ad92919062000bc6565b60405180910390208173ffffffffffffffffffffffffffffffffffffffff167f423bf0ea6b57d35b37f0caad547ba5e1d340585657e9fec91dcac4375fcd45a98b8b604051620004ff92919062000bd6565b60405180910390a39998505050505050505050565b6200051e620005d1565b73ffffffffffffffffffffffffffffffffffffffff8116620005c3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401620001f0565b620005ce816200067c565b50565b60005473ffffffffffffffffffffffffffffffffffffffff16331462000398576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401620001f0565b60006200066183620006f1565b80156200067557506200067583836200075b565b9392505050565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006200071f827f01ffc9a7000000000000000000000000000000000000000000000000000000006200075b565b801562000755575062000753827fffffffff000000000000000000000000000000000000000000000000000000006200075b565b155b92915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d9150600051905082801562000814575060208210155b8015620008215750600081115b979650505050505050565b6106f38062000bed83390190565b6000602082840312156200084d57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff811681146200067557600080fd5b60008083601f8401126200088557600080fd5b50813567ffffffffffffffff8111156200089e57600080fd5b602083019150836020828501011115620008b757600080fd5b9250929050565b60008060008060008060006080888a031215620008da57600080fd5b87359650602088013567ffffffffffffffff80821115620008fa57600080fd5b620009088b838c0162000872565b909850965060408a01359150808211156200092257600080fd5b620009308b838c0162000872565b909650945060608a01359150808211156200094a57600080fd5b50620009598a828b0162000872565b989b979a50959850939692959293505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60005b83811015620009b85781810151838201526020016200099e565b50506000910152565b600060208284031215620009d457600080fd5b815167ffffffffffffffff80821115620009ed57600080fd5b818401915084601f83011262000a0257600080fd5b81518181111562000a175762000a176200096c565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171562000a605762000a606200096c565b8160405282815287602084870101111562000a7a57600080fd5b620008218360208301602088016200099b565b6000815180845262000aa78160208601602086016200099b565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600062000675602083018462000a8d565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b87815260806020820152600062000b5360808301888a62000aee565b828103604084015262000b6881878962000aee565b9050828103606084015262000b7f81858762000aee565b9a9950505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff8316815260406020820152600062000bbe604083018462000a8d565b949350505050565b8183823760009101908152919050565b60208152600062000bbe60208301848662000aee56fe60806040526040516106f33803806106f383398101604081905261002291610420565b61002e82826000610035565b505061054a565b61003e836100f6565b6040516001600160a01b038416907f1cf3b03a6cf19fa2baba4df148e9dcabedea7f8a5c07840e207e5c089be95d3e90600090a260008251118061007f5750805b156100f1576100ef836001600160a01b0316635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156100c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100e991906104e0565b8361027a565b505b505050565b6001600160a01b0381163b6101605760405162461bcd60e51b815260206004820152602560248201527f455243313936373a206e657720626561636f6e206973206e6f74206120636f6e6044820152641d1c9858dd60da1b60648201526084015b60405180910390fd5b6101d4816001600160a01b0316635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101c591906104e0565b6001600160a01b03163b151590565b6102395760405162461bcd60e51b815260206004820152603060248201527f455243313936373a20626561636f6e20696d706c656d656e746174696f6e206960448201526f1cc81b9bdd08184818dbdb9d1c9858dd60821b6064820152608401610157565b7fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d5080546001600160a01b0319166001600160a01b0392909216919091179055565b606061029f83836040518060600160405280602781526020016106cc602791396102a6565b9392505050565b6060600080856001600160a01b0316856040516102c391906104fb565b600060405180830381855af49150503d80600081146102fe576040519150601f19603f3d011682016040523d82523d6000602084013e610303565b606091505b5090925090506103158683838761031f565b9695505050505050565b6060831561038e578251600003610387576001600160a01b0385163b6103875760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610157565b5081610398565b61039883836103a0565b949350505050565b8151156103b05781518083602001fd5b8060405162461bcd60e51b81526004016101579190610517565b80516001600160a01b03811681146103e157600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b838110156104175781810151838201526020016103ff565b50506000910152565b6000806040838503121561043357600080fd5b61043c836103ca565b60208401519092506001600160401b038082111561045957600080fd5b818501915085601f83011261046d57600080fd5b81518181111561047f5761047f6103e6565b604051601f8201601f19908116603f011681019083821181831017156104a7576104a76103e6565b816040528281528860208487010111156104c057600080fd5b6104d18360208301602088016103fc565b80955050505050509250929050565b6000602082840312156104f257600080fd5b61029f826103ca565b6000825161050d8184602087016103fc565b9190910192915050565b60208152600082518060208401526105368160408501602087016103fc565b601f01601f19169190910160400192915050565b610173806105596000396000f3fe60806040523661001357610011610017565b005b6100115b610027610022610029565b6100dc565b565b60006100697fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d505473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff16635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156100b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100d79190610100565b905090565b3660008037600080366000845af43d6000803e8080156100fb573d6000f35b3d6000fd5b60006020828403121561011257600080fd5b815173ffffffffffffffffffffffffffffffffffffffff8116811461013657600080fd5b939250505056fea26469706673582212206e19af89d0e39d5d76f1b5b6bd963ba5f8c6c6fc546e614a5bb49e1174b5e59d64736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564696e697469616c697a652875696e743235362c737472696e672c737472696e672c737472696e6729a26469706673582212209c23c78bb385d6116b3a9bf5d75450aee14a9f903fa3a8aa01d107c4860fb97b64736f6c6343000813003360806040523480156200001157600080fd5b506200001c62000022565b620000e4565b600054610100900460ff16156200008f5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff9081161015620000e2576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6135b180620000f46000396000f3fe608060405234801561001057600080fd5b50600436106101ae5760003560e01c806370a08231116100ee578063ac9650d811610097578063c87b56dd11610071578063c87b56dd146103cb578063e985e9c5146103de578063eb1f6b5a14610427578063f46aa1891461044757600080fd5b8063ac9650d814610371578063b88d4fde14610391578063b9d0787c146103a457600080fd5b80639dc6693c116100c85780639dc6693c14610338578063a22cb4651461034b578063a8185a2e1461035e57600080fd5b806370a08231146103155780637284e4161461032857806395d89b411461033057600080fd5b80633c7fc59d1161015b5780634ff0a2b2116101355780634ff0a2b2146102ae57806354fd4d50146102b65780636352211e146102ef57806369cf2c371461030257600080fd5b80633c7fc59d1461026657806342842e0e1461028857806346193ccd1461029b57600080fd5b8063095ea7b31161018c578063095ea7b3146102285780630f7966c01461023d57806323b872dd1461025357600080fd5b806301ffc9a7146101b357806306fdde03146101db578063081812fc146101f0575b600080fd5b6101c66101c13660046127b3565b61045a565b60405190151581526020015b60405180910390f35b6101e36104b6565b6040516101d2919061283e565b6102036101fe366004612851565b610548565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101d2565b61023b610236366004612893565b61057c565b005b610245601481565b6040519081526020016101d2565b61023b6102613660046128bd565b6106d9565b610279610274366004612851565b610760565b6040516101d2939291906129c0565b61023b6102963660046128bd565b6107c8565b61023b6102a9366004612a6b565b6107e3565b61023b610a82565b60408051808201909152600581527f302e312e3000000000000000000000000000000000000000000000000000000060208201526101e3565b6102036102fd366004612851565b610bf2565b610245610310366004612b1e565b610c64565b610245610323366004612b39565b610cde565b6101e3610d92565b6101e3610e67565b61023b610346366004612b99565b610e76565b61023b610359366004612be5565b610fef565b61024561036c366004612c21565b610ffe565b61038461037f366004612cfb565b6110a0565b6040516101d29190612d3d565b61023b61039f366004612dec565b611195565b7f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e37a54610245565b6101e36103d9366004612851565b611223565b6101c66103ec366004612ee6565b73ffffffffffffffffffffffffffffffffffffffff9182166000908152606a6020908152604080832093909416825291909152205460ff1690565b61043a610435366004612851565b611238565b6040516101d29190612f19565b610245610455366004612f2c565b61146b565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb9d0787c0000000000000000000000000000000000000000000000000000000014806104b057506104b0826114e1565b92915050565b6060606580546104c590612f6d565b80601f01602080910402602001604051908101604052809291908181526020018280546104f190612f6d565b801561053e5780601f106105135761010080835404028352916020019161053e565b820191906000526020600020905b81548152906001019060200180831161052157829003601f168201915b5050505050905090565b6000610553826115c4565b5060009081526069602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b600061058782610bf2565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361062f5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff82161480610658575061065881336103ec565b6106ca5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610626565b6106d48383611635565b505050565b6106e333826116d5565b6107555760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610626565b6106d4838383611794565b61076861274d565b6000606061077584611238565b925060007f472b429d656ecfb82e6e0cff4b4090577a009a43252b08434ed2201373a9647d6000868152602082905260409020805460ff1694509091506107be60018201611a41565b9496939550505050565b6106d483838360405180602001604052806000815250611195565b600054610100900460ff16158080156108035750600054600160ff909116105b8061081d5750303b15801561081d575060005460ff166001145b61088f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610626565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156108ed57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61096087878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8b018190048102820181019092528981529250899150889081908401838280828437600092019190915250611a4e92505050565b610968611ad5565b876000036109a2576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e37a8890557f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e3787f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e379610a1384868361300e565b50508015610a7857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050505050565b600054610100900460ff1615808015610aa25750600054600160ff909116105b80610abc5750303b158015610abc575060005460ff166001145b610b2e5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610626565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610b8c57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b8015610bef57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50565b60008181526067602052604081205473ffffffffffffffffffffffffffffffffffffffff16806104b05760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610626565b60007f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e378818181856006811115610c9c57610c9c6128f9565b6006811115610cad57610cad6128f9565b815260200190815260200160002054905080600003610cd757610ccf84611b54565b949350505050565b9392505050565b600073ffffffffffffffffffffffffffffffffffffffff8216610d695760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e657200000000000000000000000000000000000000000000006064820152608401610626565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526068602052604090205490565b7f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e37980546060917f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e37891610de390612f6d565b80601f0160208091040260200160405190810160405280929190818152602001828054610e0f90612f6d565b8015610e5c5780601f10610e3157610100808354040283529160200191610e5c565b820191906000526020600020905b815481529060010190602001808311610e3f57829003601f168201915b505050505091505090565b6060606680546104c590612f6d565b806014811115610eb2576040517f77d10abd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481527f472b429d656ecfb82e6e0cff4b4090577a009a43252b08434ed2201373a9647d60208190526040822054909160ff909116905b84811015610faa57816006811115610f0557610f056128f9565b610f26878784818110610f1a57610f1a613129565b90506020020135611bcf565b6006811115610f3757610f376128f9565b14610f6e576040517f50c3390e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610fa1868683818110610f8357610f83613129565b60008b81526020888152604090912060010193910201359050611c32565b50600101610eeb565b50857f823d677ed42b321275c6b3aa7040f32e41d12aea91120455a19a60ae310b0af3828787604051610fdf93929190613158565b60405180910390a2505050505050565b610ffa338383611c3e565b5050565b60008061101160048c8c8c8c8c8c61146b565b905060007f472b429d656ecfb82e6e0cff4b4090577a009a43252b08434ed2201373a9647d6000838152602082905260409020805491925087917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001836006811115611081576110816128f9565b0217905550611091828686610e76565b509a9950505050505050505050565b60608167ffffffffffffffff8111156110bb576110bb612dbd565b6040519080825280602002602001820160405280156110ee57816020015b60608152602001906001900390816110d95790505b50905060005b8281101561118e5761115e3085858481811061111257611112613129565b905060200281019061112491906131b8565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611d5192505050565b82828151811061117057611170613129565b602002602001018190525080806111869061324c565b9150506110f4565b5092915050565b61119f33836116d5565b6112115760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610626565b61121d84848484611e76565b50505050565b606061122e82611238565b6040015192915050565b61124061274d565b60008281527f9d56f7e7ee381479643316c052563e5824551ecde3f8bff0aa320131666f6879602081905260409182902082516080810190935280549192918290829061128c90612f6d565b80601f01602080910402602001604051908101604052809291908181526020018280546112b890612f6d565b80156113055780601f106112da57610100808354040283529160200191611305565b820191906000526020600020905b8154815290600101906020018083116112e857829003601f168201915b5050505050815260200160018201805461131e90612f6d565b80601f016020809104026020016040519081016040528092919081815260200182805461134a90612f6d565b80156113975780601f1061136c57610100808354040283529160200191611397565b820191906000526020600020905b81548152906001019060200180831161137a57829003601f168201915b505050505081526020016002820180546113b090612f6d565b80601f01602080910402602001604051908101604052809291908181526020018280546113dc90612f6d565b80156114295780601f106113fe57610100808354040283529160200191611429565b820191906000526020600020905b81548152906001019060200180831161140c57829003601f168201915b5050509183525050600382015460209091019060ff166006811115611450576114506128f9565b6006811115611461576114616128f9565b9052509392505050565b600080886006811115611480576114806128f9565b036114b7576040517ffa19fa0700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006114c3338a611eff565b90506114d481898989898989611fc5565b5098975050505050505050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061157457507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b806104b057507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316146104b0565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff16610bef5760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610626565b600081815260696020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117909155819061168f82610bf2565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000806116e183610bf2565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061174f575073ffffffffffffffffffffffffffffffffffffffff8082166000908152606a602090815260408083209388168352929052205460ff165b80610ccf57508373ffffffffffffffffffffffffffffffffffffffff1661177584610548565b73ffffffffffffffffffffffffffffffffffffffff1614949350505050565b8273ffffffffffffffffffffffffffffffffffffffff166117b482610bf2565b73ffffffffffffffffffffffffffffffffffffffff161461183d5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610626565b73ffffffffffffffffffffffffffffffffffffffff82166118c55760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610626565b8273ffffffffffffffffffffffffffffffffffffffff166118e582610bf2565b73ffffffffffffffffffffffffffffffffffffffff161461196e5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610626565b600081815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff8781168086526068855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905590871680865283862080546001019055868652606790945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b60606000610cd7836120fb565b600054610100900460ff16611acb5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610626565b610ffa8282612157565b600054610100900460ff16611b525760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610626565b565b600080826006811115611b6957611b696128f9565b03611ba257816040517f877df4f20000000000000000000000000000000000000000000000000000000081526004016106269190613284565b6001826006811115611bb657611bb66128f9565b611bc09190613292565b6104b09064e8d4a510006132a5565b6000611be064e8d4a51000836132eb565b1580611bfa5750611bf7600664e8d4a510006132a5565b82115b15611c0757506000919050565b611c1664e8d4a51000836132ff565b611c21906001613313565b60068111156104b0576104b06128f9565b6000610cd783836121ed565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611cb95760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610626565b73ffffffffffffffffffffffffffffffffffffffff8381166000818152606a602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b606073ffffffffffffffffffffffffffffffffffffffff83163b611ddd5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e747261637400000000000000000000000000000000000000000000000000006064820152608401610626565b6000808473ffffffffffffffffffffffffffffffffffffffff1684604051611e059190613326565b600060405180830381855af49150503d8060008114611e40576040519150601f19603f3d011682016040523d82523d6000602084013e611e45565b606091505b5091509150611e6d82826040518060600160405280602781526020016135556027913961223c565b95945050505050565b611e81848484611794565b611e8d84848484612255565b61121d5760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610626565b600080611f0b83610c64565b611f16906001613313565b9050611f218361242e565b811115611f5a576040517fd5fdab4f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e37881816000866006811115611f9157611f916128f9565b6006811115611fa257611fa26128f9565b8152602081019190915260400160002055611fbd85836124a9565b509392505050565b60008781527f9d56f7e7ee381479643316c052563e5824551ecde3f8bff0aa320131666f68796020819052604082206003810154839060ff16600681111561200f5761200f6128f9565b0361205f5761201d8a611bcf565b6003820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001836006811115612059576120596128f9565b02179055505b8061206b898b8361300e565b506001810161207b87898361300e565b506002810161208b85878361300e565b50600381015460ff1660068111156120a5576120a56128f9565b8a7fa82032c25afb0149419a68bef0de224f05ddf61f663c81661d7f86f32f0381f88b8b8b8b8b8b6040516120df9695949392919061338b565b60405180910390a36003015460ff169998505050505050505050565b60608160000180548060200260200160405190810160405280929190818152602001828054801561214b57602002820191906000526020600020905b815481526020019060010190808311612137575b50505050509050919050565b600054610100900460ff166121d45760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610626565b60656121e083826133d4565b5060666106d482826133d4565b6000818152600183016020526040812054612234575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556104b0565b5060006104b0565b6060831561224b575081610cd7565b610cd783836124c3565b600073ffffffffffffffffffffffffffffffffffffffff84163b15612423576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a02906122cc9033908990889088906004016134ee565b6020604051808303816000875af1925050508015612325575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261232291810190613537565b60015b6123d8573d808015612353576040519150601f19603f3d011682016040523d82523d6000602084013e612358565b606091505b5080516000036123d05760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610626565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050610ccf565b506001949350505050565b600080826006811115612443576124436128f9565b0361247c57816040517f877df4f20000000000000000000000000000000000000000000000000000000081526004016106269190613284565b6001826006811115612490576124906128f9565b61249f9064e8d4a510006132a5565b6104b09190613292565b610ffa8282604051806020016040528060008152506124ed565b8151156124d35781518083602001fd5b8060405162461bcd60e51b8152600401610626919061283e565b6124f78383612576565b6125046000848484612255565b6106d45760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610626565b73ffffffffffffffffffffffffffffffffffffffff82166125d95760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610626565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff161561264b5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610626565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff16156126bd5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610626565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260686020908152604080832080546001019055848352606790915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b604051806080016040528060608152602001606081526020016060815260200160006006811115612780576127806128f9565b905290565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610bef57600080fd5b6000602082840312156127c557600080fd5b8135610cd781612785565b60005b838110156127eb5781810151838201526020016127d3565b50506000910152565b6000815180845261280c8160208601602086016127d0565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610cd760208301846127f4565b60006020828403121561286357600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461288e57600080fd5b919050565b600080604083850312156128a657600080fd5b6128af8361286a565b946020939093013593505050565b6000806000606084860312156128d257600080fd5b6128db8461286a565b92506128e96020850161286a565b9150604084013590509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6007811061295f577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b600081516080845261297860808501826127f4565b90506020830151848203602086015261299182826127f4565b915050604083015184820360408601526129ab82826127f4565b9150506060830151611fbd6060860182612928565b6060815260006129d36060830186612963565b60206129e181850187612928565b838203604085015284518083528186019282019060005b81811015612a14578451835293830193918301916001016129f8565b509098975050505050505050565b60008083601f840112612a3457600080fd5b50813567ffffffffffffffff811115612a4c57600080fd5b602083019150836020828501011115612a6457600080fd5b9250929050565b60008060008060008060006080888a031215612a8657600080fd5b87359650602088013567ffffffffffffffff80821115612aa557600080fd5b612ab18b838c01612a22565b909850965060408a0135915080821115612aca57600080fd5b612ad68b838c01612a22565b909650945060608a0135915080821115612aef57600080fd5b50612afc8a828b01612a22565b989b979a50959850939692959293505050565b80356007811061288e57600080fd5b600060208284031215612b3057600080fd5b610cd782612b0f565b600060208284031215612b4b57600080fd5b610cd78261286a565b60008083601f840112612b6657600080fd5b50813567ffffffffffffffff811115612b7e57600080fd5b6020830191508360208260051b8501011115612a6457600080fd5b600080600060408486031215612bae57600080fd5b83359250602084013567ffffffffffffffff811115612bcc57600080fd5b612bd886828701612b54565b9497909650939450505050565b60008060408385031215612bf857600080fd5b612c018361286a565b915060208301358015158114612c1657600080fd5b809150509250929050565b600080600080600080600080600060a08a8c031215612c3f57600080fd5b893567ffffffffffffffff80821115612c5757600080fd5b612c638d838e01612a22565b909b50995060208c0135915080821115612c7c57600080fd5b612c888d838e01612a22565b909950975060408c0135915080821115612ca157600080fd5b612cad8d838e01612a22565b9097509550859150612cc160608d01612b0f565b945060808c0135915080821115612cd757600080fd5b50612ce48c828d01612b54565b915080935050809150509295985092959850929598565b60008060208385031215612d0e57600080fd5b823567ffffffffffffffff811115612d2557600080fd5b612d3185828601612b54565b90969095509350505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015612db0577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452612d9e8583516127f4565b94509285019290850190600101612d64565b5092979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060008060808587031215612e0257600080fd5b612e0b8561286a565b9350612e196020860161286a565b925060408501359150606085013567ffffffffffffffff80821115612e3d57600080fd5b818701915087601f830112612e5157600080fd5b813581811115612e6357612e63612dbd565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715612ea957612ea9612dbd565b816040528281528a6020848701011115612ec257600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b60008060408385031215612ef957600080fd5b612f028361286a565b9150612f106020840161286a565b90509250929050565b602081526000610cd76020830184612963565b60008060008060008060006080888a031215612f4757600080fd5b612f5088612b0f565b9650602088013567ffffffffffffffff80821115612aa557600080fd5b600181811c90821680612f8157607f821691505b602082108103612fba577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f8211156106d457600081815260208120601f850160051c81016020861015612fe75750805b601f850160051c820191505b8181101561300657828155600101612ff3565b505050505050565b67ffffffffffffffff83111561302657613026612dbd565b61303a836130348354612f6d565b83612fc0565b6000601f84116001811461308c57600085156130565750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355613122565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b828110156130db57868501358255602094850194600190920191016130bb565b5086821015613116577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6131628185612928565b6040602082015281604082015260007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83111561319e57600080fd5b8260051b8085606085013791909101606001949350505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126131ed57600080fd5b83018035915067ffffffffffffffff82111561320857600080fd5b602001915036819003821315612a6457600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361327d5761327d61321d565b5060010190565b602081016104b08284612928565b818103818111156104b0576104b061321d565b80820281158282048414176104b0576104b061321d565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000826132fa576132fa6132bc565b500690565b60008261330e5761330e6132bc565b500490565b808201808211156104b0576104b061321d565b600082516133388184602087016127d0565b9190910192915050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60608152600061339f60608301888a613342565b82810360208401526133b2818789613342565b905082810360408401526133c7818587613342565b9998505050505050505050565b815167ffffffffffffffff8111156133ee576133ee612dbd565b613402816133fc8454612f6d565b84612fc0565b602080601f831160018114613455576000841561341f5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555613006565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156134a257888601518255948401946001909101908401613483565b50858210156134de57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600073ffffffffffffffffffffffffffffffffffffffff80871683528086166020840152508360408301526080606083015261352d60808301846127f4565b9695505050505050565b60006020828403121561354957600080fd5b8151610cd78161278556fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122078f441787f11096e9e5b9cb7d7785bc623e667ca342c5fa049a603e7a2dc1ff064736f6c63430008130033608060405234801561001057600080fd5b506040516105ef3803806105ef83398101604081905261002f9161013a565b61003833610047565b61004181610097565b5061016a565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0381163b6101185760405162461bcd60e51b815260206004820152603360248201527f5570677261646561626c65426561636f6e3a20696d706c656d656e746174696f60448201527f6e206973206e6f74206120636f6e747261637400000000000000000000000000606482015260840160405180910390fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b60006020828403121561014c57600080fd5b81516001600160a01b038116811461016357600080fd5b9392505050565b610476806101796000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c8063715018a611610050578063715018a6146100c45780638da5cb5b146100cc578063f2fde38b146100ea57600080fd5b80633659cfe61461006c5780635c60da1b14610081575b600080fd5b61007f61007a366004610403565b6100fd565b005b60015473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61007f610152565b60005473ffffffffffffffffffffffffffffffffffffffff1661009b565b61007f6100f8366004610403565b610166565b610105610222565b61010e816102a3565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b61015a610222565b610164600061038e565b565b61016e610222565b73ffffffffffffffffffffffffffffffffffffffff8116610216576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61021f8161038e565b50565b60005473ffffffffffffffffffffffffffffffffffffffff163314610164576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161020d565b73ffffffffffffffffffffffffffffffffffffffff81163b610347576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603360248201527f5570677261646561626c65426561636f6e3a20696d706c656d656e746174696f60448201527f6e206973206e6f74206120636f6e747261637400000000000000000000000000606482015260840161020d565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006020828403121561041557600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461043957600080fd5b939250505056fea264697066735822122048ebef5dea79554c6de8af09830ddb871c241a46dee33849e34fac866c5894bd64736f6c63430008130033", - "nonce": "0x21", - "accessList": [] - }, - "additionalContracts": [ - { - "transactionType": "CREATE", - "address": "0x3a10Db3a7E56243f29709ca0830b08bD1a9F4243", - "initCode": "60806040523480156200001157600080fd5b506200001c62000022565b620000e4565b600054610100900460ff16156200008f5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff9081161015620000e2576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6135b180620000f46000396000f3fe608060405234801561001057600080fd5b50600436106101ae5760003560e01c806370a08231116100ee578063ac9650d811610097578063c87b56dd11610071578063c87b56dd146103cb578063e985e9c5146103de578063eb1f6b5a14610427578063f46aa1891461044757600080fd5b8063ac9650d814610371578063b88d4fde14610391578063b9d0787c146103a457600080fd5b80639dc6693c116100c85780639dc6693c14610338578063a22cb4651461034b578063a8185a2e1461035e57600080fd5b806370a08231146103155780637284e4161461032857806395d89b411461033057600080fd5b80633c7fc59d1161015b5780634ff0a2b2116101355780634ff0a2b2146102ae57806354fd4d50146102b65780636352211e146102ef57806369cf2c371461030257600080fd5b80633c7fc59d1461026657806342842e0e1461028857806346193ccd1461029b57600080fd5b8063095ea7b31161018c578063095ea7b3146102285780630f7966c01461023d57806323b872dd1461025357600080fd5b806301ffc9a7146101b357806306fdde03146101db578063081812fc146101f0575b600080fd5b6101c66101c13660046127b3565b61045a565b60405190151581526020015b60405180910390f35b6101e36104b6565b6040516101d2919061283e565b6102036101fe366004612851565b610548565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101d2565b61023b610236366004612893565b61057c565b005b610245601481565b6040519081526020016101d2565b61023b6102613660046128bd565b6106d9565b610279610274366004612851565b610760565b6040516101d2939291906129c0565b61023b6102963660046128bd565b6107c8565b61023b6102a9366004612a6b565b6107e3565b61023b610a82565b60408051808201909152600581527f302e312e3000000000000000000000000000000000000000000000000000000060208201526101e3565b6102036102fd366004612851565b610bf2565b610245610310366004612b1e565b610c64565b610245610323366004612b39565b610cde565b6101e3610d92565b6101e3610e67565b61023b610346366004612b99565b610e76565b61023b610359366004612be5565b610fef565b61024561036c366004612c21565b610ffe565b61038461037f366004612cfb565b6110a0565b6040516101d29190612d3d565b61023b61039f366004612dec565b611195565b7f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e37a54610245565b6101e36103d9366004612851565b611223565b6101c66103ec366004612ee6565b73ffffffffffffffffffffffffffffffffffffffff9182166000908152606a6020908152604080832093909416825291909152205460ff1690565b61043a610435366004612851565b611238565b6040516101d29190612f19565b610245610455366004612f2c565b61146b565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb9d0787c0000000000000000000000000000000000000000000000000000000014806104b057506104b0826114e1565b92915050565b6060606580546104c590612f6d565b80601f01602080910402602001604051908101604052809291908181526020018280546104f190612f6d565b801561053e5780601f106105135761010080835404028352916020019161053e565b820191906000526020600020905b81548152906001019060200180831161052157829003601f168201915b5050505050905090565b6000610553826115c4565b5060009081526069602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b600061058782610bf2565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361062f5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff82161480610658575061065881336103ec565b6106ca5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610626565b6106d48383611635565b505050565b6106e333826116d5565b6107555760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610626565b6106d4838383611794565b61076861274d565b6000606061077584611238565b925060007f472b429d656ecfb82e6e0cff4b4090577a009a43252b08434ed2201373a9647d6000868152602082905260409020805460ff1694509091506107be60018201611a41565b9496939550505050565b6106d483838360405180602001604052806000815250611195565b600054610100900460ff16158080156108035750600054600160ff909116105b8061081d5750303b15801561081d575060005460ff166001145b61088f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610626565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156108ed57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61096087878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8b018190048102820181019092528981529250899150889081908401838280828437600092019190915250611a4e92505050565b610968611ad5565b876000036109a2576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e37a8890557f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e3787f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e379610a1384868361300e565b50508015610a7857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050505050565b600054610100900460ff1615808015610aa25750600054600160ff909116105b80610abc5750303b158015610abc575060005460ff166001145b610b2e5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610626565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610b8c57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b8015610bef57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50565b60008181526067602052604081205473ffffffffffffffffffffffffffffffffffffffff16806104b05760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610626565b60007f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e378818181856006811115610c9c57610c9c6128f9565b6006811115610cad57610cad6128f9565b815260200190815260200160002054905080600003610cd757610ccf84611b54565b949350505050565b9392505050565b600073ffffffffffffffffffffffffffffffffffffffff8216610d695760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e657200000000000000000000000000000000000000000000006064820152608401610626565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526068602052604090205490565b7f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e37980546060917f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e37891610de390612f6d565b80601f0160208091040260200160405190810160405280929190818152602001828054610e0f90612f6d565b8015610e5c5780601f10610e3157610100808354040283529160200191610e5c565b820191906000526020600020905b815481529060010190602001808311610e3f57829003601f168201915b505050505091505090565b6060606680546104c590612f6d565b806014811115610eb2576040517f77d10abd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481527f472b429d656ecfb82e6e0cff4b4090577a009a43252b08434ed2201373a9647d60208190526040822054909160ff909116905b84811015610faa57816006811115610f0557610f056128f9565b610f26878784818110610f1a57610f1a613129565b90506020020135611bcf565b6006811115610f3757610f376128f9565b14610f6e576040517f50c3390e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610fa1868683818110610f8357610f83613129565b60008b81526020888152604090912060010193910201359050611c32565b50600101610eeb565b50857f823d677ed42b321275c6b3aa7040f32e41d12aea91120455a19a60ae310b0af3828787604051610fdf93929190613158565b60405180910390a2505050505050565b610ffa338383611c3e565b5050565b60008061101160048c8c8c8c8c8c61146b565b905060007f472b429d656ecfb82e6e0cff4b4090577a009a43252b08434ed2201373a9647d6000838152602082905260409020805491925087917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001836006811115611081576110816128f9565b0217905550611091828686610e76565b509a9950505050505050505050565b60608167ffffffffffffffff8111156110bb576110bb612dbd565b6040519080825280602002602001820160405280156110ee57816020015b60608152602001906001900390816110d95790505b50905060005b8281101561118e5761115e3085858481811061111257611112613129565b905060200281019061112491906131b8565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611d5192505050565b82828151811061117057611170613129565b602002602001018190525080806111869061324c565b9150506110f4565b5092915050565b61119f33836116d5565b6112115760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610626565b61121d84848484611e76565b50505050565b606061122e82611238565b6040015192915050565b61124061274d565b60008281527f9d56f7e7ee381479643316c052563e5824551ecde3f8bff0aa320131666f6879602081905260409182902082516080810190935280549192918290829061128c90612f6d565b80601f01602080910402602001604051908101604052809291908181526020018280546112b890612f6d565b80156113055780601f106112da57610100808354040283529160200191611305565b820191906000526020600020905b8154815290600101906020018083116112e857829003601f168201915b5050505050815260200160018201805461131e90612f6d565b80601f016020809104026020016040519081016040528092919081815260200182805461134a90612f6d565b80156113975780601f1061136c57610100808354040283529160200191611397565b820191906000526020600020905b81548152906001019060200180831161137a57829003601f168201915b505050505081526020016002820180546113b090612f6d565b80601f01602080910402602001604051908101604052809291908181526020018280546113dc90612f6d565b80156114295780601f106113fe57610100808354040283529160200191611429565b820191906000526020600020905b81548152906001019060200180831161140c57829003601f168201915b5050509183525050600382015460209091019060ff166006811115611450576114506128f9565b6006811115611461576114616128f9565b9052509392505050565b600080886006811115611480576114806128f9565b036114b7576040517ffa19fa0700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006114c3338a611eff565b90506114d481898989898989611fc5565b5098975050505050505050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061157457507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b806104b057507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316146104b0565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff16610bef5760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610626565b600081815260696020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117909155819061168f82610bf2565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000806116e183610bf2565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061174f575073ffffffffffffffffffffffffffffffffffffffff8082166000908152606a602090815260408083209388168352929052205460ff165b80610ccf57508373ffffffffffffffffffffffffffffffffffffffff1661177584610548565b73ffffffffffffffffffffffffffffffffffffffff1614949350505050565b8273ffffffffffffffffffffffffffffffffffffffff166117b482610bf2565b73ffffffffffffffffffffffffffffffffffffffff161461183d5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610626565b73ffffffffffffffffffffffffffffffffffffffff82166118c55760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610626565b8273ffffffffffffffffffffffffffffffffffffffff166118e582610bf2565b73ffffffffffffffffffffffffffffffffffffffff161461196e5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610626565b600081815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff8781168086526068855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905590871680865283862080546001019055868652606790945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b60606000610cd7836120fb565b600054610100900460ff16611acb5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610626565b610ffa8282612157565b600054610100900460ff16611b525760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610626565b565b600080826006811115611b6957611b696128f9565b03611ba257816040517f877df4f20000000000000000000000000000000000000000000000000000000081526004016106269190613284565b6001826006811115611bb657611bb66128f9565b611bc09190613292565b6104b09064e8d4a510006132a5565b6000611be064e8d4a51000836132eb565b1580611bfa5750611bf7600664e8d4a510006132a5565b82115b15611c0757506000919050565b611c1664e8d4a51000836132ff565b611c21906001613313565b60068111156104b0576104b06128f9565b6000610cd783836121ed565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611cb95760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610626565b73ffffffffffffffffffffffffffffffffffffffff8381166000818152606a602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b606073ffffffffffffffffffffffffffffffffffffffff83163b611ddd5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e747261637400000000000000000000000000000000000000000000000000006064820152608401610626565b6000808473ffffffffffffffffffffffffffffffffffffffff1684604051611e059190613326565b600060405180830381855af49150503d8060008114611e40576040519150601f19603f3d011682016040523d82523d6000602084013e611e45565b606091505b5091509150611e6d82826040518060600160405280602781526020016135556027913961223c565b95945050505050565b611e81848484611794565b611e8d84848484612255565b61121d5760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610626565b600080611f0b83610c64565b611f16906001613313565b9050611f218361242e565b811115611f5a576040517fd5fdab4f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e37881816000866006811115611f9157611f916128f9565b6006811115611fa257611fa26128f9565b8152602081019190915260400160002055611fbd85836124a9565b509392505050565b60008781527f9d56f7e7ee381479643316c052563e5824551ecde3f8bff0aa320131666f68796020819052604082206003810154839060ff16600681111561200f5761200f6128f9565b0361205f5761201d8a611bcf565b6003820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001836006811115612059576120596128f9565b02179055505b8061206b898b8361300e565b506001810161207b87898361300e565b506002810161208b85878361300e565b50600381015460ff1660068111156120a5576120a56128f9565b8a7fa82032c25afb0149419a68bef0de224f05ddf61f663c81661d7f86f32f0381f88b8b8b8b8b8b6040516120df9695949392919061338b565b60405180910390a36003015460ff169998505050505050505050565b60608160000180548060200260200160405190810160405280929190818152602001828054801561214b57602002820191906000526020600020905b815481526020019060010190808311612137575b50505050509050919050565b600054610100900460ff166121d45760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610626565b60656121e083826133d4565b5060666106d482826133d4565b6000818152600183016020526040812054612234575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556104b0565b5060006104b0565b6060831561224b575081610cd7565b610cd783836124c3565b600073ffffffffffffffffffffffffffffffffffffffff84163b15612423576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a02906122cc9033908990889088906004016134ee565b6020604051808303816000875af1925050508015612325575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261232291810190613537565b60015b6123d8573d808015612353576040519150601f19603f3d011682016040523d82523d6000602084013e612358565b606091505b5080516000036123d05760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610626565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050610ccf565b506001949350505050565b600080826006811115612443576124436128f9565b0361247c57816040517f877df4f20000000000000000000000000000000000000000000000000000000081526004016106269190613284565b6001826006811115612490576124906128f9565b61249f9064e8d4a510006132a5565b6104b09190613292565b610ffa8282604051806020016040528060008152506124ed565b8151156124d35781518083602001fd5b8060405162461bcd60e51b8152600401610626919061283e565b6124f78383612576565b6125046000848484612255565b6106d45760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610626565b73ffffffffffffffffffffffffffffffffffffffff82166125d95760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610626565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff161561264b5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610626565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff16156126bd5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610626565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260686020908152604080832080546001019055848352606790915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b604051806080016040528060608152602001606081526020016060815260200160006006811115612780576127806128f9565b905290565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610bef57600080fd5b6000602082840312156127c557600080fd5b8135610cd781612785565b60005b838110156127eb5781810151838201526020016127d3565b50506000910152565b6000815180845261280c8160208601602086016127d0565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610cd760208301846127f4565b60006020828403121561286357600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461288e57600080fd5b919050565b600080604083850312156128a657600080fd5b6128af8361286a565b946020939093013593505050565b6000806000606084860312156128d257600080fd5b6128db8461286a565b92506128e96020850161286a565b9150604084013590509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6007811061295f577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b600081516080845261297860808501826127f4565b90506020830151848203602086015261299182826127f4565b915050604083015184820360408601526129ab82826127f4565b9150506060830151611fbd6060860182612928565b6060815260006129d36060830186612963565b60206129e181850187612928565b838203604085015284518083528186019282019060005b81811015612a14578451835293830193918301916001016129f8565b509098975050505050505050565b60008083601f840112612a3457600080fd5b50813567ffffffffffffffff811115612a4c57600080fd5b602083019150836020828501011115612a6457600080fd5b9250929050565b60008060008060008060006080888a031215612a8657600080fd5b87359650602088013567ffffffffffffffff80821115612aa557600080fd5b612ab18b838c01612a22565b909850965060408a0135915080821115612aca57600080fd5b612ad68b838c01612a22565b909650945060608a0135915080821115612aef57600080fd5b50612afc8a828b01612a22565b989b979a50959850939692959293505050565b80356007811061288e57600080fd5b600060208284031215612b3057600080fd5b610cd782612b0f565b600060208284031215612b4b57600080fd5b610cd78261286a565b60008083601f840112612b6657600080fd5b50813567ffffffffffffffff811115612b7e57600080fd5b6020830191508360208260051b8501011115612a6457600080fd5b600080600060408486031215612bae57600080fd5b83359250602084013567ffffffffffffffff811115612bcc57600080fd5b612bd886828701612b54565b9497909650939450505050565b60008060408385031215612bf857600080fd5b612c018361286a565b915060208301358015158114612c1657600080fd5b809150509250929050565b600080600080600080600080600060a08a8c031215612c3f57600080fd5b893567ffffffffffffffff80821115612c5757600080fd5b612c638d838e01612a22565b909b50995060208c0135915080821115612c7c57600080fd5b612c888d838e01612a22565b909950975060408c0135915080821115612ca157600080fd5b612cad8d838e01612a22565b9097509550859150612cc160608d01612b0f565b945060808c0135915080821115612cd757600080fd5b50612ce48c828d01612b54565b915080935050809150509295985092959850929598565b60008060208385031215612d0e57600080fd5b823567ffffffffffffffff811115612d2557600080fd5b612d3185828601612b54565b90969095509350505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015612db0577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452612d9e8583516127f4565b94509285019290850190600101612d64565b5092979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060008060808587031215612e0257600080fd5b612e0b8561286a565b9350612e196020860161286a565b925060408501359150606085013567ffffffffffffffff80821115612e3d57600080fd5b818701915087601f830112612e5157600080fd5b813581811115612e6357612e63612dbd565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715612ea957612ea9612dbd565b816040528281528a6020848701011115612ec257600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b60008060408385031215612ef957600080fd5b612f028361286a565b9150612f106020840161286a565b90509250929050565b602081526000610cd76020830184612963565b60008060008060008060006080888a031215612f4757600080fd5b612f5088612b0f565b9650602088013567ffffffffffffffff80821115612aa557600080fd5b600181811c90821680612f8157607f821691505b602082108103612fba577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f8211156106d457600081815260208120601f850160051c81016020861015612fe75750805b601f850160051c820191505b8181101561300657828155600101612ff3565b505050505050565b67ffffffffffffffff83111561302657613026612dbd565b61303a836130348354612f6d565b83612fc0565b6000601f84116001811461308c57600085156130565750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355613122565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b828110156130db57868501358255602094850194600190920191016130bb565b5086821015613116577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6131628185612928565b6040602082015281604082015260007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83111561319e57600080fd5b8260051b8085606085013791909101606001949350505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126131ed57600080fd5b83018035915067ffffffffffffffff82111561320857600080fd5b602001915036819003821315612a6457600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361327d5761327d61321d565b5060010190565b602081016104b08284612928565b818103818111156104b0576104b061321d565b80820281158282048414176104b0576104b061321d565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000826132fa576132fa6132bc565b500690565b60008261330e5761330e6132bc565b500490565b808201808211156104b0576104b061321d565b600082516133388184602087016127d0565b9190910192915050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60608152600061339f60608301888a613342565b82810360208401526133b2818789613342565b905082810360408401526133c7818587613342565b9998505050505050505050565b815167ffffffffffffffff8111156133ee576133ee612dbd565b613402816133fc8454612f6d565b84612fc0565b602080601f831160018114613455576000841561341f5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555613006565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156134a257888601518255948401946001909101908401613483565b50858210156134de57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600073ffffffffffffffffffffffffffffffffffffffff80871683528086166020840152508360408301526080606083015261352d60808301846127f4565b9695505050505050565b60006020828403121561354957600080fd5b8151610cd78161278556fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122078f441787f11096e9e5b9cb7d7785bc623e667ca342c5fa049a603e7a2dc1ff064736f6c63430008130033" - }, - { - "transactionType": "CREATE", - "address": "0xee41378f6E695bF3551054b13a91f9703c175baB", - "initCode": "608060405234801561001057600080fd5b506040516105ef3803806105ef83398101604081905261002f9161013a565b61003833610047565b61004181610097565b5061016a565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0381163b6101185760405162461bcd60e51b815260206004820152603360248201527f5570677261646561626c65426561636f6e3a20696d706c656d656e746174696f60448201527f6e206973206e6f74206120636f6e747261637400000000000000000000000000606482015260840160405180910390fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b60006020828403121561014c57600080fd5b81516001600160a01b038116811461016357600080fd5b9392505050565b610476806101796000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c8063715018a611610050578063715018a6146100c45780638da5cb5b146100cc578063f2fde38b146100ea57600080fd5b80633659cfe61461006c5780635c60da1b14610081575b600080fd5b61007f61007a366004610403565b6100fd565b005b60015473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61007f610152565b60005473ffffffffffffffffffffffffffffffffffffffff1661009b565b61007f6100f8366004610403565b610166565b610105610222565b61010e816102a3565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b61015a610222565b610164600061038e565b565b61016e610222565b73ffffffffffffffffffffffffffffffffffffffff8116610216576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61021f8161038e565b50565b60005473ffffffffffffffffffffffffffffffffffffffff163314610164576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161020d565b73ffffffffffffffffffffffffffffffffffffffff81163b610347576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603360248201527f5570677261646561626c65426561636f6e3a20696d706c656d656e746174696f60448201527f6e206973206e6f74206120636f6e747261637400000000000000000000000000606482015260840161020d565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006020828403121561041557600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461043957600080fd5b939250505056fea264697066735822122048ebef5dea79554c6de8af09830ddb871c241a46dee33849e34fac866c5894bd64736f6c634300081300330000000000000000000000003a10db3a7e56243f29709ca0830b08bd1a9f4243" - } - ], - "isFixedGasLimit": false - }, - { - "hash": "0xb6c9723b9a1f6cc56eb2f5e4cc093b0939809a03f143a8c48731bdd59114e8e0", - "transactionType": "CREATE", - "contractName": "AccessControlSingleton", - "contractAddress": "0xD933e6768a0C86ca11DDf802932FeBD50509Ba4D", - "function": null, - "arguments": null, - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x22aa79", - "value": "0x0", - "data": "0x60a06040523060805234801561001457600080fd5b50608051611ee461004c600039600081816104d101528181610581015281816106d60152818161078601526108cb0152611ee46000f3fe6080604052600436106100dd5760003560e01c806352d1902d1161007f578063a217fddf11610059578063a217fddf146102a8578063ac9650d8146102bd578063c4d66de8146102ea578063d547741f1461030a57600080fd5b806352d1902d146101ea57806354fd4d50146101ff57806391d148541461025557600080fd5b80632f2ff15d116100bb5780632f2ff15d1461017757806336568abe146101975780633659cfe6146101b75780634f1ef286146101d757600080fd5b806301ffc9a7146100e25780631e4e009114610117578063248a9ca314610139575b600080fd5b3480156100ee57600080fd5b506101026100fd3660046118fe565b61032a565b60405190151581526020015b60405180910390f35b34801561012357600080fd5b50610137610132366004611940565b6103c3565b005b34801561014557600080fd5b50610169610154366004611962565b60009081526065602052604090206001015490565b60405190815260200161010e565b34801561018357600080fd5b506101376101923660046119a4565b6103dd565b3480156101a357600080fd5b506101376101b23660046119a4565b610402565b3480156101c357600080fd5b506101376101d23660046119d0565b6104ba565b6101376101e5366004611a1a565b6106bf565b3480156101f657600080fd5b506101696108b1565b34801561020b57600080fd5b506102486040518060400160405280600581526020017f302e312e3000000000000000000000000000000000000000000000000000000081525081565b60405161010e9190611b68565b34801561026157600080fd5b506101026102703660046119a4565b600091825260656020908152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b3480156102b457600080fd5b50610169600081565b3480156102c957600080fd5b506102dd6102d8366004611b7b565b61099d565b60405161010e9190611bf0565b3480156102f657600080fd5b506101376103053660046119d0565b610a92565b34801561031657600080fd5b506101376103253660046119a4565b610c84565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806103bd57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60006103ce81610ca9565b6103d88383610cb3565b505050565b6000828152606560205260409020600101546103f881610ca9565b6103d88383610cfe565b73ffffffffffffffffffffffffffffffffffffffff811633146104ac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b6104b68282610df2565b5050565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016300361057f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016104a3565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166105f47f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610697576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016104a3565b6106a081610ead565b604080516000808252602082019092526106bc91839190610ed7565b50565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610784576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016104a3565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166107f97f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff161461089c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016104a3565b6108a582610ead565b6104b682826001610ed7565b60003073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610978576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016104a3565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b60608167ffffffffffffffff8111156109b8576109b86119eb565b6040519080825280602002602001820160405280156109eb57816020015b60608152602001906001900390816109d65790505b50905060005b82811015610a8b57610a5b30858584818110610a0f57610a0f611c70565b9050602002810190610a219190611c9f565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506110d692505050565b828281518110610a6d57610a6d611c70565b60200260200101819052508080610a8390611d3a565b9150506109f1565b5092915050565b600054610100900460ff1615808015610ab25750600054600160ff909116105b80610acc5750303b158015610acc575060005460ff166001145b610b58576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016104a3565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610bb657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b73ffffffffffffffffffffffffffffffffffffffff8216610c03576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c0b611102565b610c13611102565b610c1e600083610cfe565b80156104b657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b600082815260656020526040902060010154610c9f81610ca9565b6103d88383610df2565b6106bc813361119b565b600082815260656020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff166104b657600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff85168452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055610d943390565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16156104b657600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e36104b681610ca9565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610f0a576103d883611255565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610f8f575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252610f8c91810190611d72565b60015b61101b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016104a3565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81146110ca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016104a3565b506103d883838361135f565b60606110fb8383604051806060016040528060278152602001611e886027913961138a565b9392505050565b600054610100900460ff16611199576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016104a3565b565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff166104b6576111db8161140f565b6111e683602061142e565b6040516020016111f7929190611d8b565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a00000000000000000000000000000000000000000000000000000000082526104a391600401611b68565b73ffffffffffffffffffffffffffffffffffffffff81163b6112f9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016104a3565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61136883611671565b6000825111806113755750805b156103d85761138483836116be565b50505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516113b49190611e0c565b600060405180830381855af49150503d80600081146113ef576040519150601f19603f3d011682016040523d82523d6000602084013e6113f4565b606091505b5091509150611405868383876117fd565b9695505050505050565b60606103bd73ffffffffffffffffffffffffffffffffffffffff831660145b6060600061143d836002611e28565b611448906002611e3f565b67ffffffffffffffff811115611460576114606119eb565b6040519080825280601f01601f19166020018201604052801561148a576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106114c1576114c1611c70565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061152457611524611c70565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000611560846002611e28565b61156b906001611e3f565b90505b6001811115611608577f303132333435363738396162636465660000000000000000000000000000000085600f16601081106115ac576115ac611c70565b1a60f81b8282815181106115c2576115c2611c70565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c9361160181611e52565b905061156e565b5083156110fb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016104a3565b61167a81611255565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606073ffffffffffffffffffffffffffffffffffffffff83163b611764576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e7472616374000000000000000000000000000000000000000000000000000060648201526084016104a3565b6000808473ffffffffffffffffffffffffffffffffffffffff168460405161178c9190611e0c565b600060405180830381855af49150503d80600081146117c7576040519150601f19603f3d011682016040523d82523d6000602084013e6117cc565b606091505b50915091506117f48282604051806060016040528060278152602001611e88602791396118a5565b95945050505050565b6060831561189357825160000361188c5773ffffffffffffffffffffffffffffffffffffffff85163b61188c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016104a3565b508161189d565b61189d83836118ba565b949350505050565b606083156118b45750816110fb565b6110fb83835b8151156118ca5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104a39190611b68565b60006020828403121561191057600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146110fb57600080fd5b6000806040838503121561195357600080fd5b50508035926020909101359150565b60006020828403121561197457600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461199f57600080fd5b919050565b600080604083850312156119b757600080fd5b823591506119c76020840161197b565b90509250929050565b6000602082840312156119e257600080fd5b6110fb8261197b565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060408385031215611a2d57600080fd5b611a368361197b565b9150602083013567ffffffffffffffff80821115611a5357600080fd5b818501915085601f830112611a6757600080fd5b813581811115611a7957611a796119eb565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715611abf57611abf6119eb565b81604052828152886020848701011115611ad857600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b83811015611b15578181015183820152602001611afd565b50506000910152565b60008151808452611b36816020860160208601611afa565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006110fb6020830184611b1e565b60008060208385031215611b8e57600080fd5b823567ffffffffffffffff80821115611ba657600080fd5b818501915085601f830112611bba57600080fd5b813581811115611bc957600080fd5b8660208260051b8501011115611bde57600080fd5b60209290920196919550909350505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015611c63577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452611c51858351611b1e565b94509285019290850190600101611c17565b5092979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611cd457600080fd5b83018035915067ffffffffffffffff821115611cef57600080fd5b602001915036819003821315611d0457600080fd5b9250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611d6b57611d6b611d0b565b5060010190565b600060208284031215611d8457600080fd5b5051919050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351611dc3816017850160208801611afa565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351611e00816028840160208801611afa565b01602801949350505050565b60008251611e1e818460208701611afa565b9190910192915050565b80820281158282048414176103bd576103bd611d0b565b808201808211156103bd576103bd611d0b565b600081611e6157611e61611d0b565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122056edbbe14415fb2ea61687a42161e7f12274d0ebd6a1f38a722858f5dca6739e64736f6c63430008130033", - "nonce": "0x22", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x01066de60670401ac2039bdd1e99b9a876709b40a99504e7720cd30060ffe123", - "transactionType": "CREATE", - "contractName": "ERC1967Proxy", - "contractAddress": "0x58eda9b5b0983f75fa887B598d7164E82791Ba21", - "function": null, - "arguments": [ - "0xD933e6768a0C86ca11DDf802932FeBD50509Ba4D", - "0xc4d66de8000000000000000000000000b6288e57bf7406b35ab4f70fd1135e907107e386" - ], - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x3bece", - "value": "0x0", - "data": "0x60806040526040516104ee3803806104ee833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c760279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60be806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea2646970667358221220a678556ae280ddf13e459fe9ecd177633ae9dbc544c45d5b523d43ba9084c8dc64736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564000000000000000000000000d933e6768a0c86ca11ddf802932febd50509ba4d00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de8000000000000000000000000b6288e57bf7406b35ab4f70fd1135e907107e38600000000000000000000000000000000000000000000000000000000", - "nonce": "0x23", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x04109af705d961b6a732641a681c2e28b1900e25a6ea4e748d93c49d9c1ad7b4", - "transactionType": "CREATE", - "contractName": "FranchiseRegistry", - "contractAddress": "0x4626Bc62A598afA131C9051917f470d7F3787A4f", - "function": null, - "arguments": [ - "0x461DF243955aD5493cFa33434c2B7CfF2C583dc7" - ], - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x3b99bf", - "value": "0x0", - "data": "0x60c0604052306080523480156200001557600080fd5b50604051620036e8380380620036e883398101604081905262000038916200013e565b620000426200007c565b6001600160a01b0381166200006a5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b031660a05262000170565b600054610100900460ff1615620000e95760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811610156200013c576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6000602082840312156200015157600080fd5b81516001600160a01b03811681146200016957600080fd5b9392505050565b60805160a05161352f620001b96000396000818161030d015261115c015260008181610afa01528181610b9001528181610ce601528181610d7c0152610eab015261352f6000f3fe6080604052600436106101965760003560e01c806354fd4d50116100e1578063b88d4fde1161008a578063c87b56dd11610064578063c87b56dd146104ff578063e985e9c51461051f578063ef647e1014610575578063fc1dad811461058a57600080fd5b8063b88d4fde14610475578063bac806d314610495578063c4d66de8146104df57600080fd5b806395d89b41116100bb57806395d89b411461042b5780639b0c6be414610440578063a22cb4651461045557600080fd5b806354fd4d50146103a55780636352211e146103eb57806370a082311461040b57600080fd5b80632c5cefa31161014357806342842e0e1161011d57806342842e0e1461034f5780634f1ef2861461036f57806352d1902d1461038257600080fd5b80632c5cefa3146102995780632dd31000146102fb5780633659cfe61461032f57600080fd5b8063095ea7b311610174578063095ea7b31461023757806319129e5a1461025957806323b872dd1461027957600080fd5b806301ffc9a71461019b57806306fdde03146101d0578063081812fc146101f2575b600080fd5b3480156101a757600080fd5b506101bb6101b6366004612cca565b6105d4565b60405190151581526020015b60405180910390f35b3480156101dc57600080fd5b506101e56106b9565b6040516101c79190612d55565b3480156101fe57600080fd5b5061021261020d366004612d68565b61074b565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101c7565b34801561024357600080fd5b50610257610252366004612da3565b61077f565b005b34801561026557600080fd5b50610257610274366004612dcf565b6108dc565b34801561028557600080fd5b50610257610294366004612dec565b610a5c565b3480156102a557600080fd5b506102126102b4366004612d68565b60009081527f5648324915b730d22cca7279385130ad43fd4829d795fb20e9ab398bfe537e90602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b34801561030757600080fd5b506102127f000000000000000000000000000000000000000000000000000000000000000081565b34801561033b57600080fd5b5061025761034a366004612dcf565b610ae3565b34801561035b57600080fd5b5061025761036a366004612dec565b610cb4565b61025761037d366004612f07565b610ccf565b34801561038e57600080fd5b50610397610e91565b6040519081526020016101c7565b3480156103b157600080fd5b5060408051808201909152600581527f302e312e3000000000000000000000000000000000000000000000000000000060208201526101e5565b3480156103f757600080fd5b50610212610406366004612d68565b610f63565b34801561041757600080fd5b50610397610426366004612dcf565b610fd5565b34801561043757600080fd5b506101e5611089565b34801561044c57600080fd5b50610212600081565b34801561046157600080fd5b50610257610470366004612f65565b611098565b34801561048157600080fd5b50610257610490366004612f9e565b6110a3565b3480156104a157600080fd5b506104b56104b0366004613053565b611131565b6040805192835273ffffffffffffffffffffffffffffffffffffffff9091166020830152016101c7565b3480156104eb57600080fd5b506102576104fa366004612dcf565b6112df565b34801561050b57600080fd5b506101e561051a366004612d68565b6114d5565b34801561052b57600080fd5b506101bb61053a3660046130ed565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260ce6020908152604080832093909416825291909152205460ff1690565b34801561058157600080fd5b50610397600081565b34801561059657600080fd5b507f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b65473ffffffffffffffffffffffffffffffffffffffff16610212565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061066757507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b806106b357507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b606060c980546106c89061311b565b80601f01602080910402602001604051908101604052809291908181526020018280546106f49061311b565b80156107415780601f1061071657610100808354040283529160200191610741565b820191906000526020600020905b81548152906001019060200180831161072457829003601f168201915b5050505050905090565b600061075682611549565b50600090815260cd602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b600061078a82610f63565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036108325760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff8216148061085b575061085b813361053a565b6108cd5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610829565b6108d783836115ba565b505050565b60006108e8813361165a565b610927576040517f75000dc000000000000000000000000000000000000000000000000000000000815260048101829052336024820152604401610829565b61096773ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000611722565b6109cd576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c0000000000000000000000000000000000006044820152606401610829565b7f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811782556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a2505050565b610a66338261173e565b610ad85760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610829565b6108d78383836117fd565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610b8e5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610829565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610c037f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610c8c5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610829565b610c9581611aaa565b60408051600080825260208201909252610cb191839190611b14565b50565b6108d7838383604051806020016040528060008152506110a3565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610d7a5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610829565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610def7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610e785760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610829565b610e8182611aaa565b610e8d82826001611b14565b5050565b60003073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610f3e5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610829565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b600081815260cb602052604081205473ffffffffffffffffffffffffffffffffffffffff16806106b35760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610829565b600073ffffffffffffffffffffffffffffffffffffffff82166110605760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e657200000000000000000000000000000000000000000000006064820152608401610829565b5073ffffffffffffffffffffffffffffffffffffffff16600090815260cc602052604090205490565b606060ca80546106c89061311b565b610e8d338383611cdf565b6110ad338361173e565b61111f5760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610829565b61112b84848484611df2565b50505050565b600080807f5648324915b730d22cca7279385130ad43fd4829d795fb20e9ab398bfe537e8f905060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166386df779e83600001600081546111a79061316e565b9190508190558c8c8c8c8c8c6040518863ffffffff1660e01b81526004016111d59796959493929190613216565b6020604051808303816000875af11580156111f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112189190613266565b82546000908152600184016020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790558254909150611278903390611e7b565b815460408051338152602081019290925273ffffffffffffffffffffffffffffffffffffffff831682820152517f0ee7716498f35cc0a42b8edb136bf88dbc529acf11a42fb9e4ec60b29638aff39181900360600190a19054999098509650505050505050565b600054610100900460ff16158080156112ff5750600054600160ff909116105b806113195750303b158015611319575060005460ff166001145b61138b5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610829565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156113e957600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6113f1611e95565b6113fa82611f14565b61146e6040518060400160405280600e81526020017f53746f72792050726f746f636f6c0000000000000000000000000000000000008152506040518060400160405280600281526020017f53500000000000000000000000000000000000000000000000000000000000008152506121ae565b8015610e8d57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15050565b60606114e082611549565b60006114f760408051602081019091526000815290565b905060008151116115175760405180602001604052806000815250611542565b8061152184612235565b604051602001611532929190613283565b6040516020818303038152906040525b9392505050565b600081815260cb602052604090205473ffffffffffffffffffffffffffffffffffffffff16610cb15760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610829565b600081815260cd6020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117909155819061161482610f63565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000807f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810187905273ffffffffffffffffffffffffffffffffffffffff86811660248301529293509116906391d1485490604401602060405180830381865afa1580156116f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061171a91906132b2565b949350505050565b600061172d836122f3565b801561154257506115428383612357565b60008061174a83610f63565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806117b8575073ffffffffffffffffffffffffffffffffffffffff808216600090815260ce602090815260408083209388168352929052205460ff165b8061171a57508373ffffffffffffffffffffffffffffffffffffffff166117de8461074b565b73ffffffffffffffffffffffffffffffffffffffff1614949350505050565b8273ffffffffffffffffffffffffffffffffffffffff1661181d82610f63565b73ffffffffffffffffffffffffffffffffffffffff16146118a65760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610829565b73ffffffffffffffffffffffffffffffffffffffff821661192e5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610829565b8273ffffffffffffffffffffffffffffffffffffffff1661194e82610f63565b73ffffffffffffffffffffffffffffffffffffffff16146119d75760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610829565b600081815260cd6020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff87811680865260cc855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190559087168086528386208054600101905586865260cb90945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3611ad5813361165a565b610e8d576040517f75000dc000000000000000000000000000000000000000000000000000000000815260048101829052336024820152604401610829565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611b47576108d783612426565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611bcc575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252611bc9918101906132cf565b60015b611c3e5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608401610829565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114611cd35760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152608401610829565b506108d7838383612516565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611d5a5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610829565b73ffffffffffffffffffffffffffffffffffffffff838116600081815260ce602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b611dfd8484846117fd565b611e098484848461253b565b61112b5760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610829565b610e8d828260405180602001604052806000815250612714565b600054610100900460ff16611f125760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610829565b565b600054610100900460ff1615808015611f345750600054600160ff909116105b80611f4e5750303b158015611f4e575060005460ff166001145b611fc05760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610829565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561201e57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61205e73ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000611722565b6120c4576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c0000000000000000000000000000000000006044820152606401610829565b7f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811782556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a2508015610e8d57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020016114c9565b600054610100900460ff1661222b5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610829565b610e8d828261279d565b6060600061224283612833565b600101905060008167ffffffffffffffff81111561226257612262612e2d565b6040519080825280601f01601f19166020018201604052801561228c576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a850494508461229657509392505050565b600061231f827f01ffc9a700000000000000000000000000000000000000000000000000000000612357565b80156106b35750612350827fffffffff00000000000000000000000000000000000000000000000000000000612357565b1592915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d9150600051905082801561240f575060208210155b801561241b5750600081115b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff81163b6124b05760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401610829565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61251f83612915565b60008251118061252c5750805b156108d75761112b8383612962565b600073ffffffffffffffffffffffffffffffffffffffff84163b15612709576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a02906125b29033908990889088906004016132e8565b6020604051808303816000875af192505050801561260b575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261260891810190613331565b60015b6126be573d808015612639576040519150601f19603f3d011682016040523d82523d6000602084013e61263e565b606091505b5080516000036126b65760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610829565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a020000000000000000000000000000000000000000000000000000000014905061171a565b506001949350505050565b61271e8383612a87565b61272b600084848461253b565b6108d75760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610829565b600054610100900460ff1661281a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610829565b60c9612826838261339c565b5060ca6108d7828261339c565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000831061287c577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef810000000083106128a8576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106128c657662386f26fc10000830492506010015b6305f5e10083106128de576305f5e100830492506008015b61271083106128f257612710830492506004015b60648310612904576064830492506002015b600a83106106b35760010192915050565b61291e81612426565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606073ffffffffffffffffffffffffffffffffffffffff83163b6129ee5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e747261637400000000000000000000000000000000000000000000000000006064820152608401610829565b6000808473ffffffffffffffffffffffffffffffffffffffff1684604051612a1691906134b6565b600060405180830381855af49150503d8060008114612a51576040519150601f19603f3d011682016040523d82523d6000602084013e612a56565b606091505b5091509150612a7e82826040518060600160405280602781526020016134d360279139612c5e565b95945050505050565b73ffffffffffffffffffffffffffffffffffffffff8216612aea5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610829565b600081815260cb602052604090205473ffffffffffffffffffffffffffffffffffffffff1615612b5c5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610829565b600081815260cb602052604090205473ffffffffffffffffffffffffffffffffffffffff1615612bce5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610829565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260cc602090815260408083208054600101905584835260cb90915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60608315612c6d575081611542565b6115428383815115612c825781518083602001fd5b8060405162461bcd60e51b81526004016108299190612d55565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610cb157600080fd5b600060208284031215612cdc57600080fd5b813561154281612c9c565b60005b83811015612d02578181015183820152602001612cea565b50506000910152565b60008151808452612d23816020860160208601612ce7565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006115426020830184612d0b565b600060208284031215612d7a57600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610cb157600080fd5b60008060408385031215612db657600080fd5b8235612dc181612d81565b946020939093013593505050565b600060208284031215612de157600080fd5b813561154281612d81565b600080600060608486031215612e0157600080fd5b8335612e0c81612d81565b92506020840135612e1c81612d81565b929592945050506040919091013590565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112612e6d57600080fd5b813567ffffffffffffffff80821115612e8857612e88612e2d565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715612ece57612ece612e2d565b81604052838152866020858801011115612ee757600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060408385031215612f1a57600080fd5b8235612f2581612d81565b9150602083013567ffffffffffffffff811115612f4157600080fd5b612f4d85828601612e5c565b9150509250929050565b8015158114610cb157600080fd5b60008060408385031215612f7857600080fd5b8235612f8381612d81565b91506020830135612f9381612f57565b809150509250929050565b60008060008060808587031215612fb457600080fd5b8435612fbf81612d81565b93506020850135612fcf81612d81565b925060408501359150606085013567ffffffffffffffff811115612ff257600080fd5b612ffe87828801612e5c565b91505092959194509250565b60008083601f84011261301c57600080fd5b50813567ffffffffffffffff81111561303457600080fd5b60208301915083602082850101111561304c57600080fd5b9250929050565b6000806000806000806060878903121561306c57600080fd5b863567ffffffffffffffff8082111561308457600080fd5b6130908a838b0161300a565b909850965060208901359150808211156130a957600080fd5b6130b58a838b0161300a565b909650945060408901359150808211156130ce57600080fd5b506130db89828a0161300a565b979a9699509497509295939492505050565b6000806040838503121561310057600080fd5b823561310b81612d81565b91506020830135612f9381612d81565b600181811c9082168061312f57607f821691505b602082108103613168577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036131c6577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b87815260806020820152600061323060808301888a6131cd565b82810360408401526132438187896131cd565b905082810360608401526132588185876131cd565b9a9950505050505050505050565b60006020828403121561327857600080fd5b815161154281612d81565b60008351613295818460208801612ce7565b8351908301906132a9818360208801612ce7565b01949350505050565b6000602082840312156132c457600080fd5b815161154281612f57565b6000602082840312156132e157600080fd5b5051919050565b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250836040830152608060608301526133276080830184612d0b565b9695505050505050565b60006020828403121561334357600080fd5b815161154281612c9c565b601f8211156108d757600081815260208120601f850160051c810160208610156133755750805b601f850160051c820191505b8181101561339457828155600101613381565b505050505050565b815167ffffffffffffffff8111156133b6576133b6612e2d565b6133ca816133c4845461311b565b8461334e565b602080601f83116001811461341d57600084156133e75750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555613394565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b8281101561346a5788860151825594840194600190910190840161344b565b50858210156134a657878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600082516134c8818460208701612ce7565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212209357ca002307b3a2a53511900e38719b2fc080dd5704844002d324a8ae8a580164736f6c63430008130033000000000000000000000000461df243955ad5493cfa33434c2b7cff2c583dc7", - "nonce": "0x24", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xb5eb7a7a51955ebaa7ff97003a04aa5692cb75012a16c977ff2c56849248de78", - "transactionType": "CREATE", - "contractName": "ERC1967Proxy", - "contractAddress": "0xf157916d184598105FE4681eC93Be0f799599003", - "function": null, - "arguments": [ - "0x4626Bc62A598afA131C9051917f470d7F3787A4f", - "0xc4d66de800000000000000000000000058eda9b5b0983f75fa887b598d7164e82791ba21" - ], - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x4d89d", - "value": "0x0", - "data": "0x60806040526040516104ee3803806104ee833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c760279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60be806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea2646970667358221220a678556ae280ddf13e459fe9ecd177633ae9dbc544c45d5b523d43ba9084c8dc64736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c65640000000000000000000000004626bc62a598afa131c9051917f470d7f3787a4f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de800000000000000000000000058eda9b5b0983f75fa887b598d7164e82791ba2100000000000000000000000000000000000000000000000000000000", - "nonce": "0x25", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x1ff041a965d11099bd330a252d3384f4ea18e9f5e49b32ccefa46ea32b39874a", - "transactionType": "CREATE", - "contractName": "ProtocolRelationshipModule", - "contractAddress": "0xf3b1129B0b2920968CBf089a88c7E6266FaE64aE", - "function": null, - "arguments": [ - "0xf157916d184598105FE4681eC93Be0f799599003" - ], - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x3febcf", - "value": "0x0", - "data": "0x60c0604052306080523480156200001557600080fd5b5060405162003afd38038062003afd833981016040819052620000389162000142565b806001600160a01b038116620000615760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03811660a0526200007862000080565b505062000174565b600054610100900460ff1615620000ed5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116101562000140576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6000602082840312156200015557600080fd5b81516001600160a01b03811681146200016d57600080fd5b9392505050565b60805160a051613940620001bd600039600081816102e50152612d290152600081816106710152818161072101528181610876015281816109260152610a6b01526139406000f3fe6080604052600436106100f35760003560e01c806382c5ae6e1161008a578063ac9650d811610059578063ac9650d81461034c578063b3ef1bbb14610379578063c4d66de814610399578063fc1dad81146103b957600080fd5b806382c5ae6e1461029357806390caf880146102b357806394f99b40146102d35780639b18554b1461032c57600080fd5b80634f1ef286116100c65780634f1ef2861461018f57806352d1902d146101a257806372fa3178146101c557806375f4252d1461027357600080fd5b806315023622146100f857806319129e5a1461012d57806335f52e921461014f5780633659cfe61461016f575b600080fd5b34801561010457600080fd5b50610118610113366004613091565b610403565b60405190151581526020015b60405180910390f35b34801561013957600080fd5b5061014d6101483660046130cf565b61045e565b005b34801561015b57600080fd5b5061014d61016a3660046130ec565b6105e3565b34801561017b57600080fd5b5061014d61018a3660046130cf565b61065a565b61014d61019d366004613183565b61085f565b3480156101ae57600080fd5b506101b7610a51565b604051908152602001610124565b3480156101d157600080fd5b506101e56101e03660046130ec565b610b3d565b6040805182518152602080840151818301528383015115158284015260608085015173ffffffffffffffffffffffffffffffffffffffff908116918401919091526080808601519091169083015260a09384015180516dffffffffffffffffffffffffffff908116958401959095529081015190931660c0820152910151151560e082015261010001610124565b34801561027f57600080fd5b5061014d61028e366004613091565b610c83565b34801561029f57600080fd5b5061014d6102ae366004613249565b610e43565b3480156102bf57600080fd5b506101186102ce366004613091565b6112e4565b3480156102df57600080fd5b506103077f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610124565b34801561033857600080fd5b5061014d6103473660046132cd565b61135c565b34801561035857600080fd5b5061036c61036736600461331c565b6113d5565b60405161012491906133ff565b34801561038557600080fd5b5061014d6103943660046130cf565b6114cb565b3480156103a557600080fd5b5061014d6103b43660046130cf565b61165f565b3480156103c557600080fd5b507f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b65473ffffffffffffffffffffffffffffffffffffffff16610307565b60007fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0b80826104318561178c565b815260208101919091526040016000205460ff1680156104575750610455836112e4565b155b9392505050565b600061046a8133611818565b6104ae576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b6104ee73ffffffffffffffffffffffffffffffffffffffff83167f7965db0b000000000000000000000000000000000000000000000000000000006118d8565b610554576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c00000000000000000000000000000000000060448201526064016104a5565b7f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811782556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a2505050565b7f637821dcee84aabec9c8cf4f6f643013a24ad27fd41511ffd937aea80d8619a961060e8133611818565b61064d576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016104a5565b610656826118f4565b5050565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016300361071f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016104a5565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166107947f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610837576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016104a5565b61084081611a3f565b6040805160008082526020820190925261085c91839190611aa9565b50565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610924576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016104a5565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166109997f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610a3c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016104a5565b610a4582611a3f565b61065682826001611aa9565b60003073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610b18576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016104a5565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b610b896040805160c0810182526000808252602080830182905282840182905260608084018390526080840183905284519081018552828152908101829052928301529060a082015290565b5060009081527fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0d6020908152604091829020825160c08101845281548152600182015481840152600282015460ff80821615158387015273ffffffffffffffffffffffffffffffffffffffff610100909204821660608085019190915260038501549092166080840152855191820186526004909301546dffffffffffffffffffffffffffff80821683526e010000000000000000000000000000820416948201949094527c010000000000000000000000000000000000000000000000000000000090930490911615159282019290925260a082015290565b608081013560009081527fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0d60205260409020600301547fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0b9073ffffffffffffffffffffffffffffffffffffffff163314610d29576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610d348361178c565b60008181526020849052604090205490915060ff16610d7f576040517f32a2f5fc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008181526020838152604090912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690556080840135907f1c597e2ff497f95acc844355a7e0266613bbc54a551e5fa01710e5ad3418e04f90610de8908601866130cf565b6020860135610dfd60608801604089016130cf565b6040805173ffffffffffffffffffffffffffffffffffffffff948516815260208101939093529216818301526060878101359082015290519081900360800190a2505050565b608083013560009081527fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0d6020526040902060048101548491906dffffffffffffffffffffffffffff1615801590610e9e575060a082013515155b15610f295760048101546dffffffffffffffffffffffffffff1660a08301351180610ef2575060048101546e01000000000000000000000000000090046dffffffffffffffffffffffffffff1660a0830135105b15610f29576040517f417de2db00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60808581013560009081527fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0d6020908152604091829020825160c08101845281548152600182015481840152600282015460ff80821615158387015273ffffffffffffffffffffffffffffffffffffffff61010090920482166060808501919091526003850154909216968301969096528451908101855260048301546dffffffffffffffffffffffffffff80821683526e010000000000000000000000000000820416948201949094527c010000000000000000000000000000000000000000000000000000000090930490941615159282019290925260a08301527fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0b91611053908890611ca8565b60028101546040517f63c7c03600000000000000000000000000000000000000000000000000000000815261010090910473ffffffffffffffffffffffffffffffffffffffff16906363c7c036906110b5908a908a908a90339060040161347f565b6020604051808303816000875af11580156110d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f89190613562565b61118a5760808701357fff0396d9569545b52312943ba44341eba3800a0d6e83ba9140283c159792839e61112f60208a018a6130cf565b60208a013561114460608c0160408d016130cf565b6040805173ffffffffffffffffffffffffffffffffffffffff9485168152602081019390935292168183015260608b8101359082015290519081900360800190a26112db565b60006111958861178c565b60008181526020858152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055805160608101825260048701546dffffffffffffffffffffffffffff80821683526e010000000000000000000000000000820416938201939093527c010000000000000000000000000000000000000000000000000000000090920460ff161515908201529192509061124690839060a08c0135611e47565b905060808901357fdac80e4156e67d10c07ce819561c6cd96452ad81db0c68e6a47a8687f3d5927161127b60208c018c6130cf565b60208c013561129060608e0160408f016130cf565b6040805173ffffffffffffffffffffffffffffffffffffffff9485168152602081019390935292168183015260608d810135908201526080810185905290519081900360a00190a250505b50505050505050565b60007fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0b817fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0c816113338661178c565b81526020019081526020016000205490508060001415801561135457504281105b949350505050565b7f637821dcee84aabec9c8cf4f6f643013a24ad27fd41511ffd937aea80d8619a96113878133611818565b6113c6576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016104a5565b6113d08383611edb565b505050565b60608167ffffffffffffffff8111156113f0576113f0613105565b60405190808252806020026020018201604052801561142357816020015b606081526020019060019003908161140e5790505b50905060005b828110156114c357611493308585848181106114475761144761357f565b905060200281019061145991906135ae565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061213f92505050565b8282815181106114a5576114a561357f565b602002602001018190525080806114bb90613649565b915050611429565b505b92915050565b600054610100900460ff16158080156114eb5750600054600160ff909116105b806115055750303b158015611505575060005460ff166001145b611591576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016104a5565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156115ef57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6115f882612164565b801561065657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15050565b600054610100900460ff161580801561167f5750600054600160ff909116105b806116995750303b158015611699575060005460ff166001145b611725576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016104a5565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561178357600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6115f8826114cb565b600061179b60208301836130cf565b60208301356117b060608501604086016130cf565b6040805173ffffffffffffffffffffffffffffffffffffffff94851660208201529081019290925290911660608083019190915283013560808083019190915283013560a082015260c001604051602081830303815290604052805190602001209050919050565b6000807f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810187905273ffffffffffffffffffffffffffffffffffffffff86811660248301529293509116906391d1485490604401602060405180830381865afa1580156118b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113549190613562565b60006118e383612418565b80156104575750610457838361247c565b60008181527fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0d60205260408120547fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0b910361197b576040517f32a2f5fc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000828152600280830160205260408083208381556001810184905591820180547fffffffffffffffffffffff0000000000000000000000000000000000000000001690556003820180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055600490910180547fffffff00000000000000000000000000000000000000000000000000000000001690555183917f72ee2f0fb0c2e5516159220d68bb62f4ee27e2eeefb237e60bf0b0e108ce349091a25050565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3611a6a8133611818565b610656576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016104a5565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611adc576113d08361254b565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611b61575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252611b5e91810190613681565b60015b611bed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016104a5565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114611c9c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016104a5565b506113d0838383612655565b8051600003611ce3576040517f32a2f5fc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080611d03611cf660208601866130cf565b8451602087013590612680565b9150915081611d3e576040517f22df284e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080611d63611d5460608801604089016130cf565b87606001358760200151612680565b9150915081611d9e576040517f03303d3200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b828015611da85750805b8015611dfb5750611dbf60608701604088016130cf565b73ffffffffffffffffffffffffffffffffffffffff16611de260208801886130cf565b73ffffffffffffffffffffffffffffffffffffffff1614155b8015611e08575084604001515b15611e3f576040517f91a3196b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050505050565b81516000907fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0b906dffffffffffffffffffffffffffff1615611ed0576000858152600182016020526040902054801580611ea2575084604001515b15611ece57611eb1844261369a565b600087815260019093016020526040909220829055509050610457565b505b506000949350505050565b6000611ee6826127b1565b905060007fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0b6000858152600282810160209081526040928390208651808255878301516001830181905588860151948301805460608b01517fffffffffffffffffffffff0000000000000000000000000000000000000000009091168715157fffffffffffffffffffffff0000000000000000000000000000000000000000ff161761010073ffffffffffffffffffffffffffffffffffffffff928316021790915560808a01516003850180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169190921617905560a0808a01518051600490950180549682015191909801516dffffffffffffffffffffffffffff9586167fffffffff00000000000000000000000000000000000000000000000000000000909716969096176e0100000000000000000000000000009590911694909402939093177fffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c0100000000000000000000000000000000000000000000000000000000941515949094029390931790945593945087937fd3d40cd5cebeb285ec945b172df2fa012d145a26c64ec9c99ffcaebc5a890c039392906120d19060c08a01908a016130cf565b60a088810151805160209182015160408051988952928801969096529315159086015273ffffffffffffffffffffffffffffffffffffffff90911660608501526dffffffffffffffffffffffffffff918216608085015291169082015260c00160405180910390a250505050565b606061045783836040518060600160405280602781526020016138e460279139612a6c565b600054610100900460ff16158080156121845750600054600160ff909116105b8061219e5750303b15801561219e575060005460ff166001145b61222a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016104a5565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561228857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6122c873ffffffffffffffffffffffffffffffffffffffff83167f7965db0b000000000000000000000000000000000000000000000000000000006118d8565b61232e576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c00000000000000000000000000000000000060448201526064016104a5565b7f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811782556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a250801561065657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602001611653565b6000612444827f01ffc9a70000000000000000000000000000000000000000000000000000000061247c565b80156114c55750612475827fffffffff0000000000000000000000000000000000000000000000000000000061247c565b1592915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015612534575060208210155b80156125405750600081115b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff81163b6125ef576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016104a5565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61265e83612af1565b60008251118061266b5750805b156113d05761267a8383612b3e565b50505050565b6040517f6352211e000000000000000000000000000000000000000000000000000000008152600481018390526000908190819073ffffffffffffffffffffffffffffffffffffffff871690636352211e90602401602060405180830381865afa1580156126f2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061271691906136ad565b73ffffffffffffffffffffffffffffffffffffffff160361273c575060009050806127a9565b61274585612c7d565b905080156127815761277a8361275a86612de6565b600681111561276b5761276b6136ca565b600160ff919091161b16151590565b91506127a9565b7f80000000000000000000000000000000000000000000000000000000000000008316151591505b935093915050565b6127fd6040805160c0810182526000808252602080830182905282840182905260608084018390526080840183905284519081018552828152908101829052928301529060a082015290565b61284d7f63c7c0360000000000000000000000000000000000000000000000000000000061283160c0850160a086016130cf565b73ffffffffffffffffffffffffffffffffffffffff16906118d8565b6128b3576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4952656c6174696f6e7368697050726f636573736f720000000000000000000060448201526064016104a5565b6128c561012083016101008401613717565b6dffffffffffffffffffffffffffff166128e6610100840160e08501613717565b6dffffffffffffffffffffffffffff16101561292e576040517f2373692000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061294060e0840160c085016130cf565b73ffffffffffffffffffffffffffffffffffffffff160361298d576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160c08101909152806129bb6129a68580613732565b6129b6604088016020890161379a565b612e49565b81526020016129e06129d06040860186613732565b6129b6608088016060890161379a565b81526020016129f560a085016080860161379a565b15158152602001612a0c60c0850160a086016130cf565b73ffffffffffffffffffffffffffffffffffffffff168152602001612a3760e0850160c086016130cf565b73ffffffffffffffffffffffffffffffffffffffff168152602001612a6436859003850160e086016137b7565b905292915050565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051612a969190613825565b600060405180830381855af49150503d8060008114612ad1576040519150601f19603f3d011682016040523d82523d6000602084013e612ad6565b606091505b5091509150612ae786838387612f80565b9695505050505050565b612afa8161254b565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606073ffffffffffffffffffffffffffffffffffffffff83163b612be4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e7472616374000000000000000000000000000000000000000000000000000060648201526084016104a5565b6000808473ffffffffffffffffffffffffffffffffffffffff1684604051612c0c9190613825565b600060405180830381855af49150503d8060008114612c47576040519150601f19603f3d011682016040523d82523d6000602084013e612c4c565b606091505b5091509150612c7482826040518060600160405280602781526020016138e460279139613020565b95945050505050565b60008173ffffffffffffffffffffffffffffffffffffffff1663b9d0787c6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612d04575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252612d0191810190613681565b60015b612d1057506000919050565b8273ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16632c5cefa3836040518263ffffffff1660e01b8152600401612d8291815260200190565b602060405180830381865afa158015612d9f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612dc391906136ad565b73ffffffffffffffffffffffffffffffffffffffff16149392505050565b919050565b6000612df764e8d4a5100083613870565b1580612e115750612e0e600664e8d4a51000613884565b82115b15612e1e57506000919050565b612e2d64e8d4a510008361389b565b612e3890600161369a565b60068111156114c5576114c56136ca565b6000828103612e84576040517f8d13b34400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805b84811015612f4f576000868683818110612ea457612ea461357f565b9050602002016020810190612eb991906138af565b6006811115612eca57612eca6136ca565b03612f01576040517f8d13b34400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b858582818110612f1357612f1361357f565b9050602002016020810190612f2891906138af565b6006811115612f3957612f396136ca565b600160ff9190911681901b929092179101612e88565b508215611354577fff0000000000000000000000000000000000000000000000000000000000000017949350505050565b6060831561301657825160000361300f5773ffffffffffffffffffffffffffffffffffffffff85163b61300f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016104a5565b5081611354565b6113548383613035565b6060831561302f575081610457565b61045783835b8151156130455781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104a591906138d0565b600060c0828403121561308b57600080fd5b50919050565b600060c082840312156130a357600080fd5b6104578383613079565b73ffffffffffffffffffffffffffffffffffffffff8116811461085c57600080fd5b6000602082840312156130e157600080fd5b8135610457816130ad565b6000602082840312156130fe57600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561317b5761317b613105565b604052919050565b6000806040838503121561319657600080fd5b82356131a1816130ad565b915060208381013567ffffffffffffffff808211156131bf57600080fd5b818601915086601f8301126131d357600080fd5b8135818111156131e5576131e5613105565b613215847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601613134565b9150808252878482850101111561322b57600080fd5b80848401858401376000848284010152508093505050509250929050565b600080600060e0848603121561325e57600080fd5b6132688585613079565b925060c084013567ffffffffffffffff8082111561328557600080fd5b818601915086601f83011261329957600080fd5b8135818111156132a857600080fd5b8760208285010111156132ba57600080fd5b6020830194508093505050509250925092565b600080604083850312156132e057600080fd5b82359150602083013567ffffffffffffffff8111156132fe57600080fd5b8301610140818603121561331157600080fd5b809150509250929050565b6000806020838503121561332f57600080fd5b823567ffffffffffffffff8082111561334757600080fd5b818501915085601f83011261335b57600080fd5b81358181111561336a57600080fd5b8660208260051b850101111561337f57600080fd5b60209290920196919550909350505050565b60005b838110156133ac578181015183820152602001613394565b50506000910152565b600081518084526133cd816020860160208601613391565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015613472577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08886030184526134608583516133b5565b94509285019290850190600101613426565b5092979650505050505050565b6000610100863561348f816130ad565b73ffffffffffffffffffffffffffffffffffffffff808216855260208901356020860152604089013591506134c3826130ad565b166040840152606087810135908401526080808801359084015260a0808801359084015260c083018190528201849052610120848682850137600085840182015273ffffffffffffffffffffffffffffffffffffffff841660e08401527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f860116830101905095945050505050565b801515811461085c57600080fd5b60006020828403121561357457600080fd5b815161045781613554565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126135e357600080fd5b83018035915067ffffffffffffffff8211156135fe57600080fd5b60200191503681900382131561361357600080fd5b9250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361367a5761367a61361a565b5060010190565b60006020828403121561369357600080fd5b5051919050565b808201808211156114c5576114c561361a565b6000602082840312156136bf57600080fd5b8151610457816130ad565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b80356dffffffffffffffffffffffffffff81168114612de157600080fd5b60006020828403121561372957600080fd5b610457826136f9565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261376757600080fd5b83018035915067ffffffffffffffff82111561378257600080fd5b6020019150600581901b360382131561361357600080fd5b6000602082840312156137ac57600080fd5b813561045781613554565b6000606082840312156137c957600080fd5b6040516060810181811067ffffffffffffffff821117156137ec576137ec613105565b6040526137f8836136f9565b8152613806602084016136f9565b6020820152604083013561381981613554565b60408201529392505050565b60008251613837818460208701613391565b9190910192915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60008261387f5761387f613841565b500690565b80820281158282048414176114c5576114c561361a565b6000826138aa576138aa613841565b500490565b6000602082840312156138c157600080fd5b81356007811061045757600080fd5b60208152600061045760208301846133b556fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212200279528c58839360854f4542e7a6ef2050183229ca2238fe35e5128cd039ead764736f6c63430008130033000000000000000000000000f157916d184598105fe4681ec93be0f799599003", - "nonce": "0x26", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x63ae9932b1a31dc97717eb268153b9148670645fbee1c1ffa2034e2435f937be", - "transactionType": "CREATE", - "contractName": "ERC1967Proxy", - "contractAddress": "0xb146cB898E95953f353bf5A50Fb8f129eC0D5AAb", - "function": null, - "arguments": [ - "0xf3b1129B0b2920968CBf089a88c7E6266FaE64aE", - "0xc4d66de800000000000000000000000058eda9b5b0983f75fa887b598d7164e82791ba21" - ], - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x3f4af", - "value": "0x0", - "data": "0x60806040526040516104ee3803806104ee833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c760279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60be806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea2646970667358221220a678556ae280ddf13e459fe9ecd177633ae9dbc544c45d5b523d43ba9084c8dc64736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564000000000000000000000000f3b1129b0b2920968cbf089a88c7e6266fae64ae00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de800000000000000000000000058eda9b5b0983f75fa887b598d7164e82791ba2100000000000000000000000000000000000000000000000000000000", - "nonce": "0x27", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x0a8fdae74c6e861b563525728e5f89d2a2aef6d6afb6a7d25eb750e53d99b8d3", - "transactionType": "CALL", - "contractName": "ERC1967Proxy", - "contractAddress": "0x58eda9b5b0983f75fa887B598d7164E82791Ba21", - "function": null, - "arguments": null, - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "to": "0x58eda9b5b0983f75fa887b598d7164e82791ba21", - "gas": "0x12f1f", - "value": "0x0", - "data": "0x2f2ff15d189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3000000000000000000000000b6288e57bf7406b35ab4f70fd1135e907107e386", - "nonce": "0x28", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x30380c4c0725b1cd52d4f3e2ae0b0a1196e1ffcd4d12c668931b530446a0a072", - "transactionType": "CALL", - "contractName": "ERC1967Proxy", - "contractAddress": "0x58eda9b5b0983f75fa887B598d7164E82791Ba21", - "function": null, - "arguments": null, - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "to": "0x58eda9b5b0983f75fa887b598d7164e82791ba21", - "gas": "0x12f1f", - "value": "0x0", - "data": "0x2f2ff15d637821dcee84aabec9c8cf4f6f643013a24ad27fd41511ffd937aea80d8619a9000000000000000000000000b6288e57bf7406b35ab4f70fd1135e907107e386", - "nonce": "0x29", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "transactionHash": "0x852e7340599d921a7ff5b7597ab2ff4fb3b4277636192dcbd67d676cf6fffcdb", - "transactionIndex": "0x2", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": null, - "cumulativeGasUsed": "0x4513fb", - "gasUsed": "0x446feb", - "contractAddress": "0x461DF243955aD5493cFa33434c2B7CfF2C583dc7", - "logs": [ - { - "address": "0x461DF243955aD5493cFa33434c2B7CfF2C583dc7", - "topics": [ - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000b6288e57bf7406b35ab4f70fd1135e907107e386" - ], - "data": "0x", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "transactionHash": "0x852e7340599d921a7ff5b7597ab2ff4fb3b4277636192dcbd67d676cf6fffcdb", - "transactionIndex": "0x2", - "logIndex": "0x0", - "removed": false - }, - { - "address": "0x3a10Db3a7E56243f29709ca0830b08bD1a9F4243", - "topics": [ - "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000000ff", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "transactionHash": "0x852e7340599d921a7ff5b7597ab2ff4fb3b4277636192dcbd67d676cf6fffcdb", - "transactionIndex": "0x2", - "logIndex": "0x1", - "removed": false - }, - { - "address": "0xee41378f6E695bF3551054b13a91f9703c175baB", - "topics": [ - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000461df243955ad5493cfa33434c2b7cff2c583dc7" - ], - "data": "0x", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "transactionHash": "0x852e7340599d921a7ff5b7597ab2ff4fb3b4277636192dcbd67d676cf6fffcdb", - "transactionIndex": "0x2", - "logIndex": "0x2", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000000000000000000000400000000000000000000000000800000100000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000020000000000001000010000000000000000000000000000000020000000000000000000800000000000080000100000000000000400000000000001008000000000000000000000000000080000010000000000000000000000100000000000000000400000000000000000000000000000000000000080000000000000000000000040000000000000001000800000000000020000200000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d0cde1" - }, - { - "transactionHash": "0xb6c9723b9a1f6cc56eb2f5e4cc093b0939809a03f143a8c48731bdd59114e8e0", - "transactionIndex": "0x3", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": null, - "cumulativeGasUsed": "0x5fc074", - "gasUsed": "0x1aac79", - "contractAddress": "0xD933e6768a0C86ca11DDf802932FeBD50509Ba4D", - "logs": [], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d0cde1" - }, - { - "transactionHash": "0x01066de60670401ac2039bdd1e99b9a876709b40a99504e7720cd30060ffe123", - "transactionIndex": "0x4", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": null, - "cumulativeGasUsed": "0x62a259", - "gasUsed": "0x2e1e5", - "contractAddress": "0x58eda9b5b0983f75fa887B598d7164E82791Ba21", - "logs": [ - { - "address": "0x58eda9b5b0983f75fa887B598d7164E82791Ba21", - "topics": [ - "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", - "0x000000000000000000000000d933e6768a0c86ca11ddf802932febd50509ba4d" - ], - "data": "0x", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "transactionHash": "0x01066de60670401ac2039bdd1e99b9a876709b40a99504e7720cd30060ffe123", - "transactionIndex": "0x4", - "logIndex": "0x3", - "removed": false - }, - { - "address": "0x58eda9b5b0983f75fa887B598d7164E82791Ba21", - "topics": [ - "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000b6288e57bf7406b35ab4f70fd1135e907107e386", - "0x000000000000000000000000b6288e57bf7406b35ab4f70fd1135e907107e386" - ], - "data": "0x", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "transactionHash": "0x01066de60670401ac2039bdd1e99b9a876709b40a99504e7720cd30060ffe123", - "transactionIndex": "0x4", - "logIndex": "0x4", - "removed": false - }, - { - "address": "0x58eda9b5b0983f75fa887B598d7164E82791Ba21", - "topics": [ - "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "transactionHash": "0x01066de60670401ac2039bdd1e99b9a876709b40a99504e7720cd30060ffe123", - "transactionIndex": "0x4", - "logIndex": "0x5", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x0000000400000000000000000000000040000000000000010000000000000000000000000000000000000200000000000000000000000000200000000000000000200000000000000000000000000200000000000000000000000000000000000000000002000000000000000000080000000000000000000000000000000000000000000000000800000000000000c000000000000080000000000000000000000000000000000000000000000400000000000000000000001000000000000000080020000000000000000000040000000000000000000100000000000020000000000000000000000000000000000000000080000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d0cde1" - }, - { - "transactionHash": "0x04109af705d961b6a732641a681c2e28b1900e25a6ea4e748d93c49d9c1ad7b4", - "transactionIndex": "0x5", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": null, - "cumulativeGasUsed": "0x907e86", - "gasUsed": "0x2ddc2d", - "contractAddress": "0x4626Bc62A598afA131C9051917f470d7F3787A4f", - "logs": [ - { - "address": "0x4626Bc62A598afA131C9051917f470d7F3787A4f", - "topics": [ - "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000000ff", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "transactionHash": "0x04109af705d961b6a732641a681c2e28b1900e25a6ea4e748d93c49d9c1ad7b4", - "transactionIndex": "0x5", - "logIndex": "0x6", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400040000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d0cde1" - }, - { - "transactionHash": "0xb5eb7a7a51955ebaa7ff97003a04aa5692cb75012a16c977ff2c56849248de78", - "transactionIndex": "0x6", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": null, - "cumulativeGasUsed": "0x943932", - "gasUsed": "0x3baac", - "contractAddress": "0xf157916d184598105FE4681eC93Be0f799599003", - "logs": [ - { - "address": "0xf157916d184598105FE4681eC93Be0f799599003", - "topics": [ - "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", - "0x0000000000000000000000004626bc62a598afa131c9051917f470d7f3787a4f" - ], - "data": "0x", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "transactionHash": "0xb5eb7a7a51955ebaa7ff97003a04aa5692cb75012a16c977ff2c56849248de78", - "transactionIndex": "0x6", - "logIndex": "0x7", - "removed": false - }, - { - "address": "0xf157916d184598105FE4681eC93Be0f799599003", - "topics": [ - "0xc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da9709", - "0x00000000000000000000000058eda9b5b0983f75fa887b598d7164e82791ba21" - ], - "data": "0x", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "transactionHash": "0xb5eb7a7a51955ebaa7ff97003a04aa5692cb75012a16c977ff2c56849248de78", - "transactionIndex": "0x6", - "logIndex": "0x8", - "removed": false - }, - { - "address": "0xf157916d184598105FE4681eC93Be0f799599003", - "topics": [ - "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "transactionHash": "0xb5eb7a7a51955ebaa7ff97003a04aa5692cb75012a16c977ff2c56849248de78", - "transactionIndex": "0x6", - "logIndex": "0x9", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000080200000000000000200000000000002000000000000000000000000000000000000000000000000000000000000000040020000000000000008000000000000000000000000000000000000008000000000000000000080000200000000000000000000000000000000000000000400000000010000000000000000000000000000000020000000000000000000040000000000000000000000000000000000000000000000001000000000000000200000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d0cde1" - }, - { - "transactionHash": "0x1ff041a965d11099bd330a252d3384f4ea18e9f5e49b32ccefa46ea32b39874a", - "transactionIndex": "0x7", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": null, - "cumulativeGasUsed": "0xc56870", - "gasUsed": "0x312f3e", - "contractAddress": "0xf3b1129B0b2920968CBf089a88c7E6266FaE64aE", - "logs": [ - { - "address": "0xf3b1129B0b2920968CBf089a88c7E6266FaE64aE", - "topics": [ - "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000000ff", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "transactionHash": "0x1ff041a965d11099bd330a252d3384f4ea18e9f5e49b32ccefa46ea32b39874a", - "transactionIndex": "0x7", - "logIndex": "0xa", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000080000000000000000000000000000000000000000000000400000002000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d0cde1" - }, - { - "transactionHash": "0x63ae9932b1a31dc97717eb268153b9148670645fbee1c1ffa2034e2435f937be", - "transactionIndex": "0x8", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": null, - "cumulativeGasUsed": "0xc873c7", - "gasUsed": "0x30b57", - "contractAddress": "0xb146cB898E95953f353bf5A50Fb8f129eC0D5AAb", - "logs": [ - { - "address": "0xb146cB898E95953f353bf5A50Fb8f129eC0D5AAb", - "topics": [ - "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", - "0x000000000000000000000000f3b1129b0b2920968cbf089a88c7e6266fae64ae" - ], - "data": "0x", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "transactionHash": "0x63ae9932b1a31dc97717eb268153b9148670645fbee1c1ffa2034e2435f937be", - "transactionIndex": "0x8", - "logIndex": "0xb", - "removed": false - }, - { - "address": "0xb146cB898E95953f353bf5A50Fb8f129eC0D5AAb", - "topics": [ - "0xc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da9709", - "0x00000000000000000000000058eda9b5b0983f75fa887b598d7164e82791ba21" - ], - "data": "0x", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "transactionHash": "0x63ae9932b1a31dc97717eb268153b9148670645fbee1c1ffa2034e2435f937be", - "transactionIndex": "0x8", - "logIndex": "0xc", - "removed": false - }, - { - "address": "0xb146cB898E95953f353bf5A50Fb8f129eC0D5AAb", - "topics": [ - "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "transactionHash": "0x63ae9932b1a31dc97717eb268153b9148670645fbee1c1ffa2034e2435f937be", - "transactionIndex": "0x8", - "logIndex": "0xd", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000400000000000000000000000000000000000020000000000000000000000000000000000000080000000000000000080200200000000000000008000000002000000000000000000000000000000000000000000000000000000000000000040020000000000010000000000000000000000000000000000000000008000000000000000000080000000000000000000000000000000000000000000000400000000010000000000000000000000000000000020000000000000000000040000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d0cde1" - }, - { - "transactionHash": "0x0a8fdae74c6e861b563525728e5f89d2a2aef6d6afb6a7d25eb750e53d99b8d3", - "transactionIndex": "0x9", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": "0x58eda9b5b0983f75fa887B598d7164E82791Ba21", - "cumulativeGasUsed": "0xc94f3c", - "gasUsed": "0xdb75", - "contractAddress": null, - "logs": [ - { - "address": "0x58eda9b5b0983f75fa887B598d7164E82791Ba21", - "topics": [ - "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", - "0x189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3", - "0x000000000000000000000000b6288e57bf7406b35ab4f70fd1135e907107e386", - "0x000000000000000000000000b6288e57bf7406b35ab4f70fd1135e907107e386" - ], - "data": "0x", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "transactionHash": "0x0a8fdae74c6e861b563525728e5f89d2a2aef6d6afb6a7d25eb750e53d99b8d3", - "transactionIndex": "0x9", - "logIndex": "0xe", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000004000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000002000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000008000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000080000000000000000000000000000000000000000000100000000000000000080000000000000000000000000000000000080000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d0cde1" - }, - { - "transactionHash": "0x30380c4c0725b1cd52d4f3e2ae0b0a1196e1ffcd4d12c668931b530446a0a072", - "transactionIndex": "0xa", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": "0x58eda9b5b0983f75fa887B598d7164E82791Ba21", - "cumulativeGasUsed": "0xca2ab1", - "gasUsed": "0xdb75", - "contractAddress": null, - "logs": [ - { - "address": "0x58eda9b5b0983f75fa887B598d7164E82791Ba21", - "topics": [ - "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", - "0x637821dcee84aabec9c8cf4f6f643013a24ad27fd41511ffd937aea80d8619a9", - "0x000000000000000000000000b6288e57bf7406b35ab4f70fd1135e907107e386", - "0x000000000000000000000000b6288e57bf7406b35ab4f70fd1135e907107e386" - ], - "data": "0x", - "blockHash": "0xbda0fe4ed0eb77c0b0c3b40379422aa722009fcef7657ffaed85b38ea1f90d57", - "blockNumber": "0x8f781c", - "transactionHash": "0x30380c4c0725b1cd52d4f3e2ae0b0a1196e1ffcd4d12c668931b530446a0a072", - "transactionIndex": "0xa", - "logIndex": "0xf", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000004008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000010000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000008000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000080000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000080000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d0cde1" - } - ], - "libraries": [], - "pending": [], - "path": "/Users/drmanhattan/Workspace/StoryProtocol/protocol-contracts/broadcast/Deploy.s.sol/5/run-latest.json", - "returns": {}, - "timestamp": 1690240178, - "chain": 5, - "multi": false, - "commit": "2954e6f" -} \ No newline at end of file diff --git a/broadcast/DeployRelationshipProcessors.s.sol/5/run-1690243337.json b/broadcast/DeployRelationshipProcessors.s.sol/5/run-1690243337.json deleted file mode 100644 index 01ebe2e8..00000000 --- a/broadcast/DeployRelationshipProcessors.s.sol/5/run-1690243337.json +++ /dev/null @@ -1,106 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x5b6a6e6b0f6070fd3ec4a8edd5acbd263c92ce002c141c4d9803dde0e93a85d3", - "transactionType": "CREATE", - "contractName": "PermissionlessRelationshipProcessor", - "contractAddress": "0xA5ee53c74f75bB4A149c55d8A24E5dF563897B0f", - "function": null, - "arguments": [ - "0xb146cB898E95953f353bf5A50Fb8f129eC0D5AAb" - ], - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x4dd59", - "value": "0x0", - "data": "0x60a060405234801561001057600080fd5b5060405161042c38038061042c83398101604081905261002f91610069565b806001600160a01b0381166100575760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b031660805250610099565b60006020828403121561007b57600080fd5b81516001600160a01b038116811461009257600080fd5b9392505050565b6080516103786100b4600039600061012801526103786000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806301ffc9a71461003b57806363c7c03614610062575b600080fd5b61004e61004936600461018a565b610075565b604051901515815260200160405180910390f35b61004e610070366004610245565b61010e565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316148061010857507fffffffff0000000000000000000000000000000000000000000000000000000082167f63c7c03600000000000000000000000000000000000000000000000000000000145b92915050565b60003373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461017f576040517f482aa9df00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600195945050505050565b60006020828403121561019c57600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146101cc57600080fd5b9392505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146101f757600080fd5b919050565b60008083601f84011261020e57600080fd5b50813567ffffffffffffffff81111561022657600080fd5b60208301915083602082850101111561023e57600080fd5b9250929050565b60008060008084860361010081121561025d57600080fd5b60c081121561026b57600080fd5b5060405160c0810167ffffffffffffffff82821081831117156102b7577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b816040526102c4886101d3565b8352602088013560208401526102dc604089016101d3565b6040840152606088013560608401526080880135608084015260a088013560a084015282965060c088013592508083111561031657600080fd5b5050610324878288016101fc565b9094509250610337905060e086016101d3565b90509295919450925056fea2646970667358221220f6412b6052f37fddfe439efdb208414c3adb630502a25284b04b881febdc938464736f6c63430008130033000000000000000000000000b146cb898e95953f353bf5a50fb8f129ec0d5aab", - "nonce": "0x2a", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xfd3129dcfcf2f280e84b651a90204398e80ea8fab047c3ab23eadc365a6b39b7", - "transactionType": "CREATE", - "contractName": "DstOwnerRelationshipProcessor", - "contractAddress": "0x2890a4263BA12c6d6241CfC5c8D762B828041b86", - "function": null, - "arguments": [ - "0xb146cB898E95953f353bf5A50Fb8f129eC0D5AAb" - ], - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x6203b", - "value": "0x0", - "data": "0x60a060405234801561001057600080fd5b5060405161055438038061055483398101604081905261002f91610069565b806001600160a01b0381166100575760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b031660805250610099565b60006020828403121561007b57600080fd5b81516001600160a01b038116811461009257600080fd5b9392505050565b6080516104a06100b4600039600061012801526104a06000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806301ffc9a71461003b57806363c7c03614610062575b600080fd5b61004e610049366004610289565b610075565b604051901515815260200160405180910390f35b61004e610070366004610350565b61010e565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316148061010857507fffffffff0000000000000000000000000000000000000000000000000000000082167f63c7c03600000000000000000000000000000000000000000000000000000000145b92915050565b60003373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461017f576040517f482aa9df00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61018b85858585610194565b95945050505050565b60008173ffffffffffffffffffffffffffffffffffffffff16856040015173ffffffffffffffffffffffffffffffffffffffff16636352211e87606001516040518263ffffffff1660e01b81526004016101f091815260200190565b602060405180830381865afa15801561020d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610231919061044d565b73ffffffffffffffffffffffffffffffffffffffff161461027e576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506001949350505050565b60006020828403121561029b57600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146102cb57600080fd5b9392505050565b73ffffffffffffffffffffffffffffffffffffffff811681146102f457600080fd5b50565b8035610302816102d2565b919050565b60008083601f84011261031957600080fd5b50813567ffffffffffffffff81111561033157600080fd5b60208301915083602082850101111561034957600080fd5b9250929050565b60008060008084860361010081121561036857600080fd5b60c081121561037657600080fd5b5060405160c0810167ffffffffffffffff82821081831117156103c2577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b816040526103cf886102f7565b8352602088013560208401526103e7604089016102f7565b6040840152606088013560608401526080880135608084015260a088013560a084015282965060c088013592508083111561042157600080fd5b505061042f87828801610307565b9094509250610442905060e086016102f7565b905092959194509250565b60006020828403121561045f57600080fd5b81516102cb816102d256fea26469706673582212200206dda8b29b29204f2197b471ad2307f1dd9fb0f928af91ae4c27486c5338ee64736f6c63430008130033000000000000000000000000b146cb898e95953f353bf5a50fb8f129ec0d5aab", - "nonce": "0x2b", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x564757fdaf26d7c715f15267e921d8fd7798a8d95d8475a9710ab307b1312e25", - "transactionType": "CREATE", - "contractName": "SrcOwnerRelationshipProcessor", - "contractAddress": "0x5183ac89c1C9DeAADF856eED897fCd138C3083e2", - "function": null, - "arguments": [ - "0xb146cB898E95953f353bf5A50Fb8f129eC0D5AAb" - ], - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x62523", - "value": "0x0", - "data": "0x60a060405234801561001057600080fd5b5060405161055a38038061055a83398101604081905261002f91610069565b806001600160a01b0381166100575760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b031660805250610099565b60006020828403121561007b57600080fd5b81516001600160a01b038116811461009257600080fd5b9392505050565b6080516104a66100b4600039600061012801526104a66000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806301ffc9a71461003b57806363c7c03614610062575b600080fd5b61004e61004936600461028f565b610075565b604051901515815260200160405180910390f35b61004e610070366004610356565b61010e565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316148061010857507fffffffff0000000000000000000000000000000000000000000000000000000082167f63c7c03600000000000000000000000000000000000000000000000000000000145b92915050565b60003373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461017f576040517f482aa9df00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61018b85858585610194565b95945050505050565b835160208501516040517f6352211e00000000000000000000000000000000000000000000000000000000815260009273ffffffffffffffffffffffffffffffffffffffff80861693911691636352211e916101f69160040190815260200190565b602060405180830381865afa158015610213573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102379190610453565b73ffffffffffffffffffffffffffffffffffffffff1614610284576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506001949350505050565b6000602082840312156102a157600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146102d157600080fd5b9392505050565b73ffffffffffffffffffffffffffffffffffffffff811681146102fa57600080fd5b50565b8035610308816102d8565b919050565b60008083601f84011261031f57600080fd5b50813567ffffffffffffffff81111561033757600080fd5b60208301915083602082850101111561034f57600080fd5b9250929050565b60008060008084860361010081121561036e57600080fd5b60c081121561037c57600080fd5b5060405160c0810167ffffffffffffffff82821081831117156103c8577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b816040526103d5886102fd565b8352602088013560208401526103ed604089016102fd565b6040840152606088013560608401526080880135608084015260a088013560a084015282965060c088013592508083111561042757600080fd5b50506104358782880161030d565b9094509250610448905060e086016102fd565b905092959194509250565b60006020828403121561046557600080fd5b81516102d1816102d856fea26469706673582212208b0631f0b52b9a87af4d902423a9f41e6b0399ae82e1013444a642d50440bca864736f6c63430008130033000000000000000000000000b146cb898e95953f353bf5a50fb8f129ec0d5aab", - "nonce": "0x2c", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xe3a74f29e2969528bc4a85ef00287b7e11e9d15968ac0e3a14df1c89323b96be", - "transactionType": "CREATE", - "contractName": "SrcDstOwnerRelationshipProcessor", - "contractAddress": "0xc6e3e7844E103116E3CA06aae3a02fde908F7c1a", - "function": null, - "arguments": [ - "0xb146cB898E95953f353bf5A50Fb8f129eC0D5AAb" - ], - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x6f36a", - "value": "0x0", - "data": "0x60a060405234801561001057600080fd5b5060405161061638038061061683398101604081905261002f91610069565b806001600160a01b0381166100575760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b031660805250610099565b60006020828403121561007b57600080fd5b81516001600160a01b038116811461009257600080fd5b9392505050565b6080516105626100b4600039600061012801526105626000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806301ffc9a71461003b57806363c7c03614610062575b600080fd5b61004e61004936600461034b565b610075565b604051901515815260200160405180910390f35b61004e610070366004610412565b61010e565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316148061010857507fffffffff0000000000000000000000000000000000000000000000000000000082167f63c7c03600000000000000000000000000000000000000000000000000000000145b92915050565b60003373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461017f576040517f482aa9df00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61018b85858585610194565b95945050505050565b835160208501516040517f6352211e00000000000000000000000000000000000000000000000000000000815260009273ffffffffffffffffffffffffffffffffffffffff80861693911691636352211e916101f69160040190815260200190565b602060405180830381865afa158015610213573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610237919061050f565b73ffffffffffffffffffffffffffffffffffffffff1614158061030957508173ffffffffffffffffffffffffffffffffffffffff16856040015173ffffffffffffffffffffffffffffffffffffffff16636352211e87606001516040518263ffffffff1660e01b81526004016102af91815260200190565b602060405180830381865afa1580156102cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102f0919061050f565b73ffffffffffffffffffffffffffffffffffffffff1614155b15610340576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506001949350505050565b60006020828403121561035d57600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461038d57600080fd5b9392505050565b73ffffffffffffffffffffffffffffffffffffffff811681146103b657600080fd5b50565b80356103c481610394565b919050565b60008083601f8401126103db57600080fd5b50813567ffffffffffffffff8111156103f357600080fd5b60208301915083602082850101111561040b57600080fd5b9250929050565b60008060008084860361010081121561042a57600080fd5b60c081121561043857600080fd5b5060405160c0810167ffffffffffffffff8282108183111715610484577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b81604052610491886103b9565b8352602088013560208401526104a9604089016103b9565b6040840152606088013560608401526080880135608084015260a088013560a084015282965060c08801359250808311156104e357600080fd5b50506104f1878288016103c9565b9094509250610504905060e086016103b9565b905092959194509250565b60006020828403121561052157600080fd5b815161038d8161039456fea26469706673582212200571b0010f9774308e7a616c7cda803ad295b361e3c550095ffc216da33415f464736f6c63430008130033000000000000000000000000b146cb898e95953f353bf5a50fb8f129ec0d5aab", - "nonce": "0x2d", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [], - "libraries": [], - "pending": [ - "0x5b6a6e6b0f6070fd3ec4a8edd5acbd263c92ce002c141c4d9803dde0e93a85d3", - "0xfd3129dcfcf2f280e84b651a90204398e80ea8fab047c3ab23eadc365a6b39b7", - "0x564757fdaf26d7c715f15267e921d8fd7798a8d95d8475a9710ab307b1312e25", - "0xe3a74f29e2969528bc4a85ef00287b7e11e9d15968ac0e3a14df1c89323b96be" - ], - "path": "/Users/drmanhattan/Workspace/StoryProtocol/protocol-contracts/broadcast/DeployRelationshipProcessors.s.sol/5/run-latest.json", - "returns": {}, - "timestamp": 1690243337, - "chain": 5, - "multi": false, - "commit": "1fb226b" -} \ No newline at end of file diff --git a/broadcast/DeployRelationshipProcessors.s.sol/5/run-1690243350.json b/broadcast/DeployRelationshipProcessors.s.sol/5/run-1690243350.json deleted file mode 100644 index b1e3c702..00000000 --- a/broadcast/DeployRelationshipProcessors.s.sol/5/run-1690243350.json +++ /dev/null @@ -1,166 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x5b6a6e6b0f6070fd3ec4a8edd5acbd263c92ce002c141c4d9803dde0e93a85d3", - "transactionType": "CREATE", - "contractName": "PermissionlessRelationshipProcessor", - "contractAddress": "0xA5ee53c74f75bB4A149c55d8A24E5dF563897B0f", - "function": null, - "arguments": [ - "0xb146cB898E95953f353bf5A50Fb8f129eC0D5AAb" - ], - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x4dd59", - "value": "0x0", - "data": "0x60a060405234801561001057600080fd5b5060405161042c38038061042c83398101604081905261002f91610069565b806001600160a01b0381166100575760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b031660805250610099565b60006020828403121561007b57600080fd5b81516001600160a01b038116811461009257600080fd5b9392505050565b6080516103786100b4600039600061012801526103786000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806301ffc9a71461003b57806363c7c03614610062575b600080fd5b61004e61004936600461018a565b610075565b604051901515815260200160405180910390f35b61004e610070366004610245565b61010e565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316148061010857507fffffffff0000000000000000000000000000000000000000000000000000000082167f63c7c03600000000000000000000000000000000000000000000000000000000145b92915050565b60003373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461017f576040517f482aa9df00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600195945050505050565b60006020828403121561019c57600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146101cc57600080fd5b9392505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146101f757600080fd5b919050565b60008083601f84011261020e57600080fd5b50813567ffffffffffffffff81111561022657600080fd5b60208301915083602082850101111561023e57600080fd5b9250929050565b60008060008084860361010081121561025d57600080fd5b60c081121561026b57600080fd5b5060405160c0810167ffffffffffffffff82821081831117156102b7577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b816040526102c4886101d3565b8352602088013560208401526102dc604089016101d3565b6040840152606088013560608401526080880135608084015260a088013560a084015282965060c088013592508083111561031657600080fd5b5050610324878288016101fc565b9094509250610337905060e086016101d3565b90509295919450925056fea2646970667358221220f6412b6052f37fddfe439efdb208414c3adb630502a25284b04b881febdc938464736f6c63430008130033000000000000000000000000b146cb898e95953f353bf5a50fb8f129ec0d5aab", - "nonce": "0x2a", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xfd3129dcfcf2f280e84b651a90204398e80ea8fab047c3ab23eadc365a6b39b7", - "transactionType": "CREATE", - "contractName": "DstOwnerRelationshipProcessor", - "contractAddress": "0x2890a4263BA12c6d6241CfC5c8D762B828041b86", - "function": null, - "arguments": [ - "0xb146cB898E95953f353bf5A50Fb8f129eC0D5AAb" - ], - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x6203b", - "value": "0x0", - "data": "0x60a060405234801561001057600080fd5b5060405161055438038061055483398101604081905261002f91610069565b806001600160a01b0381166100575760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b031660805250610099565b60006020828403121561007b57600080fd5b81516001600160a01b038116811461009257600080fd5b9392505050565b6080516104a06100b4600039600061012801526104a06000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806301ffc9a71461003b57806363c7c03614610062575b600080fd5b61004e610049366004610289565b610075565b604051901515815260200160405180910390f35b61004e610070366004610350565b61010e565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316148061010857507fffffffff0000000000000000000000000000000000000000000000000000000082167f63c7c03600000000000000000000000000000000000000000000000000000000145b92915050565b60003373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461017f576040517f482aa9df00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61018b85858585610194565b95945050505050565b60008173ffffffffffffffffffffffffffffffffffffffff16856040015173ffffffffffffffffffffffffffffffffffffffff16636352211e87606001516040518263ffffffff1660e01b81526004016101f091815260200190565b602060405180830381865afa15801561020d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610231919061044d565b73ffffffffffffffffffffffffffffffffffffffff161461027e576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506001949350505050565b60006020828403121561029b57600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146102cb57600080fd5b9392505050565b73ffffffffffffffffffffffffffffffffffffffff811681146102f457600080fd5b50565b8035610302816102d2565b919050565b60008083601f84011261031957600080fd5b50813567ffffffffffffffff81111561033157600080fd5b60208301915083602082850101111561034957600080fd5b9250929050565b60008060008084860361010081121561036857600080fd5b60c081121561037657600080fd5b5060405160c0810167ffffffffffffffff82821081831117156103c2577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b816040526103cf886102f7565b8352602088013560208401526103e7604089016102f7565b6040840152606088013560608401526080880135608084015260a088013560a084015282965060c088013592508083111561042157600080fd5b505061042f87828801610307565b9094509250610442905060e086016102f7565b905092959194509250565b60006020828403121561045f57600080fd5b81516102cb816102d256fea26469706673582212200206dda8b29b29204f2197b471ad2307f1dd9fb0f928af91ae4c27486c5338ee64736f6c63430008130033000000000000000000000000b146cb898e95953f353bf5a50fb8f129ec0d5aab", - "nonce": "0x2b", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x564757fdaf26d7c715f15267e921d8fd7798a8d95d8475a9710ab307b1312e25", - "transactionType": "CREATE", - "contractName": "SrcOwnerRelationshipProcessor", - "contractAddress": "0x5183ac89c1C9DeAADF856eED897fCd138C3083e2", - "function": null, - "arguments": [ - "0xb146cB898E95953f353bf5A50Fb8f129eC0D5AAb" - ], - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x62523", - "value": "0x0", - "data": "0x60a060405234801561001057600080fd5b5060405161055a38038061055a83398101604081905261002f91610069565b806001600160a01b0381166100575760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b031660805250610099565b60006020828403121561007b57600080fd5b81516001600160a01b038116811461009257600080fd5b9392505050565b6080516104a66100b4600039600061012801526104a66000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806301ffc9a71461003b57806363c7c03614610062575b600080fd5b61004e61004936600461028f565b610075565b604051901515815260200160405180910390f35b61004e610070366004610356565b61010e565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316148061010857507fffffffff0000000000000000000000000000000000000000000000000000000082167f63c7c03600000000000000000000000000000000000000000000000000000000145b92915050565b60003373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461017f576040517f482aa9df00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61018b85858585610194565b95945050505050565b835160208501516040517f6352211e00000000000000000000000000000000000000000000000000000000815260009273ffffffffffffffffffffffffffffffffffffffff80861693911691636352211e916101f69160040190815260200190565b602060405180830381865afa158015610213573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102379190610453565b73ffffffffffffffffffffffffffffffffffffffff1614610284576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506001949350505050565b6000602082840312156102a157600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146102d157600080fd5b9392505050565b73ffffffffffffffffffffffffffffffffffffffff811681146102fa57600080fd5b50565b8035610308816102d8565b919050565b60008083601f84011261031f57600080fd5b50813567ffffffffffffffff81111561033757600080fd5b60208301915083602082850101111561034f57600080fd5b9250929050565b60008060008084860361010081121561036e57600080fd5b60c081121561037c57600080fd5b5060405160c0810167ffffffffffffffff82821081831117156103c8577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b816040526103d5886102fd565b8352602088013560208401526103ed604089016102fd565b6040840152606088013560608401526080880135608084015260a088013560a084015282965060c088013592508083111561042757600080fd5b50506104358782880161030d565b9094509250610448905060e086016102fd565b905092959194509250565b60006020828403121561046557600080fd5b81516102d1816102d856fea26469706673582212208b0631f0b52b9a87af4d902423a9f41e6b0399ae82e1013444a642d50440bca864736f6c63430008130033000000000000000000000000b146cb898e95953f353bf5a50fb8f129ec0d5aab", - "nonce": "0x2c", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xe3a74f29e2969528bc4a85ef00287b7e11e9d15968ac0e3a14df1c89323b96be", - "transactionType": "CREATE", - "contractName": "SrcDstOwnerRelationshipProcessor", - "contractAddress": "0xc6e3e7844E103116E3CA06aae3a02fde908F7c1a", - "function": null, - "arguments": [ - "0xb146cB898E95953f353bf5A50Fb8f129eC0D5AAb" - ], - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x6f36a", - "value": "0x0", - "data": "0x60a060405234801561001057600080fd5b5060405161061638038061061683398101604081905261002f91610069565b806001600160a01b0381166100575760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b031660805250610099565b60006020828403121561007b57600080fd5b81516001600160a01b038116811461009257600080fd5b9392505050565b6080516105626100b4600039600061012801526105626000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806301ffc9a71461003b57806363c7c03614610062575b600080fd5b61004e61004936600461034b565b610075565b604051901515815260200160405180910390f35b61004e610070366004610412565b61010e565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316148061010857507fffffffff0000000000000000000000000000000000000000000000000000000082167f63c7c03600000000000000000000000000000000000000000000000000000000145b92915050565b60003373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461017f576040517f482aa9df00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61018b85858585610194565b95945050505050565b835160208501516040517f6352211e00000000000000000000000000000000000000000000000000000000815260009273ffffffffffffffffffffffffffffffffffffffff80861693911691636352211e916101f69160040190815260200190565b602060405180830381865afa158015610213573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610237919061050f565b73ffffffffffffffffffffffffffffffffffffffff1614158061030957508173ffffffffffffffffffffffffffffffffffffffff16856040015173ffffffffffffffffffffffffffffffffffffffff16636352211e87606001516040518263ffffffff1660e01b81526004016102af91815260200190565b602060405180830381865afa1580156102cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102f0919061050f565b73ffffffffffffffffffffffffffffffffffffffff1614155b15610340576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506001949350505050565b60006020828403121561035d57600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461038d57600080fd5b9392505050565b73ffffffffffffffffffffffffffffffffffffffff811681146103b657600080fd5b50565b80356103c481610394565b919050565b60008083601f8401126103db57600080fd5b50813567ffffffffffffffff8111156103f357600080fd5b60208301915083602082850101111561040b57600080fd5b9250929050565b60008060008084860361010081121561042a57600080fd5b60c081121561043857600080fd5b5060405160c0810167ffffffffffffffff8282108183111715610484577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b81604052610491886103b9565b8352602088013560208401526104a9604089016103b9565b6040840152606088013560608401526080880135608084015260a088013560a084015282965060c08801359250808311156104e357600080fd5b50506104f1878288016103c9565b9094509250610504905060e086016103b9565b905092959194509250565b60006020828403121561052157600080fd5b815161038d8161039456fea26469706673582212200571b0010f9774308e7a616c7cda803ad295b361e3c550095ffc216da33415f464736f6c63430008130033000000000000000000000000b146cb898e95953f353bf5a50fb8f129ec0d5aab", - "nonce": "0x2d", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "transactionHash": "0x5b6a6e6b0f6070fd3ec4a8edd5acbd263c92ce002c141c4d9803dde0e93a85d3", - "transactionIndex": "0x0", - "blockHash": "0x1ebb03c1bff97fd593e0eb4b91e3a6c07bfeafe7524fc56587ee57c43c7545e6", - "blockNumber": "0x8f78f9", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": null, - "cumulativeGasUsed": "0x3be3c", - "gasUsed": "0x3be3c", - "contractAddress": "0xA5ee53c74f75bB4A149c55d8A24E5dF563897B0f", - "logs": [], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d05ea4" - }, - { - "transactionHash": "0xfd3129dcfcf2f280e84b651a90204398e80ea8fab047c3ab23eadc365a6b39b7", - "transactionIndex": "0x1", - "blockHash": "0x1ebb03c1bff97fd593e0eb4b91e3a6c07bfeafe7524fc56587ee57c43c7545e6", - "blockNumber": "0x8f78f9", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": null, - "cumulativeGasUsed": "0x874e9", - "gasUsed": "0x4b6ad", - "contractAddress": "0x2890a4263BA12c6d6241CfC5c8D762B828041b86", - "logs": [], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d05ea4" - }, - { - "transactionHash": "0x564757fdaf26d7c715f15267e921d8fd7798a8d95d8475a9710ab307b1312e25", - "transactionIndex": "0x2", - "blockHash": "0x1ebb03c1bff97fd593e0eb4b91e3a6c07bfeafe7524fc56587ee57c43c7545e6", - "blockNumber": "0x8f78f9", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": null, - "cumulativeGasUsed": "0xd2f5c", - "gasUsed": "0x4ba73", - "contractAddress": "0x5183ac89c1C9DeAADF856eED897fCd138C3083e2", - "logs": [], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d05ea4" - }, - { - "transactionHash": "0xe3a74f29e2969528bc4a85ef00287b7e11e9d15968ac0e3a14df1c89323b96be", - "transactionIndex": "0x3", - "blockHash": "0x1ebb03c1bff97fd593e0eb4b91e3a6c07bfeafe7524fc56587ee57c43c7545e6", - "blockNumber": "0x8f78f9", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": null, - "cumulativeGasUsed": "0x128888", - "gasUsed": "0x5592c", - "contractAddress": "0xc6e3e7844E103116E3CA06aae3a02fde908F7c1a", - "logs": [], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d05ea4" - } - ], - "libraries": [], - "pending": [], - "path": "/Users/drmanhattan/Workspace/StoryProtocol/protocol-contracts/broadcast/DeployRelationshipProcessors.s.sol/5/run-latest.json", - "returns": {}, - "timestamp": 1690243350, - "chain": 5, - "multi": false, - "commit": "1fb226b" -} \ No newline at end of file diff --git a/broadcast/DeployRelationshipProcessors.s.sol/5/run-1690243435.json b/broadcast/DeployRelationshipProcessors.s.sol/5/run-1690243435.json deleted file mode 100644 index afb09599..00000000 --- a/broadcast/DeployRelationshipProcessors.s.sol/5/run-1690243435.json +++ /dev/null @@ -1,166 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x5b6a6e6b0f6070fd3ec4a8edd5acbd263c92ce002c141c4d9803dde0e93a85d3", - "transactionType": "CREATE", - "contractName": "PermissionlessRelationshipProcessor", - "contractAddress": "0xA5ee53c74f75bB4A149c55d8A24E5dF563897B0f", - "function": null, - "arguments": [ - "0xb146cB898E95953f353bf5A50Fb8f129eC0D5AAb" - ], - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x4dd59", - "value": "0x0", - "data": "0x60a060405234801561001057600080fd5b5060405161042c38038061042c83398101604081905261002f91610069565b806001600160a01b0381166100575760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b031660805250610099565b60006020828403121561007b57600080fd5b81516001600160a01b038116811461009257600080fd5b9392505050565b6080516103786100b4600039600061012801526103786000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806301ffc9a71461003b57806363c7c03614610062575b600080fd5b61004e61004936600461018a565b610075565b604051901515815260200160405180910390f35b61004e610070366004610245565b61010e565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316148061010857507fffffffff0000000000000000000000000000000000000000000000000000000082167f63c7c03600000000000000000000000000000000000000000000000000000000145b92915050565b60003373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461017f576040517f482aa9df00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600195945050505050565b60006020828403121561019c57600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146101cc57600080fd5b9392505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146101f757600080fd5b919050565b60008083601f84011261020e57600080fd5b50813567ffffffffffffffff81111561022657600080fd5b60208301915083602082850101111561023e57600080fd5b9250929050565b60008060008084860361010081121561025d57600080fd5b60c081121561026b57600080fd5b5060405160c0810167ffffffffffffffff82821081831117156102b7577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b816040526102c4886101d3565b8352602088013560208401526102dc604089016101d3565b6040840152606088013560608401526080880135608084015260a088013560a084015282965060c088013592508083111561031657600080fd5b5050610324878288016101fc565b9094509250610337905060e086016101d3565b90509295919450925056fea2646970667358221220f6412b6052f37fddfe439efdb208414c3adb630502a25284b04b881febdc938464736f6c63430008130033000000000000000000000000b146cb898e95953f353bf5a50fb8f129ec0d5aab", - "nonce": "0x2a", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xfd3129dcfcf2f280e84b651a90204398e80ea8fab047c3ab23eadc365a6b39b7", - "transactionType": "CREATE", - "contractName": "DstOwnerRelationshipProcessor", - "contractAddress": "0x2890a4263BA12c6d6241CfC5c8D762B828041b86", - "function": null, - "arguments": [ - "0xb146cB898E95953f353bf5A50Fb8f129eC0D5AAb" - ], - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x6203b", - "value": "0x0", - "data": "0x60a060405234801561001057600080fd5b5060405161055438038061055483398101604081905261002f91610069565b806001600160a01b0381166100575760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b031660805250610099565b60006020828403121561007b57600080fd5b81516001600160a01b038116811461009257600080fd5b9392505050565b6080516104a06100b4600039600061012801526104a06000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806301ffc9a71461003b57806363c7c03614610062575b600080fd5b61004e610049366004610289565b610075565b604051901515815260200160405180910390f35b61004e610070366004610350565b61010e565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316148061010857507fffffffff0000000000000000000000000000000000000000000000000000000082167f63c7c03600000000000000000000000000000000000000000000000000000000145b92915050565b60003373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461017f576040517f482aa9df00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61018b85858585610194565b95945050505050565b60008173ffffffffffffffffffffffffffffffffffffffff16856040015173ffffffffffffffffffffffffffffffffffffffff16636352211e87606001516040518263ffffffff1660e01b81526004016101f091815260200190565b602060405180830381865afa15801561020d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610231919061044d565b73ffffffffffffffffffffffffffffffffffffffff161461027e576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506001949350505050565b60006020828403121561029b57600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146102cb57600080fd5b9392505050565b73ffffffffffffffffffffffffffffffffffffffff811681146102f457600080fd5b50565b8035610302816102d2565b919050565b60008083601f84011261031957600080fd5b50813567ffffffffffffffff81111561033157600080fd5b60208301915083602082850101111561034957600080fd5b9250929050565b60008060008084860361010081121561036857600080fd5b60c081121561037657600080fd5b5060405160c0810167ffffffffffffffff82821081831117156103c2577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b816040526103cf886102f7565b8352602088013560208401526103e7604089016102f7565b6040840152606088013560608401526080880135608084015260a088013560a084015282965060c088013592508083111561042157600080fd5b505061042f87828801610307565b9094509250610442905060e086016102f7565b905092959194509250565b60006020828403121561045f57600080fd5b81516102cb816102d256fea26469706673582212200206dda8b29b29204f2197b471ad2307f1dd9fb0f928af91ae4c27486c5338ee64736f6c63430008130033000000000000000000000000b146cb898e95953f353bf5a50fb8f129ec0d5aab", - "nonce": "0x2b", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x564757fdaf26d7c715f15267e921d8fd7798a8d95d8475a9710ab307b1312e25", - "transactionType": "CREATE", - "contractName": "SrcOwnerRelationshipProcessor", - "contractAddress": "0x5183ac89c1C9DeAADF856eED897fCd138C3083e2", - "function": null, - "arguments": [ - "0xb146cB898E95953f353bf5A50Fb8f129eC0D5AAb" - ], - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x62523", - "value": "0x0", - "data": "0x60a060405234801561001057600080fd5b5060405161055a38038061055a83398101604081905261002f91610069565b806001600160a01b0381166100575760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b031660805250610099565b60006020828403121561007b57600080fd5b81516001600160a01b038116811461009257600080fd5b9392505050565b6080516104a66100b4600039600061012801526104a66000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806301ffc9a71461003b57806363c7c03614610062575b600080fd5b61004e61004936600461028f565b610075565b604051901515815260200160405180910390f35b61004e610070366004610356565b61010e565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316148061010857507fffffffff0000000000000000000000000000000000000000000000000000000082167f63c7c03600000000000000000000000000000000000000000000000000000000145b92915050565b60003373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461017f576040517f482aa9df00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61018b85858585610194565b95945050505050565b835160208501516040517f6352211e00000000000000000000000000000000000000000000000000000000815260009273ffffffffffffffffffffffffffffffffffffffff80861693911691636352211e916101f69160040190815260200190565b602060405180830381865afa158015610213573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102379190610453565b73ffffffffffffffffffffffffffffffffffffffff1614610284576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506001949350505050565b6000602082840312156102a157600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146102d157600080fd5b9392505050565b73ffffffffffffffffffffffffffffffffffffffff811681146102fa57600080fd5b50565b8035610308816102d8565b919050565b60008083601f84011261031f57600080fd5b50813567ffffffffffffffff81111561033757600080fd5b60208301915083602082850101111561034f57600080fd5b9250929050565b60008060008084860361010081121561036e57600080fd5b60c081121561037c57600080fd5b5060405160c0810167ffffffffffffffff82821081831117156103c8577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b816040526103d5886102fd565b8352602088013560208401526103ed604089016102fd565b6040840152606088013560608401526080880135608084015260a088013560a084015282965060c088013592508083111561042757600080fd5b50506104358782880161030d565b9094509250610448905060e086016102fd565b905092959194509250565b60006020828403121561046557600080fd5b81516102d1816102d856fea26469706673582212208b0631f0b52b9a87af4d902423a9f41e6b0399ae82e1013444a642d50440bca864736f6c63430008130033000000000000000000000000b146cb898e95953f353bf5a50fb8f129ec0d5aab", - "nonce": "0x2c", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xe3a74f29e2969528bc4a85ef00287b7e11e9d15968ac0e3a14df1c89323b96be", - "transactionType": "CREATE", - "contractName": "SrcDstOwnerRelationshipProcessor", - "contractAddress": "0xc6e3e7844E103116E3CA06aae3a02fde908F7c1a", - "function": null, - "arguments": [ - "0xb146cB898E95953f353bf5A50Fb8f129eC0D5AAb" - ], - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x6f36a", - "value": "0x0", - "data": "0x60a060405234801561001057600080fd5b5060405161061638038061061683398101604081905261002f91610069565b806001600160a01b0381166100575760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b031660805250610099565b60006020828403121561007b57600080fd5b81516001600160a01b038116811461009257600080fd5b9392505050565b6080516105626100b4600039600061012801526105626000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806301ffc9a71461003b57806363c7c03614610062575b600080fd5b61004e61004936600461034b565b610075565b604051901515815260200160405180910390f35b61004e610070366004610412565b61010e565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316148061010857507fffffffff0000000000000000000000000000000000000000000000000000000082167f63c7c03600000000000000000000000000000000000000000000000000000000145b92915050565b60003373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461017f576040517f482aa9df00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61018b85858585610194565b95945050505050565b835160208501516040517f6352211e00000000000000000000000000000000000000000000000000000000815260009273ffffffffffffffffffffffffffffffffffffffff80861693911691636352211e916101f69160040190815260200190565b602060405180830381865afa158015610213573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610237919061050f565b73ffffffffffffffffffffffffffffffffffffffff1614158061030957508173ffffffffffffffffffffffffffffffffffffffff16856040015173ffffffffffffffffffffffffffffffffffffffff16636352211e87606001516040518263ffffffff1660e01b81526004016102af91815260200190565b602060405180830381865afa1580156102cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102f0919061050f565b73ffffffffffffffffffffffffffffffffffffffff1614155b15610340576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506001949350505050565b60006020828403121561035d57600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461038d57600080fd5b9392505050565b73ffffffffffffffffffffffffffffffffffffffff811681146103b657600080fd5b50565b80356103c481610394565b919050565b60008083601f8401126103db57600080fd5b50813567ffffffffffffffff8111156103f357600080fd5b60208301915083602082850101111561040b57600080fd5b9250929050565b60008060008084860361010081121561042a57600080fd5b60c081121561043857600080fd5b5060405160c0810167ffffffffffffffff8282108183111715610484577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b81604052610491886103b9565b8352602088013560208401526104a9604089016103b9565b6040840152606088013560608401526080880135608084015260a088013560a084015282965060c08801359250808311156104e357600080fd5b50506104f1878288016103c9565b9094509250610504905060e086016103b9565b905092959194509250565b60006020828403121561052157600080fd5b815161038d8161039456fea26469706673582212200571b0010f9774308e7a616c7cda803ad295b361e3c550095ffc216da33415f464736f6c63430008130033000000000000000000000000b146cb898e95953f353bf5a50fb8f129ec0d5aab", - "nonce": "0x2d", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "transactionHash": "0x5b6a6e6b0f6070fd3ec4a8edd5acbd263c92ce002c141c4d9803dde0e93a85d3", - "transactionIndex": "0x0", - "blockHash": "0x1ebb03c1bff97fd593e0eb4b91e3a6c07bfeafe7524fc56587ee57c43c7545e6", - "blockNumber": "0x8f78f9", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": null, - "cumulativeGasUsed": "0x3be3c", - "gasUsed": "0x3be3c", - "contractAddress": "0xA5ee53c74f75bB4A149c55d8A24E5dF563897B0f", - "logs": [], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d05ea4" - }, - { - "transactionHash": "0xfd3129dcfcf2f280e84b651a90204398e80ea8fab047c3ab23eadc365a6b39b7", - "transactionIndex": "0x1", - "blockHash": "0x1ebb03c1bff97fd593e0eb4b91e3a6c07bfeafe7524fc56587ee57c43c7545e6", - "blockNumber": "0x8f78f9", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": null, - "cumulativeGasUsed": "0x874e9", - "gasUsed": "0x4b6ad", - "contractAddress": "0x2890a4263BA12c6d6241CfC5c8D762B828041b86", - "logs": [], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d05ea4" - }, - { - "transactionHash": "0x564757fdaf26d7c715f15267e921d8fd7798a8d95d8475a9710ab307b1312e25", - "transactionIndex": "0x2", - "blockHash": "0x1ebb03c1bff97fd593e0eb4b91e3a6c07bfeafe7524fc56587ee57c43c7545e6", - "blockNumber": "0x8f78f9", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": null, - "cumulativeGasUsed": "0xd2f5c", - "gasUsed": "0x4ba73", - "contractAddress": "0x5183ac89c1C9DeAADF856eED897fCd138C3083e2", - "logs": [], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d05ea4" - }, - { - "transactionHash": "0xe3a74f29e2969528bc4a85ef00287b7e11e9d15968ac0e3a14df1c89323b96be", - "transactionIndex": "0x3", - "blockHash": "0x1ebb03c1bff97fd593e0eb4b91e3a6c07bfeafe7524fc56587ee57c43c7545e6", - "blockNumber": "0x8f78f9", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": null, - "cumulativeGasUsed": "0x128888", - "gasUsed": "0x5592c", - "contractAddress": "0xc6e3e7844E103116E3CA06aae3a02fde908F7c1a", - "logs": [], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d05ea4" - } - ], - "libraries": [], - "pending": [], - "path": "/Users/drmanhattan/Workspace/StoryProtocol/protocol-contracts/broadcast/DeployRelationshipProcessors.s.sol/5/run-latest.json", - "returns": {}, - "timestamp": 1690243435, - "chain": 5, - "multi": false, - "commit": "1fb226b" -} \ No newline at end of file diff --git a/broadcast/DeployRelationshipProcessors.s.sol/5/run-latest.json b/broadcast/DeployRelationshipProcessors.s.sol/5/run-latest.json deleted file mode 100644 index afb09599..00000000 --- a/broadcast/DeployRelationshipProcessors.s.sol/5/run-latest.json +++ /dev/null @@ -1,166 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x5b6a6e6b0f6070fd3ec4a8edd5acbd263c92ce002c141c4d9803dde0e93a85d3", - "transactionType": "CREATE", - "contractName": "PermissionlessRelationshipProcessor", - "contractAddress": "0xA5ee53c74f75bB4A149c55d8A24E5dF563897B0f", - "function": null, - "arguments": [ - "0xb146cB898E95953f353bf5A50Fb8f129eC0D5AAb" - ], - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x4dd59", - "value": "0x0", - "data": "0x60a060405234801561001057600080fd5b5060405161042c38038061042c83398101604081905261002f91610069565b806001600160a01b0381166100575760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b031660805250610099565b60006020828403121561007b57600080fd5b81516001600160a01b038116811461009257600080fd5b9392505050565b6080516103786100b4600039600061012801526103786000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806301ffc9a71461003b57806363c7c03614610062575b600080fd5b61004e61004936600461018a565b610075565b604051901515815260200160405180910390f35b61004e610070366004610245565b61010e565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316148061010857507fffffffff0000000000000000000000000000000000000000000000000000000082167f63c7c03600000000000000000000000000000000000000000000000000000000145b92915050565b60003373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461017f576040517f482aa9df00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600195945050505050565b60006020828403121561019c57600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146101cc57600080fd5b9392505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146101f757600080fd5b919050565b60008083601f84011261020e57600080fd5b50813567ffffffffffffffff81111561022657600080fd5b60208301915083602082850101111561023e57600080fd5b9250929050565b60008060008084860361010081121561025d57600080fd5b60c081121561026b57600080fd5b5060405160c0810167ffffffffffffffff82821081831117156102b7577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b816040526102c4886101d3565b8352602088013560208401526102dc604089016101d3565b6040840152606088013560608401526080880135608084015260a088013560a084015282965060c088013592508083111561031657600080fd5b5050610324878288016101fc565b9094509250610337905060e086016101d3565b90509295919450925056fea2646970667358221220f6412b6052f37fddfe439efdb208414c3adb630502a25284b04b881febdc938464736f6c63430008130033000000000000000000000000b146cb898e95953f353bf5a50fb8f129ec0d5aab", - "nonce": "0x2a", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xfd3129dcfcf2f280e84b651a90204398e80ea8fab047c3ab23eadc365a6b39b7", - "transactionType": "CREATE", - "contractName": "DstOwnerRelationshipProcessor", - "contractAddress": "0x2890a4263BA12c6d6241CfC5c8D762B828041b86", - "function": null, - "arguments": [ - "0xb146cB898E95953f353bf5A50Fb8f129eC0D5AAb" - ], - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x6203b", - "value": "0x0", - "data": "0x60a060405234801561001057600080fd5b5060405161055438038061055483398101604081905261002f91610069565b806001600160a01b0381166100575760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b031660805250610099565b60006020828403121561007b57600080fd5b81516001600160a01b038116811461009257600080fd5b9392505050565b6080516104a06100b4600039600061012801526104a06000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806301ffc9a71461003b57806363c7c03614610062575b600080fd5b61004e610049366004610289565b610075565b604051901515815260200160405180910390f35b61004e610070366004610350565b61010e565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316148061010857507fffffffff0000000000000000000000000000000000000000000000000000000082167f63c7c03600000000000000000000000000000000000000000000000000000000145b92915050565b60003373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461017f576040517f482aa9df00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61018b85858585610194565b95945050505050565b60008173ffffffffffffffffffffffffffffffffffffffff16856040015173ffffffffffffffffffffffffffffffffffffffff16636352211e87606001516040518263ffffffff1660e01b81526004016101f091815260200190565b602060405180830381865afa15801561020d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610231919061044d565b73ffffffffffffffffffffffffffffffffffffffff161461027e576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506001949350505050565b60006020828403121561029b57600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146102cb57600080fd5b9392505050565b73ffffffffffffffffffffffffffffffffffffffff811681146102f457600080fd5b50565b8035610302816102d2565b919050565b60008083601f84011261031957600080fd5b50813567ffffffffffffffff81111561033157600080fd5b60208301915083602082850101111561034957600080fd5b9250929050565b60008060008084860361010081121561036857600080fd5b60c081121561037657600080fd5b5060405160c0810167ffffffffffffffff82821081831117156103c2577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b816040526103cf886102f7565b8352602088013560208401526103e7604089016102f7565b6040840152606088013560608401526080880135608084015260a088013560a084015282965060c088013592508083111561042157600080fd5b505061042f87828801610307565b9094509250610442905060e086016102f7565b905092959194509250565b60006020828403121561045f57600080fd5b81516102cb816102d256fea26469706673582212200206dda8b29b29204f2197b471ad2307f1dd9fb0f928af91ae4c27486c5338ee64736f6c63430008130033000000000000000000000000b146cb898e95953f353bf5a50fb8f129ec0d5aab", - "nonce": "0x2b", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x564757fdaf26d7c715f15267e921d8fd7798a8d95d8475a9710ab307b1312e25", - "transactionType": "CREATE", - "contractName": "SrcOwnerRelationshipProcessor", - "contractAddress": "0x5183ac89c1C9DeAADF856eED897fCd138C3083e2", - "function": null, - "arguments": [ - "0xb146cB898E95953f353bf5A50Fb8f129eC0D5AAb" - ], - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x62523", - "value": "0x0", - "data": "0x60a060405234801561001057600080fd5b5060405161055a38038061055a83398101604081905261002f91610069565b806001600160a01b0381166100575760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b031660805250610099565b60006020828403121561007b57600080fd5b81516001600160a01b038116811461009257600080fd5b9392505050565b6080516104a66100b4600039600061012801526104a66000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806301ffc9a71461003b57806363c7c03614610062575b600080fd5b61004e61004936600461028f565b610075565b604051901515815260200160405180910390f35b61004e610070366004610356565b61010e565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316148061010857507fffffffff0000000000000000000000000000000000000000000000000000000082167f63c7c03600000000000000000000000000000000000000000000000000000000145b92915050565b60003373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461017f576040517f482aa9df00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61018b85858585610194565b95945050505050565b835160208501516040517f6352211e00000000000000000000000000000000000000000000000000000000815260009273ffffffffffffffffffffffffffffffffffffffff80861693911691636352211e916101f69160040190815260200190565b602060405180830381865afa158015610213573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102379190610453565b73ffffffffffffffffffffffffffffffffffffffff1614610284576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506001949350505050565b6000602082840312156102a157600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146102d157600080fd5b9392505050565b73ffffffffffffffffffffffffffffffffffffffff811681146102fa57600080fd5b50565b8035610308816102d8565b919050565b60008083601f84011261031f57600080fd5b50813567ffffffffffffffff81111561033757600080fd5b60208301915083602082850101111561034f57600080fd5b9250929050565b60008060008084860361010081121561036e57600080fd5b60c081121561037c57600080fd5b5060405160c0810167ffffffffffffffff82821081831117156103c8577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b816040526103d5886102fd565b8352602088013560208401526103ed604089016102fd565b6040840152606088013560608401526080880135608084015260a088013560a084015282965060c088013592508083111561042757600080fd5b50506104358782880161030d565b9094509250610448905060e086016102fd565b905092959194509250565b60006020828403121561046557600080fd5b81516102d1816102d856fea26469706673582212208b0631f0b52b9a87af4d902423a9f41e6b0399ae82e1013444a642d50440bca864736f6c63430008130033000000000000000000000000b146cb898e95953f353bf5a50fb8f129ec0d5aab", - "nonce": "0x2c", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xe3a74f29e2969528bc4a85ef00287b7e11e9d15968ac0e3a14df1c89323b96be", - "transactionType": "CREATE", - "contractName": "SrcDstOwnerRelationshipProcessor", - "contractAddress": "0xc6e3e7844E103116E3CA06aae3a02fde908F7c1a", - "function": null, - "arguments": [ - "0xb146cB898E95953f353bf5A50Fb8f129eC0D5AAb" - ], - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x6f36a", - "value": "0x0", - "data": "0x60a060405234801561001057600080fd5b5060405161061638038061061683398101604081905261002f91610069565b806001600160a01b0381166100575760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b031660805250610099565b60006020828403121561007b57600080fd5b81516001600160a01b038116811461009257600080fd5b9392505050565b6080516105626100b4600039600061012801526105626000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806301ffc9a71461003b57806363c7c03614610062575b600080fd5b61004e61004936600461034b565b610075565b604051901515815260200160405180910390f35b61004e610070366004610412565b61010e565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316148061010857507fffffffff0000000000000000000000000000000000000000000000000000000082167f63c7c03600000000000000000000000000000000000000000000000000000000145b92915050565b60003373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461017f576040517f482aa9df00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61018b85858585610194565b95945050505050565b835160208501516040517f6352211e00000000000000000000000000000000000000000000000000000000815260009273ffffffffffffffffffffffffffffffffffffffff80861693911691636352211e916101f69160040190815260200190565b602060405180830381865afa158015610213573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610237919061050f565b73ffffffffffffffffffffffffffffffffffffffff1614158061030957508173ffffffffffffffffffffffffffffffffffffffff16856040015173ffffffffffffffffffffffffffffffffffffffff16636352211e87606001516040518263ffffffff1660e01b81526004016102af91815260200190565b602060405180830381865afa1580156102cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102f0919061050f565b73ffffffffffffffffffffffffffffffffffffffff1614155b15610340576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506001949350505050565b60006020828403121561035d57600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461038d57600080fd5b9392505050565b73ffffffffffffffffffffffffffffffffffffffff811681146103b657600080fd5b50565b80356103c481610394565b919050565b60008083601f8401126103db57600080fd5b50813567ffffffffffffffff8111156103f357600080fd5b60208301915083602082850101111561040b57600080fd5b9250929050565b60008060008084860361010081121561042a57600080fd5b60c081121561043857600080fd5b5060405160c0810167ffffffffffffffff8282108183111715610484577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b81604052610491886103b9565b8352602088013560208401526104a9604089016103b9565b6040840152606088013560608401526080880135608084015260a088013560a084015282965060c08801359250808311156104e357600080fd5b50506104f1878288016103c9565b9094509250610504905060e086016103b9565b905092959194509250565b60006020828403121561052157600080fd5b815161038d8161039456fea26469706673582212200571b0010f9774308e7a616c7cda803ad295b361e3c550095ffc216da33415f464736f6c63430008130033000000000000000000000000b146cb898e95953f353bf5a50fb8f129ec0d5aab", - "nonce": "0x2d", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "transactionHash": "0x5b6a6e6b0f6070fd3ec4a8edd5acbd263c92ce002c141c4d9803dde0e93a85d3", - "transactionIndex": "0x0", - "blockHash": "0x1ebb03c1bff97fd593e0eb4b91e3a6c07bfeafe7524fc56587ee57c43c7545e6", - "blockNumber": "0x8f78f9", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": null, - "cumulativeGasUsed": "0x3be3c", - "gasUsed": "0x3be3c", - "contractAddress": "0xA5ee53c74f75bB4A149c55d8A24E5dF563897B0f", - "logs": [], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d05ea4" - }, - { - "transactionHash": "0xfd3129dcfcf2f280e84b651a90204398e80ea8fab047c3ab23eadc365a6b39b7", - "transactionIndex": "0x1", - "blockHash": "0x1ebb03c1bff97fd593e0eb4b91e3a6c07bfeafe7524fc56587ee57c43c7545e6", - "blockNumber": "0x8f78f9", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": null, - "cumulativeGasUsed": "0x874e9", - "gasUsed": "0x4b6ad", - "contractAddress": "0x2890a4263BA12c6d6241CfC5c8D762B828041b86", - "logs": [], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d05ea4" - }, - { - "transactionHash": "0x564757fdaf26d7c715f15267e921d8fd7798a8d95d8475a9710ab307b1312e25", - "transactionIndex": "0x2", - "blockHash": "0x1ebb03c1bff97fd593e0eb4b91e3a6c07bfeafe7524fc56587ee57c43c7545e6", - "blockNumber": "0x8f78f9", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": null, - "cumulativeGasUsed": "0xd2f5c", - "gasUsed": "0x4ba73", - "contractAddress": "0x5183ac89c1C9DeAADF856eED897fCd138C3083e2", - "logs": [], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d05ea4" - }, - { - "transactionHash": "0xe3a74f29e2969528bc4a85ef00287b7e11e9d15968ac0e3a14df1c89323b96be", - "transactionIndex": "0x3", - "blockHash": "0x1ebb03c1bff97fd593e0eb4b91e3a6c07bfeafe7524fc56587ee57c43c7545e6", - "blockNumber": "0x8f78f9", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": null, - "cumulativeGasUsed": "0x128888", - "gasUsed": "0x5592c", - "contractAddress": "0xc6e3e7844E103116E3CA06aae3a02fde908F7c1a", - "logs": [], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d05ea4" - } - ], - "libraries": [], - "pending": [], - "path": "/Users/drmanhattan/Workspace/StoryProtocol/protocol-contracts/broadcast/DeployRelationshipProcessors.s.sol/5/run-latest.json", - "returns": {}, - "timestamp": 1690243435, - "chain": 5, - "multi": false, - "commit": "1fb226b" -} \ No newline at end of file diff --git a/broadcast/DevDeployments.s.sol/5/run-1691868638.json b/broadcast/DevDeployments.s.sol/5/run-1691868638.json deleted file mode 100644 index e0b650da..00000000 --- a/broadcast/DevDeployments.s.sol/5/run-1691868638.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x70610487057d530e2da659732ebdb2bdba5c5cd4aeb52ed607a50a87877d7245", - "transactionType": "CREATE", - "contractName": "LicensingModule", - "contractAddress": "0x8602E35ee65074eF0D2701927289705f2F61773D", - "function": null, - "arguments": [ - "0xf157916d184598105FE4681eC93Be0f799599003" - ], - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x43e58c", - "value": "0x0", - "data": "0x60a06040523480156200001157600080fd5b5060405162003e2838038062003e288339810160408190526200003491620000b3565b6001600160a01b038116620000a15760405162461bcd60e51b815260206004820152602960248201527f4672616e63686973652072656769737472792063616e6e6f74206265207a65726044820152686f206164647265737360b81b606482015260840160405180910390fd5b6001600160a01b0316608052620000e5565b600060208284031215620000c657600080fd5b81516001600160a01b0381168114620000de57600080fd5b9392505050565b608051613d2062000108600039600081816102a101526113d30152613d206000f3fe608060405234801561001057600080fd5b50600436106101515760003560e01c806394f99b40116100cd578063c87b56dd11610081578063e985e9c511610066578063e985e9c514610338578063f62d188814610381578063f782f6751461039457600080fd5b8063c87b56dd14610312578063e705c2b81461032557600080fd5b8063a22cb465116100b2578063a22cb465146102cb578063b2dd1212146102de578063b88d4fde146102ff57600080fd5b806394f99b401461029c57806395d89b41146102c357600080fd5b806323b872dd1161012457806342842e0e1161010957806342842e0e146102635780636352211e1461027657806370a082311461028957600080fd5b806323b872dd146101e05780632fb49eff146101f357600080fd5b806301ffc9a71461015657806306fdde031461017e578063081812fc14610193578063095ea7b3146101cb575b600080fd5b610169610164366004612ff7565b6103a7565b60405190151581526020015b60405180910390f35b61018661048c565b6040516101759190613082565b6101a66101a1366004613095565b61051e565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610175565b6101de6101d93660046130e0565b610552565b005b6101de6101ee36600461310c565b6106af565b6102556102013660046130e0565b73ffffffffffffffffffffffffffffffffffffffff9190911660009081527f778e3a21329d920b45eecf00e356693a1888f1ae24d67d398ab1f17457bcfac160209081526040808320938352929052205490565b604051908152602001610175565b6101de61027136600461310c565b610736565b6101a6610284366004613095565b610751565b61025561029736600461314d565b610867565b6101a67f000000000000000000000000000000000000000000000000000000000000000081565b61018661091b565b6101de6102d936600461317a565b61092a565b6102f16102ec366004613095565b610939565b6040516101759291906131e4565b6101de61030d36600461349d565b610cdf565b610186610320366004613095565b610d6d565b610169610333366004613095565b610de0565b610169610346366004613509565b73ffffffffffffffffffffffffffffffffffffffff9182166000908152606a6020908152604080832093909416825291909152205460ff1690565b6101de61038f366004613542565b6111a7565b6102556103a23660046135f0565b6113b9565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061043a57507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b8061048657507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60606065805461049b906136e7565b80601f01602080910402602001604051908101604052809291908181526020018280546104c7906136e7565b80156105145780601f106104e957610100808354040283529160200191610514565b820191906000526020600020905b8154815290600101906020018083116104f757829003601f168201915b5050505050905090565b60006105298261192f565b5060009081526069602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b600061055d826119a3565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036106055760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff8216148061062e575061062e8133610346565b6106a05760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c00000060648201526084016105fc565b6106aa8383611a15565b505050565b6106b93382611ab5565b61072b5760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f7665640000000000000000000000000000000000000060648201526084016105fc565b6106aa838383611b75565b6106aa83838360405180602001604052806000815250610cdf565b60008181527f778e3a21329d920b45eecf00e356693a1888f1ae24d67d398ab1f17457bcfabd602090815260408083208151808301909252600481015473ffffffffffffffffffffffffffffffffffffffff1680835260059091015492820192909252901561085e57805160208201516040517f6352211e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90921691636352211e916108169160040190815260200190565b602060405180830381865afa158015610833573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108579190613734565b9392505050565b610857836119a3565b600073ffffffffffffffffffffffffffffffffffffffff82166108f25760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e6572000000000000000000000000000000000000000000000060648201526084016105fc565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526068602052604090205490565b60606066805461049b906136e7565b610935338383611e2f565b5050565b610941612ecd565b60008281527f778e3a21329d920b45eecf00e356693a1888f1ae24d67d398ab1f17457bcfabd6020526040812061097784610751565b6040805161014081018252835460ff908116151582526001850154602080840191909152600286015483850152835160608181018652600388015480851615158352610100810485161515838501526201000090049093161515818601529183019190915282518084018452600486015473ffffffffffffffffffffffffffffffffffffffff90811682526005870154828401526080840191909152835180850190945260068601805490911684526007860180549394879460a08701949193929184019190610a46906136e7565b80601f0160208091040260200160405190810160405280929190818152602001828054610a72906136e7565b8015610abf5780601f10610a9457610100808354040283529160200191610abf565b820191906000526020600020905b815481529060010190602001808311610aa257829003601f168201915b5050509190925250505081526040805180820190915260088301805473ffffffffffffffffffffffffffffffffffffffff16825260098401805460209485019484019190610b0c906136e7565b80601f0160208091040260200160405190810160405280929190818152602001828054610b38906136e7565b8015610b855780601f10610b5a57610100808354040283529160200191610b85565b820191906000526020600020905b815481529060010190602001808311610b6857829003601f168201915b505050919092525050508152600a82015473ffffffffffffffffffffffffffffffffffffffff9081166020808401919091526040805160a081018252600b8601546dffffffffffffffffffffffffffff80821683526e010000000000000000000000000000820416938201939093527c010000000000000000000000000000000000000000000000000000000090920460ff16151582820152600c850154909216606080830191909152600d850154608083015291830152600e83018054919092019190610c52906136e7565b80601f0160208091040260200160405190810160405280929190818152602001828054610c7e906136e7565b8015610ccb5780601f10610ca057610100808354040283529160200191610ccb565b820191906000526020600020905b815481529060010190602001808311610cae57829003601f168201915b505050505081525050915091509150915091565b610ce93383611ab5565b610d5b5760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f7665640000000000000000000000000000000000000060648201526084016105fc565b610d6784848484611f42565b50505050565b6060610d788261192f565b6000610d8f60408051602081019091526000815290565b90506000815111610daf5760405180602001604052806000815250610857565b80610db984611fcb565b604051602001610dca929190613751565b6040516020818303038152906040529392505050565b600081600003610df257506000919050565b811561119f5760008281527f778e3a21329d920b45eecf00e356693a1888f1ae24d67d398ab1f17457bcfabd60208181526040808420815161014081018352815460ff90811615158252600183015482860152600283015482850152835160608082018652600385015480841615158352610100810484161515838901526201000090049092161515818601529082015282518084018452600483015473ffffffffffffffffffffffffffffffffffffffff90811682526005840154828701526080830191909152835180850190945260068301805490911684526007830180549697969295939460a087019490939084019190610eef906136e7565b80601f0160208091040260200160405190810160405280929190818152602001828054610f1b906136e7565b8015610f685780601f10610f3d57610100808354040283529160200191610f68565b820191906000526020600020905b815481529060010190602001808311610f4b57829003601f168201915b5050509190925250505081526040805180820190915260088301805473ffffffffffffffffffffffffffffffffffffffff16825260098401805460209485019484019190610fb5906136e7565b80601f0160208091040260200160405190810160405280929190818152602001828054610fe1906136e7565b801561102e5780601f106110035761010080835404028352916020019161102e565b820191906000526020600020905b81548152906001019060200180831161101157829003601f168201915b505050919092525050508152600a82015473ffffffffffffffffffffffffffffffffffffffff9081166020808401919091526040805160a081018252600b8601546dffffffffffffffffffffffffffff80821683526e010000000000000000000000000000820416938201939093527c010000000000000000000000000000000000000000000000000000000090920460ff16151582820152600c850154909216606080830191909152600d850154608083015291830152600e830180549190920191906110fb906136e7565b80601f0160208091040260200160405190810160405280929190818152602001828054611127906136e7565b80156111745780601f1061114957610100808354040283529160200191611174565b820191906000526020600020905b81548152906001019060200180831161115757829003601f168201915b50505050508152505090508060000151611192575060009392505050565b602001519250610df29050565b506001919050565b600054610100900460ff16158080156111c75750600054600160ff909116105b806111e15750303b1580156111e1575060005460ff166001145b6112535760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016105fc565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156112b157600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6113256040518060400160405280601681526020017f53746f72792050726f746f636f6c204c6963656e7365000000000000000000008152506040518060400160405280600381526020017f53504c0000000000000000000000000000000000000000000000000000000000815250612089565b7f778e3a21329d920b45eecf00e356693a1888f1ae24d67d398ab1f17457bcfac26113518385836137ce565b5080156106aa57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b60003373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146114655760405162461bcd60e51b8152602060048201526024808201527f53656e646572206973206e6f7420746865206672616e6368697365207265676960448201527f737472790000000000000000000000000000000000000000000000000000000060648201526084016105fc565b7f778e3a21329d920b45eecf00e356693a1888f1ae24d67d398ab1f17457bcfabd8a156118175760008b815260208281526040808320815161014081018352815460ff90811615158252600183015482860152600283015482850152835160608181018652600385015480841615158352610100810484161515838901526201000090049092161515818601529082015282518084018452600483015473ffffffffffffffffffffffffffffffffffffffff90811682526005840154828701526080830191909152835180850190945260068301805490911684526007830180549295939460a08701949093908401919061155f906136e7565b80601f016020809104026020016040519081016040528092919081815260200182805461158b906136e7565b80156115d85780601f106115ad576101008083540402835291602001916115d8565b820191906000526020600020905b8154815290600101906020018083116115bb57829003601f168201915b5050509190925250505081526040805180820190915260088301805473ffffffffffffffffffffffffffffffffffffffff16825260098401805460209485019484019190611625906136e7565b80601f0160208091040260200160405190810160405280929190818152602001828054611651906136e7565b801561169e5780601f106116735761010080835404028352916020019161169e565b820191906000526020600020905b81548152906001019060200180831161168157829003601f168201915b505050919092525050508152600a82015473ffffffffffffffffffffffffffffffffffffffff9081166020808401919091526040805160a081018252600b8601546dffffffffffffffffffffffffffff80821683526e010000000000000000000000000000820416938201939093527c010000000000000000000000000000000000000000000000000000000090920460ff16151582820152600c850154909216606080830191909152600d850154608083015291830152600e8301805491909201919061176b906136e7565b80601f0160208091040260200160405190810160405280929190818152602001828054611797906136e7565b80156117e45780601f106117b9576101008083540402835291602001916117e4565b820191906000526020600020905b8154815290600101906020018083116117c757829003601f168201915b505050505081525050905061180b8c8e838d80360381019061180691906138e9565b612110565b610120015193506118bb565b61182760608a0160408b01613955565b6118bb5780600501805461183a906136e7565b80601f0160208091040260200160405190810160405280929190818152602001828054611866906136e7565b80156118b35780601f10611888576101008083540402835291602001916118b3565b820191906000526020600020905b81548152906001019060200180831161189657829003601f168201915b505050505093505b60006118ce8c8c8c8c8c8c8c8c8c612306565b9050806004830160006118e760408d0160208e0161314d565b73ffffffffffffffffffffffffffffffffffffffff168152602080820192909252604090810160009081208d83013582529092529020559150509a9950505050505050505050565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff166119a05760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e204944000000000000000060448201526064016105fc565b50565b60008181526067602052604081205473ffffffffffffffffffffffffffffffffffffffff16806104865760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e204944000000000000000060448201526064016105fc565b600081815260696020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091558190611a6f826119a3565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080611ac1836119a3565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611b2f575073ffffffffffffffffffffffffffffffffffffffff8082166000908152606a602090815260408083209388168352929052205460ff165b80611b6d57508373ffffffffffffffffffffffffffffffffffffffff16611b558461051e565b73ffffffffffffffffffffffffffffffffffffffff16145b949350505050565b8273ffffffffffffffffffffffffffffffffffffffff16611b95826119a3565b73ffffffffffffffffffffffffffffffffffffffff1614611c1e5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e657200000000000000000000000000000000000000000000000000000060648201526084016105fc565b73ffffffffffffffffffffffffffffffffffffffff8216611ca65760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016105fc565b611cb38383836001612422565b8273ffffffffffffffffffffffffffffffffffffffff16611cd3826119a3565b73ffffffffffffffffffffffffffffffffffffffff1614611d5c5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e657200000000000000000000000000000000000000000000000000000060648201526084016105fc565b600081815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff8781168086526068855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905590871680865283862080546001019055868652606790945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611eaa5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016105fc565b73ffffffffffffffffffffffffffffffffffffffff8381166000818152606a602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b611f4d848484611b75565b611f5984848484612427565b610d675760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016105fc565b60606000611fd883612600565b600101905060008167ffffffffffffffff811115611ff857611ff861339a565b6040519080825280601f01601f191660200182016040528015612022576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a850494508461202c57509392505050565b600054610100900460ff166121065760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016105fc565b61093582826126e2565b8273ffffffffffffffffffffffffffffffffffffffff1661213085610751565b73ffffffffffffffffffffffffffffffffffffffff16146121b95760405162461bcd60e51b815260206004820152602d60248201527f53656e646572206973206e6f7420746865206f776e6572206f6620746865207060448201527f6172656e74206c6963656e73650000000000000000000000000000000000000060648201526084016105fc565b81516122075760405162461bcd60e51b815260206004820152601c60248201527f506172656e74206c6963656e7365206973206e6f74206163746976650000000060448201526064016105fc565b8160600151602001516122815760405162461bcd60e51b8152602060048201526024808201527f506172656e74206c6963656e73652063616e6e6f74206265207375626c69636560448201527f6e7365640000000000000000000000000000000000000000000000000000000060648201526084016105fc565b80604001511515826060015160400151151514610d675760405162461bcd60e51b815260206004820152603360248201527f436f6d6d65726369616c207465726d73206d757374206265207468652073616d60448201527f6520617320706172656e74206c6963656e73650000000000000000000000000060648201526084016105fc565b60006123538a8a61231c368c90038c018c6138e9565b61232b368c90038c018c613970565b6123348b613a56565b61233d8b613a56565b61234c368c90038c018c613a80565b8a8a612778565b90506000612364602089018961314d565b73ffffffffffffffffffffffffffffffffffffffff16146123955761239561238f602089018961314d565b82612ce8565b807f35805985e00e80103ddc5df8bca16fb35a75f7f0830d5d5448f443d689e9424a6123c460208a018a61314d565b6123d460408b0160208c0161314d565b6040805173ffffffffffffffffffffffffffffffffffffffff9384168152929091166020830152808b013590820152606081018d905260800160405180910390a29998505050505050505050565b610d67565b600073ffffffffffffffffffffffffffffffffffffffff84163b156125f5576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a029061249e903390899088908890600401613b0b565b6020604051808303816000875af19250505080156124f7575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526124f491810190613b54565b60015b6125aa573d808015612525576040519150601f19603f3d011682016040523d82523d6000602084013e61252a565b606091505b5080516000036125a25760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016105fc565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050611b6d565b506001949350505050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310612649577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef81000000008310612675576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061269357662386f26fc10000830492506010015b6305f5e10083106126ab576305f5e100830492506008015b61271083106126bf57612710830492506004015b606483106126d1576064830492506002015b600a83106104865760010192915050565b600054610100900460ff1661275f5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016105fc565b606561276b8382613b71565b5060666106aa8282613b71565b855160009073ffffffffffffffffffffffffffffffffffffffff161580156127b9575060208701515173ffffffffffffffffffffffffffffffffffffffff16155b1561282c5760405162461bcd60e51b815260206004820152603460248201527f4c6963656e7365206d75737420626520626f756e6420746f206120746f6b656e60448201527f206f722061206c6963656e736520686f6c64657200000000000000000000000060648201526084016105fc565b865173ffffffffffffffffffffffffffffffffffffffff161580159061286c575060208701515173ffffffffffffffffffffffffffffffffffffffff1615155b156129055760405162461bcd60e51b815260206004820152604860248201527f4c6963656e73652063616e6e6f7420626520626f756e6420746f206120746f6b60448201527f656e20616e642061206c6963656e736520686f6c64657220617420746865207360648201527f616d652074696d65000000000000000000000000000000000000000000000000608482015260a4016105fc565b7f778e3a21329d920b45eecf00e356693a1888f1ae24d67d398ab1f17457bcfabe80547f778e3a21329d920b45eecf00e356693a1888f1ae24d67d398ab1f17457bcfabd91600091908261295883613c8b565b9190505590506040518061014001604052806001151581526020018d81526020018c81526020018b81526020018a6020015181526020018981526020018881526020018573ffffffffffffffffffffffffffffffffffffffff1681526020018781526020018681525082600001600083815260200190815260200160002060008201518160000160006101000a81548160ff021916908315150217905550602082015181600101556040820151816002015560608201518160030160008201518160000160006101000a81548160ff02191690831515021790555060208201518160000160016101000a81548160ff02191690831515021790555060408201518160000160026101000a81548160ff021916908315150217905550505060808201518160040160008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010155505060a08201518160060160008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506020820151816001019081612b369190613b71565b50505060c082015180516008830180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90921691909117815560208201516009840190612b9a9082613b71565b50505060e0820151600a8201805473ffffffffffffffffffffffffffffffffffffffff9283167fffffffffffffffffffffffff0000000000000000000000000000000000000000918216179091556101008401518051600b850180546020840151604085015115157c0100000000000000000000000000000000000000000000000000000000027fffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffff6dffffffffffffffffffffffffffff9283166e010000000000000000000000000000027fffffffff00000000000000000000000000000000000000000000000000000000909416929095169190911791909117929092169190911790556060810151600c850180549190941692169190911790915560800151600d820155610120820151600e820190612cd59082613b71565b50919d9c50505050505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff8216612d4b5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016105fc565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff1615612dbd5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016105fc565b612dcb600083836001612422565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff1615612e3d5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016105fc565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260686020908152604080832080546001019055848352606790915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60408051610140810182526000808252602080830182905282840182905283516060808201865283825281830184905281860184905284015283518085019094528184528301529060808201908152602001612f526040518060400160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b8152602001612f8a6040518060400160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b8152600060208083018290526040805160a081018252838152918201839052818101839052606080830184905260808301939093528301529081015290565b7fffffffff00000000000000000000000000000000000000000000000000000000811681146119a057600080fd5b60006020828403121561300957600080fd5b813561085781612fc9565b60005b8381101561302f578181015183820152602001613017565b50506000910152565b60008151808452613050816020860160208601613014565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006108576020830184613038565b6000602082840312156130a757600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff811681146119a057600080fd5b80356130db816130ae565b919050565b600080604083850312156130f357600080fd5b82356130fe816130ae565b946020939093013593505050565b60008060006060848603121561312157600080fd5b833561312c816130ae565b9250602084013561313c816130ae565b929592945050506040919091013590565b60006020828403121561315f57600080fd5b8135610857816130ae565b803580151581146130db57600080fd5b6000806040838503121561318d57600080fd5b8235613198816130ae565b91506131a66020840161316a565b90509250929050565b73ffffffffffffffffffffffffffffffffffffffff81511682526000602082015160406020850152611b6d6040850182613038565b604081526131f760408201845115159052565b60208301516060820152604083015160808201526000606084015161323960a08401828051151582526020808201511515908301526040908101511515910152565b50608084015161010061326e81850183805173ffffffffffffffffffffffffffffffffffffffff168252602090810151910152565b60a0860151915061022061014085015261328c6102608501836131af565b915060c08601517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc080868503016101608701526132c984836131af565b935060e088015191506132f561018087018373ffffffffffffffffffffffffffffffffffffffff169052565b9187015180516dffffffffffffffffffffffffffff9081166101a08801526020820151166101c0870152604081015115156101e0870152606081015173ffffffffffffffffffffffffffffffffffffffff1661020087015260800151610220860152506101208601518483039091016102408501526133748282613038565b92505050610857602083018473ffffffffffffffffffffffffffffffffffffffff169052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156133ec576133ec61339a565b60405290565b600082601f83011261340357600080fd5b813567ffffffffffffffff8082111561341e5761341e61339a565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156134645761346461339a565b8160405283815286602085880101111561347d57600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600080608085870312156134b357600080fd5b84356134be816130ae565b935060208501356134ce816130ae565b925060408501359150606085013567ffffffffffffffff8111156134f157600080fd5b6134fd878288016133f2565b91505092959194509250565b6000806040838503121561351c57600080fd5b8235613527816130ae565b91506020830135613537816130ae565b809150509250929050565b6000806020838503121561355557600080fd5b823567ffffffffffffffff8082111561356d57600080fd5b818501915085601f83011261358157600080fd5b81358181111561359057600080fd5b8660208285010111156135a257600080fd5b60209290920196919550909350505050565b6000606082840312156135c657600080fd5b50919050565b6000604082840312156135c657600080fd5b600060a082840312156135c657600080fd5b6000806000806000806000806000806102408b8d03121561361057600080fd5b6136198b6130d0565b995060208b0135985060408b013597506136368c60608d016135b4565b96506136458c60c08d016135b4565b95506101208b013567ffffffffffffffff8082111561366357600080fd5b61366f8e838f016135cc565b96506101408d013591508082111561368657600080fd5b6136928e838f016135cc565b95506136a28e6101608f016135de565b94506102008d01359150808211156136b957600080fd5b506136c68d828e016133f2565b9250506136d66102208c016130d0565b90509295989b9194979a5092959850565b600181811c908216806136fb57607f821691505b6020821081036135c6577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006020828403121561374657600080fd5b8151610857816130ae565b60008351613763818460208801613014565b835190830190613777818360208801613014565b01949350505050565b601f8211156106aa57600081815260208120601f850160051c810160208610156137a75750805b601f850160051c820191505b818110156137c6578281556001016137b3565b505050505050565b67ffffffffffffffff8311156137e6576137e661339a565b6137fa836137f483546136e7565b83613780565b6000601f84116001811461384c57600085156138165750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b1783556138e2565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b8281101561389b578685013582556020948501946001909201910161387b565b50868210156138d6577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b6000606082840312156138fb57600080fd5b6040516060810181811067ffffffffffffffff8211171561391e5761391e61339a565b60405261392a8361316a565b81526139386020840161316a565b60208201526139496040840161316a565b60408201529392505050565b60006020828403121561396757600080fd5b6108578261316a565b6000818303606081121561398357600080fd5b61398b6133c9565b8335613996816130ae565b815260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0830112156139c857600080fd5b6139d06133c9565b915060208401356139e0816130ae565b82526040939093013560208083019190915283015250919050565b600060408284031215613a0d57600080fd5b613a156133c9565b90508135613a22816130ae565b8152602082013567ffffffffffffffff811115613a3e57600080fd5b613a4a848285016133f2565b60208301525092915050565b600061048636836139fb565b80356dffffffffffffffffffffffffffff811681146130db57600080fd5b600060a08284031215613a9257600080fd5b60405160a0810181811067ffffffffffffffff82111715613ab557613ab561339a565b604052613ac183613a62565b8152613acf60208401613a62565b6020820152613ae06040840161316a565b60408201526060830135613af3816130ae565b60608201526080928301359281019290925250919050565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525083604083015260806060830152613b4a6080830184613038565b9695505050505050565b600060208284031215613b6657600080fd5b815161085781612fc9565b815167ffffffffffffffff811115613b8b57613b8b61339a565b613b9f81613b9984546136e7565b84613780565b602080601f831160018114613bf25760008415613bbc5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b1785556137c6565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015613c3f57888601518255948401946001909101908401613c20565b5085821015613c7b57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613ce3577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b506001019056fea2646970667358221220f2a8449fa514209b5e1e6702694c3899389b46b19e276088a7b958f0a1db3c3e64736f6c63430008130033000000000000000000000000f157916d184598105fe4681ec93be0f799599003", - "nonce": "0x43", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x5c0ee04d75ba772c89575dadfb5e7032582c501f16e6f438aa1e2fdd6c4c284c", - "transactionType": "CREATE", - "contractName": "ERC1967Proxy", - "contractAddress": "0xFbfa729428af206a084E18328Ec923587193525d", - "function": null, - "arguments": [ - "0x8602E35ee65074eF0D2701927289705f2F61773D", - "0xf62d18880000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003f68747470733a2f2f617277656176652e6e65742f794849624b6c4642673378754b537a6c4d5f6452454738593038756f642d67574b735769394f615046734d00" - ], - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x5824f", - "value": "0x0", - "data": "0x60806040526040516104ee3803806104ee833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c760279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60be806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea2646970667358221220a678556ae280ddf13e459fe9ecd177633ae9dbc544c45d5b523d43ba9084c8dc64736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c65640000000000000000000000008602e35ee65074ef0d2701927289705f2f61773d00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000084f62d18880000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003f68747470733a2f2f617277656176652e6e65742f794849624b6c4642673378754b537a6c4d5f6452454738593038756f642d67574b735769394f615046734d0000000000000000000000000000000000000000000000000000000000", - "nonce": "0x44", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [], - "libraries": [], - "pending": [ - "0x70610487057d530e2da659732ebdb2bdba5c5cd4aeb52ed607a50a87877d7245", - "0x5c0ee04d75ba772c89575dadfb5e7032582c501f16e6f438aa1e2fdd6c4c284c" - ], - "path": "/Users/drmanhattan/Workspace/StoryProtocol/protocol-contracts/broadcast/DevDeployments.s.sol/5/run-latest.json", - "returns": {}, - "timestamp": 1691868638, - "chain": 5, - "multi": false, - "commit": "53ab00d" -} \ No newline at end of file diff --git a/broadcast/DevDeployments.s.sol/5/run-1691868669.json b/broadcast/DevDeployments.s.sol/5/run-1691868669.json deleted file mode 100644 index 19d2dd8f..00000000 --- a/broadcast/DevDeployments.s.sol/5/run-1691868669.json +++ /dev/null @@ -1,119 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x70610487057d530e2da659732ebdb2bdba5c5cd4aeb52ed607a50a87877d7245", - "transactionType": "CREATE", - "contractName": "LicensingModule", - "contractAddress": "0x8602E35ee65074eF0D2701927289705f2F61773D", - "function": null, - "arguments": [ - "0xf157916d184598105FE4681eC93Be0f799599003" - ], - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x43e58c", - "value": "0x0", - "data": "0x60a06040523480156200001157600080fd5b5060405162003e2838038062003e288339810160408190526200003491620000b3565b6001600160a01b038116620000a15760405162461bcd60e51b815260206004820152602960248201527f4672616e63686973652072656769737472792063616e6e6f74206265207a65726044820152686f206164647265737360b81b606482015260840160405180910390fd5b6001600160a01b0316608052620000e5565b600060208284031215620000c657600080fd5b81516001600160a01b0381168114620000de57600080fd5b9392505050565b608051613d2062000108600039600081816102a101526113d30152613d206000f3fe608060405234801561001057600080fd5b50600436106101515760003560e01c806394f99b40116100cd578063c87b56dd11610081578063e985e9c511610066578063e985e9c514610338578063f62d188814610381578063f782f6751461039457600080fd5b8063c87b56dd14610312578063e705c2b81461032557600080fd5b8063a22cb465116100b2578063a22cb465146102cb578063b2dd1212146102de578063b88d4fde146102ff57600080fd5b806394f99b401461029c57806395d89b41146102c357600080fd5b806323b872dd1161012457806342842e0e1161010957806342842e0e146102635780636352211e1461027657806370a082311461028957600080fd5b806323b872dd146101e05780632fb49eff146101f357600080fd5b806301ffc9a71461015657806306fdde031461017e578063081812fc14610193578063095ea7b3146101cb575b600080fd5b610169610164366004612ff7565b6103a7565b60405190151581526020015b60405180910390f35b61018661048c565b6040516101759190613082565b6101a66101a1366004613095565b61051e565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610175565b6101de6101d93660046130e0565b610552565b005b6101de6101ee36600461310c565b6106af565b6102556102013660046130e0565b73ffffffffffffffffffffffffffffffffffffffff9190911660009081527f778e3a21329d920b45eecf00e356693a1888f1ae24d67d398ab1f17457bcfac160209081526040808320938352929052205490565b604051908152602001610175565b6101de61027136600461310c565b610736565b6101a6610284366004613095565b610751565b61025561029736600461314d565b610867565b6101a67f000000000000000000000000000000000000000000000000000000000000000081565b61018661091b565b6101de6102d936600461317a565b61092a565b6102f16102ec366004613095565b610939565b6040516101759291906131e4565b6101de61030d36600461349d565b610cdf565b610186610320366004613095565b610d6d565b610169610333366004613095565b610de0565b610169610346366004613509565b73ffffffffffffffffffffffffffffffffffffffff9182166000908152606a6020908152604080832093909416825291909152205460ff1690565b6101de61038f366004613542565b6111a7565b6102556103a23660046135f0565b6113b9565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061043a57507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b8061048657507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60606065805461049b906136e7565b80601f01602080910402602001604051908101604052809291908181526020018280546104c7906136e7565b80156105145780601f106104e957610100808354040283529160200191610514565b820191906000526020600020905b8154815290600101906020018083116104f757829003601f168201915b5050505050905090565b60006105298261192f565b5060009081526069602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b600061055d826119a3565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036106055760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff8216148061062e575061062e8133610346565b6106a05760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c00000060648201526084016105fc565b6106aa8383611a15565b505050565b6106b93382611ab5565b61072b5760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f7665640000000000000000000000000000000000000060648201526084016105fc565b6106aa838383611b75565b6106aa83838360405180602001604052806000815250610cdf565b60008181527f778e3a21329d920b45eecf00e356693a1888f1ae24d67d398ab1f17457bcfabd602090815260408083208151808301909252600481015473ffffffffffffffffffffffffffffffffffffffff1680835260059091015492820192909252901561085e57805160208201516040517f6352211e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90921691636352211e916108169160040190815260200190565b602060405180830381865afa158015610833573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108579190613734565b9392505050565b610857836119a3565b600073ffffffffffffffffffffffffffffffffffffffff82166108f25760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e6572000000000000000000000000000000000000000000000060648201526084016105fc565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526068602052604090205490565b60606066805461049b906136e7565b610935338383611e2f565b5050565b610941612ecd565b60008281527f778e3a21329d920b45eecf00e356693a1888f1ae24d67d398ab1f17457bcfabd6020526040812061097784610751565b6040805161014081018252835460ff908116151582526001850154602080840191909152600286015483850152835160608181018652600388015480851615158352610100810485161515838501526201000090049093161515818601529183019190915282518084018452600486015473ffffffffffffffffffffffffffffffffffffffff90811682526005870154828401526080840191909152835180850190945260068601805490911684526007860180549394879460a08701949193929184019190610a46906136e7565b80601f0160208091040260200160405190810160405280929190818152602001828054610a72906136e7565b8015610abf5780601f10610a9457610100808354040283529160200191610abf565b820191906000526020600020905b815481529060010190602001808311610aa257829003601f168201915b5050509190925250505081526040805180820190915260088301805473ffffffffffffffffffffffffffffffffffffffff16825260098401805460209485019484019190610b0c906136e7565b80601f0160208091040260200160405190810160405280929190818152602001828054610b38906136e7565b8015610b855780601f10610b5a57610100808354040283529160200191610b85565b820191906000526020600020905b815481529060010190602001808311610b6857829003601f168201915b505050919092525050508152600a82015473ffffffffffffffffffffffffffffffffffffffff9081166020808401919091526040805160a081018252600b8601546dffffffffffffffffffffffffffff80821683526e010000000000000000000000000000820416938201939093527c010000000000000000000000000000000000000000000000000000000090920460ff16151582820152600c850154909216606080830191909152600d850154608083015291830152600e83018054919092019190610c52906136e7565b80601f0160208091040260200160405190810160405280929190818152602001828054610c7e906136e7565b8015610ccb5780601f10610ca057610100808354040283529160200191610ccb565b820191906000526020600020905b815481529060010190602001808311610cae57829003601f168201915b505050505081525050915091509150915091565b610ce93383611ab5565b610d5b5760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f7665640000000000000000000000000000000000000060648201526084016105fc565b610d6784848484611f42565b50505050565b6060610d788261192f565b6000610d8f60408051602081019091526000815290565b90506000815111610daf5760405180602001604052806000815250610857565b80610db984611fcb565b604051602001610dca929190613751565b6040516020818303038152906040529392505050565b600081600003610df257506000919050565b811561119f5760008281527f778e3a21329d920b45eecf00e356693a1888f1ae24d67d398ab1f17457bcfabd60208181526040808420815161014081018352815460ff90811615158252600183015482860152600283015482850152835160608082018652600385015480841615158352610100810484161515838901526201000090049092161515818601529082015282518084018452600483015473ffffffffffffffffffffffffffffffffffffffff90811682526005840154828701526080830191909152835180850190945260068301805490911684526007830180549697969295939460a087019490939084019190610eef906136e7565b80601f0160208091040260200160405190810160405280929190818152602001828054610f1b906136e7565b8015610f685780601f10610f3d57610100808354040283529160200191610f68565b820191906000526020600020905b815481529060010190602001808311610f4b57829003601f168201915b5050509190925250505081526040805180820190915260088301805473ffffffffffffffffffffffffffffffffffffffff16825260098401805460209485019484019190610fb5906136e7565b80601f0160208091040260200160405190810160405280929190818152602001828054610fe1906136e7565b801561102e5780601f106110035761010080835404028352916020019161102e565b820191906000526020600020905b81548152906001019060200180831161101157829003601f168201915b505050919092525050508152600a82015473ffffffffffffffffffffffffffffffffffffffff9081166020808401919091526040805160a081018252600b8601546dffffffffffffffffffffffffffff80821683526e010000000000000000000000000000820416938201939093527c010000000000000000000000000000000000000000000000000000000090920460ff16151582820152600c850154909216606080830191909152600d850154608083015291830152600e830180549190920191906110fb906136e7565b80601f0160208091040260200160405190810160405280929190818152602001828054611127906136e7565b80156111745780601f1061114957610100808354040283529160200191611174565b820191906000526020600020905b81548152906001019060200180831161115757829003601f168201915b50505050508152505090508060000151611192575060009392505050565b602001519250610df29050565b506001919050565b600054610100900460ff16158080156111c75750600054600160ff909116105b806111e15750303b1580156111e1575060005460ff166001145b6112535760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016105fc565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156112b157600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6113256040518060400160405280601681526020017f53746f72792050726f746f636f6c204c6963656e7365000000000000000000008152506040518060400160405280600381526020017f53504c0000000000000000000000000000000000000000000000000000000000815250612089565b7f778e3a21329d920b45eecf00e356693a1888f1ae24d67d398ab1f17457bcfac26113518385836137ce565b5080156106aa57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b60003373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146114655760405162461bcd60e51b8152602060048201526024808201527f53656e646572206973206e6f7420746865206672616e6368697365207265676960448201527f737472790000000000000000000000000000000000000000000000000000000060648201526084016105fc565b7f778e3a21329d920b45eecf00e356693a1888f1ae24d67d398ab1f17457bcfabd8a156118175760008b815260208281526040808320815161014081018352815460ff90811615158252600183015482860152600283015482850152835160608181018652600385015480841615158352610100810484161515838901526201000090049092161515818601529082015282518084018452600483015473ffffffffffffffffffffffffffffffffffffffff90811682526005840154828701526080830191909152835180850190945260068301805490911684526007830180549295939460a08701949093908401919061155f906136e7565b80601f016020809104026020016040519081016040528092919081815260200182805461158b906136e7565b80156115d85780601f106115ad576101008083540402835291602001916115d8565b820191906000526020600020905b8154815290600101906020018083116115bb57829003601f168201915b5050509190925250505081526040805180820190915260088301805473ffffffffffffffffffffffffffffffffffffffff16825260098401805460209485019484019190611625906136e7565b80601f0160208091040260200160405190810160405280929190818152602001828054611651906136e7565b801561169e5780601f106116735761010080835404028352916020019161169e565b820191906000526020600020905b81548152906001019060200180831161168157829003601f168201915b505050919092525050508152600a82015473ffffffffffffffffffffffffffffffffffffffff9081166020808401919091526040805160a081018252600b8601546dffffffffffffffffffffffffffff80821683526e010000000000000000000000000000820416938201939093527c010000000000000000000000000000000000000000000000000000000090920460ff16151582820152600c850154909216606080830191909152600d850154608083015291830152600e8301805491909201919061176b906136e7565b80601f0160208091040260200160405190810160405280929190818152602001828054611797906136e7565b80156117e45780601f106117b9576101008083540402835291602001916117e4565b820191906000526020600020905b8154815290600101906020018083116117c757829003601f168201915b505050505081525050905061180b8c8e838d80360381019061180691906138e9565b612110565b610120015193506118bb565b61182760608a0160408b01613955565b6118bb5780600501805461183a906136e7565b80601f0160208091040260200160405190810160405280929190818152602001828054611866906136e7565b80156118b35780601f10611888576101008083540402835291602001916118b3565b820191906000526020600020905b81548152906001019060200180831161189657829003601f168201915b505050505093505b60006118ce8c8c8c8c8c8c8c8c8c612306565b9050806004830160006118e760408d0160208e0161314d565b73ffffffffffffffffffffffffffffffffffffffff168152602080820192909252604090810160009081208d83013582529092529020559150509a9950505050505050505050565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff166119a05760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e204944000000000000000060448201526064016105fc565b50565b60008181526067602052604081205473ffffffffffffffffffffffffffffffffffffffff16806104865760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e204944000000000000000060448201526064016105fc565b600081815260696020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091558190611a6f826119a3565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080611ac1836119a3565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611b2f575073ffffffffffffffffffffffffffffffffffffffff8082166000908152606a602090815260408083209388168352929052205460ff165b80611b6d57508373ffffffffffffffffffffffffffffffffffffffff16611b558461051e565b73ffffffffffffffffffffffffffffffffffffffff16145b949350505050565b8273ffffffffffffffffffffffffffffffffffffffff16611b95826119a3565b73ffffffffffffffffffffffffffffffffffffffff1614611c1e5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e657200000000000000000000000000000000000000000000000000000060648201526084016105fc565b73ffffffffffffffffffffffffffffffffffffffff8216611ca65760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016105fc565b611cb38383836001612422565b8273ffffffffffffffffffffffffffffffffffffffff16611cd3826119a3565b73ffffffffffffffffffffffffffffffffffffffff1614611d5c5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e657200000000000000000000000000000000000000000000000000000060648201526084016105fc565b600081815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff8781168086526068855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905590871680865283862080546001019055868652606790945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611eaa5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016105fc565b73ffffffffffffffffffffffffffffffffffffffff8381166000818152606a602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b611f4d848484611b75565b611f5984848484612427565b610d675760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016105fc565b60606000611fd883612600565b600101905060008167ffffffffffffffff811115611ff857611ff861339a565b6040519080825280601f01601f191660200182016040528015612022576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a850494508461202c57509392505050565b600054610100900460ff166121065760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016105fc565b61093582826126e2565b8273ffffffffffffffffffffffffffffffffffffffff1661213085610751565b73ffffffffffffffffffffffffffffffffffffffff16146121b95760405162461bcd60e51b815260206004820152602d60248201527f53656e646572206973206e6f7420746865206f776e6572206f6620746865207060448201527f6172656e74206c6963656e73650000000000000000000000000000000000000060648201526084016105fc565b81516122075760405162461bcd60e51b815260206004820152601c60248201527f506172656e74206c6963656e7365206973206e6f74206163746976650000000060448201526064016105fc565b8160600151602001516122815760405162461bcd60e51b8152602060048201526024808201527f506172656e74206c6963656e73652063616e6e6f74206265207375626c69636560448201527f6e7365640000000000000000000000000000000000000000000000000000000060648201526084016105fc565b80604001511515826060015160400151151514610d675760405162461bcd60e51b815260206004820152603360248201527f436f6d6d65726369616c207465726d73206d757374206265207468652073616d60448201527f6520617320706172656e74206c6963656e73650000000000000000000000000060648201526084016105fc565b60006123538a8a61231c368c90038c018c6138e9565b61232b368c90038c018c613970565b6123348b613a56565b61233d8b613a56565b61234c368c90038c018c613a80565b8a8a612778565b90506000612364602089018961314d565b73ffffffffffffffffffffffffffffffffffffffff16146123955761239561238f602089018961314d565b82612ce8565b807f35805985e00e80103ddc5df8bca16fb35a75f7f0830d5d5448f443d689e9424a6123c460208a018a61314d565b6123d460408b0160208c0161314d565b6040805173ffffffffffffffffffffffffffffffffffffffff9384168152929091166020830152808b013590820152606081018d905260800160405180910390a29998505050505050505050565b610d67565b600073ffffffffffffffffffffffffffffffffffffffff84163b156125f5576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a029061249e903390899088908890600401613b0b565b6020604051808303816000875af19250505080156124f7575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526124f491810190613b54565b60015b6125aa573d808015612525576040519150601f19603f3d011682016040523d82523d6000602084013e61252a565b606091505b5080516000036125a25760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016105fc565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050611b6d565b506001949350505050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310612649577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef81000000008310612675576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061269357662386f26fc10000830492506010015b6305f5e10083106126ab576305f5e100830492506008015b61271083106126bf57612710830492506004015b606483106126d1576064830492506002015b600a83106104865760010192915050565b600054610100900460ff1661275f5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016105fc565b606561276b8382613b71565b5060666106aa8282613b71565b855160009073ffffffffffffffffffffffffffffffffffffffff161580156127b9575060208701515173ffffffffffffffffffffffffffffffffffffffff16155b1561282c5760405162461bcd60e51b815260206004820152603460248201527f4c6963656e7365206d75737420626520626f756e6420746f206120746f6b656e60448201527f206f722061206c6963656e736520686f6c64657200000000000000000000000060648201526084016105fc565b865173ffffffffffffffffffffffffffffffffffffffff161580159061286c575060208701515173ffffffffffffffffffffffffffffffffffffffff1615155b156129055760405162461bcd60e51b815260206004820152604860248201527f4c6963656e73652063616e6e6f7420626520626f756e6420746f206120746f6b60448201527f656e20616e642061206c6963656e736520686f6c64657220617420746865207360648201527f616d652074696d65000000000000000000000000000000000000000000000000608482015260a4016105fc565b7f778e3a21329d920b45eecf00e356693a1888f1ae24d67d398ab1f17457bcfabe80547f778e3a21329d920b45eecf00e356693a1888f1ae24d67d398ab1f17457bcfabd91600091908261295883613c8b565b9190505590506040518061014001604052806001151581526020018d81526020018c81526020018b81526020018a6020015181526020018981526020018881526020018573ffffffffffffffffffffffffffffffffffffffff1681526020018781526020018681525082600001600083815260200190815260200160002060008201518160000160006101000a81548160ff021916908315150217905550602082015181600101556040820151816002015560608201518160030160008201518160000160006101000a81548160ff02191690831515021790555060208201518160000160016101000a81548160ff02191690831515021790555060408201518160000160026101000a81548160ff021916908315150217905550505060808201518160040160008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010155505060a08201518160060160008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506020820151816001019081612b369190613b71565b50505060c082015180516008830180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90921691909117815560208201516009840190612b9a9082613b71565b50505060e0820151600a8201805473ffffffffffffffffffffffffffffffffffffffff9283167fffffffffffffffffffffffff0000000000000000000000000000000000000000918216179091556101008401518051600b850180546020840151604085015115157c0100000000000000000000000000000000000000000000000000000000027fffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffff6dffffffffffffffffffffffffffff9283166e010000000000000000000000000000027fffffffff00000000000000000000000000000000000000000000000000000000909416929095169190911791909117929092169190911790556060810151600c850180549190941692169190911790915560800151600d820155610120820151600e820190612cd59082613b71565b50919d9c50505050505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff8216612d4b5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016105fc565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff1615612dbd5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016105fc565b612dcb600083836001612422565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff1615612e3d5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016105fc565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260686020908152604080832080546001019055848352606790915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60408051610140810182526000808252602080830182905282840182905283516060808201865283825281830184905281860184905284015283518085019094528184528301529060808201908152602001612f526040518060400160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b8152602001612f8a6040518060400160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b8152600060208083018290526040805160a081018252838152918201839052818101839052606080830184905260808301939093528301529081015290565b7fffffffff00000000000000000000000000000000000000000000000000000000811681146119a057600080fd5b60006020828403121561300957600080fd5b813561085781612fc9565b60005b8381101561302f578181015183820152602001613017565b50506000910152565b60008151808452613050816020860160208601613014565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006108576020830184613038565b6000602082840312156130a757600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff811681146119a057600080fd5b80356130db816130ae565b919050565b600080604083850312156130f357600080fd5b82356130fe816130ae565b946020939093013593505050565b60008060006060848603121561312157600080fd5b833561312c816130ae565b9250602084013561313c816130ae565b929592945050506040919091013590565b60006020828403121561315f57600080fd5b8135610857816130ae565b803580151581146130db57600080fd5b6000806040838503121561318d57600080fd5b8235613198816130ae565b91506131a66020840161316a565b90509250929050565b73ffffffffffffffffffffffffffffffffffffffff81511682526000602082015160406020850152611b6d6040850182613038565b604081526131f760408201845115159052565b60208301516060820152604083015160808201526000606084015161323960a08401828051151582526020808201511515908301526040908101511515910152565b50608084015161010061326e81850183805173ffffffffffffffffffffffffffffffffffffffff168252602090810151910152565b60a0860151915061022061014085015261328c6102608501836131af565b915060c08601517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc080868503016101608701526132c984836131af565b935060e088015191506132f561018087018373ffffffffffffffffffffffffffffffffffffffff169052565b9187015180516dffffffffffffffffffffffffffff9081166101a08801526020820151166101c0870152604081015115156101e0870152606081015173ffffffffffffffffffffffffffffffffffffffff1661020087015260800151610220860152506101208601518483039091016102408501526133748282613038565b92505050610857602083018473ffffffffffffffffffffffffffffffffffffffff169052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156133ec576133ec61339a565b60405290565b600082601f83011261340357600080fd5b813567ffffffffffffffff8082111561341e5761341e61339a565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156134645761346461339a565b8160405283815286602085880101111561347d57600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600080608085870312156134b357600080fd5b84356134be816130ae565b935060208501356134ce816130ae565b925060408501359150606085013567ffffffffffffffff8111156134f157600080fd5b6134fd878288016133f2565b91505092959194509250565b6000806040838503121561351c57600080fd5b8235613527816130ae565b91506020830135613537816130ae565b809150509250929050565b6000806020838503121561355557600080fd5b823567ffffffffffffffff8082111561356d57600080fd5b818501915085601f83011261358157600080fd5b81358181111561359057600080fd5b8660208285010111156135a257600080fd5b60209290920196919550909350505050565b6000606082840312156135c657600080fd5b50919050565b6000604082840312156135c657600080fd5b600060a082840312156135c657600080fd5b6000806000806000806000806000806102408b8d03121561361057600080fd5b6136198b6130d0565b995060208b0135985060408b013597506136368c60608d016135b4565b96506136458c60c08d016135b4565b95506101208b013567ffffffffffffffff8082111561366357600080fd5b61366f8e838f016135cc565b96506101408d013591508082111561368657600080fd5b6136928e838f016135cc565b95506136a28e6101608f016135de565b94506102008d01359150808211156136b957600080fd5b506136c68d828e016133f2565b9250506136d66102208c016130d0565b90509295989b9194979a5092959850565b600181811c908216806136fb57607f821691505b6020821081036135c6577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006020828403121561374657600080fd5b8151610857816130ae565b60008351613763818460208801613014565b835190830190613777818360208801613014565b01949350505050565b601f8211156106aa57600081815260208120601f850160051c810160208610156137a75750805b601f850160051c820191505b818110156137c6578281556001016137b3565b505050505050565b67ffffffffffffffff8311156137e6576137e661339a565b6137fa836137f483546136e7565b83613780565b6000601f84116001811461384c57600085156138165750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b1783556138e2565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b8281101561389b578685013582556020948501946001909201910161387b565b50868210156138d6577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b6000606082840312156138fb57600080fd5b6040516060810181811067ffffffffffffffff8211171561391e5761391e61339a565b60405261392a8361316a565b81526139386020840161316a565b60208201526139496040840161316a565b60408201529392505050565b60006020828403121561396757600080fd5b6108578261316a565b6000818303606081121561398357600080fd5b61398b6133c9565b8335613996816130ae565b815260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0830112156139c857600080fd5b6139d06133c9565b915060208401356139e0816130ae565b82526040939093013560208083019190915283015250919050565b600060408284031215613a0d57600080fd5b613a156133c9565b90508135613a22816130ae565b8152602082013567ffffffffffffffff811115613a3e57600080fd5b613a4a848285016133f2565b60208301525092915050565b600061048636836139fb565b80356dffffffffffffffffffffffffffff811681146130db57600080fd5b600060a08284031215613a9257600080fd5b60405160a0810181811067ffffffffffffffff82111715613ab557613ab561339a565b604052613ac183613a62565b8152613acf60208401613a62565b6020820152613ae06040840161316a565b60408201526060830135613af3816130ae565b60608201526080928301359281019290925250919050565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525083604083015260806060830152613b4a6080830184613038565b9695505050505050565b600060208284031215613b6657600080fd5b815161085781612fc9565b815167ffffffffffffffff811115613b8b57613b8b61339a565b613b9f81613b9984546136e7565b84613780565b602080601f831160018114613bf25760008415613bbc5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b1785556137c6565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015613c3f57888601518255948401946001909101908401613c20565b5085821015613c7b57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613ce3577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b506001019056fea2646970667358221220f2a8449fa514209b5e1e6702694c3899389b46b19e276088a7b958f0a1db3c3e64736f6c63430008130033000000000000000000000000f157916d184598105fe4681ec93be0f799599003", - "nonce": "0x43", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x5c0ee04d75ba772c89575dadfb5e7032582c501f16e6f438aa1e2fdd6c4c284c", - "transactionType": "CREATE", - "contractName": "ERC1967Proxy", - "contractAddress": "0xFbfa729428af206a084E18328Ec923587193525d", - "function": null, - "arguments": [ - "0x8602E35ee65074eF0D2701927289705f2F61773D", - "0xf62d18880000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003f68747470733a2f2f617277656176652e6e65742f794849624b6c4642673378754b537a6c4d5f6452454738593038756f642d67574b735769394f615046734d00" - ], - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x5824f", - "value": "0x0", - "data": "0x60806040526040516104ee3803806104ee833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c760279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60be806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea2646970667358221220a678556ae280ddf13e459fe9ecd177633ae9dbc544c45d5b523d43ba9084c8dc64736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c65640000000000000000000000008602e35ee65074ef0d2701927289705f2f61773d00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000084f62d18880000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003f68747470733a2f2f617277656176652e6e65742f794849624b6c4642673378754b537a6c4d5f6452454738593038756f642d67574b735769394f615046734d0000000000000000000000000000000000000000000000000000000000", - "nonce": "0x44", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "transactionHash": "0x70610487057d530e2da659732ebdb2bdba5c5cd4aeb52ed607a50a87877d7245", - "transactionIndex": "0x0", - "blockHash": "0x14ab3fe5347b4f095858a52eb28997ef8b6f3628a66f29cc63f8e42baf9260c0", - "blockNumber": "0x911055", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": null, - "cumulativeGasUsed": "0x343e52", - "gasUsed": "0x343e52", - "contractAddress": "0x8602E35ee65074eF0D2701927289705f2F61773D", - "logs": [], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d05e0e" - }, - { - "transactionHash": "0x5c0ee04d75ba772c89575dadfb5e7032582c501f16e6f438aa1e2fdd6c4c284c", - "transactionIndex": "0x1", - "blockHash": "0x14ab3fe5347b4f095858a52eb28997ef8b6f3628a66f29cc63f8e42baf9260c0", - "blockNumber": "0x911055", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": null, - "cumulativeGasUsed": "0x387b8d", - "gasUsed": "0x43d3b", - "contractAddress": "0xFbfa729428af206a084E18328Ec923587193525d", - "logs": [ - { - "address": "0xFbfa729428af206a084E18328Ec923587193525d", - "topics": [ - "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", - "0x0000000000000000000000008602e35ee65074ef0d2701927289705f2f61773d" - ], - "data": "0x", - "blockHash": "0x14ab3fe5347b4f095858a52eb28997ef8b6f3628a66f29cc63f8e42baf9260c0", - "blockNumber": "0x911055", - "transactionHash": "0x5c0ee04d75ba772c89575dadfb5e7032582c501f16e6f438aa1e2fdd6c4c284c", - "transactionIndex": "0x1", - "logIndex": "0x0", - "removed": false - }, - { - "address": "0xFbfa729428af206a084E18328Ec923587193525d", - "topics": [ - "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x14ab3fe5347b4f095858a52eb28997ef8b6f3628a66f29cc63f8e42baf9260c0", - "blockNumber": "0x911055", - "transactionHash": "0x5c0ee04d75ba772c89575dadfb5e7032582c501f16e6f438aa1e2fdd6c4c284c", - "transactionIndex": "0x1", - "logIndex": "0x1", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000400000000000000000000042000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000001000000000000000000000000000000000000080000020100000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000000000000000020000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d05e0e" - } - ], - "libraries": [], - "pending": [], - "path": "/Users/drmanhattan/Workspace/StoryProtocol/protocol-contracts/broadcast/DevDeployments.s.sol/5/run-latest.json", - "returns": {}, - "timestamp": 1691868669, - "chain": 5, - "multi": false, - "commit": "53ab00d" -} \ No newline at end of file diff --git a/broadcast/DevDeployments.s.sol/5/run-1691868693.json b/broadcast/DevDeployments.s.sol/5/run-1691868693.json deleted file mode 100644 index 5ffde9c4..00000000 --- a/broadcast/DevDeployments.s.sol/5/run-1691868693.json +++ /dev/null @@ -1,119 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x70610487057d530e2da659732ebdb2bdba5c5cd4aeb52ed607a50a87877d7245", - "transactionType": "CREATE", - "contractName": "LicensingModule", - "contractAddress": "0x8602E35ee65074eF0D2701927289705f2F61773D", - "function": null, - "arguments": [ - "0xf157916d184598105FE4681eC93Be0f799599003" - ], - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x43e58c", - "value": "0x0", - "data": "0x60a06040523480156200001157600080fd5b5060405162003e2838038062003e288339810160408190526200003491620000b3565b6001600160a01b038116620000a15760405162461bcd60e51b815260206004820152602960248201527f4672616e63686973652072656769737472792063616e6e6f74206265207a65726044820152686f206164647265737360b81b606482015260840160405180910390fd5b6001600160a01b0316608052620000e5565b600060208284031215620000c657600080fd5b81516001600160a01b0381168114620000de57600080fd5b9392505050565b608051613d2062000108600039600081816102a101526113d30152613d206000f3fe608060405234801561001057600080fd5b50600436106101515760003560e01c806394f99b40116100cd578063c87b56dd11610081578063e985e9c511610066578063e985e9c514610338578063f62d188814610381578063f782f6751461039457600080fd5b8063c87b56dd14610312578063e705c2b81461032557600080fd5b8063a22cb465116100b2578063a22cb465146102cb578063b2dd1212146102de578063b88d4fde146102ff57600080fd5b806394f99b401461029c57806395d89b41146102c357600080fd5b806323b872dd1161012457806342842e0e1161010957806342842e0e146102635780636352211e1461027657806370a082311461028957600080fd5b806323b872dd146101e05780632fb49eff146101f357600080fd5b806301ffc9a71461015657806306fdde031461017e578063081812fc14610193578063095ea7b3146101cb575b600080fd5b610169610164366004612ff7565b6103a7565b60405190151581526020015b60405180910390f35b61018661048c565b6040516101759190613082565b6101a66101a1366004613095565b61051e565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610175565b6101de6101d93660046130e0565b610552565b005b6101de6101ee36600461310c565b6106af565b6102556102013660046130e0565b73ffffffffffffffffffffffffffffffffffffffff9190911660009081527f778e3a21329d920b45eecf00e356693a1888f1ae24d67d398ab1f17457bcfac160209081526040808320938352929052205490565b604051908152602001610175565b6101de61027136600461310c565b610736565b6101a6610284366004613095565b610751565b61025561029736600461314d565b610867565b6101a67f000000000000000000000000000000000000000000000000000000000000000081565b61018661091b565b6101de6102d936600461317a565b61092a565b6102f16102ec366004613095565b610939565b6040516101759291906131e4565b6101de61030d36600461349d565b610cdf565b610186610320366004613095565b610d6d565b610169610333366004613095565b610de0565b610169610346366004613509565b73ffffffffffffffffffffffffffffffffffffffff9182166000908152606a6020908152604080832093909416825291909152205460ff1690565b6101de61038f366004613542565b6111a7565b6102556103a23660046135f0565b6113b9565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061043a57507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b8061048657507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60606065805461049b906136e7565b80601f01602080910402602001604051908101604052809291908181526020018280546104c7906136e7565b80156105145780601f106104e957610100808354040283529160200191610514565b820191906000526020600020905b8154815290600101906020018083116104f757829003601f168201915b5050505050905090565b60006105298261192f565b5060009081526069602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b600061055d826119a3565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036106055760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff8216148061062e575061062e8133610346565b6106a05760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c00000060648201526084016105fc565b6106aa8383611a15565b505050565b6106b93382611ab5565b61072b5760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f7665640000000000000000000000000000000000000060648201526084016105fc565b6106aa838383611b75565b6106aa83838360405180602001604052806000815250610cdf565b60008181527f778e3a21329d920b45eecf00e356693a1888f1ae24d67d398ab1f17457bcfabd602090815260408083208151808301909252600481015473ffffffffffffffffffffffffffffffffffffffff1680835260059091015492820192909252901561085e57805160208201516040517f6352211e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90921691636352211e916108169160040190815260200190565b602060405180830381865afa158015610833573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108579190613734565b9392505050565b610857836119a3565b600073ffffffffffffffffffffffffffffffffffffffff82166108f25760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e6572000000000000000000000000000000000000000000000060648201526084016105fc565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526068602052604090205490565b60606066805461049b906136e7565b610935338383611e2f565b5050565b610941612ecd565b60008281527f778e3a21329d920b45eecf00e356693a1888f1ae24d67d398ab1f17457bcfabd6020526040812061097784610751565b6040805161014081018252835460ff908116151582526001850154602080840191909152600286015483850152835160608181018652600388015480851615158352610100810485161515838501526201000090049093161515818601529183019190915282518084018452600486015473ffffffffffffffffffffffffffffffffffffffff90811682526005870154828401526080840191909152835180850190945260068601805490911684526007860180549394879460a08701949193929184019190610a46906136e7565b80601f0160208091040260200160405190810160405280929190818152602001828054610a72906136e7565b8015610abf5780601f10610a9457610100808354040283529160200191610abf565b820191906000526020600020905b815481529060010190602001808311610aa257829003601f168201915b5050509190925250505081526040805180820190915260088301805473ffffffffffffffffffffffffffffffffffffffff16825260098401805460209485019484019190610b0c906136e7565b80601f0160208091040260200160405190810160405280929190818152602001828054610b38906136e7565b8015610b855780601f10610b5a57610100808354040283529160200191610b85565b820191906000526020600020905b815481529060010190602001808311610b6857829003601f168201915b505050919092525050508152600a82015473ffffffffffffffffffffffffffffffffffffffff9081166020808401919091526040805160a081018252600b8601546dffffffffffffffffffffffffffff80821683526e010000000000000000000000000000820416938201939093527c010000000000000000000000000000000000000000000000000000000090920460ff16151582820152600c850154909216606080830191909152600d850154608083015291830152600e83018054919092019190610c52906136e7565b80601f0160208091040260200160405190810160405280929190818152602001828054610c7e906136e7565b8015610ccb5780601f10610ca057610100808354040283529160200191610ccb565b820191906000526020600020905b815481529060010190602001808311610cae57829003601f168201915b505050505081525050915091509150915091565b610ce93383611ab5565b610d5b5760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f7665640000000000000000000000000000000000000060648201526084016105fc565b610d6784848484611f42565b50505050565b6060610d788261192f565b6000610d8f60408051602081019091526000815290565b90506000815111610daf5760405180602001604052806000815250610857565b80610db984611fcb565b604051602001610dca929190613751565b6040516020818303038152906040529392505050565b600081600003610df257506000919050565b811561119f5760008281527f778e3a21329d920b45eecf00e356693a1888f1ae24d67d398ab1f17457bcfabd60208181526040808420815161014081018352815460ff90811615158252600183015482860152600283015482850152835160608082018652600385015480841615158352610100810484161515838901526201000090049092161515818601529082015282518084018452600483015473ffffffffffffffffffffffffffffffffffffffff90811682526005840154828701526080830191909152835180850190945260068301805490911684526007830180549697969295939460a087019490939084019190610eef906136e7565b80601f0160208091040260200160405190810160405280929190818152602001828054610f1b906136e7565b8015610f685780601f10610f3d57610100808354040283529160200191610f68565b820191906000526020600020905b815481529060010190602001808311610f4b57829003601f168201915b5050509190925250505081526040805180820190915260088301805473ffffffffffffffffffffffffffffffffffffffff16825260098401805460209485019484019190610fb5906136e7565b80601f0160208091040260200160405190810160405280929190818152602001828054610fe1906136e7565b801561102e5780601f106110035761010080835404028352916020019161102e565b820191906000526020600020905b81548152906001019060200180831161101157829003601f168201915b505050919092525050508152600a82015473ffffffffffffffffffffffffffffffffffffffff9081166020808401919091526040805160a081018252600b8601546dffffffffffffffffffffffffffff80821683526e010000000000000000000000000000820416938201939093527c010000000000000000000000000000000000000000000000000000000090920460ff16151582820152600c850154909216606080830191909152600d850154608083015291830152600e830180549190920191906110fb906136e7565b80601f0160208091040260200160405190810160405280929190818152602001828054611127906136e7565b80156111745780601f1061114957610100808354040283529160200191611174565b820191906000526020600020905b81548152906001019060200180831161115757829003601f168201915b50505050508152505090508060000151611192575060009392505050565b602001519250610df29050565b506001919050565b600054610100900460ff16158080156111c75750600054600160ff909116105b806111e15750303b1580156111e1575060005460ff166001145b6112535760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016105fc565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156112b157600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6113256040518060400160405280601681526020017f53746f72792050726f746f636f6c204c6963656e7365000000000000000000008152506040518060400160405280600381526020017f53504c0000000000000000000000000000000000000000000000000000000000815250612089565b7f778e3a21329d920b45eecf00e356693a1888f1ae24d67d398ab1f17457bcfac26113518385836137ce565b5080156106aa57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b60003373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146114655760405162461bcd60e51b8152602060048201526024808201527f53656e646572206973206e6f7420746865206672616e6368697365207265676960448201527f737472790000000000000000000000000000000000000000000000000000000060648201526084016105fc565b7f778e3a21329d920b45eecf00e356693a1888f1ae24d67d398ab1f17457bcfabd8a156118175760008b815260208281526040808320815161014081018352815460ff90811615158252600183015482860152600283015482850152835160608181018652600385015480841615158352610100810484161515838901526201000090049092161515818601529082015282518084018452600483015473ffffffffffffffffffffffffffffffffffffffff90811682526005840154828701526080830191909152835180850190945260068301805490911684526007830180549295939460a08701949093908401919061155f906136e7565b80601f016020809104026020016040519081016040528092919081815260200182805461158b906136e7565b80156115d85780601f106115ad576101008083540402835291602001916115d8565b820191906000526020600020905b8154815290600101906020018083116115bb57829003601f168201915b5050509190925250505081526040805180820190915260088301805473ffffffffffffffffffffffffffffffffffffffff16825260098401805460209485019484019190611625906136e7565b80601f0160208091040260200160405190810160405280929190818152602001828054611651906136e7565b801561169e5780601f106116735761010080835404028352916020019161169e565b820191906000526020600020905b81548152906001019060200180831161168157829003601f168201915b505050919092525050508152600a82015473ffffffffffffffffffffffffffffffffffffffff9081166020808401919091526040805160a081018252600b8601546dffffffffffffffffffffffffffff80821683526e010000000000000000000000000000820416938201939093527c010000000000000000000000000000000000000000000000000000000090920460ff16151582820152600c850154909216606080830191909152600d850154608083015291830152600e8301805491909201919061176b906136e7565b80601f0160208091040260200160405190810160405280929190818152602001828054611797906136e7565b80156117e45780601f106117b9576101008083540402835291602001916117e4565b820191906000526020600020905b8154815290600101906020018083116117c757829003601f168201915b505050505081525050905061180b8c8e838d80360381019061180691906138e9565b612110565b610120015193506118bb565b61182760608a0160408b01613955565b6118bb5780600501805461183a906136e7565b80601f0160208091040260200160405190810160405280929190818152602001828054611866906136e7565b80156118b35780601f10611888576101008083540402835291602001916118b3565b820191906000526020600020905b81548152906001019060200180831161189657829003601f168201915b505050505093505b60006118ce8c8c8c8c8c8c8c8c8c612306565b9050806004830160006118e760408d0160208e0161314d565b73ffffffffffffffffffffffffffffffffffffffff168152602080820192909252604090810160009081208d83013582529092529020559150509a9950505050505050505050565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff166119a05760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e204944000000000000000060448201526064016105fc565b50565b60008181526067602052604081205473ffffffffffffffffffffffffffffffffffffffff16806104865760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e204944000000000000000060448201526064016105fc565b600081815260696020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091558190611a6f826119a3565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080611ac1836119a3565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611b2f575073ffffffffffffffffffffffffffffffffffffffff8082166000908152606a602090815260408083209388168352929052205460ff165b80611b6d57508373ffffffffffffffffffffffffffffffffffffffff16611b558461051e565b73ffffffffffffffffffffffffffffffffffffffff16145b949350505050565b8273ffffffffffffffffffffffffffffffffffffffff16611b95826119a3565b73ffffffffffffffffffffffffffffffffffffffff1614611c1e5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e657200000000000000000000000000000000000000000000000000000060648201526084016105fc565b73ffffffffffffffffffffffffffffffffffffffff8216611ca65760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016105fc565b611cb38383836001612422565b8273ffffffffffffffffffffffffffffffffffffffff16611cd3826119a3565b73ffffffffffffffffffffffffffffffffffffffff1614611d5c5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e657200000000000000000000000000000000000000000000000000000060648201526084016105fc565b600081815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff8781168086526068855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905590871680865283862080546001019055868652606790945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611eaa5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016105fc565b73ffffffffffffffffffffffffffffffffffffffff8381166000818152606a602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b611f4d848484611b75565b611f5984848484612427565b610d675760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016105fc565b60606000611fd883612600565b600101905060008167ffffffffffffffff811115611ff857611ff861339a565b6040519080825280601f01601f191660200182016040528015612022576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a850494508461202c57509392505050565b600054610100900460ff166121065760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016105fc565b61093582826126e2565b8273ffffffffffffffffffffffffffffffffffffffff1661213085610751565b73ffffffffffffffffffffffffffffffffffffffff16146121b95760405162461bcd60e51b815260206004820152602d60248201527f53656e646572206973206e6f7420746865206f776e6572206f6620746865207060448201527f6172656e74206c6963656e73650000000000000000000000000000000000000060648201526084016105fc565b81516122075760405162461bcd60e51b815260206004820152601c60248201527f506172656e74206c6963656e7365206973206e6f74206163746976650000000060448201526064016105fc565b8160600151602001516122815760405162461bcd60e51b8152602060048201526024808201527f506172656e74206c6963656e73652063616e6e6f74206265207375626c69636560448201527f6e7365640000000000000000000000000000000000000000000000000000000060648201526084016105fc565b80604001511515826060015160400151151514610d675760405162461bcd60e51b815260206004820152603360248201527f436f6d6d65726369616c207465726d73206d757374206265207468652073616d60448201527f6520617320706172656e74206c6963656e73650000000000000000000000000060648201526084016105fc565b60006123538a8a61231c368c90038c018c6138e9565b61232b368c90038c018c613970565b6123348b613a56565b61233d8b613a56565b61234c368c90038c018c613a80565b8a8a612778565b90506000612364602089018961314d565b73ffffffffffffffffffffffffffffffffffffffff16146123955761239561238f602089018961314d565b82612ce8565b807f35805985e00e80103ddc5df8bca16fb35a75f7f0830d5d5448f443d689e9424a6123c460208a018a61314d565b6123d460408b0160208c0161314d565b6040805173ffffffffffffffffffffffffffffffffffffffff9384168152929091166020830152808b013590820152606081018d905260800160405180910390a29998505050505050505050565b610d67565b600073ffffffffffffffffffffffffffffffffffffffff84163b156125f5576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a029061249e903390899088908890600401613b0b565b6020604051808303816000875af19250505080156124f7575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526124f491810190613b54565b60015b6125aa573d808015612525576040519150601f19603f3d011682016040523d82523d6000602084013e61252a565b606091505b5080516000036125a25760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016105fc565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050611b6d565b506001949350505050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310612649577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef81000000008310612675576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061269357662386f26fc10000830492506010015b6305f5e10083106126ab576305f5e100830492506008015b61271083106126bf57612710830492506004015b606483106126d1576064830492506002015b600a83106104865760010192915050565b600054610100900460ff1661275f5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016105fc565b606561276b8382613b71565b5060666106aa8282613b71565b855160009073ffffffffffffffffffffffffffffffffffffffff161580156127b9575060208701515173ffffffffffffffffffffffffffffffffffffffff16155b1561282c5760405162461bcd60e51b815260206004820152603460248201527f4c6963656e7365206d75737420626520626f756e6420746f206120746f6b656e60448201527f206f722061206c6963656e736520686f6c64657200000000000000000000000060648201526084016105fc565b865173ffffffffffffffffffffffffffffffffffffffff161580159061286c575060208701515173ffffffffffffffffffffffffffffffffffffffff1615155b156129055760405162461bcd60e51b815260206004820152604860248201527f4c6963656e73652063616e6e6f7420626520626f756e6420746f206120746f6b60448201527f656e20616e642061206c6963656e736520686f6c64657220617420746865207360648201527f616d652074696d65000000000000000000000000000000000000000000000000608482015260a4016105fc565b7f778e3a21329d920b45eecf00e356693a1888f1ae24d67d398ab1f17457bcfabe80547f778e3a21329d920b45eecf00e356693a1888f1ae24d67d398ab1f17457bcfabd91600091908261295883613c8b565b9190505590506040518061014001604052806001151581526020018d81526020018c81526020018b81526020018a6020015181526020018981526020018881526020018573ffffffffffffffffffffffffffffffffffffffff1681526020018781526020018681525082600001600083815260200190815260200160002060008201518160000160006101000a81548160ff021916908315150217905550602082015181600101556040820151816002015560608201518160030160008201518160000160006101000a81548160ff02191690831515021790555060208201518160000160016101000a81548160ff02191690831515021790555060408201518160000160026101000a81548160ff021916908315150217905550505060808201518160040160008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010155505060a08201518160060160008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506020820151816001019081612b369190613b71565b50505060c082015180516008830180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90921691909117815560208201516009840190612b9a9082613b71565b50505060e0820151600a8201805473ffffffffffffffffffffffffffffffffffffffff9283167fffffffffffffffffffffffff0000000000000000000000000000000000000000918216179091556101008401518051600b850180546020840151604085015115157c0100000000000000000000000000000000000000000000000000000000027fffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffff6dffffffffffffffffffffffffffff9283166e010000000000000000000000000000027fffffffff00000000000000000000000000000000000000000000000000000000909416929095169190911791909117929092169190911790556060810151600c850180549190941692169190911790915560800151600d820155610120820151600e820190612cd59082613b71565b50919d9c50505050505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff8216612d4b5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016105fc565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff1615612dbd5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016105fc565b612dcb600083836001612422565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff1615612e3d5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016105fc565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260686020908152604080832080546001019055848352606790915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60408051610140810182526000808252602080830182905282840182905283516060808201865283825281830184905281860184905284015283518085019094528184528301529060808201908152602001612f526040518060400160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b8152602001612f8a6040518060400160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b8152600060208083018290526040805160a081018252838152918201839052818101839052606080830184905260808301939093528301529081015290565b7fffffffff00000000000000000000000000000000000000000000000000000000811681146119a057600080fd5b60006020828403121561300957600080fd5b813561085781612fc9565b60005b8381101561302f578181015183820152602001613017565b50506000910152565b60008151808452613050816020860160208601613014565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006108576020830184613038565b6000602082840312156130a757600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff811681146119a057600080fd5b80356130db816130ae565b919050565b600080604083850312156130f357600080fd5b82356130fe816130ae565b946020939093013593505050565b60008060006060848603121561312157600080fd5b833561312c816130ae565b9250602084013561313c816130ae565b929592945050506040919091013590565b60006020828403121561315f57600080fd5b8135610857816130ae565b803580151581146130db57600080fd5b6000806040838503121561318d57600080fd5b8235613198816130ae565b91506131a66020840161316a565b90509250929050565b73ffffffffffffffffffffffffffffffffffffffff81511682526000602082015160406020850152611b6d6040850182613038565b604081526131f760408201845115159052565b60208301516060820152604083015160808201526000606084015161323960a08401828051151582526020808201511515908301526040908101511515910152565b50608084015161010061326e81850183805173ffffffffffffffffffffffffffffffffffffffff168252602090810151910152565b60a0860151915061022061014085015261328c6102608501836131af565b915060c08601517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc080868503016101608701526132c984836131af565b935060e088015191506132f561018087018373ffffffffffffffffffffffffffffffffffffffff169052565b9187015180516dffffffffffffffffffffffffffff9081166101a08801526020820151166101c0870152604081015115156101e0870152606081015173ffffffffffffffffffffffffffffffffffffffff1661020087015260800151610220860152506101208601518483039091016102408501526133748282613038565b92505050610857602083018473ffffffffffffffffffffffffffffffffffffffff169052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156133ec576133ec61339a565b60405290565b600082601f83011261340357600080fd5b813567ffffffffffffffff8082111561341e5761341e61339a565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156134645761346461339a565b8160405283815286602085880101111561347d57600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600080608085870312156134b357600080fd5b84356134be816130ae565b935060208501356134ce816130ae565b925060408501359150606085013567ffffffffffffffff8111156134f157600080fd5b6134fd878288016133f2565b91505092959194509250565b6000806040838503121561351c57600080fd5b8235613527816130ae565b91506020830135613537816130ae565b809150509250929050565b6000806020838503121561355557600080fd5b823567ffffffffffffffff8082111561356d57600080fd5b818501915085601f83011261358157600080fd5b81358181111561359057600080fd5b8660208285010111156135a257600080fd5b60209290920196919550909350505050565b6000606082840312156135c657600080fd5b50919050565b6000604082840312156135c657600080fd5b600060a082840312156135c657600080fd5b6000806000806000806000806000806102408b8d03121561361057600080fd5b6136198b6130d0565b995060208b0135985060408b013597506136368c60608d016135b4565b96506136458c60c08d016135b4565b95506101208b013567ffffffffffffffff8082111561366357600080fd5b61366f8e838f016135cc565b96506101408d013591508082111561368657600080fd5b6136928e838f016135cc565b95506136a28e6101608f016135de565b94506102008d01359150808211156136b957600080fd5b506136c68d828e016133f2565b9250506136d66102208c016130d0565b90509295989b9194979a5092959850565b600181811c908216806136fb57607f821691505b6020821081036135c6577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006020828403121561374657600080fd5b8151610857816130ae565b60008351613763818460208801613014565b835190830190613777818360208801613014565b01949350505050565b601f8211156106aa57600081815260208120601f850160051c810160208610156137a75750805b601f850160051c820191505b818110156137c6578281556001016137b3565b505050505050565b67ffffffffffffffff8311156137e6576137e661339a565b6137fa836137f483546136e7565b83613780565b6000601f84116001811461384c57600085156138165750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b1783556138e2565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b8281101561389b578685013582556020948501946001909201910161387b565b50868210156138d6577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b6000606082840312156138fb57600080fd5b6040516060810181811067ffffffffffffffff8211171561391e5761391e61339a565b60405261392a8361316a565b81526139386020840161316a565b60208201526139496040840161316a565b60408201529392505050565b60006020828403121561396757600080fd5b6108578261316a565b6000818303606081121561398357600080fd5b61398b6133c9565b8335613996816130ae565b815260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0830112156139c857600080fd5b6139d06133c9565b915060208401356139e0816130ae565b82526040939093013560208083019190915283015250919050565b600060408284031215613a0d57600080fd5b613a156133c9565b90508135613a22816130ae565b8152602082013567ffffffffffffffff811115613a3e57600080fd5b613a4a848285016133f2565b60208301525092915050565b600061048636836139fb565b80356dffffffffffffffffffffffffffff811681146130db57600080fd5b600060a08284031215613a9257600080fd5b60405160a0810181811067ffffffffffffffff82111715613ab557613ab561339a565b604052613ac183613a62565b8152613acf60208401613a62565b6020820152613ae06040840161316a565b60408201526060830135613af3816130ae565b60608201526080928301359281019290925250919050565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525083604083015260806060830152613b4a6080830184613038565b9695505050505050565b600060208284031215613b6657600080fd5b815161085781612fc9565b815167ffffffffffffffff811115613b8b57613b8b61339a565b613b9f81613b9984546136e7565b84613780565b602080601f831160018114613bf25760008415613bbc5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b1785556137c6565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015613c3f57888601518255948401946001909101908401613c20565b5085821015613c7b57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613ce3577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b506001019056fea2646970667358221220f2a8449fa514209b5e1e6702694c3899389b46b19e276088a7b958f0a1db3c3e64736f6c63430008130033000000000000000000000000f157916d184598105fe4681ec93be0f799599003", - "nonce": "0x43", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x5c0ee04d75ba772c89575dadfb5e7032582c501f16e6f438aa1e2fdd6c4c284c", - "transactionType": "CREATE", - "contractName": "ERC1967Proxy", - "contractAddress": "0xFbfa729428af206a084E18328Ec923587193525d", - "function": null, - "arguments": [ - "0x8602E35ee65074eF0D2701927289705f2F61773D", - "0xf62d18880000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003f68747470733a2f2f617277656176652e6e65742f794849624b6c4642673378754b537a6c4d5f6452454738593038756f642d67574b735769394f615046734d00" - ], - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x5824f", - "value": "0x0", - "data": "0x60806040526040516104ee3803806104ee833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c760279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60be806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea2646970667358221220a678556ae280ddf13e459fe9ecd177633ae9dbc544c45d5b523d43ba9084c8dc64736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c65640000000000000000000000008602e35ee65074ef0d2701927289705f2f61773d00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000084f62d18880000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003f68747470733a2f2f617277656176652e6e65742f794849624b6c4642673378754b537a6c4d5f6452454738593038756f642d67574b735769394f615046734d0000000000000000000000000000000000000000000000000000000000", - "nonce": "0x44", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "transactionHash": "0x70610487057d530e2da659732ebdb2bdba5c5cd4aeb52ed607a50a87877d7245", - "transactionIndex": "0x0", - "blockHash": "0x14ab3fe5347b4f095858a52eb28997ef8b6f3628a66f29cc63f8e42baf9260c0", - "blockNumber": "0x911055", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": null, - "cumulativeGasUsed": "0x343e52", - "gasUsed": "0x343e52", - "contractAddress": "0x8602E35ee65074eF0D2701927289705f2F61773D", - "logs": [], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d05e0e" - }, - { - "transactionHash": "0x5c0ee04d75ba772c89575dadfb5e7032582c501f16e6f438aa1e2fdd6c4c284c", - "transactionIndex": "0x1", - "blockHash": "0x14ab3fe5347b4f095858a52eb28997ef8b6f3628a66f29cc63f8e42baf9260c0", - "blockNumber": "0x911055", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": null, - "cumulativeGasUsed": "0x387b8d", - "gasUsed": "0x43d3b", - "contractAddress": "0xFbfa729428af206a084E18328Ec923587193525d", - "logs": [ - { - "address": "0xFbfa729428af206a084E18328Ec923587193525d", - "topics": [ - "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", - "0x0000000000000000000000008602e35ee65074ef0d2701927289705f2f61773d" - ], - "data": "0x", - "blockHash": "0x14ab3fe5347b4f095858a52eb28997ef8b6f3628a66f29cc63f8e42baf9260c0", - "blockNumber": "0x911055", - "transactionHash": "0x5c0ee04d75ba772c89575dadfb5e7032582c501f16e6f438aa1e2fdd6c4c284c", - "transactionIndex": "0x1", - "logIndex": "0x0", - "removed": false - }, - { - "address": "0xFbfa729428af206a084E18328Ec923587193525d", - "topics": [ - "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x14ab3fe5347b4f095858a52eb28997ef8b6f3628a66f29cc63f8e42baf9260c0", - "blockNumber": "0x911055", - "transactionHash": "0x5c0ee04d75ba772c89575dadfb5e7032582c501f16e6f438aa1e2fdd6c4c284c", - "transactionIndex": "0x1", - "logIndex": "0x1", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000400000000000000000000042000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000001000000000000000000000000000000000000080000020100000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000000000000000020000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d05e0e" - } - ], - "libraries": [], - "pending": [], - "path": "/Users/drmanhattan/Workspace/StoryProtocol/protocol-contracts/broadcast/DevDeployments.s.sol/5/run-latest.json", - "returns": {}, - "timestamp": 1691868693, - "chain": 5, - "multi": false, - "commit": "53ab00d" -} \ No newline at end of file diff --git a/broadcast/DevDeployments.s.sol/5/run-latest.json b/broadcast/DevDeployments.s.sol/5/run-latest.json deleted file mode 100644 index 5ffde9c4..00000000 --- a/broadcast/DevDeployments.s.sol/5/run-latest.json +++ /dev/null @@ -1,119 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x70610487057d530e2da659732ebdb2bdba5c5cd4aeb52ed607a50a87877d7245", - "transactionType": "CREATE", - "contractName": "LicensingModule", - "contractAddress": "0x8602E35ee65074eF0D2701927289705f2F61773D", - "function": null, - "arguments": [ - "0xf157916d184598105FE4681eC93Be0f799599003" - ], - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x43e58c", - "value": "0x0", - "data": "0x60a06040523480156200001157600080fd5b5060405162003e2838038062003e288339810160408190526200003491620000b3565b6001600160a01b038116620000a15760405162461bcd60e51b815260206004820152602960248201527f4672616e63686973652072656769737472792063616e6e6f74206265207a65726044820152686f206164647265737360b81b606482015260840160405180910390fd5b6001600160a01b0316608052620000e5565b600060208284031215620000c657600080fd5b81516001600160a01b0381168114620000de57600080fd5b9392505050565b608051613d2062000108600039600081816102a101526113d30152613d206000f3fe608060405234801561001057600080fd5b50600436106101515760003560e01c806394f99b40116100cd578063c87b56dd11610081578063e985e9c511610066578063e985e9c514610338578063f62d188814610381578063f782f6751461039457600080fd5b8063c87b56dd14610312578063e705c2b81461032557600080fd5b8063a22cb465116100b2578063a22cb465146102cb578063b2dd1212146102de578063b88d4fde146102ff57600080fd5b806394f99b401461029c57806395d89b41146102c357600080fd5b806323b872dd1161012457806342842e0e1161010957806342842e0e146102635780636352211e1461027657806370a082311461028957600080fd5b806323b872dd146101e05780632fb49eff146101f357600080fd5b806301ffc9a71461015657806306fdde031461017e578063081812fc14610193578063095ea7b3146101cb575b600080fd5b610169610164366004612ff7565b6103a7565b60405190151581526020015b60405180910390f35b61018661048c565b6040516101759190613082565b6101a66101a1366004613095565b61051e565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610175565b6101de6101d93660046130e0565b610552565b005b6101de6101ee36600461310c565b6106af565b6102556102013660046130e0565b73ffffffffffffffffffffffffffffffffffffffff9190911660009081527f778e3a21329d920b45eecf00e356693a1888f1ae24d67d398ab1f17457bcfac160209081526040808320938352929052205490565b604051908152602001610175565b6101de61027136600461310c565b610736565b6101a6610284366004613095565b610751565b61025561029736600461314d565b610867565b6101a67f000000000000000000000000000000000000000000000000000000000000000081565b61018661091b565b6101de6102d936600461317a565b61092a565b6102f16102ec366004613095565b610939565b6040516101759291906131e4565b6101de61030d36600461349d565b610cdf565b610186610320366004613095565b610d6d565b610169610333366004613095565b610de0565b610169610346366004613509565b73ffffffffffffffffffffffffffffffffffffffff9182166000908152606a6020908152604080832093909416825291909152205460ff1690565b6101de61038f366004613542565b6111a7565b6102556103a23660046135f0565b6113b9565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061043a57507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b8061048657507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60606065805461049b906136e7565b80601f01602080910402602001604051908101604052809291908181526020018280546104c7906136e7565b80156105145780601f106104e957610100808354040283529160200191610514565b820191906000526020600020905b8154815290600101906020018083116104f757829003601f168201915b5050505050905090565b60006105298261192f565b5060009081526069602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b600061055d826119a3565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036106055760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff8216148061062e575061062e8133610346565b6106a05760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c00000060648201526084016105fc565b6106aa8383611a15565b505050565b6106b93382611ab5565b61072b5760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f7665640000000000000000000000000000000000000060648201526084016105fc565b6106aa838383611b75565b6106aa83838360405180602001604052806000815250610cdf565b60008181527f778e3a21329d920b45eecf00e356693a1888f1ae24d67d398ab1f17457bcfabd602090815260408083208151808301909252600481015473ffffffffffffffffffffffffffffffffffffffff1680835260059091015492820192909252901561085e57805160208201516040517f6352211e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90921691636352211e916108169160040190815260200190565b602060405180830381865afa158015610833573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108579190613734565b9392505050565b610857836119a3565b600073ffffffffffffffffffffffffffffffffffffffff82166108f25760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e6572000000000000000000000000000000000000000000000060648201526084016105fc565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526068602052604090205490565b60606066805461049b906136e7565b610935338383611e2f565b5050565b610941612ecd565b60008281527f778e3a21329d920b45eecf00e356693a1888f1ae24d67d398ab1f17457bcfabd6020526040812061097784610751565b6040805161014081018252835460ff908116151582526001850154602080840191909152600286015483850152835160608181018652600388015480851615158352610100810485161515838501526201000090049093161515818601529183019190915282518084018452600486015473ffffffffffffffffffffffffffffffffffffffff90811682526005870154828401526080840191909152835180850190945260068601805490911684526007860180549394879460a08701949193929184019190610a46906136e7565b80601f0160208091040260200160405190810160405280929190818152602001828054610a72906136e7565b8015610abf5780601f10610a9457610100808354040283529160200191610abf565b820191906000526020600020905b815481529060010190602001808311610aa257829003601f168201915b5050509190925250505081526040805180820190915260088301805473ffffffffffffffffffffffffffffffffffffffff16825260098401805460209485019484019190610b0c906136e7565b80601f0160208091040260200160405190810160405280929190818152602001828054610b38906136e7565b8015610b855780601f10610b5a57610100808354040283529160200191610b85565b820191906000526020600020905b815481529060010190602001808311610b6857829003601f168201915b505050919092525050508152600a82015473ffffffffffffffffffffffffffffffffffffffff9081166020808401919091526040805160a081018252600b8601546dffffffffffffffffffffffffffff80821683526e010000000000000000000000000000820416938201939093527c010000000000000000000000000000000000000000000000000000000090920460ff16151582820152600c850154909216606080830191909152600d850154608083015291830152600e83018054919092019190610c52906136e7565b80601f0160208091040260200160405190810160405280929190818152602001828054610c7e906136e7565b8015610ccb5780601f10610ca057610100808354040283529160200191610ccb565b820191906000526020600020905b815481529060010190602001808311610cae57829003601f168201915b505050505081525050915091509150915091565b610ce93383611ab5565b610d5b5760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f7665640000000000000000000000000000000000000060648201526084016105fc565b610d6784848484611f42565b50505050565b6060610d788261192f565b6000610d8f60408051602081019091526000815290565b90506000815111610daf5760405180602001604052806000815250610857565b80610db984611fcb565b604051602001610dca929190613751565b6040516020818303038152906040529392505050565b600081600003610df257506000919050565b811561119f5760008281527f778e3a21329d920b45eecf00e356693a1888f1ae24d67d398ab1f17457bcfabd60208181526040808420815161014081018352815460ff90811615158252600183015482860152600283015482850152835160608082018652600385015480841615158352610100810484161515838901526201000090049092161515818601529082015282518084018452600483015473ffffffffffffffffffffffffffffffffffffffff90811682526005840154828701526080830191909152835180850190945260068301805490911684526007830180549697969295939460a087019490939084019190610eef906136e7565b80601f0160208091040260200160405190810160405280929190818152602001828054610f1b906136e7565b8015610f685780601f10610f3d57610100808354040283529160200191610f68565b820191906000526020600020905b815481529060010190602001808311610f4b57829003601f168201915b5050509190925250505081526040805180820190915260088301805473ffffffffffffffffffffffffffffffffffffffff16825260098401805460209485019484019190610fb5906136e7565b80601f0160208091040260200160405190810160405280929190818152602001828054610fe1906136e7565b801561102e5780601f106110035761010080835404028352916020019161102e565b820191906000526020600020905b81548152906001019060200180831161101157829003601f168201915b505050919092525050508152600a82015473ffffffffffffffffffffffffffffffffffffffff9081166020808401919091526040805160a081018252600b8601546dffffffffffffffffffffffffffff80821683526e010000000000000000000000000000820416938201939093527c010000000000000000000000000000000000000000000000000000000090920460ff16151582820152600c850154909216606080830191909152600d850154608083015291830152600e830180549190920191906110fb906136e7565b80601f0160208091040260200160405190810160405280929190818152602001828054611127906136e7565b80156111745780601f1061114957610100808354040283529160200191611174565b820191906000526020600020905b81548152906001019060200180831161115757829003601f168201915b50505050508152505090508060000151611192575060009392505050565b602001519250610df29050565b506001919050565b600054610100900460ff16158080156111c75750600054600160ff909116105b806111e15750303b1580156111e1575060005460ff166001145b6112535760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016105fc565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156112b157600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6113256040518060400160405280601681526020017f53746f72792050726f746f636f6c204c6963656e7365000000000000000000008152506040518060400160405280600381526020017f53504c0000000000000000000000000000000000000000000000000000000000815250612089565b7f778e3a21329d920b45eecf00e356693a1888f1ae24d67d398ab1f17457bcfac26113518385836137ce565b5080156106aa57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b60003373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146114655760405162461bcd60e51b8152602060048201526024808201527f53656e646572206973206e6f7420746865206672616e6368697365207265676960448201527f737472790000000000000000000000000000000000000000000000000000000060648201526084016105fc565b7f778e3a21329d920b45eecf00e356693a1888f1ae24d67d398ab1f17457bcfabd8a156118175760008b815260208281526040808320815161014081018352815460ff90811615158252600183015482860152600283015482850152835160608181018652600385015480841615158352610100810484161515838901526201000090049092161515818601529082015282518084018452600483015473ffffffffffffffffffffffffffffffffffffffff90811682526005840154828701526080830191909152835180850190945260068301805490911684526007830180549295939460a08701949093908401919061155f906136e7565b80601f016020809104026020016040519081016040528092919081815260200182805461158b906136e7565b80156115d85780601f106115ad576101008083540402835291602001916115d8565b820191906000526020600020905b8154815290600101906020018083116115bb57829003601f168201915b5050509190925250505081526040805180820190915260088301805473ffffffffffffffffffffffffffffffffffffffff16825260098401805460209485019484019190611625906136e7565b80601f0160208091040260200160405190810160405280929190818152602001828054611651906136e7565b801561169e5780601f106116735761010080835404028352916020019161169e565b820191906000526020600020905b81548152906001019060200180831161168157829003601f168201915b505050919092525050508152600a82015473ffffffffffffffffffffffffffffffffffffffff9081166020808401919091526040805160a081018252600b8601546dffffffffffffffffffffffffffff80821683526e010000000000000000000000000000820416938201939093527c010000000000000000000000000000000000000000000000000000000090920460ff16151582820152600c850154909216606080830191909152600d850154608083015291830152600e8301805491909201919061176b906136e7565b80601f0160208091040260200160405190810160405280929190818152602001828054611797906136e7565b80156117e45780601f106117b9576101008083540402835291602001916117e4565b820191906000526020600020905b8154815290600101906020018083116117c757829003601f168201915b505050505081525050905061180b8c8e838d80360381019061180691906138e9565b612110565b610120015193506118bb565b61182760608a0160408b01613955565b6118bb5780600501805461183a906136e7565b80601f0160208091040260200160405190810160405280929190818152602001828054611866906136e7565b80156118b35780601f10611888576101008083540402835291602001916118b3565b820191906000526020600020905b81548152906001019060200180831161189657829003601f168201915b505050505093505b60006118ce8c8c8c8c8c8c8c8c8c612306565b9050806004830160006118e760408d0160208e0161314d565b73ffffffffffffffffffffffffffffffffffffffff168152602080820192909252604090810160009081208d83013582529092529020559150509a9950505050505050505050565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff166119a05760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e204944000000000000000060448201526064016105fc565b50565b60008181526067602052604081205473ffffffffffffffffffffffffffffffffffffffff16806104865760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e204944000000000000000060448201526064016105fc565b600081815260696020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091558190611a6f826119a3565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080611ac1836119a3565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611b2f575073ffffffffffffffffffffffffffffffffffffffff8082166000908152606a602090815260408083209388168352929052205460ff165b80611b6d57508373ffffffffffffffffffffffffffffffffffffffff16611b558461051e565b73ffffffffffffffffffffffffffffffffffffffff16145b949350505050565b8273ffffffffffffffffffffffffffffffffffffffff16611b95826119a3565b73ffffffffffffffffffffffffffffffffffffffff1614611c1e5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e657200000000000000000000000000000000000000000000000000000060648201526084016105fc565b73ffffffffffffffffffffffffffffffffffffffff8216611ca65760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016105fc565b611cb38383836001612422565b8273ffffffffffffffffffffffffffffffffffffffff16611cd3826119a3565b73ffffffffffffffffffffffffffffffffffffffff1614611d5c5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e657200000000000000000000000000000000000000000000000000000060648201526084016105fc565b600081815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff8781168086526068855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905590871680865283862080546001019055868652606790945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611eaa5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016105fc565b73ffffffffffffffffffffffffffffffffffffffff8381166000818152606a602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b611f4d848484611b75565b611f5984848484612427565b610d675760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016105fc565b60606000611fd883612600565b600101905060008167ffffffffffffffff811115611ff857611ff861339a565b6040519080825280601f01601f191660200182016040528015612022576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a850494508461202c57509392505050565b600054610100900460ff166121065760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016105fc565b61093582826126e2565b8273ffffffffffffffffffffffffffffffffffffffff1661213085610751565b73ffffffffffffffffffffffffffffffffffffffff16146121b95760405162461bcd60e51b815260206004820152602d60248201527f53656e646572206973206e6f7420746865206f776e6572206f6620746865207060448201527f6172656e74206c6963656e73650000000000000000000000000000000000000060648201526084016105fc565b81516122075760405162461bcd60e51b815260206004820152601c60248201527f506172656e74206c6963656e7365206973206e6f74206163746976650000000060448201526064016105fc565b8160600151602001516122815760405162461bcd60e51b8152602060048201526024808201527f506172656e74206c6963656e73652063616e6e6f74206265207375626c69636560448201527f6e7365640000000000000000000000000000000000000000000000000000000060648201526084016105fc565b80604001511515826060015160400151151514610d675760405162461bcd60e51b815260206004820152603360248201527f436f6d6d65726369616c207465726d73206d757374206265207468652073616d60448201527f6520617320706172656e74206c6963656e73650000000000000000000000000060648201526084016105fc565b60006123538a8a61231c368c90038c018c6138e9565b61232b368c90038c018c613970565b6123348b613a56565b61233d8b613a56565b61234c368c90038c018c613a80565b8a8a612778565b90506000612364602089018961314d565b73ffffffffffffffffffffffffffffffffffffffff16146123955761239561238f602089018961314d565b82612ce8565b807f35805985e00e80103ddc5df8bca16fb35a75f7f0830d5d5448f443d689e9424a6123c460208a018a61314d565b6123d460408b0160208c0161314d565b6040805173ffffffffffffffffffffffffffffffffffffffff9384168152929091166020830152808b013590820152606081018d905260800160405180910390a29998505050505050505050565b610d67565b600073ffffffffffffffffffffffffffffffffffffffff84163b156125f5576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a029061249e903390899088908890600401613b0b565b6020604051808303816000875af19250505080156124f7575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526124f491810190613b54565b60015b6125aa573d808015612525576040519150601f19603f3d011682016040523d82523d6000602084013e61252a565b606091505b5080516000036125a25760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016105fc565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050611b6d565b506001949350505050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310612649577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef81000000008310612675576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061269357662386f26fc10000830492506010015b6305f5e10083106126ab576305f5e100830492506008015b61271083106126bf57612710830492506004015b606483106126d1576064830492506002015b600a83106104865760010192915050565b600054610100900460ff1661275f5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016105fc565b606561276b8382613b71565b5060666106aa8282613b71565b855160009073ffffffffffffffffffffffffffffffffffffffff161580156127b9575060208701515173ffffffffffffffffffffffffffffffffffffffff16155b1561282c5760405162461bcd60e51b815260206004820152603460248201527f4c6963656e7365206d75737420626520626f756e6420746f206120746f6b656e60448201527f206f722061206c6963656e736520686f6c64657200000000000000000000000060648201526084016105fc565b865173ffffffffffffffffffffffffffffffffffffffff161580159061286c575060208701515173ffffffffffffffffffffffffffffffffffffffff1615155b156129055760405162461bcd60e51b815260206004820152604860248201527f4c6963656e73652063616e6e6f7420626520626f756e6420746f206120746f6b60448201527f656e20616e642061206c6963656e736520686f6c64657220617420746865207360648201527f616d652074696d65000000000000000000000000000000000000000000000000608482015260a4016105fc565b7f778e3a21329d920b45eecf00e356693a1888f1ae24d67d398ab1f17457bcfabe80547f778e3a21329d920b45eecf00e356693a1888f1ae24d67d398ab1f17457bcfabd91600091908261295883613c8b565b9190505590506040518061014001604052806001151581526020018d81526020018c81526020018b81526020018a6020015181526020018981526020018881526020018573ffffffffffffffffffffffffffffffffffffffff1681526020018781526020018681525082600001600083815260200190815260200160002060008201518160000160006101000a81548160ff021916908315150217905550602082015181600101556040820151816002015560608201518160030160008201518160000160006101000a81548160ff02191690831515021790555060208201518160000160016101000a81548160ff02191690831515021790555060408201518160000160026101000a81548160ff021916908315150217905550505060808201518160040160008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010155505060a08201518160060160008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506020820151816001019081612b369190613b71565b50505060c082015180516008830180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90921691909117815560208201516009840190612b9a9082613b71565b50505060e0820151600a8201805473ffffffffffffffffffffffffffffffffffffffff9283167fffffffffffffffffffffffff0000000000000000000000000000000000000000918216179091556101008401518051600b850180546020840151604085015115157c0100000000000000000000000000000000000000000000000000000000027fffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffff6dffffffffffffffffffffffffffff9283166e010000000000000000000000000000027fffffffff00000000000000000000000000000000000000000000000000000000909416929095169190911791909117929092169190911790556060810151600c850180549190941692169190911790915560800151600d820155610120820151600e820190612cd59082613b71565b50919d9c50505050505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff8216612d4b5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016105fc565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff1615612dbd5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016105fc565b612dcb600083836001612422565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff1615612e3d5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016105fc565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260686020908152604080832080546001019055848352606790915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60408051610140810182526000808252602080830182905282840182905283516060808201865283825281830184905281860184905284015283518085019094528184528301529060808201908152602001612f526040518060400160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b8152602001612f8a6040518060400160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b8152600060208083018290526040805160a081018252838152918201839052818101839052606080830184905260808301939093528301529081015290565b7fffffffff00000000000000000000000000000000000000000000000000000000811681146119a057600080fd5b60006020828403121561300957600080fd5b813561085781612fc9565b60005b8381101561302f578181015183820152602001613017565b50506000910152565b60008151808452613050816020860160208601613014565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006108576020830184613038565b6000602082840312156130a757600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff811681146119a057600080fd5b80356130db816130ae565b919050565b600080604083850312156130f357600080fd5b82356130fe816130ae565b946020939093013593505050565b60008060006060848603121561312157600080fd5b833561312c816130ae565b9250602084013561313c816130ae565b929592945050506040919091013590565b60006020828403121561315f57600080fd5b8135610857816130ae565b803580151581146130db57600080fd5b6000806040838503121561318d57600080fd5b8235613198816130ae565b91506131a66020840161316a565b90509250929050565b73ffffffffffffffffffffffffffffffffffffffff81511682526000602082015160406020850152611b6d6040850182613038565b604081526131f760408201845115159052565b60208301516060820152604083015160808201526000606084015161323960a08401828051151582526020808201511515908301526040908101511515910152565b50608084015161010061326e81850183805173ffffffffffffffffffffffffffffffffffffffff168252602090810151910152565b60a0860151915061022061014085015261328c6102608501836131af565b915060c08601517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc080868503016101608701526132c984836131af565b935060e088015191506132f561018087018373ffffffffffffffffffffffffffffffffffffffff169052565b9187015180516dffffffffffffffffffffffffffff9081166101a08801526020820151166101c0870152604081015115156101e0870152606081015173ffffffffffffffffffffffffffffffffffffffff1661020087015260800151610220860152506101208601518483039091016102408501526133748282613038565b92505050610857602083018473ffffffffffffffffffffffffffffffffffffffff169052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156133ec576133ec61339a565b60405290565b600082601f83011261340357600080fd5b813567ffffffffffffffff8082111561341e5761341e61339a565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156134645761346461339a565b8160405283815286602085880101111561347d57600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600080608085870312156134b357600080fd5b84356134be816130ae565b935060208501356134ce816130ae565b925060408501359150606085013567ffffffffffffffff8111156134f157600080fd5b6134fd878288016133f2565b91505092959194509250565b6000806040838503121561351c57600080fd5b8235613527816130ae565b91506020830135613537816130ae565b809150509250929050565b6000806020838503121561355557600080fd5b823567ffffffffffffffff8082111561356d57600080fd5b818501915085601f83011261358157600080fd5b81358181111561359057600080fd5b8660208285010111156135a257600080fd5b60209290920196919550909350505050565b6000606082840312156135c657600080fd5b50919050565b6000604082840312156135c657600080fd5b600060a082840312156135c657600080fd5b6000806000806000806000806000806102408b8d03121561361057600080fd5b6136198b6130d0565b995060208b0135985060408b013597506136368c60608d016135b4565b96506136458c60c08d016135b4565b95506101208b013567ffffffffffffffff8082111561366357600080fd5b61366f8e838f016135cc565b96506101408d013591508082111561368657600080fd5b6136928e838f016135cc565b95506136a28e6101608f016135de565b94506102008d01359150808211156136b957600080fd5b506136c68d828e016133f2565b9250506136d66102208c016130d0565b90509295989b9194979a5092959850565b600181811c908216806136fb57607f821691505b6020821081036135c6577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006020828403121561374657600080fd5b8151610857816130ae565b60008351613763818460208801613014565b835190830190613777818360208801613014565b01949350505050565b601f8211156106aa57600081815260208120601f850160051c810160208610156137a75750805b601f850160051c820191505b818110156137c6578281556001016137b3565b505050505050565b67ffffffffffffffff8311156137e6576137e661339a565b6137fa836137f483546136e7565b83613780565b6000601f84116001811461384c57600085156138165750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b1783556138e2565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b8281101561389b578685013582556020948501946001909201910161387b565b50868210156138d6577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b6000606082840312156138fb57600080fd5b6040516060810181811067ffffffffffffffff8211171561391e5761391e61339a565b60405261392a8361316a565b81526139386020840161316a565b60208201526139496040840161316a565b60408201529392505050565b60006020828403121561396757600080fd5b6108578261316a565b6000818303606081121561398357600080fd5b61398b6133c9565b8335613996816130ae565b815260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0830112156139c857600080fd5b6139d06133c9565b915060208401356139e0816130ae565b82526040939093013560208083019190915283015250919050565b600060408284031215613a0d57600080fd5b613a156133c9565b90508135613a22816130ae565b8152602082013567ffffffffffffffff811115613a3e57600080fd5b613a4a848285016133f2565b60208301525092915050565b600061048636836139fb565b80356dffffffffffffffffffffffffffff811681146130db57600080fd5b600060a08284031215613a9257600080fd5b60405160a0810181811067ffffffffffffffff82111715613ab557613ab561339a565b604052613ac183613a62565b8152613acf60208401613a62565b6020820152613ae06040840161316a565b60408201526060830135613af3816130ae565b60608201526080928301359281019290925250919050565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525083604083015260806060830152613b4a6080830184613038565b9695505050505050565b600060208284031215613b6657600080fd5b815161085781612fc9565b815167ffffffffffffffff811115613b8b57613b8b61339a565b613b9f81613b9984546136e7565b84613780565b602080601f831160018114613bf25760008415613bbc5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b1785556137c6565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015613c3f57888601518255948401946001909101908401613c20565b5085821015613c7b57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613ce3577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b506001019056fea2646970667358221220f2a8449fa514209b5e1e6702694c3899389b46b19e276088a7b958f0a1db3c3e64736f6c63430008130033000000000000000000000000f157916d184598105fe4681ec93be0f799599003", - "nonce": "0x43", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x5c0ee04d75ba772c89575dadfb5e7032582c501f16e6f438aa1e2fdd6c4c284c", - "transactionType": "CREATE", - "contractName": "ERC1967Proxy", - "contractAddress": "0xFbfa729428af206a084E18328Ec923587193525d", - "function": null, - "arguments": [ - "0x8602E35ee65074eF0D2701927289705f2F61773D", - "0xf62d18880000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003f68747470733a2f2f617277656176652e6e65742f794849624b6c4642673378754b537a6c4d5f6452454738593038756f642d67574b735769394f615046734d00" - ], - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x5824f", - "value": "0x0", - "data": "0x60806040526040516104ee3803806104ee833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c760279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60be806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea2646970667358221220a678556ae280ddf13e459fe9ecd177633ae9dbc544c45d5b523d43ba9084c8dc64736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c65640000000000000000000000008602e35ee65074ef0d2701927289705f2f61773d00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000084f62d18880000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003f68747470733a2f2f617277656176652e6e65742f794849624b6c4642673378754b537a6c4d5f6452454738593038756f642d67574b735769394f615046734d0000000000000000000000000000000000000000000000000000000000", - "nonce": "0x44", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "transactionHash": "0x70610487057d530e2da659732ebdb2bdba5c5cd4aeb52ed607a50a87877d7245", - "transactionIndex": "0x0", - "blockHash": "0x14ab3fe5347b4f095858a52eb28997ef8b6f3628a66f29cc63f8e42baf9260c0", - "blockNumber": "0x911055", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": null, - "cumulativeGasUsed": "0x343e52", - "gasUsed": "0x343e52", - "contractAddress": "0x8602E35ee65074eF0D2701927289705f2F61773D", - "logs": [], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d05e0e" - }, - { - "transactionHash": "0x5c0ee04d75ba772c89575dadfb5e7032582c501f16e6f438aa1e2fdd6c4c284c", - "transactionIndex": "0x1", - "blockHash": "0x14ab3fe5347b4f095858a52eb28997ef8b6f3628a66f29cc63f8e42baf9260c0", - "blockNumber": "0x911055", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": null, - "cumulativeGasUsed": "0x387b8d", - "gasUsed": "0x43d3b", - "contractAddress": "0xFbfa729428af206a084E18328Ec923587193525d", - "logs": [ - { - "address": "0xFbfa729428af206a084E18328Ec923587193525d", - "topics": [ - "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", - "0x0000000000000000000000008602e35ee65074ef0d2701927289705f2f61773d" - ], - "data": "0x", - "blockHash": "0x14ab3fe5347b4f095858a52eb28997ef8b6f3628a66f29cc63f8e42baf9260c0", - "blockNumber": "0x911055", - "transactionHash": "0x5c0ee04d75ba772c89575dadfb5e7032582c501f16e6f438aa1e2fdd6c4c284c", - "transactionIndex": "0x1", - "logIndex": "0x0", - "removed": false - }, - { - "address": "0xFbfa729428af206a084E18328Ec923587193525d", - "topics": [ - "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x14ab3fe5347b4f095858a52eb28997ef8b6f3628a66f29cc63f8e42baf9260c0", - "blockNumber": "0x911055", - "transactionHash": "0x5c0ee04d75ba772c89575dadfb5e7032582c501f16e6f438aa1e2fdd6c4c284c", - "transactionIndex": "0x1", - "logIndex": "0x1", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000400000000000000000000042000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000001000000000000000000000000000000000000080000020100000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000000000000000020000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d05e0e" - } - ], - "libraries": [], - "pending": [], - "path": "/Users/drmanhattan/Workspace/StoryProtocol/protocol-contracts/broadcast/DevDeployments.s.sol/5/run-latest.json", - "returns": {}, - "timestamp": 1691868693, - "chain": 5, - "multi": false, - "commit": "53ab00d" -} \ No newline at end of file diff --git a/broadcast/DevUpgrades.s.sol/5/run-1690479869.json b/broadcast/DevUpgrades.s.sol/5/run-1690479869.json deleted file mode 100644 index cde6a574..00000000 --- a/broadcast/DevUpgrades.s.sol/5/run-1690479869.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xac41a96ec4138a2832e07e3ef33151b25ae257c1fca92cfa3abdf5039fa4f9be", - "transactionType": "CREATE", - "contractName": "ProtocolRelationshipModule", - "contractAddress": "0x0c34223fc772aeC0514B5fbf5614b9ab85EdaAe1", - "function": null, - "arguments": [ - "0xf157916d184598105FE4681eC93Be0f799599003" - ], - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x46d1b1", - "value": "0x0", - "data": "0x60c0604052306080523480156200001557600080fd5b506040516200414d3803806200414d833981016040819052620000389162000142565b806001600160a01b038116620000615760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03811660a0526200007862000080565b505062000174565b600054610100900460ff1615620000ed5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116101562000140576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6000602082840312156200015557600080fd5b81516001600160a01b03811681146200016d57600080fd5b9392505050565b60805160a051613f90620001bd6000396000818161031c0152612e7001526000818161075601528181610806015281816109db01528181610a8b0152610bd00152613f906000f3fe60806040526004361061016a5760003560e01c806382c5ae6e116100cb578063c4d66de81161007f578063e1e1bacb11610059578063e1e1bacb1461041d578063fc1dad811461043d578063fd0722d81461048757600080fd5b8063c4d66de8146103b0578063c833e736146103d0578063dd35c3ce146103fd57600080fd5b806394f99b40116100b057806394f99b401461030a578063ac9650d814610363578063b3ef1bbb1461039057600080fd5b806382c5ae6e146102bc5780638fa24e0b146102dc57600080fd5b806344dd5e2a1161012257806352d1902d1161010757806352d1902d1461026757806375f4252d1461027c578063770327841461029c57600080fd5b806344dd5e2a146102345780634f1ef2861461025457600080fd5b8063286544361161015357806328654436146101c657806335f52e92146101f45780633659cfe61461021457600080fd5b8063150236221461016f57806319129e5a146101a4575b600080fd5b34801561017b57600080fd5b5061018f61018a3660046132d9565b6104b4565b60405190151581526020015b60405180910390f35b3480156101b057600080fd5b506101c46101bf366004613317565b61050f565b005b3480156101d257600080fd5b506101e66101e136600461337d565b610694565b60405190815260200161019b565b34801561020057600080fd5b506101c461020f3660046133bf565b6106c8565b34801561022057600080fd5b506101c461022f366004613317565b61073f565b34801561024057600080fd5b506101e661024f3660046133d8565b610944565b6101c46102623660046134c7565b6109c4565b34801561027357600080fd5b506101e6610bb6565b34801561028857600080fd5b506101c46102973660046132d9565b610ca2565b3480156102a857600080fd5b5061018f6102b73660046132d9565b610e62565b3480156102c857600080fd5b506101c46102d736600461358d565b610eda565b3480156102e857600080fd5b506102fc6102f73660046133bf565b61137b565b60405161019b929190613652565b34801561031657600080fd5b5061033e7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161019b565b34801561036f57600080fd5b5061038361037e3660046136e7565b611391565b60405161019b919061378b565b34801561039c57600080fd5b506101c46103ab366004613317565b611486565b3480156103bc57600080fd5b506101c46103cb366004613317565b61161a565b3480156103dc57600080fd5b506103f06103eb3660046133bf565b611747565b60405161019b919061384b565b34801561040957600080fd5b506101e6610418366004613967565b611861565b34801561042957600080fd5b5061018f6104383660046139b3565b61186e565b34801561044957600080fd5b507f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b65473ffffffffffffffffffffffffffffffffffffffff1661033e565b34801561049357600080fd5b506104a76104a23660046133bf565b611880565b60405161019b91906139e9565b60007fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0b80826104e2856119c6565b815260208101919091526040016000205460ff168015610508575061050683610e62565b155b9392505050565b600061051b8133611a52565b61055f576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b61059f73ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000611b12565b610605576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c0000000000000000000000000000000000006044820152606401610556565b7f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811782556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a2505050565b600082826040516020016106a9929190613ac4565b6040516020818303038152906040528051906020012090505b92915050565b7f637821dcee84aabec9c8cf4f6f643013a24ad27fd41511ffd937aea80d8619a96106f38133611a52565b610732576040517f75000dc000000000000000000000000000000000000000000000000000000000815260048101829052336024820152604401610556565b61073b82611b2e565b5050565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610804576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610556565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166108797f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff161461091c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610556565b61092581611c79565b6040805160008082526020820190925261094191839190611ce3565b50565b60007f637821dcee84aabec9c8cf4f6f643013a24ad27fd41511ffd937aea80d8619a96109718133611a52565b6109b0576040517f75000dc000000000000000000000000000000000000000000000000000000000815260048101829052336024820152604401610556565b6109bb858585611ee7565b95945050505050565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610a89576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610556565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610afe7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610ba1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610556565b610baa82611c79565b61073b82826001611ce3565b60003073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610c7d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610556565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b608081013560009081527fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0d60205260409020600301547fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0b9073ffffffffffffffffffffffffffffffffffffffff163314610d48576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610d53836119c6565b60008181526020849052604090205490915060ff16610d9e576040517f32a2f5fc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008181526020838152604090912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690556080840135907f1c597e2ff497f95acc844355a7e0266613bbc54a551e5fa01710e5ad3418e04f90610e0790860186613317565b6020860135610e1c6060880160408901613317565b6040805173ffffffffffffffffffffffffffffffffffffffff948516815260208101939093529216818301526060878101359082015290519081900360800190a2505050565b60007fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0b817fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0c81610eb1866119c6565b815260200190815260200160002054905080600014158015610ed257504281105b949350505050565b608083013560009081527fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0d6020526040902060048101548491906dffffffffffffffffffffffffffff1615801590610f35575060a082013515155b15610fc05760048101546dffffffffffffffffffffffffffff1660a08301351180610f89575060048101546e01000000000000000000000000000090046dffffffffffffffffffffffffffff1660a0830135105b15610fc0576040517f417de2db00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60808581013560009081527fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0d6020908152604091829020825160c08101845281548152600182015481840152600282015460ff80821615158387015273ffffffffffffffffffffffffffffffffffffffff61010090920482166060808501919091526003850154909216968301969096528451908101855260048301546dffffffffffffffffffffffffffff80821683526e010000000000000000000000000000820416948201949094527c010000000000000000000000000000000000000000000000000000000090930490941615159282019290925260a08301527fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0b916110ea908890612124565b60028101546040517f63c7c03600000000000000000000000000000000000000000000000000000000815261010090910473ffffffffffffffffffffffffffffffffffffffff16906363c7c0369061114c908a908a908a903390600401613ad8565b6020604051808303816000875af115801561116b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061118f9190613b6b565b6112215760808701357fff0396d9569545b52312943ba44341eba3800a0d6e83ba9140283c159792839e6111c660208a018a613317565b60208a01356111db60608c0160408d01613317565b6040805173ffffffffffffffffffffffffffffffffffffffff9485168152602081019390935292168183015260608b8101359082015290519081900360800190a2611372565b600061122c886119c6565b60008181526020858152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055805160608101825260048701546dffffffffffffffffffffffffffff80821683526e010000000000000000000000000000820416938201939093527c010000000000000000000000000000000000000000000000000000000090920460ff16151590820152919250906112dd90839060a08c01356122c3565b905060808901357fdac80e4156e67d10c07ce819561c6cd96452ad81db0c68e6a47a8687f3d5927161131260208c018c613317565b60208c013561132760608e0160408f01613317565b6040805173ffffffffffffffffffffffffffffffffffffffff9485168152602081019390935292168183015260608d810135908201526080810185905290519081900360a00190a250505b50505050505050565b6060600061138883612357565b91509150915091565b60608167ffffffffffffffff8111156113ac576113ac613449565b6040519080825280602002602001820160405280156113df57816020015b60608152602001906001900390816113ca5790505b50905060005b8281101561147f5761144f3085858481811061140357611403613b88565b90506020028101906114159190613bb7565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061243c92505050565b82828151811061146157611461613b88565b6020026020010181905250808061147790613c4b565b9150506113e5565b5092915050565b600054610100900460ff16158080156114a65750600054600160ff909116105b806114c05750303b1580156114c0575060005460ff166001145b61154c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610556565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156115aa57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6115b382612461565b801561073b57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15050565b600054610100900460ff161580801561163a5750600054600160ff909116105b806116545750303b158015611654575060005460ff166001145b6116e0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610556565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561173e57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6115b382611486565b6117a460408051610100810182526060808252600060208084018290528385018390528284018290526080840182905260a0840182905260c08401829052845192830185528183528201819052928101929092529060e082015290565b60006117af83611880565b90506000806117c18360000151612357565b915091506000806117d58560200151612357565b9150915060405180610100016040528085815260200184151581526020018381526020018215158152602001866040015115158152602001866060015173ffffffffffffffffffffffffffffffffffffffff168152602001866080015173ffffffffffffffffffffffffffffffffffffffff1681526020018660a0015181525095505050505050919050565b6000610ed2848484612715565b6000600160ff83161b83161515610508565b6118cc6040805160c0810182526000808252602080830182905282840182905260608084018390526080840183905284519081018552828152908101829052928301529060a082015290565b5060009081527fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0d6020908152604091829020825160c08101845281548152600182015481840152600282015460ff80821615158387015273ffffffffffffffffffffffffffffffffffffffff610100909204821660608085019190915260038501549092166080840152855191820186526004909301546dffffffffffffffffffffffffffff80821683526e010000000000000000000000000000820416948201949094527c010000000000000000000000000000000000000000000000000000000090930490911615159282019290925260a082015290565b60006119d56020830183613317565b60208301356119ea6060850160408601613317565b6040805173ffffffffffffffffffffffffffffffffffffffff94851660208201529081019290925290911660608083019190915283013560808083019190915283013560a082015260c001604051602081830303815290604052805190602001209050919050565b6000807f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810187905273ffffffffffffffffffffffffffffffffffffffff86811660248301529293509116906391d1485490604401602060405180830381865afa158015611aee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed29190613b6b565b6000611b1d8361284c565b8015610508575061050883836128b0565b60008181527fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0d60205260408120547fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0b9103611bb5576040517f32a2f5fc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000828152600280830160205260408083208381556001810184905591820180547fffffffffffffffffffffff0000000000000000000000000000000000000000001690556003820180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055600490910180547fffffff00000000000000000000000000000000000000000000000000000000001690555183917f72ee2f0fb0c2e5516159220d68bb62f4ee27e2eeefb237e60bf0b0e108ce349091a25050565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3611ca48133611a52565b61073b576040517f75000dc000000000000000000000000000000000000000000000000000000000815260048101829052336024820152604401610556565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611d1b57611d168361297f565b505050565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611da0575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252611d9d91810190613c83565b60015b611e2c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608401610556565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114611edb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152608401610556565b50611d16838383612a89565b6000611ef38484610694565b90506000611f0083612ab4565b905060007fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0b6000848152600282810160209081526040928390208651808255878301516001830181905588860151948301805460608b01517fffffffffffffffffffffff0000000000000000000000000000000000000000009091168715157fffffffffffffffffffffff0000000000000000000000000000000000000000ff161761010073ffffffffffffffffffffffffffffffffffffffff928316021790915560808a01516003850180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169190921617905560a0808a01518051600490950180549682015191909801516dffffffffffffffffffffffffffff9586167fffffffff00000000000000000000000000000000000000000000000000000000909716969096176e0100000000000000000000000000009590911694909402939093177fffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c0100000000000000000000000000000000000000000000000000000000941515949094029390931790945593945086937f23d823dca554930dda2141543b0575ecace98e873be3b3fa7dbc7b7c2e8dba6d938b938b9391926120ef9060c08d01908d01613317565b60a08a01518051602082015160409283015192516121139998979695949390613c9c565b60405180910390a250509392505050565b805160000361215f576040517f32a2f5fc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008061217f6121726020860186613317565b8451602087013590612d6f565b91509150816121ba576040517f22df284e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000806121df6121d06060880160408901613317565b87606001358760200151612d6f565b915091508161221a576040517f03303d3200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8280156122245750805b8015612277575061223b6060870160408801613317565b73ffffffffffffffffffffffffffffffffffffffff1661225e6020880188613317565b73ffffffffffffffffffffffffffffffffffffffff1614155b8015612284575084604001515b156122bb576040517f91a3196b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050505050565b81516000907fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0b906dffffffffffffffffffffffffffff161561234c57600085815260018201602052604090205480158061231e575084604001515b1561234a5761232d8442613d14565b600087815260019093016020526040909220829055509050610508565b505b506000949350505050565b6040805160088082526101208201909252606091600091906020820161010080368337019050509150600060015b600881101561240c576001811b8516156123fa578060068111156123ab576123ab6135e1565b8483815181106123bd576123bd613b88565b602002602001019060068111156123d6576123d66135e1565b908160068111156123e9576123e96135e1565b905250816123f681613c4b565b9250505b8061240481613c4b565b915050612385565b50837f01000000000000000000000000000000000000000000000000000000000000001660001415915050915091565b60606105088383604051806060016040528060278152602001613f3460279139612ef3565b600054610100900460ff16158080156124815750600054600160ff909116105b8061249b5750303b15801561249b575060005460ff166001145b612527576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610556565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561258557600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6125c573ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000611b12565b61262b576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c0000000000000000000000000000000000006044820152606401610556565b7f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811782556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a250801561073b57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200161160e565b6000828103612750576040517f8d13b34400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805b8481101561281b57600086868381811061277057612770613b88565b90506020020160208101906127859190613d27565b6006811115612796576127966135e1565b036127cd576040517f8d13b34400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8585828181106127df576127df613b88565b90506020020160208101906127f49190613d27565b6006811115612805576128056135e1565b600160ff9190911681901b929092179101612754565b508215610ed2577fff0000000000000000000000000000000000000000000000000000000000000017949350505050565b6000612878827f01ffc9a7000000000000000000000000000000000000000000000000000000006128b0565b80156106c257506128a9827fffffffff000000000000000000000000000000000000000000000000000000006128b0565b1592915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015612968575060208210155b80156129745750600081115b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff81163b612a23576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401610556565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b612a9283612f78565b600082511180612a9f5750805b15611d1657612aae8383612fc5565b50505050565b612b006040805160c0810182526000808252602080830182905282840182905260608084018390526080840183905284519081018552828152908101829052928301529060a082015290565b612b507f63c7c03600000000000000000000000000000000000000000000000000000000612b3460c0850160a08601613317565b73ffffffffffffffffffffffffffffffffffffffff1690611b12565b612bb6576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4952656c6174696f6e7368697050726f636573736f72000000000000000000006044820152606401610556565b612bc861012083016101008401613d6b565b6dffffffffffffffffffffffffffff16612be9610100840160e08501613d6b565b6dffffffffffffffffffffffffffff161015612c31576040517f2373692000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612c4360e0840160c08501613317565b73ffffffffffffffffffffffffffffffffffffffff1603612c90576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160c0810190915280612cbe612ca98580613d86565b612cb96040880160208901613dee565b612715565b8152602001612ce3612cd36040860186613d86565b612cb96080880160608901613dee565b8152602001612cf860a0850160808601613dee565b15158152602001612d0f60c0850160a08601613317565b73ffffffffffffffffffffffffffffffffffffffff168152602001612d3a60e0850160c08601613317565b73ffffffffffffffffffffffffffffffffffffffff168152602001612d6736859003850160e08601613e0b565b905292915050565b6040517f6352211e000000000000000000000000000000000000000000000000000000008152600481018390526000908190819073ffffffffffffffffffffffffffffffffffffffff871690636352211e90602401602060405180830381865afa158015612de1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e059190613e79565b73ffffffffffffffffffffffffffffffffffffffff1603612e2b57506000905080612eeb565b6040517f503fa31700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063503fa31790602401602060405180830381865afa158015612eb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612edb9190613b6b565b9050612ee88185856130fb565b91505b935093915050565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051612f1d9190613e96565b600060405180830381855af49150503d8060008114612f58576040519150601f19603f3d011682016040523d82523d6000602084013e612f5d565b606091505b5091509150612f6e86838387613161565b9695505050505050565b612f818161297f565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606073ffffffffffffffffffffffffffffffffffffffff83163b61306b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e747261637400000000000000000000000000000000000000000000000000006064820152608401610556565b6000808473ffffffffffffffffffffffffffffffffffffffff16846040516130939190613e96565b600060405180830381855af49150503d80600081146130ce576040519150601f19603f3d011682016040523d82523d6000602084013e6130d3565b606091505b50915091506109bb8282604051806060016040528060278152602001613f3460279139613201565b6000831561313757613130826131108561321a565b6006811115613121576131216135e1565b600160ff919091161b16151590565b9050610508565b7f800000000000000000000000000000000000000000000000000000000000000082161515610ed2565b606083156131f75782516000036131f05773ffffffffffffffffffffffffffffffffffffffff85163b6131f0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610556565b5081610ed2565b610ed2838361327d565b60608315613210575081610508565b610508838361327d565b600061322b64e8d4a5100083613ee1565b15806132455750613242600664e8d4a51000613ef5565b82115b1561325257506000919050565b61326164e8d4a5100083613f0c565b61326c906001613d14565b60068111156106c2576106c26135e1565b81511561328d5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105569190613f20565b600060c082840312156132d357600080fd5b50919050565b600060c082840312156132eb57600080fd5b61050883836132c1565b73ffffffffffffffffffffffffffffffffffffffff8116811461094157600080fd5b60006020828403121561332957600080fd5b8135610508816132f5565b60008083601f84011261334657600080fd5b50813567ffffffffffffffff81111561335e57600080fd5b60208301915083602082850101111561337657600080fd5b9250929050565b6000806020838503121561339057600080fd5b823567ffffffffffffffff8111156133a757600080fd5b6133b385828601613334565b90969095509350505050565b6000602082840312156133d157600080fd5b5035919050565b6000806000604084860312156133ed57600080fd5b833567ffffffffffffffff8082111561340557600080fd5b61341187838801613334565b9095509350602086013591508082111561342a57600080fd5b508401610140818703121561343e57600080fd5b809150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156134bf576134bf613449565b604052919050565b600080604083850312156134da57600080fd5b82356134e5816132f5565b915060208381013567ffffffffffffffff8082111561350357600080fd5b818601915086601f83011261351757600080fd5b81358181111561352957613529613449565b613559847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601613478565b9150808252878482850101111561356f57600080fd5b80848401858401376000848284010152508093505050509250929050565b600080600060e084860312156135a257600080fd5b6135ac85856132c1565b925060c084013567ffffffffffffffff8111156135c857600080fd5b6135d486828701613334565b9497909650939450505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600060078210613649577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b50815260200190565b604080825283519082018190526000906020906060840190828701845b8281101561369057613682848351613610565b93509084019060010161366f565b50505093151592019190915250919050565b60008083601f8401126136b457600080fd5b50813567ffffffffffffffff8111156136cc57600080fd5b6020830191508360208260051b850101111561337657600080fd5b600080602083850312156136fa57600080fd5b823567ffffffffffffffff81111561371157600080fd5b6133b3858286016136a2565b60005b83811015613738578181015183820152602001613720565b50506000910152565b6000815180845261375981602086016020860161371d565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156137fe577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08886030184526137ec858351613741565b945092850192908501906001016137b2565b5092979650505050505050565b600081518084526020808501945080840160005b8381101561384057613832878351613610565b96509082019060010161381f565b509495945050505050565b6020815260008251610140602084015261386961016084018261380b565b905060208401511515604084015260408401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08483030160608501526138b0828261380b565b91505060608401516138c6608085018215159052565b50608084015180151560a08501525060a084015173ffffffffffffffffffffffffffffffffffffffff811660c08501525060c084015173ffffffffffffffffffffffffffffffffffffffff811660e08501525060e084015180516dffffffffffffffffffffffffffff90811661010086015260208201511661012085015260408101511515610140850152509392505050565b801515811461094157600080fd5b60008060006040848603121561397c57600080fd5b833567ffffffffffffffff81111561399357600080fd5b61399f868287016136a2565b909450925050602084013561343e81613959565b600080604083850312156139c657600080fd5b82359150602083013560ff811681146139de57600080fd5b809150509250929050565b6000610100820190508251825260208301516020830152604083015115156040830152606083015173ffffffffffffffffffffffffffffffffffffffff8082166060850152806080860151166080850152505060a083015161147f60a08401826dffffffffffffffffffffffffffff808251168352806020830151166020840152506040810151151560408301525050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b602081526000610ed2602083018486613a7b565b60006101008635613ae8816132f5565b73ffffffffffffffffffffffffffffffffffffffff80821685526020890135602086015260408901359150613b1c826132f5565b8082166040860152606089013560608601526080890135608086015260a089013560a08601528260c0860152613b55838601888a613a7b565b935080861660e086015250505095945050505050565b600060208284031215613b7d57600080fd5b815161050881613959565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112613bec57600080fd5b83018035915067ffffffffffffffff821115613c0757600080fd5b60200191503681900382131561337657600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613c7c57613c7c613c1c565b5060010190565b600060208284031215613c9557600080fd5b5051919050565b6000610100808352613cb18184018c8e613a7b565b602084019a909a5250506040810196909652931515606086015273ffffffffffffffffffffffffffffffffffffffff9290921660808501526dffffffffffffffffffffffffffff90811660a08501521660c0830152151560e09091015292915050565b808201808211156106c2576106c2613c1c565b600060208284031215613d3957600080fd5b81356007811061050857600080fd5b80356dffffffffffffffffffffffffffff81168114613d6657600080fd5b919050565b600060208284031215613d7d57600080fd5b61050882613d48565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112613dbb57600080fd5b83018035915067ffffffffffffffff821115613dd657600080fd5b6020019150600581901b360382131561337657600080fd5b600060208284031215613e0057600080fd5b813561050881613959565b600060608284031215613e1d57600080fd5b6040516060810181811067ffffffffffffffff82111715613e4057613e40613449565b604052613e4c83613d48565b8152613e5a60208401613d48565b60208201526040830135613e6d81613959565b60408201529392505050565b600060208284031215613e8b57600080fd5b8151610508816132f5565b60008251613ea881846020870161371d565b9190910192915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082613ef057613ef0613eb2565b500690565b80820281158282048414176106c2576106c2613c1c565b600082613f1b57613f1b613eb2565b500490565b602081526000610508602083018461374156fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220f1c278e1dba4a900a0fe7e4ac86e1451c79eb6d39ad462d2fd0e41ee5a219c3364736f6c63430008130033000000000000000000000000f157916d184598105fe4681ec93be0f799599003", - "nonce": "0x30", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xc4e9bd115288593d4bc247cdd0aaf2b6dbf9533285cbe3e4b417f5eb9709e288", - "transactionType": "CALL", - "contractName": "ERC1967Proxy", - "contractAddress": "0xb146cB898E95953f353bf5A50Fb8f129eC0D5AAb", - "function": null, - "arguments": null, - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "to": "0xb146cb898e95953f353bf5a50fb8f129ec0d5aab", - "gas": "0x10ab2", - "value": "0x0", - "data": "0x3659cfe60000000000000000000000000c34223fc772aec0514b5fbf5614b9ab85edaae1", - "nonce": "0x31", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [], - "libraries": [], - "pending": [ - "0xac41a96ec4138a2832e07e3ef33151b25ae257c1fca92cfa3abdf5039fa4f9be", - "0xc4e9bd115288593d4bc247cdd0aaf2b6dbf9533285cbe3e4b417f5eb9709e288" - ], - "path": "/Users/drmanhattan/Workspace/StoryProtocol/protocol-contracts/broadcast/DevUpgrades.s.sol/5/run-latest.json", - "returns": {}, - "timestamp": 1690479869, - "chain": 5, - "multi": false, - "commit": "0fcb14f" -} \ No newline at end of file diff --git a/broadcast/DevUpgrades.s.sol/5/run-1690479882.json b/broadcast/DevUpgrades.s.sol/5/run-1690479882.json deleted file mode 100644 index 0c00dd64..00000000 --- a/broadcast/DevUpgrades.s.sol/5/run-1690479882.json +++ /dev/null @@ -1,118 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xac41a96ec4138a2832e07e3ef33151b25ae257c1fca92cfa3abdf5039fa4f9be", - "transactionType": "CREATE", - "contractName": "ProtocolRelationshipModule", - "contractAddress": "0x0c34223fc772aeC0514B5fbf5614b9ab85EdaAe1", - "function": null, - "arguments": [ - "0xf157916d184598105FE4681eC93Be0f799599003" - ], - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x46d1b1", - "value": "0x0", - "data": "0x60c0604052306080523480156200001557600080fd5b506040516200414d3803806200414d833981016040819052620000389162000142565b806001600160a01b038116620000615760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03811660a0526200007862000080565b505062000174565b600054610100900460ff1615620000ed5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116101562000140576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6000602082840312156200015557600080fd5b81516001600160a01b03811681146200016d57600080fd5b9392505050565b60805160a051613f90620001bd6000396000818161031c0152612e7001526000818161075601528181610806015281816109db01528181610a8b0152610bd00152613f906000f3fe60806040526004361061016a5760003560e01c806382c5ae6e116100cb578063c4d66de81161007f578063e1e1bacb11610059578063e1e1bacb1461041d578063fc1dad811461043d578063fd0722d81461048757600080fd5b8063c4d66de8146103b0578063c833e736146103d0578063dd35c3ce146103fd57600080fd5b806394f99b40116100b057806394f99b401461030a578063ac9650d814610363578063b3ef1bbb1461039057600080fd5b806382c5ae6e146102bc5780638fa24e0b146102dc57600080fd5b806344dd5e2a1161012257806352d1902d1161010757806352d1902d1461026757806375f4252d1461027c578063770327841461029c57600080fd5b806344dd5e2a146102345780634f1ef2861461025457600080fd5b8063286544361161015357806328654436146101c657806335f52e92146101f45780633659cfe61461021457600080fd5b8063150236221461016f57806319129e5a146101a4575b600080fd5b34801561017b57600080fd5b5061018f61018a3660046132d9565b6104b4565b60405190151581526020015b60405180910390f35b3480156101b057600080fd5b506101c46101bf366004613317565b61050f565b005b3480156101d257600080fd5b506101e66101e136600461337d565b610694565b60405190815260200161019b565b34801561020057600080fd5b506101c461020f3660046133bf565b6106c8565b34801561022057600080fd5b506101c461022f366004613317565b61073f565b34801561024057600080fd5b506101e661024f3660046133d8565b610944565b6101c46102623660046134c7565b6109c4565b34801561027357600080fd5b506101e6610bb6565b34801561028857600080fd5b506101c46102973660046132d9565b610ca2565b3480156102a857600080fd5b5061018f6102b73660046132d9565b610e62565b3480156102c857600080fd5b506101c46102d736600461358d565b610eda565b3480156102e857600080fd5b506102fc6102f73660046133bf565b61137b565b60405161019b929190613652565b34801561031657600080fd5b5061033e7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161019b565b34801561036f57600080fd5b5061038361037e3660046136e7565b611391565b60405161019b919061378b565b34801561039c57600080fd5b506101c46103ab366004613317565b611486565b3480156103bc57600080fd5b506101c46103cb366004613317565b61161a565b3480156103dc57600080fd5b506103f06103eb3660046133bf565b611747565b60405161019b919061384b565b34801561040957600080fd5b506101e6610418366004613967565b611861565b34801561042957600080fd5b5061018f6104383660046139b3565b61186e565b34801561044957600080fd5b507f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b65473ffffffffffffffffffffffffffffffffffffffff1661033e565b34801561049357600080fd5b506104a76104a23660046133bf565b611880565b60405161019b91906139e9565b60007fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0b80826104e2856119c6565b815260208101919091526040016000205460ff168015610508575061050683610e62565b155b9392505050565b600061051b8133611a52565b61055f576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b61059f73ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000611b12565b610605576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c0000000000000000000000000000000000006044820152606401610556565b7f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811782556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a2505050565b600082826040516020016106a9929190613ac4565b6040516020818303038152906040528051906020012090505b92915050565b7f637821dcee84aabec9c8cf4f6f643013a24ad27fd41511ffd937aea80d8619a96106f38133611a52565b610732576040517f75000dc000000000000000000000000000000000000000000000000000000000815260048101829052336024820152604401610556565b61073b82611b2e565b5050565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610804576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610556565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166108797f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff161461091c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610556565b61092581611c79565b6040805160008082526020820190925261094191839190611ce3565b50565b60007f637821dcee84aabec9c8cf4f6f643013a24ad27fd41511ffd937aea80d8619a96109718133611a52565b6109b0576040517f75000dc000000000000000000000000000000000000000000000000000000000815260048101829052336024820152604401610556565b6109bb858585611ee7565b95945050505050565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610a89576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610556565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610afe7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610ba1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610556565b610baa82611c79565b61073b82826001611ce3565b60003073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610c7d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610556565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b608081013560009081527fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0d60205260409020600301547fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0b9073ffffffffffffffffffffffffffffffffffffffff163314610d48576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610d53836119c6565b60008181526020849052604090205490915060ff16610d9e576040517f32a2f5fc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008181526020838152604090912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690556080840135907f1c597e2ff497f95acc844355a7e0266613bbc54a551e5fa01710e5ad3418e04f90610e0790860186613317565b6020860135610e1c6060880160408901613317565b6040805173ffffffffffffffffffffffffffffffffffffffff948516815260208101939093529216818301526060878101359082015290519081900360800190a2505050565b60007fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0b817fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0c81610eb1866119c6565b815260200190815260200160002054905080600014158015610ed257504281105b949350505050565b608083013560009081527fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0d6020526040902060048101548491906dffffffffffffffffffffffffffff1615801590610f35575060a082013515155b15610fc05760048101546dffffffffffffffffffffffffffff1660a08301351180610f89575060048101546e01000000000000000000000000000090046dffffffffffffffffffffffffffff1660a0830135105b15610fc0576040517f417de2db00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60808581013560009081527fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0d6020908152604091829020825160c08101845281548152600182015481840152600282015460ff80821615158387015273ffffffffffffffffffffffffffffffffffffffff61010090920482166060808501919091526003850154909216968301969096528451908101855260048301546dffffffffffffffffffffffffffff80821683526e010000000000000000000000000000820416948201949094527c010000000000000000000000000000000000000000000000000000000090930490941615159282019290925260a08301527fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0b916110ea908890612124565b60028101546040517f63c7c03600000000000000000000000000000000000000000000000000000000815261010090910473ffffffffffffffffffffffffffffffffffffffff16906363c7c0369061114c908a908a908a903390600401613ad8565b6020604051808303816000875af115801561116b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061118f9190613b6b565b6112215760808701357fff0396d9569545b52312943ba44341eba3800a0d6e83ba9140283c159792839e6111c660208a018a613317565b60208a01356111db60608c0160408d01613317565b6040805173ffffffffffffffffffffffffffffffffffffffff9485168152602081019390935292168183015260608b8101359082015290519081900360800190a2611372565b600061122c886119c6565b60008181526020858152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055805160608101825260048701546dffffffffffffffffffffffffffff80821683526e010000000000000000000000000000820416938201939093527c010000000000000000000000000000000000000000000000000000000090920460ff16151590820152919250906112dd90839060a08c01356122c3565b905060808901357fdac80e4156e67d10c07ce819561c6cd96452ad81db0c68e6a47a8687f3d5927161131260208c018c613317565b60208c013561132760608e0160408f01613317565b6040805173ffffffffffffffffffffffffffffffffffffffff9485168152602081019390935292168183015260608d810135908201526080810185905290519081900360a00190a250505b50505050505050565b6060600061138883612357565b91509150915091565b60608167ffffffffffffffff8111156113ac576113ac613449565b6040519080825280602002602001820160405280156113df57816020015b60608152602001906001900390816113ca5790505b50905060005b8281101561147f5761144f3085858481811061140357611403613b88565b90506020028101906114159190613bb7565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061243c92505050565b82828151811061146157611461613b88565b6020026020010181905250808061147790613c4b565b9150506113e5565b5092915050565b600054610100900460ff16158080156114a65750600054600160ff909116105b806114c05750303b1580156114c0575060005460ff166001145b61154c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610556565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156115aa57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6115b382612461565b801561073b57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15050565b600054610100900460ff161580801561163a5750600054600160ff909116105b806116545750303b158015611654575060005460ff166001145b6116e0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610556565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561173e57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6115b382611486565b6117a460408051610100810182526060808252600060208084018290528385018390528284018290526080840182905260a0840182905260c08401829052845192830185528183528201819052928101929092529060e082015290565b60006117af83611880565b90506000806117c18360000151612357565b915091506000806117d58560200151612357565b9150915060405180610100016040528085815260200184151581526020018381526020018215158152602001866040015115158152602001866060015173ffffffffffffffffffffffffffffffffffffffff168152602001866080015173ffffffffffffffffffffffffffffffffffffffff1681526020018660a0015181525095505050505050919050565b6000610ed2848484612715565b6000600160ff83161b83161515610508565b6118cc6040805160c0810182526000808252602080830182905282840182905260608084018390526080840183905284519081018552828152908101829052928301529060a082015290565b5060009081527fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0d6020908152604091829020825160c08101845281548152600182015481840152600282015460ff80821615158387015273ffffffffffffffffffffffffffffffffffffffff610100909204821660608085019190915260038501549092166080840152855191820186526004909301546dffffffffffffffffffffffffffff80821683526e010000000000000000000000000000820416948201949094527c010000000000000000000000000000000000000000000000000000000090930490911615159282019290925260a082015290565b60006119d56020830183613317565b60208301356119ea6060850160408601613317565b6040805173ffffffffffffffffffffffffffffffffffffffff94851660208201529081019290925290911660608083019190915283013560808083019190915283013560a082015260c001604051602081830303815290604052805190602001209050919050565b6000807f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810187905273ffffffffffffffffffffffffffffffffffffffff86811660248301529293509116906391d1485490604401602060405180830381865afa158015611aee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed29190613b6b565b6000611b1d8361284c565b8015610508575061050883836128b0565b60008181527fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0d60205260408120547fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0b9103611bb5576040517f32a2f5fc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000828152600280830160205260408083208381556001810184905591820180547fffffffffffffffffffffff0000000000000000000000000000000000000000001690556003820180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055600490910180547fffffff00000000000000000000000000000000000000000000000000000000001690555183917f72ee2f0fb0c2e5516159220d68bb62f4ee27e2eeefb237e60bf0b0e108ce349091a25050565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3611ca48133611a52565b61073b576040517f75000dc000000000000000000000000000000000000000000000000000000000815260048101829052336024820152604401610556565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611d1b57611d168361297f565b505050565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611da0575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252611d9d91810190613c83565b60015b611e2c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608401610556565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114611edb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152608401610556565b50611d16838383612a89565b6000611ef38484610694565b90506000611f0083612ab4565b905060007fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0b6000848152600282810160209081526040928390208651808255878301516001830181905588860151948301805460608b01517fffffffffffffffffffffff0000000000000000000000000000000000000000009091168715157fffffffffffffffffffffff0000000000000000000000000000000000000000ff161761010073ffffffffffffffffffffffffffffffffffffffff928316021790915560808a01516003850180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169190921617905560a0808a01518051600490950180549682015191909801516dffffffffffffffffffffffffffff9586167fffffffff00000000000000000000000000000000000000000000000000000000909716969096176e0100000000000000000000000000009590911694909402939093177fffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c0100000000000000000000000000000000000000000000000000000000941515949094029390931790945593945086937f23d823dca554930dda2141543b0575ecace98e873be3b3fa7dbc7b7c2e8dba6d938b938b9391926120ef9060c08d01908d01613317565b60a08a01518051602082015160409283015192516121139998979695949390613c9c565b60405180910390a250509392505050565b805160000361215f576040517f32a2f5fc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008061217f6121726020860186613317565b8451602087013590612d6f565b91509150816121ba576040517f22df284e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000806121df6121d06060880160408901613317565b87606001358760200151612d6f565b915091508161221a576040517f03303d3200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8280156122245750805b8015612277575061223b6060870160408801613317565b73ffffffffffffffffffffffffffffffffffffffff1661225e6020880188613317565b73ffffffffffffffffffffffffffffffffffffffff1614155b8015612284575084604001515b156122bb576040517f91a3196b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050505050565b81516000907fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0b906dffffffffffffffffffffffffffff161561234c57600085815260018201602052604090205480158061231e575084604001515b1561234a5761232d8442613d14565b600087815260019093016020526040909220829055509050610508565b505b506000949350505050565b6040805160088082526101208201909252606091600091906020820161010080368337019050509150600060015b600881101561240c576001811b8516156123fa578060068111156123ab576123ab6135e1565b8483815181106123bd576123bd613b88565b602002602001019060068111156123d6576123d66135e1565b908160068111156123e9576123e96135e1565b905250816123f681613c4b565b9250505b8061240481613c4b565b915050612385565b50837f01000000000000000000000000000000000000000000000000000000000000001660001415915050915091565b60606105088383604051806060016040528060278152602001613f3460279139612ef3565b600054610100900460ff16158080156124815750600054600160ff909116105b8061249b5750303b15801561249b575060005460ff166001145b612527576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610556565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561258557600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6125c573ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000611b12565b61262b576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c0000000000000000000000000000000000006044820152606401610556565b7f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811782556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a250801561073b57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200161160e565b6000828103612750576040517f8d13b34400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805b8481101561281b57600086868381811061277057612770613b88565b90506020020160208101906127859190613d27565b6006811115612796576127966135e1565b036127cd576040517f8d13b34400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8585828181106127df576127df613b88565b90506020020160208101906127f49190613d27565b6006811115612805576128056135e1565b600160ff9190911681901b929092179101612754565b508215610ed2577fff0000000000000000000000000000000000000000000000000000000000000017949350505050565b6000612878827f01ffc9a7000000000000000000000000000000000000000000000000000000006128b0565b80156106c257506128a9827fffffffff000000000000000000000000000000000000000000000000000000006128b0565b1592915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015612968575060208210155b80156129745750600081115b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff81163b612a23576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401610556565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b612a9283612f78565b600082511180612a9f5750805b15611d1657612aae8383612fc5565b50505050565b612b006040805160c0810182526000808252602080830182905282840182905260608084018390526080840183905284519081018552828152908101829052928301529060a082015290565b612b507f63c7c03600000000000000000000000000000000000000000000000000000000612b3460c0850160a08601613317565b73ffffffffffffffffffffffffffffffffffffffff1690611b12565b612bb6576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4952656c6174696f6e7368697050726f636573736f72000000000000000000006044820152606401610556565b612bc861012083016101008401613d6b565b6dffffffffffffffffffffffffffff16612be9610100840160e08501613d6b565b6dffffffffffffffffffffffffffff161015612c31576040517f2373692000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612c4360e0840160c08501613317565b73ffffffffffffffffffffffffffffffffffffffff1603612c90576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160c0810190915280612cbe612ca98580613d86565b612cb96040880160208901613dee565b612715565b8152602001612ce3612cd36040860186613d86565b612cb96080880160608901613dee565b8152602001612cf860a0850160808601613dee565b15158152602001612d0f60c0850160a08601613317565b73ffffffffffffffffffffffffffffffffffffffff168152602001612d3a60e0850160c08601613317565b73ffffffffffffffffffffffffffffffffffffffff168152602001612d6736859003850160e08601613e0b565b905292915050565b6040517f6352211e000000000000000000000000000000000000000000000000000000008152600481018390526000908190819073ffffffffffffffffffffffffffffffffffffffff871690636352211e90602401602060405180830381865afa158015612de1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e059190613e79565b73ffffffffffffffffffffffffffffffffffffffff1603612e2b57506000905080612eeb565b6040517f503fa31700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063503fa31790602401602060405180830381865afa158015612eb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612edb9190613b6b565b9050612ee88185856130fb565b91505b935093915050565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051612f1d9190613e96565b600060405180830381855af49150503d8060008114612f58576040519150601f19603f3d011682016040523d82523d6000602084013e612f5d565b606091505b5091509150612f6e86838387613161565b9695505050505050565b612f818161297f565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606073ffffffffffffffffffffffffffffffffffffffff83163b61306b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e747261637400000000000000000000000000000000000000000000000000006064820152608401610556565b6000808473ffffffffffffffffffffffffffffffffffffffff16846040516130939190613e96565b600060405180830381855af49150503d80600081146130ce576040519150601f19603f3d011682016040523d82523d6000602084013e6130d3565b606091505b50915091506109bb8282604051806060016040528060278152602001613f3460279139613201565b6000831561313757613130826131108561321a565b6006811115613121576131216135e1565b600160ff919091161b16151590565b9050610508565b7f800000000000000000000000000000000000000000000000000000000000000082161515610ed2565b606083156131f75782516000036131f05773ffffffffffffffffffffffffffffffffffffffff85163b6131f0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610556565b5081610ed2565b610ed2838361327d565b60608315613210575081610508565b610508838361327d565b600061322b64e8d4a5100083613ee1565b15806132455750613242600664e8d4a51000613ef5565b82115b1561325257506000919050565b61326164e8d4a5100083613f0c565b61326c906001613d14565b60068111156106c2576106c26135e1565b81511561328d5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105569190613f20565b600060c082840312156132d357600080fd5b50919050565b600060c082840312156132eb57600080fd5b61050883836132c1565b73ffffffffffffffffffffffffffffffffffffffff8116811461094157600080fd5b60006020828403121561332957600080fd5b8135610508816132f5565b60008083601f84011261334657600080fd5b50813567ffffffffffffffff81111561335e57600080fd5b60208301915083602082850101111561337657600080fd5b9250929050565b6000806020838503121561339057600080fd5b823567ffffffffffffffff8111156133a757600080fd5b6133b385828601613334565b90969095509350505050565b6000602082840312156133d157600080fd5b5035919050565b6000806000604084860312156133ed57600080fd5b833567ffffffffffffffff8082111561340557600080fd5b61341187838801613334565b9095509350602086013591508082111561342a57600080fd5b508401610140818703121561343e57600080fd5b809150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156134bf576134bf613449565b604052919050565b600080604083850312156134da57600080fd5b82356134e5816132f5565b915060208381013567ffffffffffffffff8082111561350357600080fd5b818601915086601f83011261351757600080fd5b81358181111561352957613529613449565b613559847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601613478565b9150808252878482850101111561356f57600080fd5b80848401858401376000848284010152508093505050509250929050565b600080600060e084860312156135a257600080fd5b6135ac85856132c1565b925060c084013567ffffffffffffffff8111156135c857600080fd5b6135d486828701613334565b9497909650939450505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600060078210613649577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b50815260200190565b604080825283519082018190526000906020906060840190828701845b8281101561369057613682848351613610565b93509084019060010161366f565b50505093151592019190915250919050565b60008083601f8401126136b457600080fd5b50813567ffffffffffffffff8111156136cc57600080fd5b6020830191508360208260051b850101111561337657600080fd5b600080602083850312156136fa57600080fd5b823567ffffffffffffffff81111561371157600080fd5b6133b3858286016136a2565b60005b83811015613738578181015183820152602001613720565b50506000910152565b6000815180845261375981602086016020860161371d565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156137fe577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08886030184526137ec858351613741565b945092850192908501906001016137b2565b5092979650505050505050565b600081518084526020808501945080840160005b8381101561384057613832878351613610565b96509082019060010161381f565b509495945050505050565b6020815260008251610140602084015261386961016084018261380b565b905060208401511515604084015260408401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08483030160608501526138b0828261380b565b91505060608401516138c6608085018215159052565b50608084015180151560a08501525060a084015173ffffffffffffffffffffffffffffffffffffffff811660c08501525060c084015173ffffffffffffffffffffffffffffffffffffffff811660e08501525060e084015180516dffffffffffffffffffffffffffff90811661010086015260208201511661012085015260408101511515610140850152509392505050565b801515811461094157600080fd5b60008060006040848603121561397c57600080fd5b833567ffffffffffffffff81111561399357600080fd5b61399f868287016136a2565b909450925050602084013561343e81613959565b600080604083850312156139c657600080fd5b82359150602083013560ff811681146139de57600080fd5b809150509250929050565b6000610100820190508251825260208301516020830152604083015115156040830152606083015173ffffffffffffffffffffffffffffffffffffffff8082166060850152806080860151166080850152505060a083015161147f60a08401826dffffffffffffffffffffffffffff808251168352806020830151166020840152506040810151151560408301525050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b602081526000610ed2602083018486613a7b565b60006101008635613ae8816132f5565b73ffffffffffffffffffffffffffffffffffffffff80821685526020890135602086015260408901359150613b1c826132f5565b8082166040860152606089013560608601526080890135608086015260a089013560a08601528260c0860152613b55838601888a613a7b565b935080861660e086015250505095945050505050565b600060208284031215613b7d57600080fd5b815161050881613959565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112613bec57600080fd5b83018035915067ffffffffffffffff821115613c0757600080fd5b60200191503681900382131561337657600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613c7c57613c7c613c1c565b5060010190565b600060208284031215613c9557600080fd5b5051919050565b6000610100808352613cb18184018c8e613a7b565b602084019a909a5250506040810196909652931515606086015273ffffffffffffffffffffffffffffffffffffffff9290921660808501526dffffffffffffffffffffffffffff90811660a08501521660c0830152151560e09091015292915050565b808201808211156106c2576106c2613c1c565b600060208284031215613d3957600080fd5b81356007811061050857600080fd5b80356dffffffffffffffffffffffffffff81168114613d6657600080fd5b919050565b600060208284031215613d7d57600080fd5b61050882613d48565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112613dbb57600080fd5b83018035915067ffffffffffffffff821115613dd657600080fd5b6020019150600581901b360382131561337657600080fd5b600060208284031215613e0057600080fd5b813561050881613959565b600060608284031215613e1d57600080fd5b6040516060810181811067ffffffffffffffff82111715613e4057613e40613449565b604052613e4c83613d48565b8152613e5a60208401613d48565b60208201526040830135613e6d81613959565b60408201529392505050565b600060208284031215613e8b57600080fd5b8151610508816132f5565b60008251613ea881846020870161371d565b9190910192915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082613ef057613ef0613eb2565b500690565b80820281158282048414176106c2576106c2613c1c565b600082613f1b57613f1b613eb2565b500490565b602081526000610508602083018461374156fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220f1c278e1dba4a900a0fe7e4ac86e1451c79eb6d39ad462d2fd0e41ee5a219c3364736f6c63430008130033000000000000000000000000f157916d184598105fe4681ec93be0f799599003", - "nonce": "0x30", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xc4e9bd115288593d4bc247cdd0aaf2b6dbf9533285cbe3e4b417f5eb9709e288", - "transactionType": "CALL", - "contractName": "ERC1967Proxy", - "contractAddress": "0xb146cB898E95953f353bf5A50Fb8f129eC0D5AAb", - "function": null, - "arguments": null, - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "to": "0xb146cb898e95953f353bf5a50fb8f129ec0d5aab", - "gas": "0x10ab2", - "value": "0x0", - "data": "0x3659cfe60000000000000000000000000c34223fc772aec0514b5fbf5614b9ab85edaae1", - "nonce": "0x31", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "transactionHash": "0xac41a96ec4138a2832e07e3ef33151b25ae257c1fca92cfa3abdf5039fa4f9be", - "transactionIndex": "0x7", - "blockHash": "0x8cea8257c59c64049f1d43f45c7788949874b357b9135641a0491e6ccff314df", - "blockNumber": "0x8fb637", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": null, - "cumulativeGasUsed": "0x493b19", - "gasUsed": "0x367e03", - "contractAddress": "0x0c34223fc772aeC0514B5fbf5614b9ab85EdaAe1", - "logs": [ - { - "address": "0x0c34223fc772aeC0514B5fbf5614b9ab85EdaAe1", - "topics": [ - "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000000ff", - "blockHash": "0x8cea8257c59c64049f1d43f45c7788949874b357b9135641a0491e6ccff314df", - "blockNumber": "0x8fb637", - "transactionHash": "0xac41a96ec4138a2832e07e3ef33151b25ae257c1fca92cfa3abdf5039fa4f9be", - "transactionIndex": "0x7", - "logIndex": "0x7", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xd543b292" - }, - { - "transactionHash": "0xc4e9bd115288593d4bc247cdd0aaf2b6dbf9533285cbe3e4b417f5eb9709e288", - "transactionIndex": "0x8", - "blockHash": "0x8cea8257c59c64049f1d43f45c7788949874b357b9135641a0491e6ccff314df", - "blockNumber": "0x8fb637", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": "0xb146cB898E95953f353bf5A50Fb8f129eC0D5AAb", - "cumulativeGasUsed": "0x49fc2f", - "gasUsed": "0xc116", - "contractAddress": null, - "logs": [ - { - "address": "0xb146cB898E95953f353bf5A50Fb8f129eC0D5AAb", - "topics": [ - "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", - "0x0000000000000000000000000c34223fc772aec0514b5fbf5614b9ab85edaae1" - ], - "data": "0x", - "blockHash": "0x8cea8257c59c64049f1d43f45c7788949874b357b9135641a0491e6ccff314df", - "blockNumber": "0x8fb637", - "transactionHash": "0xc4e9bd115288593d4bc247cdd0aaf2b6dbf9533285cbe3e4b417f5eb9709e288", - "transactionIndex": "0x8", - "logIndex": "0x8", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000400000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000040000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xd543b292" - } - ], - "libraries": [], - "pending": [], - "path": "/Users/drmanhattan/Workspace/StoryProtocol/protocol-contracts/broadcast/DevUpgrades.s.sol/5/run-latest.json", - "returns": {}, - "timestamp": 1690479882, - "chain": 5, - "multi": false, - "commit": "0fcb14f" -} \ No newline at end of file diff --git a/broadcast/DevUpgrades.s.sol/5/run-1690479919.json b/broadcast/DevUpgrades.s.sol/5/run-1690479919.json deleted file mode 100644 index 0c9f70c4..00000000 --- a/broadcast/DevUpgrades.s.sol/5/run-1690479919.json +++ /dev/null @@ -1,118 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xac41a96ec4138a2832e07e3ef33151b25ae257c1fca92cfa3abdf5039fa4f9be", - "transactionType": "CREATE", - "contractName": "ProtocolRelationshipModule", - "contractAddress": "0x0c34223fc772aeC0514B5fbf5614b9ab85EdaAe1", - "function": null, - "arguments": [ - "0xf157916d184598105FE4681eC93Be0f799599003" - ], - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x46d1b1", - "value": "0x0", - "data": "0x60c0604052306080523480156200001557600080fd5b506040516200414d3803806200414d833981016040819052620000389162000142565b806001600160a01b038116620000615760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03811660a0526200007862000080565b505062000174565b600054610100900460ff1615620000ed5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116101562000140576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6000602082840312156200015557600080fd5b81516001600160a01b03811681146200016d57600080fd5b9392505050565b60805160a051613f90620001bd6000396000818161031c0152612e7001526000818161075601528181610806015281816109db01528181610a8b0152610bd00152613f906000f3fe60806040526004361061016a5760003560e01c806382c5ae6e116100cb578063c4d66de81161007f578063e1e1bacb11610059578063e1e1bacb1461041d578063fc1dad811461043d578063fd0722d81461048757600080fd5b8063c4d66de8146103b0578063c833e736146103d0578063dd35c3ce146103fd57600080fd5b806394f99b40116100b057806394f99b401461030a578063ac9650d814610363578063b3ef1bbb1461039057600080fd5b806382c5ae6e146102bc5780638fa24e0b146102dc57600080fd5b806344dd5e2a1161012257806352d1902d1161010757806352d1902d1461026757806375f4252d1461027c578063770327841461029c57600080fd5b806344dd5e2a146102345780634f1ef2861461025457600080fd5b8063286544361161015357806328654436146101c657806335f52e92146101f45780633659cfe61461021457600080fd5b8063150236221461016f57806319129e5a146101a4575b600080fd5b34801561017b57600080fd5b5061018f61018a3660046132d9565b6104b4565b60405190151581526020015b60405180910390f35b3480156101b057600080fd5b506101c46101bf366004613317565b61050f565b005b3480156101d257600080fd5b506101e66101e136600461337d565b610694565b60405190815260200161019b565b34801561020057600080fd5b506101c461020f3660046133bf565b6106c8565b34801561022057600080fd5b506101c461022f366004613317565b61073f565b34801561024057600080fd5b506101e661024f3660046133d8565b610944565b6101c46102623660046134c7565b6109c4565b34801561027357600080fd5b506101e6610bb6565b34801561028857600080fd5b506101c46102973660046132d9565b610ca2565b3480156102a857600080fd5b5061018f6102b73660046132d9565b610e62565b3480156102c857600080fd5b506101c46102d736600461358d565b610eda565b3480156102e857600080fd5b506102fc6102f73660046133bf565b61137b565b60405161019b929190613652565b34801561031657600080fd5b5061033e7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161019b565b34801561036f57600080fd5b5061038361037e3660046136e7565b611391565b60405161019b919061378b565b34801561039c57600080fd5b506101c46103ab366004613317565b611486565b3480156103bc57600080fd5b506101c46103cb366004613317565b61161a565b3480156103dc57600080fd5b506103f06103eb3660046133bf565b611747565b60405161019b919061384b565b34801561040957600080fd5b506101e6610418366004613967565b611861565b34801561042957600080fd5b5061018f6104383660046139b3565b61186e565b34801561044957600080fd5b507f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b65473ffffffffffffffffffffffffffffffffffffffff1661033e565b34801561049357600080fd5b506104a76104a23660046133bf565b611880565b60405161019b91906139e9565b60007fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0b80826104e2856119c6565b815260208101919091526040016000205460ff168015610508575061050683610e62565b155b9392505050565b600061051b8133611a52565b61055f576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b61059f73ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000611b12565b610605576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c0000000000000000000000000000000000006044820152606401610556565b7f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811782556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a2505050565b600082826040516020016106a9929190613ac4565b6040516020818303038152906040528051906020012090505b92915050565b7f637821dcee84aabec9c8cf4f6f643013a24ad27fd41511ffd937aea80d8619a96106f38133611a52565b610732576040517f75000dc000000000000000000000000000000000000000000000000000000000815260048101829052336024820152604401610556565b61073b82611b2e565b5050565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610804576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610556565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166108797f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff161461091c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610556565b61092581611c79565b6040805160008082526020820190925261094191839190611ce3565b50565b60007f637821dcee84aabec9c8cf4f6f643013a24ad27fd41511ffd937aea80d8619a96109718133611a52565b6109b0576040517f75000dc000000000000000000000000000000000000000000000000000000000815260048101829052336024820152604401610556565b6109bb858585611ee7565b95945050505050565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610a89576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610556565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610afe7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610ba1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610556565b610baa82611c79565b61073b82826001611ce3565b60003073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610c7d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610556565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b608081013560009081527fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0d60205260409020600301547fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0b9073ffffffffffffffffffffffffffffffffffffffff163314610d48576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610d53836119c6565b60008181526020849052604090205490915060ff16610d9e576040517f32a2f5fc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008181526020838152604090912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690556080840135907f1c597e2ff497f95acc844355a7e0266613bbc54a551e5fa01710e5ad3418e04f90610e0790860186613317565b6020860135610e1c6060880160408901613317565b6040805173ffffffffffffffffffffffffffffffffffffffff948516815260208101939093529216818301526060878101359082015290519081900360800190a2505050565b60007fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0b817fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0c81610eb1866119c6565b815260200190815260200160002054905080600014158015610ed257504281105b949350505050565b608083013560009081527fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0d6020526040902060048101548491906dffffffffffffffffffffffffffff1615801590610f35575060a082013515155b15610fc05760048101546dffffffffffffffffffffffffffff1660a08301351180610f89575060048101546e01000000000000000000000000000090046dffffffffffffffffffffffffffff1660a0830135105b15610fc0576040517f417de2db00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60808581013560009081527fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0d6020908152604091829020825160c08101845281548152600182015481840152600282015460ff80821615158387015273ffffffffffffffffffffffffffffffffffffffff61010090920482166060808501919091526003850154909216968301969096528451908101855260048301546dffffffffffffffffffffffffffff80821683526e010000000000000000000000000000820416948201949094527c010000000000000000000000000000000000000000000000000000000090930490941615159282019290925260a08301527fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0b916110ea908890612124565b60028101546040517f63c7c03600000000000000000000000000000000000000000000000000000000815261010090910473ffffffffffffffffffffffffffffffffffffffff16906363c7c0369061114c908a908a908a903390600401613ad8565b6020604051808303816000875af115801561116b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061118f9190613b6b565b6112215760808701357fff0396d9569545b52312943ba44341eba3800a0d6e83ba9140283c159792839e6111c660208a018a613317565b60208a01356111db60608c0160408d01613317565b6040805173ffffffffffffffffffffffffffffffffffffffff9485168152602081019390935292168183015260608b8101359082015290519081900360800190a2611372565b600061122c886119c6565b60008181526020858152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055805160608101825260048701546dffffffffffffffffffffffffffff80821683526e010000000000000000000000000000820416938201939093527c010000000000000000000000000000000000000000000000000000000090920460ff16151590820152919250906112dd90839060a08c01356122c3565b905060808901357fdac80e4156e67d10c07ce819561c6cd96452ad81db0c68e6a47a8687f3d5927161131260208c018c613317565b60208c013561132760608e0160408f01613317565b6040805173ffffffffffffffffffffffffffffffffffffffff9485168152602081019390935292168183015260608d810135908201526080810185905290519081900360a00190a250505b50505050505050565b6060600061138883612357565b91509150915091565b60608167ffffffffffffffff8111156113ac576113ac613449565b6040519080825280602002602001820160405280156113df57816020015b60608152602001906001900390816113ca5790505b50905060005b8281101561147f5761144f3085858481811061140357611403613b88565b90506020028101906114159190613bb7565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061243c92505050565b82828151811061146157611461613b88565b6020026020010181905250808061147790613c4b565b9150506113e5565b5092915050565b600054610100900460ff16158080156114a65750600054600160ff909116105b806114c05750303b1580156114c0575060005460ff166001145b61154c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610556565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156115aa57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6115b382612461565b801561073b57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15050565b600054610100900460ff161580801561163a5750600054600160ff909116105b806116545750303b158015611654575060005460ff166001145b6116e0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610556565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561173e57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6115b382611486565b6117a460408051610100810182526060808252600060208084018290528385018390528284018290526080840182905260a0840182905260c08401829052845192830185528183528201819052928101929092529060e082015290565b60006117af83611880565b90506000806117c18360000151612357565b915091506000806117d58560200151612357565b9150915060405180610100016040528085815260200184151581526020018381526020018215158152602001866040015115158152602001866060015173ffffffffffffffffffffffffffffffffffffffff168152602001866080015173ffffffffffffffffffffffffffffffffffffffff1681526020018660a0015181525095505050505050919050565b6000610ed2848484612715565b6000600160ff83161b83161515610508565b6118cc6040805160c0810182526000808252602080830182905282840182905260608084018390526080840183905284519081018552828152908101829052928301529060a082015290565b5060009081527fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0d6020908152604091829020825160c08101845281548152600182015481840152600282015460ff80821615158387015273ffffffffffffffffffffffffffffffffffffffff610100909204821660608085019190915260038501549092166080840152855191820186526004909301546dffffffffffffffffffffffffffff80821683526e010000000000000000000000000000820416948201949094527c010000000000000000000000000000000000000000000000000000000090930490911615159282019290925260a082015290565b60006119d56020830183613317565b60208301356119ea6060850160408601613317565b6040805173ffffffffffffffffffffffffffffffffffffffff94851660208201529081019290925290911660608083019190915283013560808083019190915283013560a082015260c001604051602081830303815290604052805190602001209050919050565b6000807f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810187905273ffffffffffffffffffffffffffffffffffffffff86811660248301529293509116906391d1485490604401602060405180830381865afa158015611aee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed29190613b6b565b6000611b1d8361284c565b8015610508575061050883836128b0565b60008181527fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0d60205260408120547fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0b9103611bb5576040517f32a2f5fc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000828152600280830160205260408083208381556001810184905591820180547fffffffffffffffffffffff0000000000000000000000000000000000000000001690556003820180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055600490910180547fffffff00000000000000000000000000000000000000000000000000000000001690555183917f72ee2f0fb0c2e5516159220d68bb62f4ee27e2eeefb237e60bf0b0e108ce349091a25050565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3611ca48133611a52565b61073b576040517f75000dc000000000000000000000000000000000000000000000000000000000815260048101829052336024820152604401610556565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611d1b57611d168361297f565b505050565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611da0575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252611d9d91810190613c83565b60015b611e2c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608401610556565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114611edb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152608401610556565b50611d16838383612a89565b6000611ef38484610694565b90506000611f0083612ab4565b905060007fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0b6000848152600282810160209081526040928390208651808255878301516001830181905588860151948301805460608b01517fffffffffffffffffffffff0000000000000000000000000000000000000000009091168715157fffffffffffffffffffffff0000000000000000000000000000000000000000ff161761010073ffffffffffffffffffffffffffffffffffffffff928316021790915560808a01516003850180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169190921617905560a0808a01518051600490950180549682015191909801516dffffffffffffffffffffffffffff9586167fffffffff00000000000000000000000000000000000000000000000000000000909716969096176e0100000000000000000000000000009590911694909402939093177fffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c0100000000000000000000000000000000000000000000000000000000941515949094029390931790945593945086937f23d823dca554930dda2141543b0575ecace98e873be3b3fa7dbc7b7c2e8dba6d938b938b9391926120ef9060c08d01908d01613317565b60a08a01518051602082015160409283015192516121139998979695949390613c9c565b60405180910390a250509392505050565b805160000361215f576040517f32a2f5fc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008061217f6121726020860186613317565b8451602087013590612d6f565b91509150816121ba576040517f22df284e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000806121df6121d06060880160408901613317565b87606001358760200151612d6f565b915091508161221a576040517f03303d3200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8280156122245750805b8015612277575061223b6060870160408801613317565b73ffffffffffffffffffffffffffffffffffffffff1661225e6020880188613317565b73ffffffffffffffffffffffffffffffffffffffff1614155b8015612284575084604001515b156122bb576040517f91a3196b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050505050565b81516000907fd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0b906dffffffffffffffffffffffffffff161561234c57600085815260018201602052604090205480158061231e575084604001515b1561234a5761232d8442613d14565b600087815260019093016020526040909220829055509050610508565b505b506000949350505050565b6040805160088082526101208201909252606091600091906020820161010080368337019050509150600060015b600881101561240c576001811b8516156123fa578060068111156123ab576123ab6135e1565b8483815181106123bd576123bd613b88565b602002602001019060068111156123d6576123d66135e1565b908160068111156123e9576123e96135e1565b905250816123f681613c4b565b9250505b8061240481613c4b565b915050612385565b50837f01000000000000000000000000000000000000000000000000000000000000001660001415915050915091565b60606105088383604051806060016040528060278152602001613f3460279139612ef3565b600054610100900460ff16158080156124815750600054600160ff909116105b8061249b5750303b15801561249b575060005460ff166001145b612527576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610556565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561258557600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6125c573ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000611b12565b61262b576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c0000000000000000000000000000000000006044820152606401610556565b7f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811782556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a250801561073b57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200161160e565b6000828103612750576040517f8d13b34400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805b8481101561281b57600086868381811061277057612770613b88565b90506020020160208101906127859190613d27565b6006811115612796576127966135e1565b036127cd576040517f8d13b34400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8585828181106127df576127df613b88565b90506020020160208101906127f49190613d27565b6006811115612805576128056135e1565b600160ff9190911681901b929092179101612754565b508215610ed2577fff0000000000000000000000000000000000000000000000000000000000000017949350505050565b6000612878827f01ffc9a7000000000000000000000000000000000000000000000000000000006128b0565b80156106c257506128a9827fffffffff000000000000000000000000000000000000000000000000000000006128b0565b1592915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015612968575060208210155b80156129745750600081115b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff81163b612a23576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401610556565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b612a9283612f78565b600082511180612a9f5750805b15611d1657612aae8383612fc5565b50505050565b612b006040805160c0810182526000808252602080830182905282840182905260608084018390526080840183905284519081018552828152908101829052928301529060a082015290565b612b507f63c7c03600000000000000000000000000000000000000000000000000000000612b3460c0850160a08601613317565b73ffffffffffffffffffffffffffffffffffffffff1690611b12565b612bb6576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4952656c6174696f6e7368697050726f636573736f72000000000000000000006044820152606401610556565b612bc861012083016101008401613d6b565b6dffffffffffffffffffffffffffff16612be9610100840160e08501613d6b565b6dffffffffffffffffffffffffffff161015612c31576040517f2373692000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612c4360e0840160c08501613317565b73ffffffffffffffffffffffffffffffffffffffff1603612c90576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160c0810190915280612cbe612ca98580613d86565b612cb96040880160208901613dee565b612715565b8152602001612ce3612cd36040860186613d86565b612cb96080880160608901613dee565b8152602001612cf860a0850160808601613dee565b15158152602001612d0f60c0850160a08601613317565b73ffffffffffffffffffffffffffffffffffffffff168152602001612d3a60e0850160c08601613317565b73ffffffffffffffffffffffffffffffffffffffff168152602001612d6736859003850160e08601613e0b565b905292915050565b6040517f6352211e000000000000000000000000000000000000000000000000000000008152600481018390526000908190819073ffffffffffffffffffffffffffffffffffffffff871690636352211e90602401602060405180830381865afa158015612de1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e059190613e79565b73ffffffffffffffffffffffffffffffffffffffff1603612e2b57506000905080612eeb565b6040517f503fa31700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063503fa31790602401602060405180830381865afa158015612eb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612edb9190613b6b565b9050612ee88185856130fb565b91505b935093915050565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051612f1d9190613e96565b600060405180830381855af49150503d8060008114612f58576040519150601f19603f3d011682016040523d82523d6000602084013e612f5d565b606091505b5091509150612f6e86838387613161565b9695505050505050565b612f818161297f565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606073ffffffffffffffffffffffffffffffffffffffff83163b61306b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e747261637400000000000000000000000000000000000000000000000000006064820152608401610556565b6000808473ffffffffffffffffffffffffffffffffffffffff16846040516130939190613e96565b600060405180830381855af49150503d80600081146130ce576040519150601f19603f3d011682016040523d82523d6000602084013e6130d3565b606091505b50915091506109bb8282604051806060016040528060278152602001613f3460279139613201565b6000831561313757613130826131108561321a565b6006811115613121576131216135e1565b600160ff919091161b16151590565b9050610508565b7f800000000000000000000000000000000000000000000000000000000000000082161515610ed2565b606083156131f75782516000036131f05773ffffffffffffffffffffffffffffffffffffffff85163b6131f0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610556565b5081610ed2565b610ed2838361327d565b60608315613210575081610508565b610508838361327d565b600061322b64e8d4a5100083613ee1565b15806132455750613242600664e8d4a51000613ef5565b82115b1561325257506000919050565b61326164e8d4a5100083613f0c565b61326c906001613d14565b60068111156106c2576106c26135e1565b81511561328d5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105569190613f20565b600060c082840312156132d357600080fd5b50919050565b600060c082840312156132eb57600080fd5b61050883836132c1565b73ffffffffffffffffffffffffffffffffffffffff8116811461094157600080fd5b60006020828403121561332957600080fd5b8135610508816132f5565b60008083601f84011261334657600080fd5b50813567ffffffffffffffff81111561335e57600080fd5b60208301915083602082850101111561337657600080fd5b9250929050565b6000806020838503121561339057600080fd5b823567ffffffffffffffff8111156133a757600080fd5b6133b385828601613334565b90969095509350505050565b6000602082840312156133d157600080fd5b5035919050565b6000806000604084860312156133ed57600080fd5b833567ffffffffffffffff8082111561340557600080fd5b61341187838801613334565b9095509350602086013591508082111561342a57600080fd5b508401610140818703121561343e57600080fd5b809150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156134bf576134bf613449565b604052919050565b600080604083850312156134da57600080fd5b82356134e5816132f5565b915060208381013567ffffffffffffffff8082111561350357600080fd5b818601915086601f83011261351757600080fd5b81358181111561352957613529613449565b613559847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601613478565b9150808252878482850101111561356f57600080fd5b80848401858401376000848284010152508093505050509250929050565b600080600060e084860312156135a257600080fd5b6135ac85856132c1565b925060c084013567ffffffffffffffff8111156135c857600080fd5b6135d486828701613334565b9497909650939450505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600060078210613649577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b50815260200190565b604080825283519082018190526000906020906060840190828701845b8281101561369057613682848351613610565b93509084019060010161366f565b50505093151592019190915250919050565b60008083601f8401126136b457600080fd5b50813567ffffffffffffffff8111156136cc57600080fd5b6020830191508360208260051b850101111561337657600080fd5b600080602083850312156136fa57600080fd5b823567ffffffffffffffff81111561371157600080fd5b6133b3858286016136a2565b60005b83811015613738578181015183820152602001613720565b50506000910152565b6000815180845261375981602086016020860161371d565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156137fe577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08886030184526137ec858351613741565b945092850192908501906001016137b2565b5092979650505050505050565b600081518084526020808501945080840160005b8381101561384057613832878351613610565b96509082019060010161381f565b509495945050505050565b6020815260008251610140602084015261386961016084018261380b565b905060208401511515604084015260408401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08483030160608501526138b0828261380b565b91505060608401516138c6608085018215159052565b50608084015180151560a08501525060a084015173ffffffffffffffffffffffffffffffffffffffff811660c08501525060c084015173ffffffffffffffffffffffffffffffffffffffff811660e08501525060e084015180516dffffffffffffffffffffffffffff90811661010086015260208201511661012085015260408101511515610140850152509392505050565b801515811461094157600080fd5b60008060006040848603121561397c57600080fd5b833567ffffffffffffffff81111561399357600080fd5b61399f868287016136a2565b909450925050602084013561343e81613959565b600080604083850312156139c657600080fd5b82359150602083013560ff811681146139de57600080fd5b809150509250929050565b6000610100820190508251825260208301516020830152604083015115156040830152606083015173ffffffffffffffffffffffffffffffffffffffff8082166060850152806080860151166080850152505060a083015161147f60a08401826dffffffffffffffffffffffffffff808251168352806020830151166020840152506040810151151560408301525050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b602081526000610ed2602083018486613a7b565b60006101008635613ae8816132f5565b73ffffffffffffffffffffffffffffffffffffffff80821685526020890135602086015260408901359150613b1c826132f5565b8082166040860152606089013560608601526080890135608086015260a089013560a08601528260c0860152613b55838601888a613a7b565b935080861660e086015250505095945050505050565b600060208284031215613b7d57600080fd5b815161050881613959565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112613bec57600080fd5b83018035915067ffffffffffffffff821115613c0757600080fd5b60200191503681900382131561337657600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613c7c57613c7c613c1c565b5060010190565b600060208284031215613c9557600080fd5b5051919050565b6000610100808352613cb18184018c8e613a7b565b602084019a909a5250506040810196909652931515606086015273ffffffffffffffffffffffffffffffffffffffff9290921660808501526dffffffffffffffffffffffffffff90811660a08501521660c0830152151560e09091015292915050565b808201808211156106c2576106c2613c1c565b600060208284031215613d3957600080fd5b81356007811061050857600080fd5b80356dffffffffffffffffffffffffffff81168114613d6657600080fd5b919050565b600060208284031215613d7d57600080fd5b61050882613d48565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112613dbb57600080fd5b83018035915067ffffffffffffffff821115613dd657600080fd5b6020019150600581901b360382131561337657600080fd5b600060208284031215613e0057600080fd5b813561050881613959565b600060608284031215613e1d57600080fd5b6040516060810181811067ffffffffffffffff82111715613e4057613e40613449565b604052613e4c83613d48565b8152613e5a60208401613d48565b60208201526040830135613e6d81613959565b60408201529392505050565b600060208284031215613e8b57600080fd5b8151610508816132f5565b60008251613ea881846020870161371d565b9190910192915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082613ef057613ef0613eb2565b500690565b80820281158282048414176106c2576106c2613c1c565b600082613f1b57613f1b613eb2565b500490565b602081526000610508602083018461374156fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220f1c278e1dba4a900a0fe7e4ac86e1451c79eb6d39ad462d2fd0e41ee5a219c3364736f6c63430008130033000000000000000000000000f157916d184598105fe4681ec93be0f799599003", - "nonce": "0x30", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xc4e9bd115288593d4bc247cdd0aaf2b6dbf9533285cbe3e4b417f5eb9709e288", - "transactionType": "CALL", - "contractName": "ERC1967Proxy", - "contractAddress": "0xb146cB898E95953f353bf5A50Fb8f129eC0D5AAb", - "function": null, - "arguments": null, - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "to": "0xb146cb898e95953f353bf5a50fb8f129ec0d5aab", - "gas": "0x10ab2", - "value": "0x0", - "data": "0x3659cfe60000000000000000000000000c34223fc772aec0514b5fbf5614b9ab85edaae1", - "nonce": "0x31", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "transactionHash": "0xac41a96ec4138a2832e07e3ef33151b25ae257c1fca92cfa3abdf5039fa4f9be", - "transactionIndex": "0x7", - "blockHash": "0x8cea8257c59c64049f1d43f45c7788949874b357b9135641a0491e6ccff314df", - "blockNumber": "0x8fb637", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": null, - "cumulativeGasUsed": "0x493b19", - "gasUsed": "0x367e03", - "contractAddress": "0x0c34223fc772aeC0514B5fbf5614b9ab85EdaAe1", - "logs": [ - { - "address": "0x0c34223fc772aeC0514B5fbf5614b9ab85EdaAe1", - "topics": [ - "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000000ff", - "blockHash": "0x8cea8257c59c64049f1d43f45c7788949874b357b9135641a0491e6ccff314df", - "blockNumber": "0x8fb637", - "transactionHash": "0xac41a96ec4138a2832e07e3ef33151b25ae257c1fca92cfa3abdf5039fa4f9be", - "transactionIndex": "0x7", - "logIndex": "0x7", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xd543b292" - }, - { - "transactionHash": "0xc4e9bd115288593d4bc247cdd0aaf2b6dbf9533285cbe3e4b417f5eb9709e288", - "transactionIndex": "0x8", - "blockHash": "0x8cea8257c59c64049f1d43f45c7788949874b357b9135641a0491e6ccff314df", - "blockNumber": "0x8fb637", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": "0xb146cB898E95953f353bf5A50Fb8f129eC0D5AAb", - "cumulativeGasUsed": "0x49fc2f", - "gasUsed": "0xc116", - "contractAddress": null, - "logs": [ - { - "address": "0xb146cB898E95953f353bf5A50Fb8f129eC0D5AAb", - "topics": [ - "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", - "0x0000000000000000000000000c34223fc772aec0514b5fbf5614b9ab85edaae1" - ], - "data": "0x", - "blockHash": "0x8cea8257c59c64049f1d43f45c7788949874b357b9135641a0491e6ccff314df", - "blockNumber": "0x8fb637", - "transactionHash": "0xc4e9bd115288593d4bc247cdd0aaf2b6dbf9533285cbe3e4b417f5eb9709e288", - "transactionIndex": "0x8", - "logIndex": "0x8", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000400000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000040000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xd543b292" - } - ], - "libraries": [], - "pending": [], - "path": "/Users/drmanhattan/Workspace/StoryProtocol/protocol-contracts/broadcast/DevUpgrades.s.sol/5/run-latest.json", - "returns": {}, - "timestamp": 1690479919, - "chain": 5, - "multi": false, - "commit": "0fcb14f" -} \ No newline at end of file diff --git a/broadcast/DevUpgrades.s.sol/5/run-1690480150.json b/broadcast/DevUpgrades.s.sol/5/run-1690480150.json deleted file mode 100644 index add9fff9..00000000 --- a/broadcast/DevUpgrades.s.sol/5/run-1690480150.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x4f97bff376c4e6f5d66fe2fcd712e40dde9a2010bcd022d8a1286e67005db722", - "transactionType": "CREATE", - "contractName": "FranchiseRegistry", - "contractAddress": "0x070E97bEA1DBEF56585bA5fB2CD7632A23F54bd3", - "function": null, - "arguments": [ - "0x461DF243955aD5493cFa33434c2B7CfF2C583dc7" - ], - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x3cc321", - "value": "0x0", - "data": "0x60c0604052306080523480156200001557600080fd5b50604051620037f7380380620037f783398101604081905262000038916200013e565b620000426200007c565b6001600160a01b0381166200006a5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b031660a05262000170565b600054610100900460ff1615620000e95760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811610156200013c576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6000602082840312156200015157600080fd5b81516001600160a01b03811681146200016957600080fd5b9392505050565b60805160a05161363e620001b960003960008181610318015261126b015260008181610b2501528181610bbb01528181610d1101528181610da70152610fba015261363e6000f3fe6080604052600436106101a15760003560e01c806354fd4d50116100e1578063b88d4fde1161008a578063c87b56dd11610064578063c87b56dd1461052a578063e985e9c51461054a578063ef647e10146105a0578063fc1dad81146105b557600080fd5b8063b88d4fde146104a0578063bac806d3146104c0578063c4d66de81461050a57600080fd5b806395d89b41116100bb57806395d89b41146104565780639b0c6be41461046b578063a22cb4651461048057600080fd5b806354fd4d50146103d05780636352211e1461041657806370a082311461043657600080fd5b80632c5cefa31161014e57806342842e0e1161012857806342842e0e1461035a5780634f1ef2861461037a578063503fa3171461038d57806352d1902d146103ad57600080fd5b80632c5cefa3146102a45780632dd31000146103065780633659cfe61461033a57600080fd5b8063095ea7b31161017f578063095ea7b31461024257806319129e5a1461026457806323b872dd1461028457600080fd5b806301ffc9a7146101a657806306fdde03146101db578063081812fc146101fd575b600080fd5b3480156101b257600080fd5b506101c66101c1366004612dd9565b6105ff565b60405190151581526020015b60405180910390f35b3480156101e757600080fd5b506101f06106e4565b6040516101d29190612e64565b34801561020957600080fd5b5061021d610218366004612e77565b610776565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101d2565b34801561024e57600080fd5b5061026261025d366004612eb2565b6107aa565b005b34801561027057600080fd5b5061026261027f366004612ede565b610907565b34801561029057600080fd5b5061026261029f366004612efb565b610a87565b3480156102b057600080fd5b5061021d6102bf366004612e77565b60009081527f5648324915b730d22cca7279385130ad43fd4829d795fb20e9ab398bfe537e90602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b34801561031257600080fd5b5061021d7f000000000000000000000000000000000000000000000000000000000000000081565b34801561034657600080fd5b50610262610355366004612ede565b610b0e565b34801561036657600080fd5b50610262610375366004612efb565b610cdf565b610262610388366004613016565b610cfa565b34801561039957600080fd5b506101c66103a8366004612ede565b610ebc565b3480156103b957600080fd5b506103c2610fa0565b6040519081526020016101d2565b3480156103dc57600080fd5b5060408051808201909152600581527f302e312e3000000000000000000000000000000000000000000000000000000060208201526101f0565b34801561042257600080fd5b5061021d610431366004612e77565b611072565b34801561044257600080fd5b506103c2610451366004612ede565b6110e4565b34801561046257600080fd5b506101f0611198565b34801561047757600080fd5b5061021d600081565b34801561048c57600080fd5b5061026261049b366004613074565b6111a7565b3480156104ac57600080fd5b506102626104bb3660046130ad565b6111b2565b3480156104cc57600080fd5b506104e06104db366004613162565b611240565b6040805192835273ffffffffffffffffffffffffffffffffffffffff9091166020830152016101d2565b34801561051657600080fd5b50610262610525366004612ede565b6113ee565b34801561053657600080fd5b506101f0610545366004612e77565b6115e4565b34801561055657600080fd5b506101c66105653660046131fc565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260ce6020908152604080832093909416825291909152205460ff1690565b3480156105ac57600080fd5b506103c2600081565b3480156105c157600080fd5b507f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b65473ffffffffffffffffffffffffffffffffffffffff1661021d565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061069257507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b806106de57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b606060c980546106f39061322a565b80601f016020809104026020016040519081016040528092919081815260200182805461071f9061322a565b801561076c5780601f106107415761010080835404028352916020019161076c565b820191906000526020600020905b81548152906001019060200180831161074f57829003601f168201915b5050505050905090565b600061078182611658565b50600090815260cd602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60006107b582611072565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361085d5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff8216148061088657506108868133610565565b6108f85760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610854565b61090283836116c9565b505050565b60006109138133611769565b610952576040517f75000dc000000000000000000000000000000000000000000000000000000000815260048101829052336024820152604401610854565b61099273ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000611831565b6109f8576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c0000000000000000000000000000000000006044820152606401610854565b7f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811782556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a2505050565b610a91338261184d565b610b035760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610854565b61090283838361190c565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610bb95760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610854565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610c2e7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610cb75760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610854565b610cc081611bb9565b60408051600080825260208201909252610cdc91839190611c23565b50565b610902838383604051806020016040528060008152506111b2565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610da55760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610854565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610e1a7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610ea35760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610854565b610eac82611bb9565b610eb882826001611c23565b5050565b60008173ffffffffffffffffffffffffffffffffffffffff1663b9d0787c6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610f43575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252610f409181019061327d565b60015b610f4f57506000919050565b60009081527f5648324915b730d22cca7279385130ad43fd4829d795fb20e9ab398bfe537e90602052604090205473ffffffffffffffffffffffffffffffffffffffff908116921691909114919050565b60003073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461104d5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610854565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b600081815260cb602052604081205473ffffffffffffffffffffffffffffffffffffffff16806106de5760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610854565b600073ffffffffffffffffffffffffffffffffffffffff821661116f5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e657200000000000000000000000000000000000000000000006064820152608401610854565b5073ffffffffffffffffffffffffffffffffffffffff16600090815260cc602052604090205490565b606060ca80546106f39061322a565b610eb8338383611dee565b6111bc338361184d565b61122e5760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610854565b61123a84848484611f01565b50505050565b600080807f5648324915b730d22cca7279385130ad43fd4829d795fb20e9ab398bfe537e8f905060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166386df779e83600001600081546112b690613296565b9190508190558c8c8c8c8c8c6040518863ffffffff1660e01b81526004016112e4979695949392919061333e565b6020604051808303816000875af1158015611303573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611327919061338e565b82546000908152600184016020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790558254909150611387903390611f8a565b815460408051338152602081019290925273ffffffffffffffffffffffffffffffffffffffff831682820152517f0ee7716498f35cc0a42b8edb136bf88dbc529acf11a42fb9e4ec60b29638aff39181900360600190a19054999098509650505050505050565b600054610100900460ff161580801561140e5750600054600160ff909116105b806114285750303b158015611428575060005460ff166001145b61149a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610854565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156114f857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b611500611fa4565b61150982612023565b61157d6040518060400160405280600e81526020017f53746f72792050726f746f636f6c0000000000000000000000000000000000008152506040518060400160405280600281526020017f53500000000000000000000000000000000000000000000000000000000000008152506122bd565b8015610eb857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15050565b60606115ef82611658565b600061160660408051602081019091526000815290565b905060008151116116265760405180602001604052806000815250611651565b8061163084612344565b6040516020016116419291906133ab565b6040516020818303038152906040525b9392505050565b600081815260cb602052604090205473ffffffffffffffffffffffffffffffffffffffff16610cdc5760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610854565b600081815260cd6020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117909155819061172382611072565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000807f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810187905273ffffffffffffffffffffffffffffffffffffffff86811660248301529293509116906391d1485490604401602060405180830381865afa158015611805573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061182991906133da565b949350505050565b600061183c83612402565b801561165157506116518383612466565b60008061185983611072565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806118c7575073ffffffffffffffffffffffffffffffffffffffff808216600090815260ce602090815260408083209388168352929052205460ff165b8061182957508373ffffffffffffffffffffffffffffffffffffffff166118ed84610776565b73ffffffffffffffffffffffffffffffffffffffff1614949350505050565b8273ffffffffffffffffffffffffffffffffffffffff1661192c82611072565b73ffffffffffffffffffffffffffffffffffffffff16146119b55760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610854565b73ffffffffffffffffffffffffffffffffffffffff8216611a3d5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610854565b8273ffffffffffffffffffffffffffffffffffffffff16611a5d82611072565b73ffffffffffffffffffffffffffffffffffffffff1614611ae65760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610854565b600081815260cd6020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff87811680865260cc855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190559087168086528386208054600101905586865260cb90945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3611be48133611769565b610eb8576040517f75000dc000000000000000000000000000000000000000000000000000000000815260048101829052336024820152604401610854565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611c565761090283612535565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611cdb575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252611cd89181019061327d565b60015b611d4d5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608401610854565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114611de25760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152608401610854565b50610902838383612625565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611e695760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610854565b73ffffffffffffffffffffffffffffffffffffffff838116600081815260ce602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b611f0c84848461190c565b611f188484848461264a565b61123a5760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610854565b610eb8828260405180602001604052806000815250612823565b600054610100900460ff166120215760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610854565b565b600054610100900460ff16158080156120435750600054600160ff909116105b8061205d5750303b15801561205d575060005460ff166001145b6120cf5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610854565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561212d57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61216d73ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000611831565b6121d3576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c0000000000000000000000000000000000006044820152606401610854565b7f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811782556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a2508015610eb857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020016115d8565b600054610100900460ff1661233a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610854565b610eb882826128ac565b6060600061235183612942565b600101905060008167ffffffffffffffff81111561237157612371612f3c565b6040519080825280601f01601f19166020018201604052801561239b576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85049450846123a557509392505050565b600061242e827f01ffc9a700000000000000000000000000000000000000000000000000000000612466565b80156106de575061245f827fffffffff00000000000000000000000000000000000000000000000000000000612466565b1592915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d9150600051905082801561251e575060208210155b801561252a5750600081115b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff81163b6125bf5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401610854565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61262e83612a24565b60008251118061263b5750805b156109025761123a8383612a71565b600073ffffffffffffffffffffffffffffffffffffffff84163b15612818576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a02906126c19033908990889088906004016133f7565b6020604051808303816000875af192505050801561271a575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261271791810190613440565b60015b6127cd573d808015612748576040519150601f19603f3d011682016040523d82523d6000602084013e61274d565b606091505b5080516000036127c55760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610854565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050611829565b506001949350505050565b61282d8383612b96565b61283a600084848461264a565b6109025760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610854565b600054610100900460ff166129295760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610854565b60c961293583826134ab565b5060ca61090282826134ab565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000831061298b577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef810000000083106129b7576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106129d557662386f26fc10000830492506010015b6305f5e10083106129ed576305f5e100830492506008015b6127108310612a0157612710830492506004015b60648310612a13576064830492506002015b600a83106106de5760010192915050565b612a2d81612535565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606073ffffffffffffffffffffffffffffffffffffffff83163b612afd5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e747261637400000000000000000000000000000000000000000000000000006064820152608401610854565b6000808473ffffffffffffffffffffffffffffffffffffffff1684604051612b2591906135c5565b600060405180830381855af49150503d8060008114612b60576040519150601f19603f3d011682016040523d82523d6000602084013e612b65565b606091505b5091509150612b8d82826040518060600160405280602781526020016135e260279139612d6d565b95945050505050565b73ffffffffffffffffffffffffffffffffffffffff8216612bf95760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610854565b600081815260cb602052604090205473ffffffffffffffffffffffffffffffffffffffff1615612c6b5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610854565b600081815260cb602052604090205473ffffffffffffffffffffffffffffffffffffffff1615612cdd5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610854565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260cc602090815260408083208054600101905584835260cb90915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60608315612d7c575081611651565b6116518383815115612d915781518083602001fd5b8060405162461bcd60e51b81526004016108549190612e64565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610cdc57600080fd5b600060208284031215612deb57600080fd5b813561165181612dab565b60005b83811015612e11578181015183820152602001612df9565b50506000910152565b60008151808452612e32816020860160208601612df6565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006116516020830184612e1a565b600060208284031215612e8957600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610cdc57600080fd5b60008060408385031215612ec557600080fd5b8235612ed081612e90565b946020939093013593505050565b600060208284031215612ef057600080fd5b813561165181612e90565b600080600060608486031215612f1057600080fd5b8335612f1b81612e90565b92506020840135612f2b81612e90565b929592945050506040919091013590565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112612f7c57600080fd5b813567ffffffffffffffff80821115612f9757612f97612f3c565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715612fdd57612fdd612f3c565b81604052838152866020858801011115612ff657600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806040838503121561302957600080fd5b823561303481612e90565b9150602083013567ffffffffffffffff81111561305057600080fd5b61305c85828601612f6b565b9150509250929050565b8015158114610cdc57600080fd5b6000806040838503121561308757600080fd5b823561309281612e90565b915060208301356130a281613066565b809150509250929050565b600080600080608085870312156130c357600080fd5b84356130ce81612e90565b935060208501356130de81612e90565b925060408501359150606085013567ffffffffffffffff81111561310157600080fd5b61310d87828801612f6b565b91505092959194509250565b60008083601f84011261312b57600080fd5b50813567ffffffffffffffff81111561314357600080fd5b60208301915083602082850101111561315b57600080fd5b9250929050565b6000806000806000806060878903121561317b57600080fd5b863567ffffffffffffffff8082111561319357600080fd5b61319f8a838b01613119565b909850965060208901359150808211156131b857600080fd5b6131c48a838b01613119565b909650945060408901359150808211156131dd57600080fd5b506131ea89828a01613119565b979a9699509497509295939492505050565b6000806040838503121561320f57600080fd5b823561321a81612e90565b915060208301356130a281612e90565b600181811c9082168061323e57607f821691505b602082108103613277577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b60006020828403121561328f57600080fd5b5051919050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036132ee577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b87815260806020820152600061335860808301888a6132f5565b828103604084015261336b8187896132f5565b905082810360608401526133808185876132f5565b9a9950505050505050505050565b6000602082840312156133a057600080fd5b815161165181612e90565b600083516133bd818460208801612df6565b8351908301906133d1818360208801612df6565b01949350505050565b6000602082840312156133ec57600080fd5b815161165181613066565b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250836040830152608060608301526134366080830184612e1a565b9695505050505050565b60006020828403121561345257600080fd5b815161165181612dab565b601f82111561090257600081815260208120601f850160051c810160208610156134845750805b601f850160051c820191505b818110156134a357828155600101613490565b505050505050565b815167ffffffffffffffff8111156134c5576134c5612f3c565b6134d9816134d3845461322a565b8461345d565b602080601f83116001811461352c57600084156134f65750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b1785556134a3565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156135795788860151825594840194600190910190840161355a565b50858210156135b557878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600082516135d7818460208701612df6565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220564e69c97c84cb8f9efa85150fd61eea0ea32ca80b5f908fb63276480585e93564736f6c63430008130033000000000000000000000000461df243955ad5493cfa33434c2b7cff2c583dc7", - "nonce": "0x32", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xb9e6d5c3502253ebef0589dece380830b5845ef667d1c28e3a64e43e1b0b7f87", - "transactionType": "CALL", - "contractName": "ERC1967Proxy", - "contractAddress": "0xf157916d184598105FE4681eC93Be0f799599003", - "function": null, - "arguments": null, - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "to": "0xf157916d184598105fe4681ec93be0f799599003", - "gas": "0x10b0d", - "value": "0x0", - "data": "0x3659cfe6000000000000000000000000070e97bea1dbef56585ba5fb2cd7632a23f54bd3", - "nonce": "0x33", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [], - "libraries": [], - "pending": [ - "0x4f97bff376c4e6f5d66fe2fcd712e40dde9a2010bcd022d8a1286e67005db722", - "0xb9e6d5c3502253ebef0589dece380830b5845ef667d1c28e3a64e43e1b0b7f87" - ], - "path": "/Users/drmanhattan/Workspace/StoryProtocol/protocol-contracts/broadcast/DevUpgrades.s.sol/5/run-latest.json", - "returns": {}, - "timestamp": 1690480150, - "chain": 5, - "multi": false, - "commit": "0fcb14f" -} \ No newline at end of file diff --git a/broadcast/DevUpgrades.s.sol/5/run-1690480157.json b/broadcast/DevUpgrades.s.sol/5/run-1690480157.json deleted file mode 100644 index 5976c82e..00000000 --- a/broadcast/DevUpgrades.s.sol/5/run-1690480157.json +++ /dev/null @@ -1,118 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x4f97bff376c4e6f5d66fe2fcd712e40dde9a2010bcd022d8a1286e67005db722", - "transactionType": "CREATE", - "contractName": "FranchiseRegistry", - "contractAddress": "0x070E97bEA1DBEF56585bA5fB2CD7632A23F54bd3", - "function": null, - "arguments": [ - "0x461DF243955aD5493cFa33434c2B7CfF2C583dc7" - ], - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x3cc321", - "value": "0x0", - "data": "0x60c0604052306080523480156200001557600080fd5b50604051620037f7380380620037f783398101604081905262000038916200013e565b620000426200007c565b6001600160a01b0381166200006a5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b031660a05262000170565b600054610100900460ff1615620000e95760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811610156200013c576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6000602082840312156200015157600080fd5b81516001600160a01b03811681146200016957600080fd5b9392505050565b60805160a05161363e620001b960003960008181610318015261126b015260008181610b2501528181610bbb01528181610d1101528181610da70152610fba015261363e6000f3fe6080604052600436106101a15760003560e01c806354fd4d50116100e1578063b88d4fde1161008a578063c87b56dd11610064578063c87b56dd1461052a578063e985e9c51461054a578063ef647e10146105a0578063fc1dad81146105b557600080fd5b8063b88d4fde146104a0578063bac806d3146104c0578063c4d66de81461050a57600080fd5b806395d89b41116100bb57806395d89b41146104565780639b0c6be41461046b578063a22cb4651461048057600080fd5b806354fd4d50146103d05780636352211e1461041657806370a082311461043657600080fd5b80632c5cefa31161014e57806342842e0e1161012857806342842e0e1461035a5780634f1ef2861461037a578063503fa3171461038d57806352d1902d146103ad57600080fd5b80632c5cefa3146102a45780632dd31000146103065780633659cfe61461033a57600080fd5b8063095ea7b31161017f578063095ea7b31461024257806319129e5a1461026457806323b872dd1461028457600080fd5b806301ffc9a7146101a657806306fdde03146101db578063081812fc146101fd575b600080fd5b3480156101b257600080fd5b506101c66101c1366004612dd9565b6105ff565b60405190151581526020015b60405180910390f35b3480156101e757600080fd5b506101f06106e4565b6040516101d29190612e64565b34801561020957600080fd5b5061021d610218366004612e77565b610776565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101d2565b34801561024e57600080fd5b5061026261025d366004612eb2565b6107aa565b005b34801561027057600080fd5b5061026261027f366004612ede565b610907565b34801561029057600080fd5b5061026261029f366004612efb565b610a87565b3480156102b057600080fd5b5061021d6102bf366004612e77565b60009081527f5648324915b730d22cca7279385130ad43fd4829d795fb20e9ab398bfe537e90602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b34801561031257600080fd5b5061021d7f000000000000000000000000000000000000000000000000000000000000000081565b34801561034657600080fd5b50610262610355366004612ede565b610b0e565b34801561036657600080fd5b50610262610375366004612efb565b610cdf565b610262610388366004613016565b610cfa565b34801561039957600080fd5b506101c66103a8366004612ede565b610ebc565b3480156103b957600080fd5b506103c2610fa0565b6040519081526020016101d2565b3480156103dc57600080fd5b5060408051808201909152600581527f302e312e3000000000000000000000000000000000000000000000000000000060208201526101f0565b34801561042257600080fd5b5061021d610431366004612e77565b611072565b34801561044257600080fd5b506103c2610451366004612ede565b6110e4565b34801561046257600080fd5b506101f0611198565b34801561047757600080fd5b5061021d600081565b34801561048c57600080fd5b5061026261049b366004613074565b6111a7565b3480156104ac57600080fd5b506102626104bb3660046130ad565b6111b2565b3480156104cc57600080fd5b506104e06104db366004613162565b611240565b6040805192835273ffffffffffffffffffffffffffffffffffffffff9091166020830152016101d2565b34801561051657600080fd5b50610262610525366004612ede565b6113ee565b34801561053657600080fd5b506101f0610545366004612e77565b6115e4565b34801561055657600080fd5b506101c66105653660046131fc565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260ce6020908152604080832093909416825291909152205460ff1690565b3480156105ac57600080fd5b506103c2600081565b3480156105c157600080fd5b507f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b65473ffffffffffffffffffffffffffffffffffffffff1661021d565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061069257507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b806106de57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b606060c980546106f39061322a565b80601f016020809104026020016040519081016040528092919081815260200182805461071f9061322a565b801561076c5780601f106107415761010080835404028352916020019161076c565b820191906000526020600020905b81548152906001019060200180831161074f57829003601f168201915b5050505050905090565b600061078182611658565b50600090815260cd602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60006107b582611072565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361085d5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff8216148061088657506108868133610565565b6108f85760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610854565b61090283836116c9565b505050565b60006109138133611769565b610952576040517f75000dc000000000000000000000000000000000000000000000000000000000815260048101829052336024820152604401610854565b61099273ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000611831565b6109f8576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c0000000000000000000000000000000000006044820152606401610854565b7f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811782556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a2505050565b610a91338261184d565b610b035760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610854565b61090283838361190c565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610bb95760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610854565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610c2e7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610cb75760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610854565b610cc081611bb9565b60408051600080825260208201909252610cdc91839190611c23565b50565b610902838383604051806020016040528060008152506111b2565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610da55760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610854565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610e1a7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610ea35760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610854565b610eac82611bb9565b610eb882826001611c23565b5050565b60008173ffffffffffffffffffffffffffffffffffffffff1663b9d0787c6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610f43575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252610f409181019061327d565b60015b610f4f57506000919050565b60009081527f5648324915b730d22cca7279385130ad43fd4829d795fb20e9ab398bfe537e90602052604090205473ffffffffffffffffffffffffffffffffffffffff908116921691909114919050565b60003073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461104d5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610854565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b600081815260cb602052604081205473ffffffffffffffffffffffffffffffffffffffff16806106de5760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610854565b600073ffffffffffffffffffffffffffffffffffffffff821661116f5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e657200000000000000000000000000000000000000000000006064820152608401610854565b5073ffffffffffffffffffffffffffffffffffffffff16600090815260cc602052604090205490565b606060ca80546106f39061322a565b610eb8338383611dee565b6111bc338361184d565b61122e5760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610854565b61123a84848484611f01565b50505050565b600080807f5648324915b730d22cca7279385130ad43fd4829d795fb20e9ab398bfe537e8f905060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166386df779e83600001600081546112b690613296565b9190508190558c8c8c8c8c8c6040518863ffffffff1660e01b81526004016112e4979695949392919061333e565b6020604051808303816000875af1158015611303573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611327919061338e565b82546000908152600184016020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790558254909150611387903390611f8a565b815460408051338152602081019290925273ffffffffffffffffffffffffffffffffffffffff831682820152517f0ee7716498f35cc0a42b8edb136bf88dbc529acf11a42fb9e4ec60b29638aff39181900360600190a19054999098509650505050505050565b600054610100900460ff161580801561140e5750600054600160ff909116105b806114285750303b158015611428575060005460ff166001145b61149a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610854565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156114f857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b611500611fa4565b61150982612023565b61157d6040518060400160405280600e81526020017f53746f72792050726f746f636f6c0000000000000000000000000000000000008152506040518060400160405280600281526020017f53500000000000000000000000000000000000000000000000000000000000008152506122bd565b8015610eb857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15050565b60606115ef82611658565b600061160660408051602081019091526000815290565b905060008151116116265760405180602001604052806000815250611651565b8061163084612344565b6040516020016116419291906133ab565b6040516020818303038152906040525b9392505050565b600081815260cb602052604090205473ffffffffffffffffffffffffffffffffffffffff16610cdc5760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610854565b600081815260cd6020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117909155819061172382611072565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000807f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810187905273ffffffffffffffffffffffffffffffffffffffff86811660248301529293509116906391d1485490604401602060405180830381865afa158015611805573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061182991906133da565b949350505050565b600061183c83612402565b801561165157506116518383612466565b60008061185983611072565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806118c7575073ffffffffffffffffffffffffffffffffffffffff808216600090815260ce602090815260408083209388168352929052205460ff165b8061182957508373ffffffffffffffffffffffffffffffffffffffff166118ed84610776565b73ffffffffffffffffffffffffffffffffffffffff1614949350505050565b8273ffffffffffffffffffffffffffffffffffffffff1661192c82611072565b73ffffffffffffffffffffffffffffffffffffffff16146119b55760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610854565b73ffffffffffffffffffffffffffffffffffffffff8216611a3d5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610854565b8273ffffffffffffffffffffffffffffffffffffffff16611a5d82611072565b73ffffffffffffffffffffffffffffffffffffffff1614611ae65760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610854565b600081815260cd6020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff87811680865260cc855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190559087168086528386208054600101905586865260cb90945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3611be48133611769565b610eb8576040517f75000dc000000000000000000000000000000000000000000000000000000000815260048101829052336024820152604401610854565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611c565761090283612535565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611cdb575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252611cd89181019061327d565b60015b611d4d5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608401610854565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114611de25760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152608401610854565b50610902838383612625565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611e695760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610854565b73ffffffffffffffffffffffffffffffffffffffff838116600081815260ce602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b611f0c84848461190c565b611f188484848461264a565b61123a5760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610854565b610eb8828260405180602001604052806000815250612823565b600054610100900460ff166120215760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610854565b565b600054610100900460ff16158080156120435750600054600160ff909116105b8061205d5750303b15801561205d575060005460ff166001145b6120cf5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610854565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561212d57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61216d73ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000611831565b6121d3576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c0000000000000000000000000000000000006044820152606401610854565b7f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811782556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a2508015610eb857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020016115d8565b600054610100900460ff1661233a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610854565b610eb882826128ac565b6060600061235183612942565b600101905060008167ffffffffffffffff81111561237157612371612f3c565b6040519080825280601f01601f19166020018201604052801561239b576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85049450846123a557509392505050565b600061242e827f01ffc9a700000000000000000000000000000000000000000000000000000000612466565b80156106de575061245f827fffffffff00000000000000000000000000000000000000000000000000000000612466565b1592915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d9150600051905082801561251e575060208210155b801561252a5750600081115b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff81163b6125bf5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401610854565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61262e83612a24565b60008251118061263b5750805b156109025761123a8383612a71565b600073ffffffffffffffffffffffffffffffffffffffff84163b15612818576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a02906126c19033908990889088906004016133f7565b6020604051808303816000875af192505050801561271a575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261271791810190613440565b60015b6127cd573d808015612748576040519150601f19603f3d011682016040523d82523d6000602084013e61274d565b606091505b5080516000036127c55760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610854565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050611829565b506001949350505050565b61282d8383612b96565b61283a600084848461264a565b6109025760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610854565b600054610100900460ff166129295760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610854565b60c961293583826134ab565b5060ca61090282826134ab565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000831061298b577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef810000000083106129b7576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106129d557662386f26fc10000830492506010015b6305f5e10083106129ed576305f5e100830492506008015b6127108310612a0157612710830492506004015b60648310612a13576064830492506002015b600a83106106de5760010192915050565b612a2d81612535565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606073ffffffffffffffffffffffffffffffffffffffff83163b612afd5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e747261637400000000000000000000000000000000000000000000000000006064820152608401610854565b6000808473ffffffffffffffffffffffffffffffffffffffff1684604051612b2591906135c5565b600060405180830381855af49150503d8060008114612b60576040519150601f19603f3d011682016040523d82523d6000602084013e612b65565b606091505b5091509150612b8d82826040518060600160405280602781526020016135e260279139612d6d565b95945050505050565b73ffffffffffffffffffffffffffffffffffffffff8216612bf95760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610854565b600081815260cb602052604090205473ffffffffffffffffffffffffffffffffffffffff1615612c6b5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610854565b600081815260cb602052604090205473ffffffffffffffffffffffffffffffffffffffff1615612cdd5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610854565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260cc602090815260408083208054600101905584835260cb90915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60608315612d7c575081611651565b6116518383815115612d915781518083602001fd5b8060405162461bcd60e51b81526004016108549190612e64565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610cdc57600080fd5b600060208284031215612deb57600080fd5b813561165181612dab565b60005b83811015612e11578181015183820152602001612df9565b50506000910152565b60008151808452612e32816020860160208601612df6565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006116516020830184612e1a565b600060208284031215612e8957600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610cdc57600080fd5b60008060408385031215612ec557600080fd5b8235612ed081612e90565b946020939093013593505050565b600060208284031215612ef057600080fd5b813561165181612e90565b600080600060608486031215612f1057600080fd5b8335612f1b81612e90565b92506020840135612f2b81612e90565b929592945050506040919091013590565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112612f7c57600080fd5b813567ffffffffffffffff80821115612f9757612f97612f3c565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715612fdd57612fdd612f3c565b81604052838152866020858801011115612ff657600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806040838503121561302957600080fd5b823561303481612e90565b9150602083013567ffffffffffffffff81111561305057600080fd5b61305c85828601612f6b565b9150509250929050565b8015158114610cdc57600080fd5b6000806040838503121561308757600080fd5b823561309281612e90565b915060208301356130a281613066565b809150509250929050565b600080600080608085870312156130c357600080fd5b84356130ce81612e90565b935060208501356130de81612e90565b925060408501359150606085013567ffffffffffffffff81111561310157600080fd5b61310d87828801612f6b565b91505092959194509250565b60008083601f84011261312b57600080fd5b50813567ffffffffffffffff81111561314357600080fd5b60208301915083602082850101111561315b57600080fd5b9250929050565b6000806000806000806060878903121561317b57600080fd5b863567ffffffffffffffff8082111561319357600080fd5b61319f8a838b01613119565b909850965060208901359150808211156131b857600080fd5b6131c48a838b01613119565b909650945060408901359150808211156131dd57600080fd5b506131ea89828a01613119565b979a9699509497509295939492505050565b6000806040838503121561320f57600080fd5b823561321a81612e90565b915060208301356130a281612e90565b600181811c9082168061323e57607f821691505b602082108103613277577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b60006020828403121561328f57600080fd5b5051919050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036132ee577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b87815260806020820152600061335860808301888a6132f5565b828103604084015261336b8187896132f5565b905082810360608401526133808185876132f5565b9a9950505050505050505050565b6000602082840312156133a057600080fd5b815161165181612e90565b600083516133bd818460208801612df6565b8351908301906133d1818360208801612df6565b01949350505050565b6000602082840312156133ec57600080fd5b815161165181613066565b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250836040830152608060608301526134366080830184612e1a565b9695505050505050565b60006020828403121561345257600080fd5b815161165181612dab565b601f82111561090257600081815260208120601f850160051c810160208610156134845750805b601f850160051c820191505b818110156134a357828155600101613490565b505050505050565b815167ffffffffffffffff8111156134c5576134c5612f3c565b6134d9816134d3845461322a565b8461345d565b602080601f83116001811461352c57600084156134f65750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b1785556134a3565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156135795788860151825594840194600190910190840161355a565b50858210156135b557878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600082516135d7818460208701612df6565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220564e69c97c84cb8f9efa85150fd61eea0ea32ca80b5f908fb63276480585e93564736f6c63430008130033000000000000000000000000461df243955ad5493cfa33434c2b7cff2c583dc7", - "nonce": "0x32", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xb9e6d5c3502253ebef0589dece380830b5845ef667d1c28e3a64e43e1b0b7f87", - "transactionType": "CALL", - "contractName": "ERC1967Proxy", - "contractAddress": "0xf157916d184598105FE4681eC93Be0f799599003", - "function": null, - "arguments": null, - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "to": "0xf157916d184598105fe4681ec93be0f799599003", - "gas": "0x10b0d", - "value": "0x0", - "data": "0x3659cfe6000000000000000000000000070e97bea1dbef56585ba5fb2cd7632a23f54bd3", - "nonce": "0x33", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "transactionHash": "0x4f97bff376c4e6f5d66fe2fcd712e40dde9a2010bcd022d8a1286e67005db722", - "transactionIndex": "0xc", - "blockHash": "0x22e0ccb8d0ef69b62d44ed46d8f559b1f6c5957be23ca8f3005976c352ec0545", - "blockNumber": "0x8fb64a", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": null, - "cumulativeGasUsed": "0x5c9390", - "gasUsed": "0x2ec0fe", - "contractAddress": "0x070E97bEA1DBEF56585bA5fB2CD7632A23F54bd3", - "logs": [ - { - "address": "0x070E97bEA1DBEF56585bA5fB2CD7632A23F54bd3", - "topics": [ - "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000000ff", - "blockHash": "0x22e0ccb8d0ef69b62d44ed46d8f559b1f6c5957be23ca8f3005976c352ec0545", - "blockNumber": "0x8fb64a", - "transactionHash": "0x4f97bff376c4e6f5d66fe2fcd712e40dde9a2010bcd022d8a1286e67005db722", - "transactionIndex": "0xc", - "logIndex": "0x42", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000008000000000000080000000000000000000000000000000000000000000000400000000000000000001000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xe2588d16" - }, - { - "transactionHash": "0xb9e6d5c3502253ebef0589dece380830b5845ef667d1c28e3a64e43e1b0b7f87", - "transactionIndex": "0xd", - "blockHash": "0x22e0ccb8d0ef69b62d44ed46d8f559b1f6c5957be23ca8f3005976c352ec0545", - "blockNumber": "0x8fb64a", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": "0xf157916d184598105FE4681eC93Be0f799599003", - "cumulativeGasUsed": "0x5d54e8", - "gasUsed": "0xc158", - "contractAddress": null, - "logs": [ - { - "address": "0xf157916d184598105FE4681eC93Be0f799599003", - "topics": [ - "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", - "0x000000000000000000000000070e97bea1dbef56585ba5fb2cd7632a23f54bd3" - ], - "data": "0x", - "blockHash": "0x22e0ccb8d0ef69b62d44ed46d8f559b1f6c5957be23ca8f3005976c352ec0545", - "blockNumber": "0x8fb64a", - "transactionHash": "0xb9e6d5c3502253ebef0589dece380830b5845ef667d1c28e3a64e43e1b0b7f87", - "transactionIndex": "0xd", - "logIndex": "0x43", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000008002000000000000000000000000000000000000000000000000000000000000000000000000000800000008000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002", - "type": "0x2", - "effectiveGasPrice": "0xe2588d16" - } - ], - "libraries": [], - "pending": [], - "path": "/Users/drmanhattan/Workspace/StoryProtocol/protocol-contracts/broadcast/DevUpgrades.s.sol/5/run-latest.json", - "returns": {}, - "timestamp": 1690480157, - "chain": 5, - "multi": false, - "commit": "0fcb14f" -} \ No newline at end of file diff --git a/broadcast/DevUpgrades.s.sol/5/run-1690480185.json b/broadcast/DevUpgrades.s.sol/5/run-1690480185.json deleted file mode 100644 index b9c057a5..00000000 --- a/broadcast/DevUpgrades.s.sol/5/run-1690480185.json +++ /dev/null @@ -1,118 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x4f97bff376c4e6f5d66fe2fcd712e40dde9a2010bcd022d8a1286e67005db722", - "transactionType": "CREATE", - "contractName": "FranchiseRegistry", - "contractAddress": "0x070E97bEA1DBEF56585bA5fB2CD7632A23F54bd3", - "function": null, - "arguments": [ - "0x461DF243955aD5493cFa33434c2B7CfF2C583dc7" - ], - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x3cc321", - "value": "0x0", - "data": "0x60c0604052306080523480156200001557600080fd5b50604051620037f7380380620037f783398101604081905262000038916200013e565b620000426200007c565b6001600160a01b0381166200006a5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b031660a05262000170565b600054610100900460ff1615620000e95760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811610156200013c576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6000602082840312156200015157600080fd5b81516001600160a01b03811681146200016957600080fd5b9392505050565b60805160a05161363e620001b960003960008181610318015261126b015260008181610b2501528181610bbb01528181610d1101528181610da70152610fba015261363e6000f3fe6080604052600436106101a15760003560e01c806354fd4d50116100e1578063b88d4fde1161008a578063c87b56dd11610064578063c87b56dd1461052a578063e985e9c51461054a578063ef647e10146105a0578063fc1dad81146105b557600080fd5b8063b88d4fde146104a0578063bac806d3146104c0578063c4d66de81461050a57600080fd5b806395d89b41116100bb57806395d89b41146104565780639b0c6be41461046b578063a22cb4651461048057600080fd5b806354fd4d50146103d05780636352211e1461041657806370a082311461043657600080fd5b80632c5cefa31161014e57806342842e0e1161012857806342842e0e1461035a5780634f1ef2861461037a578063503fa3171461038d57806352d1902d146103ad57600080fd5b80632c5cefa3146102a45780632dd31000146103065780633659cfe61461033a57600080fd5b8063095ea7b31161017f578063095ea7b31461024257806319129e5a1461026457806323b872dd1461028457600080fd5b806301ffc9a7146101a657806306fdde03146101db578063081812fc146101fd575b600080fd5b3480156101b257600080fd5b506101c66101c1366004612dd9565b6105ff565b60405190151581526020015b60405180910390f35b3480156101e757600080fd5b506101f06106e4565b6040516101d29190612e64565b34801561020957600080fd5b5061021d610218366004612e77565b610776565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101d2565b34801561024e57600080fd5b5061026261025d366004612eb2565b6107aa565b005b34801561027057600080fd5b5061026261027f366004612ede565b610907565b34801561029057600080fd5b5061026261029f366004612efb565b610a87565b3480156102b057600080fd5b5061021d6102bf366004612e77565b60009081527f5648324915b730d22cca7279385130ad43fd4829d795fb20e9ab398bfe537e90602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b34801561031257600080fd5b5061021d7f000000000000000000000000000000000000000000000000000000000000000081565b34801561034657600080fd5b50610262610355366004612ede565b610b0e565b34801561036657600080fd5b50610262610375366004612efb565b610cdf565b610262610388366004613016565b610cfa565b34801561039957600080fd5b506101c66103a8366004612ede565b610ebc565b3480156103b957600080fd5b506103c2610fa0565b6040519081526020016101d2565b3480156103dc57600080fd5b5060408051808201909152600581527f302e312e3000000000000000000000000000000000000000000000000000000060208201526101f0565b34801561042257600080fd5b5061021d610431366004612e77565b611072565b34801561044257600080fd5b506103c2610451366004612ede565b6110e4565b34801561046257600080fd5b506101f0611198565b34801561047757600080fd5b5061021d600081565b34801561048c57600080fd5b5061026261049b366004613074565b6111a7565b3480156104ac57600080fd5b506102626104bb3660046130ad565b6111b2565b3480156104cc57600080fd5b506104e06104db366004613162565b611240565b6040805192835273ffffffffffffffffffffffffffffffffffffffff9091166020830152016101d2565b34801561051657600080fd5b50610262610525366004612ede565b6113ee565b34801561053657600080fd5b506101f0610545366004612e77565b6115e4565b34801561055657600080fd5b506101c66105653660046131fc565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260ce6020908152604080832093909416825291909152205460ff1690565b3480156105ac57600080fd5b506103c2600081565b3480156105c157600080fd5b507f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b65473ffffffffffffffffffffffffffffffffffffffff1661021d565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061069257507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b806106de57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b606060c980546106f39061322a565b80601f016020809104026020016040519081016040528092919081815260200182805461071f9061322a565b801561076c5780601f106107415761010080835404028352916020019161076c565b820191906000526020600020905b81548152906001019060200180831161074f57829003601f168201915b5050505050905090565b600061078182611658565b50600090815260cd602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60006107b582611072565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361085d5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff8216148061088657506108868133610565565b6108f85760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610854565b61090283836116c9565b505050565b60006109138133611769565b610952576040517f75000dc000000000000000000000000000000000000000000000000000000000815260048101829052336024820152604401610854565b61099273ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000611831565b6109f8576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c0000000000000000000000000000000000006044820152606401610854565b7f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811782556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a2505050565b610a91338261184d565b610b035760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610854565b61090283838361190c565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610bb95760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610854565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610c2e7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610cb75760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610854565b610cc081611bb9565b60408051600080825260208201909252610cdc91839190611c23565b50565b610902838383604051806020016040528060008152506111b2565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610da55760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610854565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610e1a7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610ea35760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610854565b610eac82611bb9565b610eb882826001611c23565b5050565b60008173ffffffffffffffffffffffffffffffffffffffff1663b9d0787c6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610f43575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252610f409181019061327d565b60015b610f4f57506000919050565b60009081527f5648324915b730d22cca7279385130ad43fd4829d795fb20e9ab398bfe537e90602052604090205473ffffffffffffffffffffffffffffffffffffffff908116921691909114919050565b60003073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461104d5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610854565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b600081815260cb602052604081205473ffffffffffffffffffffffffffffffffffffffff16806106de5760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610854565b600073ffffffffffffffffffffffffffffffffffffffff821661116f5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e657200000000000000000000000000000000000000000000006064820152608401610854565b5073ffffffffffffffffffffffffffffffffffffffff16600090815260cc602052604090205490565b606060ca80546106f39061322a565b610eb8338383611dee565b6111bc338361184d565b61122e5760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610854565b61123a84848484611f01565b50505050565b600080807f5648324915b730d22cca7279385130ad43fd4829d795fb20e9ab398bfe537e8f905060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166386df779e83600001600081546112b690613296565b9190508190558c8c8c8c8c8c6040518863ffffffff1660e01b81526004016112e4979695949392919061333e565b6020604051808303816000875af1158015611303573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611327919061338e565b82546000908152600184016020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790558254909150611387903390611f8a565b815460408051338152602081019290925273ffffffffffffffffffffffffffffffffffffffff831682820152517f0ee7716498f35cc0a42b8edb136bf88dbc529acf11a42fb9e4ec60b29638aff39181900360600190a19054999098509650505050505050565b600054610100900460ff161580801561140e5750600054600160ff909116105b806114285750303b158015611428575060005460ff166001145b61149a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610854565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156114f857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b611500611fa4565b61150982612023565b61157d6040518060400160405280600e81526020017f53746f72792050726f746f636f6c0000000000000000000000000000000000008152506040518060400160405280600281526020017f53500000000000000000000000000000000000000000000000000000000000008152506122bd565b8015610eb857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15050565b60606115ef82611658565b600061160660408051602081019091526000815290565b905060008151116116265760405180602001604052806000815250611651565b8061163084612344565b6040516020016116419291906133ab565b6040516020818303038152906040525b9392505050565b600081815260cb602052604090205473ffffffffffffffffffffffffffffffffffffffff16610cdc5760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610854565b600081815260cd6020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117909155819061172382611072565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000807f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810187905273ffffffffffffffffffffffffffffffffffffffff86811660248301529293509116906391d1485490604401602060405180830381865afa158015611805573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061182991906133da565b949350505050565b600061183c83612402565b801561165157506116518383612466565b60008061185983611072565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806118c7575073ffffffffffffffffffffffffffffffffffffffff808216600090815260ce602090815260408083209388168352929052205460ff165b8061182957508373ffffffffffffffffffffffffffffffffffffffff166118ed84610776565b73ffffffffffffffffffffffffffffffffffffffff1614949350505050565b8273ffffffffffffffffffffffffffffffffffffffff1661192c82611072565b73ffffffffffffffffffffffffffffffffffffffff16146119b55760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610854565b73ffffffffffffffffffffffffffffffffffffffff8216611a3d5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610854565b8273ffffffffffffffffffffffffffffffffffffffff16611a5d82611072565b73ffffffffffffffffffffffffffffffffffffffff1614611ae65760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610854565b600081815260cd6020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff87811680865260cc855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190559087168086528386208054600101905586865260cb90945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3611be48133611769565b610eb8576040517f75000dc000000000000000000000000000000000000000000000000000000000815260048101829052336024820152604401610854565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611c565761090283612535565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611cdb575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252611cd89181019061327d565b60015b611d4d5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608401610854565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114611de25760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152608401610854565b50610902838383612625565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611e695760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610854565b73ffffffffffffffffffffffffffffffffffffffff838116600081815260ce602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b611f0c84848461190c565b611f188484848461264a565b61123a5760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610854565b610eb8828260405180602001604052806000815250612823565b600054610100900460ff166120215760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610854565b565b600054610100900460ff16158080156120435750600054600160ff909116105b8061205d5750303b15801561205d575060005460ff166001145b6120cf5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610854565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561212d57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61216d73ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000611831565b6121d3576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c0000000000000000000000000000000000006044820152606401610854565b7f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811782556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a2508015610eb857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020016115d8565b600054610100900460ff1661233a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610854565b610eb882826128ac565b6060600061235183612942565b600101905060008167ffffffffffffffff81111561237157612371612f3c565b6040519080825280601f01601f19166020018201604052801561239b576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85049450846123a557509392505050565b600061242e827f01ffc9a700000000000000000000000000000000000000000000000000000000612466565b80156106de575061245f827fffffffff00000000000000000000000000000000000000000000000000000000612466565b1592915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d9150600051905082801561251e575060208210155b801561252a5750600081115b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff81163b6125bf5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401610854565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61262e83612a24565b60008251118061263b5750805b156109025761123a8383612a71565b600073ffffffffffffffffffffffffffffffffffffffff84163b15612818576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a02906126c19033908990889088906004016133f7565b6020604051808303816000875af192505050801561271a575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261271791810190613440565b60015b6127cd573d808015612748576040519150601f19603f3d011682016040523d82523d6000602084013e61274d565b606091505b5080516000036127c55760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610854565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050611829565b506001949350505050565b61282d8383612b96565b61283a600084848461264a565b6109025760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610854565b600054610100900460ff166129295760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610854565b60c961293583826134ab565b5060ca61090282826134ab565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000831061298b577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef810000000083106129b7576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106129d557662386f26fc10000830492506010015b6305f5e10083106129ed576305f5e100830492506008015b6127108310612a0157612710830492506004015b60648310612a13576064830492506002015b600a83106106de5760010192915050565b612a2d81612535565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606073ffffffffffffffffffffffffffffffffffffffff83163b612afd5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e747261637400000000000000000000000000000000000000000000000000006064820152608401610854565b6000808473ffffffffffffffffffffffffffffffffffffffff1684604051612b2591906135c5565b600060405180830381855af49150503d8060008114612b60576040519150601f19603f3d011682016040523d82523d6000602084013e612b65565b606091505b5091509150612b8d82826040518060600160405280602781526020016135e260279139612d6d565b95945050505050565b73ffffffffffffffffffffffffffffffffffffffff8216612bf95760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610854565b600081815260cb602052604090205473ffffffffffffffffffffffffffffffffffffffff1615612c6b5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610854565b600081815260cb602052604090205473ffffffffffffffffffffffffffffffffffffffff1615612cdd5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610854565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260cc602090815260408083208054600101905584835260cb90915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60608315612d7c575081611651565b6116518383815115612d915781518083602001fd5b8060405162461bcd60e51b81526004016108549190612e64565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610cdc57600080fd5b600060208284031215612deb57600080fd5b813561165181612dab565b60005b83811015612e11578181015183820152602001612df9565b50506000910152565b60008151808452612e32816020860160208601612df6565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006116516020830184612e1a565b600060208284031215612e8957600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610cdc57600080fd5b60008060408385031215612ec557600080fd5b8235612ed081612e90565b946020939093013593505050565b600060208284031215612ef057600080fd5b813561165181612e90565b600080600060608486031215612f1057600080fd5b8335612f1b81612e90565b92506020840135612f2b81612e90565b929592945050506040919091013590565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112612f7c57600080fd5b813567ffffffffffffffff80821115612f9757612f97612f3c565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715612fdd57612fdd612f3c565b81604052838152866020858801011115612ff657600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806040838503121561302957600080fd5b823561303481612e90565b9150602083013567ffffffffffffffff81111561305057600080fd5b61305c85828601612f6b565b9150509250929050565b8015158114610cdc57600080fd5b6000806040838503121561308757600080fd5b823561309281612e90565b915060208301356130a281613066565b809150509250929050565b600080600080608085870312156130c357600080fd5b84356130ce81612e90565b935060208501356130de81612e90565b925060408501359150606085013567ffffffffffffffff81111561310157600080fd5b61310d87828801612f6b565b91505092959194509250565b60008083601f84011261312b57600080fd5b50813567ffffffffffffffff81111561314357600080fd5b60208301915083602082850101111561315b57600080fd5b9250929050565b6000806000806000806060878903121561317b57600080fd5b863567ffffffffffffffff8082111561319357600080fd5b61319f8a838b01613119565b909850965060208901359150808211156131b857600080fd5b6131c48a838b01613119565b909650945060408901359150808211156131dd57600080fd5b506131ea89828a01613119565b979a9699509497509295939492505050565b6000806040838503121561320f57600080fd5b823561321a81612e90565b915060208301356130a281612e90565b600181811c9082168061323e57607f821691505b602082108103613277577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b60006020828403121561328f57600080fd5b5051919050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036132ee577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b87815260806020820152600061335860808301888a6132f5565b828103604084015261336b8187896132f5565b905082810360608401526133808185876132f5565b9a9950505050505050505050565b6000602082840312156133a057600080fd5b815161165181612e90565b600083516133bd818460208801612df6565b8351908301906133d1818360208801612df6565b01949350505050565b6000602082840312156133ec57600080fd5b815161165181613066565b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250836040830152608060608301526134366080830184612e1a565b9695505050505050565b60006020828403121561345257600080fd5b815161165181612dab565b601f82111561090257600081815260208120601f850160051c810160208610156134845750805b601f850160051c820191505b818110156134a357828155600101613490565b505050505050565b815167ffffffffffffffff8111156134c5576134c5612f3c565b6134d9816134d3845461322a565b8461345d565b602080601f83116001811461352c57600084156134f65750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b1785556134a3565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156135795788860151825594840194600190910190840161355a565b50858210156135b557878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600082516135d7818460208701612df6565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220564e69c97c84cb8f9efa85150fd61eea0ea32ca80b5f908fb63276480585e93564736f6c63430008130033000000000000000000000000461df243955ad5493cfa33434c2b7cff2c583dc7", - "nonce": "0x32", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xb9e6d5c3502253ebef0589dece380830b5845ef667d1c28e3a64e43e1b0b7f87", - "transactionType": "CALL", - "contractName": "ERC1967Proxy", - "contractAddress": "0xf157916d184598105FE4681eC93Be0f799599003", - "function": null, - "arguments": null, - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "to": "0xf157916d184598105fe4681ec93be0f799599003", - "gas": "0x10b0d", - "value": "0x0", - "data": "0x3659cfe6000000000000000000000000070e97bea1dbef56585ba5fb2cd7632a23f54bd3", - "nonce": "0x33", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "transactionHash": "0x4f97bff376c4e6f5d66fe2fcd712e40dde9a2010bcd022d8a1286e67005db722", - "transactionIndex": "0xc", - "blockHash": "0x22e0ccb8d0ef69b62d44ed46d8f559b1f6c5957be23ca8f3005976c352ec0545", - "blockNumber": "0x8fb64a", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": null, - "cumulativeGasUsed": "0x5c9390", - "gasUsed": "0x2ec0fe", - "contractAddress": "0x070E97bEA1DBEF56585bA5fB2CD7632A23F54bd3", - "logs": [ - { - "address": "0x070E97bEA1DBEF56585bA5fB2CD7632A23F54bd3", - "topics": [ - "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000000ff", - "blockHash": "0x22e0ccb8d0ef69b62d44ed46d8f559b1f6c5957be23ca8f3005976c352ec0545", - "blockNumber": "0x8fb64a", - "transactionHash": "0x4f97bff376c4e6f5d66fe2fcd712e40dde9a2010bcd022d8a1286e67005db722", - "transactionIndex": "0xc", - "logIndex": "0x42", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000008000000000000080000000000000000000000000000000000000000000000400000000000000000001000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xe2588d16" - }, - { - "transactionHash": "0xb9e6d5c3502253ebef0589dece380830b5845ef667d1c28e3a64e43e1b0b7f87", - "transactionIndex": "0xd", - "blockHash": "0x22e0ccb8d0ef69b62d44ed46d8f559b1f6c5957be23ca8f3005976c352ec0545", - "blockNumber": "0x8fb64a", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": "0xf157916d184598105FE4681eC93Be0f799599003", - "cumulativeGasUsed": "0x5d54e8", - "gasUsed": "0xc158", - "contractAddress": null, - "logs": [ - { - "address": "0xf157916d184598105FE4681eC93Be0f799599003", - "topics": [ - "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", - "0x000000000000000000000000070e97bea1dbef56585ba5fb2cd7632a23f54bd3" - ], - "data": "0x", - "blockHash": "0x22e0ccb8d0ef69b62d44ed46d8f559b1f6c5957be23ca8f3005976c352ec0545", - "blockNumber": "0x8fb64a", - "transactionHash": "0xb9e6d5c3502253ebef0589dece380830b5845ef667d1c28e3a64e43e1b0b7f87", - "transactionIndex": "0xd", - "logIndex": "0x43", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000008002000000000000000000000000000000000000000000000000000000000000000000000000000800000008000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002", - "type": "0x2", - "effectiveGasPrice": "0xe2588d16" - } - ], - "libraries": [], - "pending": [], - "path": "/Users/drmanhattan/Workspace/StoryProtocol/protocol-contracts/broadcast/DevUpgrades.s.sol/5/run-latest.json", - "returns": {}, - "timestamp": 1690480185, - "chain": 5, - "multi": false, - "commit": "0fcb14f" -} \ No newline at end of file diff --git a/broadcast/DevUpgrades.s.sol/5/run-1690585349.json b/broadcast/DevUpgrades.s.sol/5/run-1690585349.json deleted file mode 100644 index 0daf60c3..00000000 --- a/broadcast/DevUpgrades.s.sol/5/run-1690585349.json +++ /dev/null @@ -1,84 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x1095f6582c91eef02289915364701cb033d4e8413907db895fa99b35213cccb8", - "transactionType": "CREATE", - "contractName": "CommonIPAssetEventEmitter", - "contractAddress": "0xe2a7213762caDDb7438f21f82cEfbB4931167463", - "function": null, - "arguments": [ - "0xf157916d184598105FE4681eC93Be0f799599003" - ], - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x580af", - "value": "0x0", - "data": "0x60a060405234801561001057600080fd5b506040516104c43803806104c483398101604081905261002f91610067565b6001600160a01b0381166100565760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0316608052610097565b60006020828403121561007957600080fd5b81516001600160a01b038116811461009057600080fd5b9392505050565b60805161040d6100b7600039600081816040015260e6015261040d6000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806394f99b401461003b578063fcd215051461008b575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61009e61009936600461024e565b6100a0565b005b6040517f2c5cefa300000000000000000000000000000000000000000000000000000000815260048101839052339073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690632c5cefa390602401602060405180830381865afa15801561012d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101519190610270565b73ffffffffffffffffffffffffffffffffffffffff161461019e576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b33827f9081eaced0c09521965c689337c0d5ed61a0baeb8b9f0fda7a4cd4f59a251515836101cb816101e5565b6040516101d99291906102dc565b60405180910390a35050565b60006101f664e8d4a5100083610356565b1580610210575061020d600664e8d4a51000610399565b82115b1561021d57506000919050565b61022c64e8d4a51000836103b0565b6102379060016103c4565b6006811115610248576102486102ad565b92915050565b6000806040838503121561026157600080fd5b50508035926020909101359150565b60006020828403121561028257600080fd5b815173ffffffffffffffffffffffffffffffffffffffff811681146102a657600080fd5b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b828152604081016007831061031a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b8260208301529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60008261036557610365610327565b500690565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820281158282048414176102485761024861036a565b6000826103bf576103bf610327565b500490565b808201808211156102485761024861036a56fea26469706673582212206f703255ee0cc4080a3f03505b9dce1a8db9f770c1f07ae59666c473212e6cbe64736f6c63430008130033000000000000000000000000f157916d184598105fe4681ec93be0f799599003", - "nonce": "0x3d", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x651d4d853c0fff3e1ce99068158506ff894b271fdfcea79cfce2df8b23ff56cc", - "transactionType": "CREATE", - "contractName": "IPAssetRegistry", - "contractAddress": "0xC60382Ea8cBea33ad9052E2FBC12d2F019C8947D", - "function": null, - "arguments": [ - "0xe2a7213762caDDb7438f21f82cEfbB4931167463" - ], - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x3dbc92", - "value": "0x0", - "data": "0x60a06040523480156200001157600080fd5b50604051620038a1380380620038a183398101604081905262000034916200013c565b6001600160a01b0381166200005c5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b038116608052620000736200007a565b506200016e565b600054610100900460ff1615620000e75760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811610156200013a576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6000602082840312156200014f57600080fd5b81516001600160a01b03811681146200016757600080fd5b9392505050565b608051613710620001916000396000818161034301526115c101526137106000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c8063721918e5116100f9578063b88d4fde11610097578063e117b1d511610071578063e117b1d51461041b578063e985e9c51461042e578063eb1f6b5a14610477578063f46aa1891461049757600080fd5b8063b88d4fde146103ce578063b9d0787c146103e1578063c87b56dd1461040857600080fd5b80639dc6693c116100d35780639dc6693c14610375578063a22cb46514610388578063a8185a2e1461039b578063ac9650d8146103ae57600080fd5b8063721918e51461033e5780637284e4161461036557806395d89b411461036d57600080fd5b806342842e0e1161016657806354fd4d501161014057806354fd4d50146102cc5780636352211e1461030557806369cf2c371461031857806370a082311461032b57600080fd5b806342842e0e1461029e57806346193ccd146102b15780634ff0a2b2146102c457600080fd5b8063095ea7b3116101a2578063095ea7b31461023e5780630f7966c01461025357806323b872dd146102695780633c7fc59d1461027c57600080fd5b806301ffc9a7146101c957806306fdde03146101f1578063081812fc14610206575b600080fd5b6101dc6101d7366004612912565b6104aa565b60405190151581526020015b60405180910390f35b6101f9610506565b6040516101e8919061299d565b6102196102143660046129b0565b610598565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101e8565b61025161024c3660046129f2565b6105cc565b005b61025b601481565b6040519081526020016101e8565b610251610277366004612a1c565b610729565b61028f61028a3660046129b0565b6107b0565b6040516101e893929190612b1f565b6102516102ac366004612a1c565b610818565b6102516102bf366004612bca565b610833565b610251610ad2565b60408051808201909152600581527f302e312e3000000000000000000000000000000000000000000000000000000060208201526101f9565b6102196103133660046129b0565b610c42565b61025b610326366004612c7d565b610cb4565b61025b610339366004612c98565b610d2e565b6102197f000000000000000000000000000000000000000000000000000000000000000081565b6101f9610de2565b6101f9610eb7565b610251610383366004612cf8565b610ec6565b610251610396366004612d44565b61103f565b61025b6103a9366004612d80565b61104e565b6103c16103bc366004612e5a565b6110f0565b6040516101e89190612e9c565b6102516103dc366004612f4b565b6111e5565b7f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e37a5461025b565b6101f96104163660046129b0565b611273565b61025b610429366004613045565b611288565b6101dc61043c366004613086565b73ffffffffffffffffffffffffffffffffffffffff9182166000908152606a6020908152604080832093909416825291909152205460ff1690565b61048a6104853660046129b0565b6112fe565b6040516101e891906130b9565b61025b6104a5366004613045565b611531565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb9d0787c000000000000000000000000000000000000000000000000000000001480610500575061050082611640565b92915050565b606060658054610515906130cc565b80601f0160208091040260200160405190810160405280929190818152602001828054610541906130cc565b801561058e5780601f106105635761010080835404028352916020019161058e565b820191906000526020600020905b81548152906001019060200180831161057157829003601f168201915b5050505050905090565b60006105a382611723565b5060009081526069602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60006105d782610c42565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361067f5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff821614806106a857506106a8813361043c565b61071a5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610676565b6107248383611794565b505050565b6107333382611834565b6107a55760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610676565b6107248383836118f3565b6107b86128ac565b600060606107c5846112fe565b925060007f472b429d656ecfb82e6e0cff4b4090577a009a43252b08434ed2201373a9647d6000868152602082905260409020805460ff16945090915061080e60018201611ba0565b9496939550505050565b610724838383604051806020016040528060008152506111e5565b600054610100900460ff16158080156108535750600054600160ff909116105b8061086d5750303b15801561086d575060005460ff166001145b6108df5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610676565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561093d57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6109b087878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8b018190048102820181019092528981529250899150889081908401838280828437600092019190915250611bad92505050565b6109b8611c34565b876000036109f2576040517f1f2a200500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e37a8890557f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e3787f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e379610a6384868361316d565b50508015610ac857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050505050565b600054610100900460ff1615808015610af25750600054600160ff909116105b80610b0c5750303b158015610b0c575060005460ff166001145b610b7e5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610676565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610bdc57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b8015610c3f57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50565b60008181526067602052604081205473ffffffffffffffffffffffffffffffffffffffff16806105005760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610676565b60007f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e378818181856006811115610cec57610cec612a58565b6006811115610cfd57610cfd612a58565b815260200190815260200160002054905080600003610d2757610d1f84611cb3565b949350505050565b9392505050565b600073ffffffffffffffffffffffffffffffffffffffff8216610db95760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e657200000000000000000000000000000000000000000000006064820152608401610676565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526068602052604090205490565b7f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e37980546060917f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e37891610e33906130cc565b80601f0160208091040260200160405190810160405280929190818152602001828054610e5f906130cc565b8015610eac5780601f10610e8157610100808354040283529160200191610eac565b820191906000526020600020905b815481529060010190602001808311610e8f57829003601f168201915b505050505091505090565b606060668054610515906130cc565b806014811115610f02576040517f77d10abd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481527f472b429d656ecfb82e6e0cff4b4090577a009a43252b08434ed2201373a9647d60208190526040822054909160ff909116905b84811015610ffa57816006811115610f5557610f55612a58565b610f76878784818110610f6a57610f6a613288565b90506020020135611d2e565b6006811115610f8757610f87612a58565b14610fbe576040517f50c3390e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610ff1868683818110610fd357610fd3613288565b60008b81526020888152604090912060010193910201359050611d91565b50600101610f3b565b50857f823d677ed42b321275c6b3aa7040f32e41d12aea91120455a19a60ae310b0af382878760405161102f939291906132b7565b60405180910390a2505050505050565b61104a338383611d9d565b5050565b60008061106160048c8c8c8c8c8c611531565b905060007f472b429d656ecfb82e6e0cff4b4090577a009a43252b08434ed2201373a9647d6000838152602082905260409020805491925087917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660018360068111156110d1576110d1612a58565b02179055506110e1828686610ec6565b509a9950505050505050505050565b60608167ffffffffffffffff81111561110b5761110b612f1c565b60405190808252806020026020018201604052801561113e57816020015b60608152602001906001900390816111295790505b50905060005b828110156111de576111ae3085858481811061116257611162613288565b90506020028101906111749190613317565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611eb092505050565b8282815181106111c0576111c0613288565b602002602001018190525080806111d6906133ab565b915050611144565b5092915050565b6111ef3383611834565b6112615760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610676565b61126d84848484611fd5565b50505050565b606061127e826112fe565b6040015192915050565b60008088600681111561129d5761129d612a58565b036112d4576040517ffa19fa0700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006112e0338a61205e565b90506112f181898989898989612124565b5098975050505050505050565b6113066128ac565b60008281527f9d56f7e7ee381479643316c052563e5824551ecde3f8bff0aa320131666f68796020819052604091829020825160808101909352805491929182908290611352906130cc565b80601f016020809104026020016040519081016040528092919081815260200182805461137e906130cc565b80156113cb5780601f106113a0576101008083540402835291602001916113cb565b820191906000526020600020905b8154815290600101906020018083116113ae57829003601f168201915b505050505081526020016001820180546113e4906130cc565b80601f0160208091040260200160405190810160405280929190818152602001828054611410906130cc565b801561145d5780601f106114325761010080835404028352916020019161145d565b820191906000526020600020905b81548152906001019060200180831161144057829003601f168201915b50505050508152602001600282018054611476906130cc565b80601f01602080910402602001604051908101604052809291908181526020018280546114a2906130cc565b80156114ef5780601f106114c4576101008083540402835291602001916114ef565b820191906000526020600020905b8154815290600101906020018083116114d257829003601f168201915b5050509183525050600382015460209091019060ff16600681111561151657611516612a58565b600681111561152757611527612a58565b9052509392505050565b60008061154389898989898989611288565b7f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e37a546040517ffcd215050000000000000000000000000000000000000000000000000000000081526004810191909152602481018290529091507f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e378907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063fcd2150590604401600060405180830381600087803b15801561161a57600080fd5b505af115801561162e573d6000803e3d6000fd5b50939c9b505050505050505050505050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd0000000000000000000000000000000000000000000000000000000014806116d357507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b8061050057507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff00000000000000000000000000000000000000000000000000000000831614610500565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff16610c3f5760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610676565b600081815260696020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811790915581906117ee82610c42565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008061184083610c42565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806118ae575073ffffffffffffffffffffffffffffffffffffffff8082166000908152606a602090815260408083209388168352929052205460ff165b80610d1f57508373ffffffffffffffffffffffffffffffffffffffff166118d484610598565b73ffffffffffffffffffffffffffffffffffffffff1614949350505050565b8273ffffffffffffffffffffffffffffffffffffffff1661191382610c42565b73ffffffffffffffffffffffffffffffffffffffff161461199c5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610676565b73ffffffffffffffffffffffffffffffffffffffff8216611a245760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610676565b8273ffffffffffffffffffffffffffffffffffffffff16611a4482610c42565b73ffffffffffffffffffffffffffffffffffffffff1614611acd5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610676565b600081815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff8781168086526068855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905590871680865283862080546001019055868652606790945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b60606000610d278361225a565b600054610100900460ff16611c2a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610676565b61104a82826122b6565b600054610100900460ff16611cb15760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610676565b565b600080826006811115611cc857611cc8612a58565b03611d0157816040517f877df4f200000000000000000000000000000000000000000000000000000000815260040161067691906133e3565b6001826006811115611d1557611d15612a58565b611d1f91906133f1565b6105009064e8d4a51000613404565b6000611d3f64e8d4a510008361344a565b1580611d595750611d56600664e8d4a51000613404565b82115b15611d6657506000919050565b611d7564e8d4a510008361345e565b611d80906001613472565b600681111561050057610500612a58565b6000610d27838361234c565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611e185760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610676565b73ffffffffffffffffffffffffffffffffffffffff8381166000818152606a602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b606073ffffffffffffffffffffffffffffffffffffffff83163b611f3c5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e747261637400000000000000000000000000000000000000000000000000006064820152608401610676565b6000808473ffffffffffffffffffffffffffffffffffffffff1684604051611f649190613485565b600060405180830381855af49150503d8060008114611f9f576040519150601f19603f3d011682016040523d82523d6000602084013e611fa4565b606091505b5091509150611fcc82826040518060600160405280602781526020016136b46027913961239b565b95945050505050565b611fe08484846118f3565b611fec848484846123b4565b61126d5760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610676565b60008061206a83610cb4565b612075906001613472565b90506120808361258d565b8111156120b9576040517fd5fdab4f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e378818160008660068111156120f0576120f0612a58565b600681111561210157612101612a58565b815260208101919091526040016000205561211c8583612608565b509392505050565b60008781527f9d56f7e7ee381479643316c052563e5824551ecde3f8bff0aa320131666f68796020819052604082206003810154839060ff16600681111561216e5761216e612a58565b036121be5761217c8a611d2e565b6003820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660018360068111156121b8576121b8612a58565b02179055505b806121ca898b8361316d565b50600181016121da87898361316d565b50600281016121ea85878361316d565b50600381015460ff16600681111561220457612204612a58565b8a7fa82032c25afb0149419a68bef0de224f05ddf61f663c81661d7f86f32f0381f88b8b8b8b8b8b60405161223e969594939291906134ea565b60405180910390a36003015460ff169998505050505050505050565b6060816000018054806020026020016040519081016040528092919081815260200182805480156122aa57602002820191906000526020600020905b815481526020019060010190808311612296575b50505050509050919050565b600054610100900460ff166123335760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610676565b606561233f8382613533565b5060666107248282613533565b600081815260018301602052604081205461239357508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610500565b506000610500565b606083156123aa575081610d27565b610d278383612622565b600073ffffffffffffffffffffffffffffffffffffffff84163b15612582576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a029061242b90339089908890889060040161364d565b6020604051808303816000875af1925050508015612484575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261248191810190613696565b60015b612537573d8080156124b2576040519150601f19603f3d011682016040523d82523d6000602084013e6124b7565b606091505b50805160000361252f5760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610676565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050610d1f565b506001949350505050565b6000808260068111156125a2576125a2612a58565b036125db57816040517f877df4f200000000000000000000000000000000000000000000000000000000815260040161067691906133e3565b60018260068111156125ef576125ef612a58565b6125fe9064e8d4a51000613404565b61050091906133f1565b61104a82826040518060200160405280600081525061264c565b8151156126325781518083602001fd5b8060405162461bcd60e51b8152600401610676919061299d565b61265683836126d5565b61266360008484846123b4565b6107245760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610676565b73ffffffffffffffffffffffffffffffffffffffff82166127385760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610676565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff16156127aa5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610676565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff161561281c5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610676565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260686020908152604080832080546001019055848352606790915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6040518060800160405280606081526020016060815260200160608152602001600060068111156128df576128df612a58565b905290565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610c3f57600080fd5b60006020828403121561292457600080fd5b8135610d27816128e4565b60005b8381101561294a578181015183820152602001612932565b50506000910152565b6000815180845261296b81602086016020860161292f565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610d276020830184612953565b6000602082840312156129c257600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff811681146129ed57600080fd5b919050565b60008060408385031215612a0557600080fd5b612a0e836129c9565b946020939093013593505050565b600080600060608486031215612a3157600080fd5b612a3a846129c9565b9250612a48602085016129c9565b9150604084013590509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60078110612abe577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b6000815160808452612ad76080850182612953565b905060208301518482036020860152612af08282612953565b91505060408301518482036040860152612b0a8282612953565b915050606083015161211c6060860182612a87565b606081526000612b326060830186612ac2565b6020612b4081850187612a87565b838203604085015284518083528186019282019060005b81811015612b7357845183529383019391830191600101612b57565b509098975050505050505050565b60008083601f840112612b9357600080fd5b50813567ffffffffffffffff811115612bab57600080fd5b602083019150836020828501011115612bc357600080fd5b9250929050565b60008060008060008060006080888a031215612be557600080fd5b87359650602088013567ffffffffffffffff80821115612c0457600080fd5b612c108b838c01612b81565b909850965060408a0135915080821115612c2957600080fd5b612c358b838c01612b81565b909650945060608a0135915080821115612c4e57600080fd5b50612c5b8a828b01612b81565b989b979a50959850939692959293505050565b8035600781106129ed57600080fd5b600060208284031215612c8f57600080fd5b610d2782612c6e565b600060208284031215612caa57600080fd5b610d27826129c9565b60008083601f840112612cc557600080fd5b50813567ffffffffffffffff811115612cdd57600080fd5b6020830191508360208260051b8501011115612bc357600080fd5b600080600060408486031215612d0d57600080fd5b83359250602084013567ffffffffffffffff811115612d2b57600080fd5b612d3786828701612cb3565b9497909650939450505050565b60008060408385031215612d5757600080fd5b612d60836129c9565b915060208301358015158114612d7557600080fd5b809150509250929050565b600080600080600080600080600060a08a8c031215612d9e57600080fd5b893567ffffffffffffffff80821115612db657600080fd5b612dc28d838e01612b81565b909b50995060208c0135915080821115612ddb57600080fd5b612de78d838e01612b81565b909950975060408c0135915080821115612e0057600080fd5b612e0c8d838e01612b81565b9097509550859150612e2060608d01612c6e565b945060808c0135915080821115612e3657600080fd5b50612e438c828d01612cb3565b915080935050809150509295985092959850929598565b60008060208385031215612e6d57600080fd5b823567ffffffffffffffff811115612e8457600080fd5b612e9085828601612cb3565b90969095509350505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015612f0f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452612efd858351612953565b94509285019290850190600101612ec3565b5092979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060008060808587031215612f6157600080fd5b612f6a856129c9565b9350612f78602086016129c9565b925060408501359150606085013567ffffffffffffffff80821115612f9c57600080fd5b818701915087601f830112612fb057600080fd5b813581811115612fc257612fc2612f1c565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561300857613008612f1c565b816040528281528a602084870101111561302157600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b60008060008060008060006080888a03121561306057600080fd5b61306988612c6e565b9650602088013567ffffffffffffffff80821115612c0457600080fd5b6000806040838503121561309957600080fd5b6130a2836129c9565b91506130b0602084016129c9565b90509250929050565b602081526000610d276020830184612ac2565b600181811c908216806130e057607f821691505b602082108103613119577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f82111561072457600081815260208120601f850160051c810160208610156131465750805b601f850160051c820191505b8181101561316557828155600101613152565b505050505050565b67ffffffffffffffff83111561318557613185612f1c565b6131998361319383546130cc565b8361311f565b6000601f8411600181146131eb57600085156131b55750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355613281565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b8281101561323a578685013582556020948501946001909201910161321a565b5086821015613275577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6132c18185612a87565b6040602082015281604082015260007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8311156132fd57600080fd5b8260051b8085606085013791909101606001949350505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261334c57600080fd5b83018035915067ffffffffffffffff82111561336757600080fd5b602001915036819003821315612bc357600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036133dc576133dc61337c565b5060010190565b602081016105008284612a87565b818103818111156105005761050061337c565b80820281158282048414176105005761050061337c565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000826134595761345961341b565b500690565b60008261346d5761346d61341b565b500490565b808201808211156105005761050061337c565b6000825161349781846020870161292f565b9190910192915050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6060815260006134fe60608301888a6134a1565b82810360208401526135118187896134a1565b905082810360408401526135268185876134a1565b9998505050505050505050565b815167ffffffffffffffff81111561354d5761354d612f1c565b6135618161355b84546130cc565b8461311f565b602080601f8311600181146135b4576000841561357e5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555613165565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015613601578886015182559484019460019091019084016135e2565b508582101561363d57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600073ffffffffffffffffffffffffffffffffffffffff80871683528086166020840152508360408301526080606083015261368c6080830184612953565b9695505050505050565b6000602082840312156136a857600080fd5b8151610d27816128e456fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122001a98ea6ac245554b8c528b6eaecf08779f26c203b3944294c6b65c9193614f764736f6c63430008130033000000000000000000000000e2a7213762caddb7438f21f82cefbb4931167463", - "nonce": "0x3e", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xc04193bb8a194d37dfb957b7a4557b76ec40f2941c670a7c03bab3d211935ecd", - "transactionType": "CALL", - "contractName": "IPAssetRegistryFactory", - "contractAddress": "0x461DF243955aD5493cFa33434c2B7CfF2C583dc7", - "function": "upgradeFranchises(address)", - "arguments": [ - "0xC60382Ea8cBea33ad9052E2FBC12d2F019C8947D" - ], - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "to": "0x461df243955ad5493cfa33434c2b7cff2c583dc7", - "gas": "0xfe70", - "value": "0x0", - "data": "0x3991fc9d000000000000000000000000c60382ea8cbea33ad9052e2fbc12d2f019c8947d", - "nonce": "0x3f", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [], - "libraries": [], - "pending": [ - "0x1095f6582c91eef02289915364701cb033d4e8413907db895fa99b35213cccb8", - "0x651d4d853c0fff3e1ce99068158506ff894b271fdfcea79cfce2df8b23ff56cc", - "0xc04193bb8a194d37dfb957b7a4557b76ec40f2941c670a7c03bab3d211935ecd" - ], - "path": "/Users/drmanhattan/Workspace/StoryProtocol/protocol-contracts/broadcast/DevUpgrades.s.sol/5/run-latest.json", - "returns": {}, - "timestamp": 1690585349, - "chain": 5, - "multi": false, - "commit": "87cd967" -} \ No newline at end of file diff --git a/broadcast/DevUpgrades.s.sol/5/run-1690585374.json b/broadcast/DevUpgrades.s.sol/5/run-1690585374.json deleted file mode 100644 index b8903bde..00000000 --- a/broadcast/DevUpgrades.s.sol/5/run-1690585374.json +++ /dev/null @@ -1,172 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x1095f6582c91eef02289915364701cb033d4e8413907db895fa99b35213cccb8", - "transactionType": "CREATE", - "contractName": "CommonIPAssetEventEmitter", - "contractAddress": "0xe2a7213762caDDb7438f21f82cEfbB4931167463", - "function": null, - "arguments": [ - "0xf157916d184598105FE4681eC93Be0f799599003" - ], - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x580af", - "value": "0x0", - "data": "0x60a060405234801561001057600080fd5b506040516104c43803806104c483398101604081905261002f91610067565b6001600160a01b0381166100565760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0316608052610097565b60006020828403121561007957600080fd5b81516001600160a01b038116811461009057600080fd5b9392505050565b60805161040d6100b7600039600081816040015260e6015261040d6000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806394f99b401461003b578063fcd215051461008b575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61009e61009936600461024e565b6100a0565b005b6040517f2c5cefa300000000000000000000000000000000000000000000000000000000815260048101839052339073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690632c5cefa390602401602060405180830381865afa15801561012d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101519190610270565b73ffffffffffffffffffffffffffffffffffffffff161461019e576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b33827f9081eaced0c09521965c689337c0d5ed61a0baeb8b9f0fda7a4cd4f59a251515836101cb816101e5565b6040516101d99291906102dc565b60405180910390a35050565b60006101f664e8d4a5100083610356565b1580610210575061020d600664e8d4a51000610399565b82115b1561021d57506000919050565b61022c64e8d4a51000836103b0565b6102379060016103c4565b6006811115610248576102486102ad565b92915050565b6000806040838503121561026157600080fd5b50508035926020909101359150565b60006020828403121561028257600080fd5b815173ffffffffffffffffffffffffffffffffffffffff811681146102a657600080fd5b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b828152604081016007831061031a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b8260208301529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60008261036557610365610327565b500690565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820281158282048414176102485761024861036a565b6000826103bf576103bf610327565b500490565b808201808211156102485761024861036a56fea26469706673582212206f703255ee0cc4080a3f03505b9dce1a8db9f770c1f07ae59666c473212e6cbe64736f6c63430008130033000000000000000000000000f157916d184598105fe4681ec93be0f799599003", - "nonce": "0x3d", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x651d4d853c0fff3e1ce99068158506ff894b271fdfcea79cfce2df8b23ff56cc", - "transactionType": "CREATE", - "contractName": "IPAssetRegistry", - "contractAddress": "0xC60382Ea8cBea33ad9052E2FBC12d2F019C8947D", - "function": null, - "arguments": [ - "0xe2a7213762caDDb7438f21f82cEfbB4931167463" - ], - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x3dbc92", - "value": "0x0", - "data": "0x60a06040523480156200001157600080fd5b50604051620038a1380380620038a183398101604081905262000034916200013c565b6001600160a01b0381166200005c5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b038116608052620000736200007a565b506200016e565b600054610100900460ff1615620000e75760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811610156200013a576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6000602082840312156200014f57600080fd5b81516001600160a01b03811681146200016757600080fd5b9392505050565b608051613710620001916000396000818161034301526115c101526137106000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c8063721918e5116100f9578063b88d4fde11610097578063e117b1d511610071578063e117b1d51461041b578063e985e9c51461042e578063eb1f6b5a14610477578063f46aa1891461049757600080fd5b8063b88d4fde146103ce578063b9d0787c146103e1578063c87b56dd1461040857600080fd5b80639dc6693c116100d35780639dc6693c14610375578063a22cb46514610388578063a8185a2e1461039b578063ac9650d8146103ae57600080fd5b8063721918e51461033e5780637284e4161461036557806395d89b411461036d57600080fd5b806342842e0e1161016657806354fd4d501161014057806354fd4d50146102cc5780636352211e1461030557806369cf2c371461031857806370a082311461032b57600080fd5b806342842e0e1461029e57806346193ccd146102b15780634ff0a2b2146102c457600080fd5b8063095ea7b3116101a2578063095ea7b31461023e5780630f7966c01461025357806323b872dd146102695780633c7fc59d1461027c57600080fd5b806301ffc9a7146101c957806306fdde03146101f1578063081812fc14610206575b600080fd5b6101dc6101d7366004612912565b6104aa565b60405190151581526020015b60405180910390f35b6101f9610506565b6040516101e8919061299d565b6102196102143660046129b0565b610598565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101e8565b61025161024c3660046129f2565b6105cc565b005b61025b601481565b6040519081526020016101e8565b610251610277366004612a1c565b610729565b61028f61028a3660046129b0565b6107b0565b6040516101e893929190612b1f565b6102516102ac366004612a1c565b610818565b6102516102bf366004612bca565b610833565b610251610ad2565b60408051808201909152600581527f302e312e3000000000000000000000000000000000000000000000000000000060208201526101f9565b6102196103133660046129b0565b610c42565b61025b610326366004612c7d565b610cb4565b61025b610339366004612c98565b610d2e565b6102197f000000000000000000000000000000000000000000000000000000000000000081565b6101f9610de2565b6101f9610eb7565b610251610383366004612cf8565b610ec6565b610251610396366004612d44565b61103f565b61025b6103a9366004612d80565b61104e565b6103c16103bc366004612e5a565b6110f0565b6040516101e89190612e9c565b6102516103dc366004612f4b565b6111e5565b7f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e37a5461025b565b6101f96104163660046129b0565b611273565b61025b610429366004613045565b611288565b6101dc61043c366004613086565b73ffffffffffffffffffffffffffffffffffffffff9182166000908152606a6020908152604080832093909416825291909152205460ff1690565b61048a6104853660046129b0565b6112fe565b6040516101e891906130b9565b61025b6104a5366004613045565b611531565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb9d0787c000000000000000000000000000000000000000000000000000000001480610500575061050082611640565b92915050565b606060658054610515906130cc565b80601f0160208091040260200160405190810160405280929190818152602001828054610541906130cc565b801561058e5780601f106105635761010080835404028352916020019161058e565b820191906000526020600020905b81548152906001019060200180831161057157829003601f168201915b5050505050905090565b60006105a382611723565b5060009081526069602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60006105d782610c42565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361067f5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff821614806106a857506106a8813361043c565b61071a5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610676565b6107248383611794565b505050565b6107333382611834565b6107a55760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610676565b6107248383836118f3565b6107b86128ac565b600060606107c5846112fe565b925060007f472b429d656ecfb82e6e0cff4b4090577a009a43252b08434ed2201373a9647d6000868152602082905260409020805460ff16945090915061080e60018201611ba0565b9496939550505050565b610724838383604051806020016040528060008152506111e5565b600054610100900460ff16158080156108535750600054600160ff909116105b8061086d5750303b15801561086d575060005460ff166001145b6108df5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610676565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561093d57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6109b087878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8b018190048102820181019092528981529250899150889081908401838280828437600092019190915250611bad92505050565b6109b8611c34565b876000036109f2576040517f1f2a200500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e37a8890557f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e3787f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e379610a6384868361316d565b50508015610ac857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050505050565b600054610100900460ff1615808015610af25750600054600160ff909116105b80610b0c5750303b158015610b0c575060005460ff166001145b610b7e5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610676565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610bdc57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b8015610c3f57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50565b60008181526067602052604081205473ffffffffffffffffffffffffffffffffffffffff16806105005760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610676565b60007f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e378818181856006811115610cec57610cec612a58565b6006811115610cfd57610cfd612a58565b815260200190815260200160002054905080600003610d2757610d1f84611cb3565b949350505050565b9392505050565b600073ffffffffffffffffffffffffffffffffffffffff8216610db95760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e657200000000000000000000000000000000000000000000006064820152608401610676565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526068602052604090205490565b7f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e37980546060917f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e37891610e33906130cc565b80601f0160208091040260200160405190810160405280929190818152602001828054610e5f906130cc565b8015610eac5780601f10610e8157610100808354040283529160200191610eac565b820191906000526020600020905b815481529060010190602001808311610e8f57829003601f168201915b505050505091505090565b606060668054610515906130cc565b806014811115610f02576040517f77d10abd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481527f472b429d656ecfb82e6e0cff4b4090577a009a43252b08434ed2201373a9647d60208190526040822054909160ff909116905b84811015610ffa57816006811115610f5557610f55612a58565b610f76878784818110610f6a57610f6a613288565b90506020020135611d2e565b6006811115610f8757610f87612a58565b14610fbe576040517f50c3390e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610ff1868683818110610fd357610fd3613288565b60008b81526020888152604090912060010193910201359050611d91565b50600101610f3b565b50857f823d677ed42b321275c6b3aa7040f32e41d12aea91120455a19a60ae310b0af382878760405161102f939291906132b7565b60405180910390a2505050505050565b61104a338383611d9d565b5050565b60008061106160048c8c8c8c8c8c611531565b905060007f472b429d656ecfb82e6e0cff4b4090577a009a43252b08434ed2201373a9647d6000838152602082905260409020805491925087917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660018360068111156110d1576110d1612a58565b02179055506110e1828686610ec6565b509a9950505050505050505050565b60608167ffffffffffffffff81111561110b5761110b612f1c565b60405190808252806020026020018201604052801561113e57816020015b60608152602001906001900390816111295790505b50905060005b828110156111de576111ae3085858481811061116257611162613288565b90506020028101906111749190613317565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611eb092505050565b8282815181106111c0576111c0613288565b602002602001018190525080806111d6906133ab565b915050611144565b5092915050565b6111ef3383611834565b6112615760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610676565b61126d84848484611fd5565b50505050565b606061127e826112fe565b6040015192915050565b60008088600681111561129d5761129d612a58565b036112d4576040517ffa19fa0700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006112e0338a61205e565b90506112f181898989898989612124565b5098975050505050505050565b6113066128ac565b60008281527f9d56f7e7ee381479643316c052563e5824551ecde3f8bff0aa320131666f68796020819052604091829020825160808101909352805491929182908290611352906130cc565b80601f016020809104026020016040519081016040528092919081815260200182805461137e906130cc565b80156113cb5780601f106113a0576101008083540402835291602001916113cb565b820191906000526020600020905b8154815290600101906020018083116113ae57829003601f168201915b505050505081526020016001820180546113e4906130cc565b80601f0160208091040260200160405190810160405280929190818152602001828054611410906130cc565b801561145d5780601f106114325761010080835404028352916020019161145d565b820191906000526020600020905b81548152906001019060200180831161144057829003601f168201915b50505050508152602001600282018054611476906130cc565b80601f01602080910402602001604051908101604052809291908181526020018280546114a2906130cc565b80156114ef5780601f106114c4576101008083540402835291602001916114ef565b820191906000526020600020905b8154815290600101906020018083116114d257829003601f168201915b5050509183525050600382015460209091019060ff16600681111561151657611516612a58565b600681111561152757611527612a58565b9052509392505050565b60008061154389898989898989611288565b7f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e37a546040517ffcd215050000000000000000000000000000000000000000000000000000000081526004810191909152602481018290529091507f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e378907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063fcd2150590604401600060405180830381600087803b15801561161a57600080fd5b505af115801561162e573d6000803e3d6000fd5b50939c9b505050505050505050505050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd0000000000000000000000000000000000000000000000000000000014806116d357507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b8061050057507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff00000000000000000000000000000000000000000000000000000000831614610500565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff16610c3f5760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610676565b600081815260696020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811790915581906117ee82610c42565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008061184083610c42565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806118ae575073ffffffffffffffffffffffffffffffffffffffff8082166000908152606a602090815260408083209388168352929052205460ff165b80610d1f57508373ffffffffffffffffffffffffffffffffffffffff166118d484610598565b73ffffffffffffffffffffffffffffffffffffffff1614949350505050565b8273ffffffffffffffffffffffffffffffffffffffff1661191382610c42565b73ffffffffffffffffffffffffffffffffffffffff161461199c5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610676565b73ffffffffffffffffffffffffffffffffffffffff8216611a245760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610676565b8273ffffffffffffffffffffffffffffffffffffffff16611a4482610c42565b73ffffffffffffffffffffffffffffffffffffffff1614611acd5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610676565b600081815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff8781168086526068855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905590871680865283862080546001019055868652606790945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b60606000610d278361225a565b600054610100900460ff16611c2a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610676565b61104a82826122b6565b600054610100900460ff16611cb15760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610676565b565b600080826006811115611cc857611cc8612a58565b03611d0157816040517f877df4f200000000000000000000000000000000000000000000000000000000815260040161067691906133e3565b6001826006811115611d1557611d15612a58565b611d1f91906133f1565b6105009064e8d4a51000613404565b6000611d3f64e8d4a510008361344a565b1580611d595750611d56600664e8d4a51000613404565b82115b15611d6657506000919050565b611d7564e8d4a510008361345e565b611d80906001613472565b600681111561050057610500612a58565b6000610d27838361234c565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611e185760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610676565b73ffffffffffffffffffffffffffffffffffffffff8381166000818152606a602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b606073ffffffffffffffffffffffffffffffffffffffff83163b611f3c5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e747261637400000000000000000000000000000000000000000000000000006064820152608401610676565b6000808473ffffffffffffffffffffffffffffffffffffffff1684604051611f649190613485565b600060405180830381855af49150503d8060008114611f9f576040519150601f19603f3d011682016040523d82523d6000602084013e611fa4565b606091505b5091509150611fcc82826040518060600160405280602781526020016136b46027913961239b565b95945050505050565b611fe08484846118f3565b611fec848484846123b4565b61126d5760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610676565b60008061206a83610cb4565b612075906001613472565b90506120808361258d565b8111156120b9576040517fd5fdab4f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e378818160008660068111156120f0576120f0612a58565b600681111561210157612101612a58565b815260208101919091526040016000205561211c8583612608565b509392505050565b60008781527f9d56f7e7ee381479643316c052563e5824551ecde3f8bff0aa320131666f68796020819052604082206003810154839060ff16600681111561216e5761216e612a58565b036121be5761217c8a611d2e565b6003820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660018360068111156121b8576121b8612a58565b02179055505b806121ca898b8361316d565b50600181016121da87898361316d565b50600281016121ea85878361316d565b50600381015460ff16600681111561220457612204612a58565b8a7fa82032c25afb0149419a68bef0de224f05ddf61f663c81661d7f86f32f0381f88b8b8b8b8b8b60405161223e969594939291906134ea565b60405180910390a36003015460ff169998505050505050505050565b6060816000018054806020026020016040519081016040528092919081815260200182805480156122aa57602002820191906000526020600020905b815481526020019060010190808311612296575b50505050509050919050565b600054610100900460ff166123335760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610676565b606561233f8382613533565b5060666107248282613533565b600081815260018301602052604081205461239357508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610500565b506000610500565b606083156123aa575081610d27565b610d278383612622565b600073ffffffffffffffffffffffffffffffffffffffff84163b15612582576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a029061242b90339089908890889060040161364d565b6020604051808303816000875af1925050508015612484575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261248191810190613696565b60015b612537573d8080156124b2576040519150601f19603f3d011682016040523d82523d6000602084013e6124b7565b606091505b50805160000361252f5760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610676565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050610d1f565b506001949350505050565b6000808260068111156125a2576125a2612a58565b036125db57816040517f877df4f200000000000000000000000000000000000000000000000000000000815260040161067691906133e3565b60018260068111156125ef576125ef612a58565b6125fe9064e8d4a51000613404565b61050091906133f1565b61104a82826040518060200160405280600081525061264c565b8151156126325781518083602001fd5b8060405162461bcd60e51b8152600401610676919061299d565b61265683836126d5565b61266360008484846123b4565b6107245760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610676565b73ffffffffffffffffffffffffffffffffffffffff82166127385760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610676565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff16156127aa5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610676565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff161561281c5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610676565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260686020908152604080832080546001019055848352606790915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6040518060800160405280606081526020016060815260200160608152602001600060068111156128df576128df612a58565b905290565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610c3f57600080fd5b60006020828403121561292457600080fd5b8135610d27816128e4565b60005b8381101561294a578181015183820152602001612932565b50506000910152565b6000815180845261296b81602086016020860161292f565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610d276020830184612953565b6000602082840312156129c257600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff811681146129ed57600080fd5b919050565b60008060408385031215612a0557600080fd5b612a0e836129c9565b946020939093013593505050565b600080600060608486031215612a3157600080fd5b612a3a846129c9565b9250612a48602085016129c9565b9150604084013590509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60078110612abe577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b6000815160808452612ad76080850182612953565b905060208301518482036020860152612af08282612953565b91505060408301518482036040860152612b0a8282612953565b915050606083015161211c6060860182612a87565b606081526000612b326060830186612ac2565b6020612b4081850187612a87565b838203604085015284518083528186019282019060005b81811015612b7357845183529383019391830191600101612b57565b509098975050505050505050565b60008083601f840112612b9357600080fd5b50813567ffffffffffffffff811115612bab57600080fd5b602083019150836020828501011115612bc357600080fd5b9250929050565b60008060008060008060006080888a031215612be557600080fd5b87359650602088013567ffffffffffffffff80821115612c0457600080fd5b612c108b838c01612b81565b909850965060408a0135915080821115612c2957600080fd5b612c358b838c01612b81565b909650945060608a0135915080821115612c4e57600080fd5b50612c5b8a828b01612b81565b989b979a50959850939692959293505050565b8035600781106129ed57600080fd5b600060208284031215612c8f57600080fd5b610d2782612c6e565b600060208284031215612caa57600080fd5b610d27826129c9565b60008083601f840112612cc557600080fd5b50813567ffffffffffffffff811115612cdd57600080fd5b6020830191508360208260051b8501011115612bc357600080fd5b600080600060408486031215612d0d57600080fd5b83359250602084013567ffffffffffffffff811115612d2b57600080fd5b612d3786828701612cb3565b9497909650939450505050565b60008060408385031215612d5757600080fd5b612d60836129c9565b915060208301358015158114612d7557600080fd5b809150509250929050565b600080600080600080600080600060a08a8c031215612d9e57600080fd5b893567ffffffffffffffff80821115612db657600080fd5b612dc28d838e01612b81565b909b50995060208c0135915080821115612ddb57600080fd5b612de78d838e01612b81565b909950975060408c0135915080821115612e0057600080fd5b612e0c8d838e01612b81565b9097509550859150612e2060608d01612c6e565b945060808c0135915080821115612e3657600080fd5b50612e438c828d01612cb3565b915080935050809150509295985092959850929598565b60008060208385031215612e6d57600080fd5b823567ffffffffffffffff811115612e8457600080fd5b612e9085828601612cb3565b90969095509350505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015612f0f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452612efd858351612953565b94509285019290850190600101612ec3565b5092979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060008060808587031215612f6157600080fd5b612f6a856129c9565b9350612f78602086016129c9565b925060408501359150606085013567ffffffffffffffff80821115612f9c57600080fd5b818701915087601f830112612fb057600080fd5b813581811115612fc257612fc2612f1c565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561300857613008612f1c565b816040528281528a602084870101111561302157600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b60008060008060008060006080888a03121561306057600080fd5b61306988612c6e565b9650602088013567ffffffffffffffff80821115612c0457600080fd5b6000806040838503121561309957600080fd5b6130a2836129c9565b91506130b0602084016129c9565b90509250929050565b602081526000610d276020830184612ac2565b600181811c908216806130e057607f821691505b602082108103613119577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f82111561072457600081815260208120601f850160051c810160208610156131465750805b601f850160051c820191505b8181101561316557828155600101613152565b505050505050565b67ffffffffffffffff83111561318557613185612f1c565b6131998361319383546130cc565b8361311f565b6000601f8411600181146131eb57600085156131b55750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355613281565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b8281101561323a578685013582556020948501946001909201910161321a565b5086821015613275577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6132c18185612a87565b6040602082015281604082015260007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8311156132fd57600080fd5b8260051b8085606085013791909101606001949350505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261334c57600080fd5b83018035915067ffffffffffffffff82111561336757600080fd5b602001915036819003821315612bc357600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036133dc576133dc61337c565b5060010190565b602081016105008284612a87565b818103818111156105005761050061337c565b80820281158282048414176105005761050061337c565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000826134595761345961341b565b500690565b60008261346d5761346d61341b565b500490565b808201808211156105005761050061337c565b6000825161349781846020870161292f565b9190910192915050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6060815260006134fe60608301888a6134a1565b82810360208401526135118187896134a1565b905082810360408401526135268185876134a1565b9998505050505050505050565b815167ffffffffffffffff81111561354d5761354d612f1c565b6135618161355b84546130cc565b8461311f565b602080601f8311600181146135b4576000841561357e5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555613165565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015613601578886015182559484019460019091019084016135e2565b508582101561363d57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600073ffffffffffffffffffffffffffffffffffffffff80871683528086166020840152508360408301526080606083015261368c6080830184612953565b9695505050505050565b6000602082840312156136a857600080fd5b8151610d27816128e456fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122001a98ea6ac245554b8c528b6eaecf08779f26c203b3944294c6b65c9193614f764736f6c63430008130033000000000000000000000000e2a7213762caddb7438f21f82cefbb4931167463", - "nonce": "0x3e", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xc04193bb8a194d37dfb957b7a4557b76ec40f2941c670a7c03bab3d211935ecd", - "transactionType": "CALL", - "contractName": "IPAssetRegistryFactory", - "contractAddress": "0x461DF243955aD5493cFa33434c2B7CfF2C583dc7", - "function": "upgradeFranchises(address)", - "arguments": [ - "0xC60382Ea8cBea33ad9052E2FBC12d2F019C8947D" - ], - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "to": "0x461df243955ad5493cfa33434c2b7cff2c583dc7", - "gas": "0xfe70", - "value": "0x0", - "data": "0x3991fc9d000000000000000000000000c60382ea8cbea33ad9052e2fbc12d2f019c8947d", - "nonce": "0x3f", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "transactionHash": "0x1095f6582c91eef02289915364701cb033d4e8413907db895fa99b35213cccb8", - "transactionIndex": "0x3", - "blockHash": "0x56b3168cc23515f96efcd043a95035fede48f6e358108ef10be79609e0b8fbda", - "blockNumber": "0x8fcf91", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": null, - "cumulativeGasUsed": "0x6c14a", - "gasUsed": "0x43beb", - "contractAddress": "0xe2a7213762caDDb7438f21f82cEfbB4931167463", - "logs": [], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0x10d6602e0" - }, - { - "transactionHash": "0x651d4d853c0fff3e1ce99068158506ff894b271fdfcea79cfce2df8b23ff56cc", - "transactionIndex": "0x4", - "blockHash": "0x56b3168cc23515f96efcd043a95035fede48f6e358108ef10be79609e0b8fbda", - "blockNumber": "0x8fcf91", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": null, - "cumulativeGasUsed": "0x364235", - "gasUsed": "0x2f80eb", - "contractAddress": "0xC60382Ea8cBea33ad9052E2FBC12d2F019C8947D", - "logs": [ - { - "address": "0xC60382Ea8cBea33ad9052E2FBC12d2F019C8947D", - "topics": [ - "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000000ff", - "blockHash": "0x56b3168cc23515f96efcd043a95035fede48f6e358108ef10be79609e0b8fbda", - "blockNumber": "0x8fcf91", - "transactionHash": "0x651d4d853c0fff3e1ce99068158506ff894b271fdfcea79cfce2df8b23ff56cc", - "transactionIndex": "0x4", - "logIndex": "0x3", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0x10d6602e0" - }, - { - "transactionHash": "0xc04193bb8a194d37dfb957b7a4557b76ec40f2941c670a7c03bab3d211935ecd", - "transactionIndex": "0x5", - "blockHash": "0x56b3168cc23515f96efcd043a95035fede48f6e358108ef10be79609e0b8fbda", - "blockNumber": "0x8fcf91", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": "0x461DF243955aD5493cFa33434c2B7CfF2C583dc7", - "cumulativeGasUsed": "0x36f02f", - "gasUsed": "0xadfa", - "contractAddress": null, - "logs": [ - { - "address": "0xee41378f6E695bF3551054b13a91f9703c175baB", - "topics": [ - "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", - "0x000000000000000000000000c60382ea8cbea33ad9052e2fbc12d2f019c8947d" - ], - "data": "0x", - "blockHash": "0x56b3168cc23515f96efcd043a95035fede48f6e358108ef10be79609e0b8fbda", - "blockNumber": "0x8fcf91", - "transactionHash": "0xc04193bb8a194d37dfb957b7a4557b76ec40f2941c670a7c03bab3d211935ecd", - "transactionIndex": "0x5", - "logIndex": "0x4", - "removed": false - }, - { - "address": "0x461DF243955aD5493cFa33434c2B7CfF2C583dc7", - "topics": [ - "0xa8f2f87a44131841a6848a0e54ac181d9f27ca8565b9252b1f49af60507d7692", - "0x000000000000000000000000c60382ea8cbea33ad9052e2fbc12d2f019c8947d" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000005302e312e30000000000000000000000000000000000000000000000000000000", - "blockHash": "0x56b3168cc23515f96efcd043a95035fede48f6e358108ef10be79609e0b8fbda", - "blockNumber": "0x8fcf91", - "transactionHash": "0xc04193bb8a194d37dfb957b7a4557b76ec40f2941c670a7c03bab3d211935ecd", - "transactionIndex": "0x5", - "logIndex": "0x5", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000000000000000000000400000000400000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000020000002000040000010000000000000000000000000000000000000000000000000000000000000000088000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000100000000000000000000000000000000000000000008000000000000000020000000000000000000000000000000000081000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0x10d6602e0" - } - ], - "libraries": [], - "pending": [], - "path": "/Users/drmanhattan/Workspace/StoryProtocol/protocol-contracts/broadcast/DevUpgrades.s.sol/5/run-latest.json", - "returns": {}, - "timestamp": 1690585374, - "chain": 5, - "multi": false, - "commit": "87cd967" -} \ No newline at end of file diff --git a/broadcast/DevUpgrades.s.sol/5/run-1690585433.json b/broadcast/DevUpgrades.s.sol/5/run-1690585433.json deleted file mode 100644 index 55981725..00000000 --- a/broadcast/DevUpgrades.s.sol/5/run-1690585433.json +++ /dev/null @@ -1,172 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x1095f6582c91eef02289915364701cb033d4e8413907db895fa99b35213cccb8", - "transactionType": "CREATE", - "contractName": "CommonIPAssetEventEmitter", - "contractAddress": "0xe2a7213762caDDb7438f21f82cEfbB4931167463", - "function": null, - "arguments": [ - "0xf157916d184598105FE4681eC93Be0f799599003" - ], - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x580af", - "value": "0x0", - "data": "0x60a060405234801561001057600080fd5b506040516104c43803806104c483398101604081905261002f91610067565b6001600160a01b0381166100565760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0316608052610097565b60006020828403121561007957600080fd5b81516001600160a01b038116811461009057600080fd5b9392505050565b60805161040d6100b7600039600081816040015260e6015261040d6000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806394f99b401461003b578063fcd215051461008b575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61009e61009936600461024e565b6100a0565b005b6040517f2c5cefa300000000000000000000000000000000000000000000000000000000815260048101839052339073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690632c5cefa390602401602060405180830381865afa15801561012d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101519190610270565b73ffffffffffffffffffffffffffffffffffffffff161461019e576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b33827f9081eaced0c09521965c689337c0d5ed61a0baeb8b9f0fda7a4cd4f59a251515836101cb816101e5565b6040516101d99291906102dc565b60405180910390a35050565b60006101f664e8d4a5100083610356565b1580610210575061020d600664e8d4a51000610399565b82115b1561021d57506000919050565b61022c64e8d4a51000836103b0565b6102379060016103c4565b6006811115610248576102486102ad565b92915050565b6000806040838503121561026157600080fd5b50508035926020909101359150565b60006020828403121561028257600080fd5b815173ffffffffffffffffffffffffffffffffffffffff811681146102a657600080fd5b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b828152604081016007831061031a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b8260208301529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60008261036557610365610327565b500690565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820281158282048414176102485761024861036a565b6000826103bf576103bf610327565b500490565b808201808211156102485761024861036a56fea26469706673582212206f703255ee0cc4080a3f03505b9dce1a8db9f770c1f07ae59666c473212e6cbe64736f6c63430008130033000000000000000000000000f157916d184598105fe4681ec93be0f799599003", - "nonce": "0x3d", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x651d4d853c0fff3e1ce99068158506ff894b271fdfcea79cfce2df8b23ff56cc", - "transactionType": "CREATE", - "contractName": "IPAssetRegistry", - "contractAddress": "0xC60382Ea8cBea33ad9052E2FBC12d2F019C8947D", - "function": null, - "arguments": [ - "0xe2a7213762caDDb7438f21f82cEfbB4931167463" - ], - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x3dbc92", - "value": "0x0", - "data": "0x60a06040523480156200001157600080fd5b50604051620038a1380380620038a183398101604081905262000034916200013c565b6001600160a01b0381166200005c5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b038116608052620000736200007a565b506200016e565b600054610100900460ff1615620000e75760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811610156200013a576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6000602082840312156200014f57600080fd5b81516001600160a01b03811681146200016757600080fd5b9392505050565b608051613710620001916000396000818161034301526115c101526137106000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c8063721918e5116100f9578063b88d4fde11610097578063e117b1d511610071578063e117b1d51461041b578063e985e9c51461042e578063eb1f6b5a14610477578063f46aa1891461049757600080fd5b8063b88d4fde146103ce578063b9d0787c146103e1578063c87b56dd1461040857600080fd5b80639dc6693c116100d35780639dc6693c14610375578063a22cb46514610388578063a8185a2e1461039b578063ac9650d8146103ae57600080fd5b8063721918e51461033e5780637284e4161461036557806395d89b411461036d57600080fd5b806342842e0e1161016657806354fd4d501161014057806354fd4d50146102cc5780636352211e1461030557806369cf2c371461031857806370a082311461032b57600080fd5b806342842e0e1461029e57806346193ccd146102b15780634ff0a2b2146102c457600080fd5b8063095ea7b3116101a2578063095ea7b31461023e5780630f7966c01461025357806323b872dd146102695780633c7fc59d1461027c57600080fd5b806301ffc9a7146101c957806306fdde03146101f1578063081812fc14610206575b600080fd5b6101dc6101d7366004612912565b6104aa565b60405190151581526020015b60405180910390f35b6101f9610506565b6040516101e8919061299d565b6102196102143660046129b0565b610598565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101e8565b61025161024c3660046129f2565b6105cc565b005b61025b601481565b6040519081526020016101e8565b610251610277366004612a1c565b610729565b61028f61028a3660046129b0565b6107b0565b6040516101e893929190612b1f565b6102516102ac366004612a1c565b610818565b6102516102bf366004612bca565b610833565b610251610ad2565b60408051808201909152600581527f302e312e3000000000000000000000000000000000000000000000000000000060208201526101f9565b6102196103133660046129b0565b610c42565b61025b610326366004612c7d565b610cb4565b61025b610339366004612c98565b610d2e565b6102197f000000000000000000000000000000000000000000000000000000000000000081565b6101f9610de2565b6101f9610eb7565b610251610383366004612cf8565b610ec6565b610251610396366004612d44565b61103f565b61025b6103a9366004612d80565b61104e565b6103c16103bc366004612e5a565b6110f0565b6040516101e89190612e9c565b6102516103dc366004612f4b565b6111e5565b7f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e37a5461025b565b6101f96104163660046129b0565b611273565b61025b610429366004613045565b611288565b6101dc61043c366004613086565b73ffffffffffffffffffffffffffffffffffffffff9182166000908152606a6020908152604080832093909416825291909152205460ff1690565b61048a6104853660046129b0565b6112fe565b6040516101e891906130b9565b61025b6104a5366004613045565b611531565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb9d0787c000000000000000000000000000000000000000000000000000000001480610500575061050082611640565b92915050565b606060658054610515906130cc565b80601f0160208091040260200160405190810160405280929190818152602001828054610541906130cc565b801561058e5780601f106105635761010080835404028352916020019161058e565b820191906000526020600020905b81548152906001019060200180831161057157829003601f168201915b5050505050905090565b60006105a382611723565b5060009081526069602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60006105d782610c42565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361067f5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff821614806106a857506106a8813361043c565b61071a5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610676565b6107248383611794565b505050565b6107333382611834565b6107a55760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610676565b6107248383836118f3565b6107b86128ac565b600060606107c5846112fe565b925060007f472b429d656ecfb82e6e0cff4b4090577a009a43252b08434ed2201373a9647d6000868152602082905260409020805460ff16945090915061080e60018201611ba0565b9496939550505050565b610724838383604051806020016040528060008152506111e5565b600054610100900460ff16158080156108535750600054600160ff909116105b8061086d5750303b15801561086d575060005460ff166001145b6108df5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610676565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561093d57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6109b087878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8b018190048102820181019092528981529250899150889081908401838280828437600092019190915250611bad92505050565b6109b8611c34565b876000036109f2576040517f1f2a200500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e37a8890557f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e3787f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e379610a6384868361316d565b50508015610ac857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050505050565b600054610100900460ff1615808015610af25750600054600160ff909116105b80610b0c5750303b158015610b0c575060005460ff166001145b610b7e5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610676565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610bdc57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b8015610c3f57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50565b60008181526067602052604081205473ffffffffffffffffffffffffffffffffffffffff16806105005760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610676565b60007f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e378818181856006811115610cec57610cec612a58565b6006811115610cfd57610cfd612a58565b815260200190815260200160002054905080600003610d2757610d1f84611cb3565b949350505050565b9392505050565b600073ffffffffffffffffffffffffffffffffffffffff8216610db95760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e657200000000000000000000000000000000000000000000006064820152608401610676565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526068602052604090205490565b7f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e37980546060917f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e37891610e33906130cc565b80601f0160208091040260200160405190810160405280929190818152602001828054610e5f906130cc565b8015610eac5780601f10610e8157610100808354040283529160200191610eac565b820191906000526020600020905b815481529060010190602001808311610e8f57829003601f168201915b505050505091505090565b606060668054610515906130cc565b806014811115610f02576040517f77d10abd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481527f472b429d656ecfb82e6e0cff4b4090577a009a43252b08434ed2201373a9647d60208190526040822054909160ff909116905b84811015610ffa57816006811115610f5557610f55612a58565b610f76878784818110610f6a57610f6a613288565b90506020020135611d2e565b6006811115610f8757610f87612a58565b14610fbe576040517f50c3390e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610ff1868683818110610fd357610fd3613288565b60008b81526020888152604090912060010193910201359050611d91565b50600101610f3b565b50857f823d677ed42b321275c6b3aa7040f32e41d12aea91120455a19a60ae310b0af382878760405161102f939291906132b7565b60405180910390a2505050505050565b61104a338383611d9d565b5050565b60008061106160048c8c8c8c8c8c611531565b905060007f472b429d656ecfb82e6e0cff4b4090577a009a43252b08434ed2201373a9647d6000838152602082905260409020805491925087917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660018360068111156110d1576110d1612a58565b02179055506110e1828686610ec6565b509a9950505050505050505050565b60608167ffffffffffffffff81111561110b5761110b612f1c565b60405190808252806020026020018201604052801561113e57816020015b60608152602001906001900390816111295790505b50905060005b828110156111de576111ae3085858481811061116257611162613288565b90506020028101906111749190613317565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611eb092505050565b8282815181106111c0576111c0613288565b602002602001018190525080806111d6906133ab565b915050611144565b5092915050565b6111ef3383611834565b6112615760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610676565b61126d84848484611fd5565b50505050565b606061127e826112fe565b6040015192915050565b60008088600681111561129d5761129d612a58565b036112d4576040517ffa19fa0700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006112e0338a61205e565b90506112f181898989898989612124565b5098975050505050505050565b6113066128ac565b60008281527f9d56f7e7ee381479643316c052563e5824551ecde3f8bff0aa320131666f68796020819052604091829020825160808101909352805491929182908290611352906130cc565b80601f016020809104026020016040519081016040528092919081815260200182805461137e906130cc565b80156113cb5780601f106113a0576101008083540402835291602001916113cb565b820191906000526020600020905b8154815290600101906020018083116113ae57829003601f168201915b505050505081526020016001820180546113e4906130cc565b80601f0160208091040260200160405190810160405280929190818152602001828054611410906130cc565b801561145d5780601f106114325761010080835404028352916020019161145d565b820191906000526020600020905b81548152906001019060200180831161144057829003601f168201915b50505050508152602001600282018054611476906130cc565b80601f01602080910402602001604051908101604052809291908181526020018280546114a2906130cc565b80156114ef5780601f106114c4576101008083540402835291602001916114ef565b820191906000526020600020905b8154815290600101906020018083116114d257829003601f168201915b5050509183525050600382015460209091019060ff16600681111561151657611516612a58565b600681111561152757611527612a58565b9052509392505050565b60008061154389898989898989611288565b7f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e37a546040517ffcd215050000000000000000000000000000000000000000000000000000000081526004810191909152602481018290529091507f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e378907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063fcd2150590604401600060405180830381600087803b15801561161a57600080fd5b505af115801561162e573d6000803e3d6000fd5b50939c9b505050505050505050505050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd0000000000000000000000000000000000000000000000000000000014806116d357507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b8061050057507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff00000000000000000000000000000000000000000000000000000000831614610500565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff16610c3f5760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610676565b600081815260696020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811790915581906117ee82610c42565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008061184083610c42565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806118ae575073ffffffffffffffffffffffffffffffffffffffff8082166000908152606a602090815260408083209388168352929052205460ff165b80610d1f57508373ffffffffffffffffffffffffffffffffffffffff166118d484610598565b73ffffffffffffffffffffffffffffffffffffffff1614949350505050565b8273ffffffffffffffffffffffffffffffffffffffff1661191382610c42565b73ffffffffffffffffffffffffffffffffffffffff161461199c5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610676565b73ffffffffffffffffffffffffffffffffffffffff8216611a245760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610676565b8273ffffffffffffffffffffffffffffffffffffffff16611a4482610c42565b73ffffffffffffffffffffffffffffffffffffffff1614611acd5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610676565b600081815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff8781168086526068855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905590871680865283862080546001019055868652606790945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b60606000610d278361225a565b600054610100900460ff16611c2a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610676565b61104a82826122b6565b600054610100900460ff16611cb15760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610676565b565b600080826006811115611cc857611cc8612a58565b03611d0157816040517f877df4f200000000000000000000000000000000000000000000000000000000815260040161067691906133e3565b6001826006811115611d1557611d15612a58565b611d1f91906133f1565b6105009064e8d4a51000613404565b6000611d3f64e8d4a510008361344a565b1580611d595750611d56600664e8d4a51000613404565b82115b15611d6657506000919050565b611d7564e8d4a510008361345e565b611d80906001613472565b600681111561050057610500612a58565b6000610d27838361234c565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611e185760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610676565b73ffffffffffffffffffffffffffffffffffffffff8381166000818152606a602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b606073ffffffffffffffffffffffffffffffffffffffff83163b611f3c5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e747261637400000000000000000000000000000000000000000000000000006064820152608401610676565b6000808473ffffffffffffffffffffffffffffffffffffffff1684604051611f649190613485565b600060405180830381855af49150503d8060008114611f9f576040519150601f19603f3d011682016040523d82523d6000602084013e611fa4565b606091505b5091509150611fcc82826040518060600160405280602781526020016136b46027913961239b565b95945050505050565b611fe08484846118f3565b611fec848484846123b4565b61126d5760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610676565b60008061206a83610cb4565b612075906001613472565b90506120808361258d565b8111156120b9576040517fd5fdab4f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e378818160008660068111156120f0576120f0612a58565b600681111561210157612101612a58565b815260208101919091526040016000205561211c8583612608565b509392505050565b60008781527f9d56f7e7ee381479643316c052563e5824551ecde3f8bff0aa320131666f68796020819052604082206003810154839060ff16600681111561216e5761216e612a58565b036121be5761217c8a611d2e565b6003820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660018360068111156121b8576121b8612a58565b02179055505b806121ca898b8361316d565b50600181016121da87898361316d565b50600281016121ea85878361316d565b50600381015460ff16600681111561220457612204612a58565b8a7fa82032c25afb0149419a68bef0de224f05ddf61f663c81661d7f86f32f0381f88b8b8b8b8b8b60405161223e969594939291906134ea565b60405180910390a36003015460ff169998505050505050505050565b6060816000018054806020026020016040519081016040528092919081815260200182805480156122aa57602002820191906000526020600020905b815481526020019060010190808311612296575b50505050509050919050565b600054610100900460ff166123335760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610676565b606561233f8382613533565b5060666107248282613533565b600081815260018301602052604081205461239357508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610500565b506000610500565b606083156123aa575081610d27565b610d278383612622565b600073ffffffffffffffffffffffffffffffffffffffff84163b15612582576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a029061242b90339089908890889060040161364d565b6020604051808303816000875af1925050508015612484575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261248191810190613696565b60015b612537573d8080156124b2576040519150601f19603f3d011682016040523d82523d6000602084013e6124b7565b606091505b50805160000361252f5760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610676565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050610d1f565b506001949350505050565b6000808260068111156125a2576125a2612a58565b036125db57816040517f877df4f200000000000000000000000000000000000000000000000000000000815260040161067691906133e3565b60018260068111156125ef576125ef612a58565b6125fe9064e8d4a51000613404565b61050091906133f1565b61104a82826040518060200160405280600081525061264c565b8151156126325781518083602001fd5b8060405162461bcd60e51b8152600401610676919061299d565b61265683836126d5565b61266360008484846123b4565b6107245760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610676565b73ffffffffffffffffffffffffffffffffffffffff82166127385760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610676565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff16156127aa5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610676565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff161561281c5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610676565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260686020908152604080832080546001019055848352606790915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6040518060800160405280606081526020016060815260200160608152602001600060068111156128df576128df612a58565b905290565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610c3f57600080fd5b60006020828403121561292457600080fd5b8135610d27816128e4565b60005b8381101561294a578181015183820152602001612932565b50506000910152565b6000815180845261296b81602086016020860161292f565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610d276020830184612953565b6000602082840312156129c257600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff811681146129ed57600080fd5b919050565b60008060408385031215612a0557600080fd5b612a0e836129c9565b946020939093013593505050565b600080600060608486031215612a3157600080fd5b612a3a846129c9565b9250612a48602085016129c9565b9150604084013590509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60078110612abe577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b6000815160808452612ad76080850182612953565b905060208301518482036020860152612af08282612953565b91505060408301518482036040860152612b0a8282612953565b915050606083015161211c6060860182612a87565b606081526000612b326060830186612ac2565b6020612b4081850187612a87565b838203604085015284518083528186019282019060005b81811015612b7357845183529383019391830191600101612b57565b509098975050505050505050565b60008083601f840112612b9357600080fd5b50813567ffffffffffffffff811115612bab57600080fd5b602083019150836020828501011115612bc357600080fd5b9250929050565b60008060008060008060006080888a031215612be557600080fd5b87359650602088013567ffffffffffffffff80821115612c0457600080fd5b612c108b838c01612b81565b909850965060408a0135915080821115612c2957600080fd5b612c358b838c01612b81565b909650945060608a0135915080821115612c4e57600080fd5b50612c5b8a828b01612b81565b989b979a50959850939692959293505050565b8035600781106129ed57600080fd5b600060208284031215612c8f57600080fd5b610d2782612c6e565b600060208284031215612caa57600080fd5b610d27826129c9565b60008083601f840112612cc557600080fd5b50813567ffffffffffffffff811115612cdd57600080fd5b6020830191508360208260051b8501011115612bc357600080fd5b600080600060408486031215612d0d57600080fd5b83359250602084013567ffffffffffffffff811115612d2b57600080fd5b612d3786828701612cb3565b9497909650939450505050565b60008060408385031215612d5757600080fd5b612d60836129c9565b915060208301358015158114612d7557600080fd5b809150509250929050565b600080600080600080600080600060a08a8c031215612d9e57600080fd5b893567ffffffffffffffff80821115612db657600080fd5b612dc28d838e01612b81565b909b50995060208c0135915080821115612ddb57600080fd5b612de78d838e01612b81565b909950975060408c0135915080821115612e0057600080fd5b612e0c8d838e01612b81565b9097509550859150612e2060608d01612c6e565b945060808c0135915080821115612e3657600080fd5b50612e438c828d01612cb3565b915080935050809150509295985092959850929598565b60008060208385031215612e6d57600080fd5b823567ffffffffffffffff811115612e8457600080fd5b612e9085828601612cb3565b90969095509350505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015612f0f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452612efd858351612953565b94509285019290850190600101612ec3565b5092979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060008060808587031215612f6157600080fd5b612f6a856129c9565b9350612f78602086016129c9565b925060408501359150606085013567ffffffffffffffff80821115612f9c57600080fd5b818701915087601f830112612fb057600080fd5b813581811115612fc257612fc2612f1c565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561300857613008612f1c565b816040528281528a602084870101111561302157600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b60008060008060008060006080888a03121561306057600080fd5b61306988612c6e565b9650602088013567ffffffffffffffff80821115612c0457600080fd5b6000806040838503121561309957600080fd5b6130a2836129c9565b91506130b0602084016129c9565b90509250929050565b602081526000610d276020830184612ac2565b600181811c908216806130e057607f821691505b602082108103613119577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f82111561072457600081815260208120601f850160051c810160208610156131465750805b601f850160051c820191505b8181101561316557828155600101613152565b505050505050565b67ffffffffffffffff83111561318557613185612f1c565b6131998361319383546130cc565b8361311f565b6000601f8411600181146131eb57600085156131b55750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355613281565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b8281101561323a578685013582556020948501946001909201910161321a565b5086821015613275577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6132c18185612a87565b6040602082015281604082015260007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8311156132fd57600080fd5b8260051b8085606085013791909101606001949350505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261334c57600080fd5b83018035915067ffffffffffffffff82111561336757600080fd5b602001915036819003821315612bc357600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036133dc576133dc61337c565b5060010190565b602081016105008284612a87565b818103818111156105005761050061337c565b80820281158282048414176105005761050061337c565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000826134595761345961341b565b500690565b60008261346d5761346d61341b565b500490565b808201808211156105005761050061337c565b6000825161349781846020870161292f565b9190910192915050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6060815260006134fe60608301888a6134a1565b82810360208401526135118187896134a1565b905082810360408401526135268185876134a1565b9998505050505050505050565b815167ffffffffffffffff81111561354d5761354d612f1c565b6135618161355b84546130cc565b8461311f565b602080601f8311600181146135b4576000841561357e5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555613165565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015613601578886015182559484019460019091019084016135e2565b508582101561363d57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600073ffffffffffffffffffffffffffffffffffffffff80871683528086166020840152508360408301526080606083015261368c6080830184612953565b9695505050505050565b6000602082840312156136a857600080fd5b8151610d27816128e456fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122001a98ea6ac245554b8c528b6eaecf08779f26c203b3944294c6b65c9193614f764736f6c63430008130033000000000000000000000000e2a7213762caddb7438f21f82cefbb4931167463", - "nonce": "0x3e", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xc04193bb8a194d37dfb957b7a4557b76ec40f2941c670a7c03bab3d211935ecd", - "transactionType": "CALL", - "contractName": "IPAssetRegistryFactory", - "contractAddress": "0x461DF243955aD5493cFa33434c2B7CfF2C583dc7", - "function": "upgradeFranchises(address)", - "arguments": [ - "0xC60382Ea8cBea33ad9052E2FBC12d2F019C8947D" - ], - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "to": "0x461df243955ad5493cfa33434c2b7cff2c583dc7", - "gas": "0xfe70", - "value": "0x0", - "data": "0x3991fc9d000000000000000000000000c60382ea8cbea33ad9052e2fbc12d2f019c8947d", - "nonce": "0x3f", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "transactionHash": "0x1095f6582c91eef02289915364701cb033d4e8413907db895fa99b35213cccb8", - "transactionIndex": "0x3", - "blockHash": "0x56b3168cc23515f96efcd043a95035fede48f6e358108ef10be79609e0b8fbda", - "blockNumber": "0x8fcf91", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": null, - "cumulativeGasUsed": "0x6c14a", - "gasUsed": "0x43beb", - "contractAddress": "0xe2a7213762caDDb7438f21f82cEfbB4931167463", - "logs": [], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0x10d6602e0" - }, - { - "transactionHash": "0x651d4d853c0fff3e1ce99068158506ff894b271fdfcea79cfce2df8b23ff56cc", - "transactionIndex": "0x4", - "blockHash": "0x56b3168cc23515f96efcd043a95035fede48f6e358108ef10be79609e0b8fbda", - "blockNumber": "0x8fcf91", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": null, - "cumulativeGasUsed": "0x364235", - "gasUsed": "0x2f80eb", - "contractAddress": "0xC60382Ea8cBea33ad9052E2FBC12d2F019C8947D", - "logs": [ - { - "address": "0xC60382Ea8cBea33ad9052E2FBC12d2F019C8947D", - "topics": [ - "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000000ff", - "blockHash": "0x56b3168cc23515f96efcd043a95035fede48f6e358108ef10be79609e0b8fbda", - "blockNumber": "0x8fcf91", - "transactionHash": "0x651d4d853c0fff3e1ce99068158506ff894b271fdfcea79cfce2df8b23ff56cc", - "transactionIndex": "0x4", - "logIndex": "0x3", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0x10d6602e0" - }, - { - "transactionHash": "0xc04193bb8a194d37dfb957b7a4557b76ec40f2941c670a7c03bab3d211935ecd", - "transactionIndex": "0x5", - "blockHash": "0x56b3168cc23515f96efcd043a95035fede48f6e358108ef10be79609e0b8fbda", - "blockNumber": "0x8fcf91", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": "0x461DF243955aD5493cFa33434c2B7CfF2C583dc7", - "cumulativeGasUsed": "0x36f02f", - "gasUsed": "0xadfa", - "contractAddress": null, - "logs": [ - { - "address": "0xee41378f6E695bF3551054b13a91f9703c175baB", - "topics": [ - "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", - "0x000000000000000000000000c60382ea8cbea33ad9052e2fbc12d2f019c8947d" - ], - "data": "0x", - "blockHash": "0x56b3168cc23515f96efcd043a95035fede48f6e358108ef10be79609e0b8fbda", - "blockNumber": "0x8fcf91", - "transactionHash": "0xc04193bb8a194d37dfb957b7a4557b76ec40f2941c670a7c03bab3d211935ecd", - "transactionIndex": "0x5", - "logIndex": "0x4", - "removed": false - }, - { - "address": "0x461DF243955aD5493cFa33434c2B7CfF2C583dc7", - "topics": [ - "0xa8f2f87a44131841a6848a0e54ac181d9f27ca8565b9252b1f49af60507d7692", - "0x000000000000000000000000c60382ea8cbea33ad9052e2fbc12d2f019c8947d" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000005302e312e30000000000000000000000000000000000000000000000000000000", - "blockHash": "0x56b3168cc23515f96efcd043a95035fede48f6e358108ef10be79609e0b8fbda", - "blockNumber": "0x8fcf91", - "transactionHash": "0xc04193bb8a194d37dfb957b7a4557b76ec40f2941c670a7c03bab3d211935ecd", - "transactionIndex": "0x5", - "logIndex": "0x5", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000000000000000000000400000000400000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000020000002000040000010000000000000000000000000000000000000000000000000000000000000000088000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000100000000000000000000000000000000000000000008000000000000000020000000000000000000000000000000000081000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0x10d6602e0" - } - ], - "libraries": [], - "pending": [], - "path": "/Users/drmanhattan/Workspace/StoryProtocol/protocol-contracts/broadcast/DevUpgrades.s.sol/5/run-latest.json", - "returns": {}, - "timestamp": 1690585433, - "chain": 5, - "multi": false, - "commit": "87cd967" -} \ No newline at end of file diff --git a/broadcast/DevUpgrades.s.sol/5/run-1691713649.json b/broadcast/DevUpgrades.s.sol/5/run-1691713649.json deleted file mode 100644 index 982a5ce3..00000000 --- a/broadcast/DevUpgrades.s.sol/5/run-1691713649.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xb3cf4327d9f0809ec44fe7f41a762d0931cb452d27f082cdd01ab2c4f93b7746", - "transactionType": "CREATE", - "contractName": "FranchiseRegistry", - "contractAddress": "0x08173A3D97aeAE39078a5714279c2233B270592e", - "function": null, - "arguments": [ - "0x461DF243955aD5493cFa33434c2B7CfF2C583dc7" - ], - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x3d2482", - "value": "0x0", - "data": "0x60c0604052306080523480156200001557600080fd5b506040516200384f3803806200384f833981016040819052620000389162000140565b6001600160a01b038116620000605760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03811660a052620000776200007e565b5062000172565b600054610100900460ff1615620000eb5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811610156200013e576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6000602082840312156200015357600080fd5b81516001600160a01b03811681146200016b57600080fd5b9392505050565b60805160a051613694620001bb600039600081816103180152610d39015260008181610b2501528181610bbb01528181610f0e01528181610fa401526111b701526136946000f3fe6080604052600436106101a15760003560e01c806352d1902d116100e1578063a22cb4651161008a578063c87b56dd11610064578063c87b56dd1461052a578063e985e9c51461054a578063ef647e10146105a0578063fc1dad81146105b557600080fd5b8063a22cb465146104ca578063b88d4fde146104ea578063c4d66de81461050a57600080fd5b806370a08231116100bb57806370a082311461048057806395d89b41146104a05780639b0c6be4146104b557600080fd5b806352d1902d146103f757806354fd4d501461041a5780636352211e1461046057600080fd5b80632c5cefa31161014e5780633da52093116101285780633da520931461035a57806342842e0e146103a45780634f1ef286146103c4578063503fa317146103d757600080fd5b80632c5cefa3146102a45780632dd31000146103065780633659cfe61461033a57600080fd5b8063095ea7b31161017f578063095ea7b31461024257806319129e5a1461026457806323b872dd1461028457600080fd5b806301ffc9a7146101a657806306fdde03146101db578063081812fc146101fd575b600080fd5b3480156101b257600080fd5b506101c66101c1366004612d07565b6105ff565b60405190151581526020015b60405180910390f35b3480156101e757600080fd5b506101f06106e4565b6040516101d29190612d92565b34801561020957600080fd5b5061021d610218366004612da5565b610776565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101d2565b34801561024e57600080fd5b5061026261025d366004612de0565b6107aa565b005b34801561027057600080fd5b5061026261027f366004612e0c565b610907565b34801561029057600080fd5b5061026261029f366004612e29565b610a87565b3480156102b057600080fd5b5061021d6102bf366004612da5565b60009081527f5648324915b730d22cca7279385130ad43fd4829d795fb20e9ab398bfe537e90602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b34801561031257600080fd5b5061021d7f000000000000000000000000000000000000000000000000000000000000000081565b34801561034657600080fd5b50610262610355366004612e0c565b610b0e565b34801561036657600080fd5b5061037a610375366004612e6a565b610cdf565b6040805192835273ffffffffffffffffffffffffffffffffffffffff9091166020830152016101d2565b3480156103b057600080fd5b506102626103bf366004612e29565b610edc565b6102626103d2366004612f7f565b610ef7565b3480156103e357600080fd5b506101c66103f2366004612e0c565b6110b9565b34801561040357600080fd5b5061040c61119d565b6040519081526020016101d2565b34801561042657600080fd5b5060408051808201909152600581527f302e312e3000000000000000000000000000000000000000000000000000000060208201526101f0565b34801561046c57600080fd5b5061021d61047b366004612da5565b61126f565b34801561048c57600080fd5b5061040c61049b366004612e0c565b6112e1565b3480156104ac57600080fd5b506101f0611395565b3480156104c157600080fd5b5061021d600081565b3480156104d657600080fd5b506102626104e5366004612fdd565b6113a4565b3480156104f657600080fd5b50610262610505366004613016565b6113af565b34801561051657600080fd5b50610262610525366004612e0c565b61143d565b34801561053657600080fd5b506101f0610545366004612da5565b611633565b34801561055657600080fd5b506101c6610565366004613082565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260ce6020908152604080832093909416825291909152205460ff1690565b3480156105ac57600080fd5b5061040c600081565b3480156105c157600080fd5b507f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b65473ffffffffffffffffffffffffffffffffffffffff1661021d565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061069257507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b806106de57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b606060c980546106f3906130b0565b80601f016020809104026020016040519081016040528092919081815260200182805461071f906130b0565b801561076c5780601f106107415761010080835404028352916020019161076c565b820191906000526020600020905b81548152906001019060200180831161074f57829003601f168201915b5050505050905090565b60006107818261171f565b50600090815260cd602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60006107b58261126f565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361085d5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff8216148061088657506108868133610565565b6108f85760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610854565b6109028383611790565b505050565b60006109138133611830565b610952576040517f75000dc000000000000000000000000000000000000000000000000000000000815260048101829052336024820152604401610854565b61099273ffffffffffffffffffffffffffffffffffffffff83167f7965db0b000000000000000000000000000000000000000000000000000000006118f8565b6109f8576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c0000000000000000000000000000000000006044820152606401610854565b7f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811782556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a2505050565b610a91338261191b565b610b035760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610854565b6109028383836119da565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610bb95760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610854565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610c2e7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610cb75760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610854565b610cc081611c87565b60408051600080825260208201909252610cdc91839190611cf1565b50565b600080807f5648324915b730d22cca7279385130ad43fd4829d795fb20e9ab398bfe537e8f905060008160000160008154610d1990613103565b91829055509050600073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000166386df779e83610d698980613162565b610d7660208c018c613162565b610d8360408e018e613162565b6040518863ffffffff1660e01b8152600401610da59796959493929190613217565b6020604051808303816000875af1158015610dc4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610de89190613267565b6000838152600185016020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790559050610e456060870187613162565b6000848152600286016020526040902091610e619190836132d2565b50610e6c3383611ebc565b7f071096a6b974f736d72b386641c048d2b40ab6731f5e6da2a22c95b530e81bd7338383610e9a8a80613162565b610ea760208d018d613162565b610eb460608f018f613162565b604051610ec9999897969594939291906133ed565b60405180910390a1909590945092505050565b610902838383604051806020016040528060008152506113af565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610fa25760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610854565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166110177f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff16146110a05760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610854565b6110a982611c87565b6110b582826001611cf1565b5050565b60008173ffffffffffffffffffffffffffffffffffffffff1663b9d0787c6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611140575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261113d91810190613465565b60015b61114c57506000919050565b60009081527f5648324915b730d22cca7279385130ad43fd4829d795fb20e9ab398bfe537e90602052604090205473ffffffffffffffffffffffffffffffffffffffff908116921691909114919050565b60003073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461124a5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610854565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b600081815260cb602052604081205473ffffffffffffffffffffffffffffffffffffffff16806106de5760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610854565b600073ffffffffffffffffffffffffffffffffffffffff821661136c5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e657200000000000000000000000000000000000000000000006064820152608401610854565b5073ffffffffffffffffffffffffffffffffffffffff16600090815260cc602052604090205490565b606060ca80546106f3906130b0565b6110b5338383611ed6565b6113b9338361191b565b61142b5760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610854565b61143784848484611fe9565b50505050565b600054610100900460ff161580801561145d5750600054600160ff909116105b806114775750303b158015611477575060005460ff166001145b6114e95760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610854565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561154757600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61154f612072565b611558826120f1565b6115cc6040518060400160405280600e81526020017f53746f72792050726f746f636f6c0000000000000000000000000000000000008152506040518060400160405280600281526020017f535000000000000000000000000000000000000000000000000000000000000081525061238b565b80156110b557600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15050565b606061163e8261171f565b60008281527f5648324915b730d22cca7279385130ad43fd4829d795fb20e9ab398bfe537e916020526040902080547f5648324915b730d22cca7279385130ad43fd4829d795fb20e9ab398bfe537e8f9190611699906130b0565b80601f01602080910402602001604051908101604052809291908181526020018280546116c5906130b0565b80156117125780601f106116e757610100808354040283529160200191611712565b820191906000526020600020905b8154815290600101906020018083116116f557829003601f168201915b5050505050915050919050565b600081815260cb602052604090205473ffffffffffffffffffffffffffffffffffffffff16610cdc5760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610854565b600081815260cd6020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811790915581906117ea8261126f565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000807f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810187905273ffffffffffffffffffffffffffffffffffffffff86811660248301529293509116906391d1485490604401602060405180830381865afa1580156118cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118f0919061347e565b949350505050565b600061190383612412565b801561191457506119148383612476565b9392505050565b6000806119278361126f565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611995575073ffffffffffffffffffffffffffffffffffffffff808216600090815260ce602090815260408083209388168352929052205460ff165b806118f057508373ffffffffffffffffffffffffffffffffffffffff166119bb84610776565b73ffffffffffffffffffffffffffffffffffffffff1614949350505050565b8273ffffffffffffffffffffffffffffffffffffffff166119fa8261126f565b73ffffffffffffffffffffffffffffffffffffffff1614611a835760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610854565b73ffffffffffffffffffffffffffffffffffffffff8216611b0b5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610854565b8273ffffffffffffffffffffffffffffffffffffffff16611b2b8261126f565b73ffffffffffffffffffffffffffffffffffffffff1614611bb45760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610854565b600081815260cd6020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff87811680865260cc855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190559087168086528386208054600101905586865260cb90945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3611cb28133611830565b6110b5576040517f75000dc000000000000000000000000000000000000000000000000000000000815260048101829052336024820152604401610854565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611d245761090283612545565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611da9575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252611da691810190613465565b60015b611e1b5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608401610854565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114611eb05760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152608401610854565b50610902838383612635565b6110b582826040518060200160405280600081525061265a565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611f515760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610854565b73ffffffffffffffffffffffffffffffffffffffff838116600081815260ce602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b611ff48484846119da565b612000848484846126e3565b6114375760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610854565b600054610100900460ff166120ef5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610854565b565b600054610100900460ff16158080156121115750600054600160ff909116105b8061212b5750303b15801561212b575060005460ff166001145b61219d5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610854565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156121fb57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61223b73ffffffffffffffffffffffffffffffffffffffff83167f7965db0b000000000000000000000000000000000000000000000000000000006118f8565b6122a1576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c0000000000000000000000000000000000006044820152606401610854565b7f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811782556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a25080156110b557600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602001611627565b600054610100900460ff166124085760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610854565b6110b582826128bc565b600061243e827f01ffc9a700000000000000000000000000000000000000000000000000000000612476565b80156106de575061246f827fffffffff00000000000000000000000000000000000000000000000000000000612476565b1592915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d9150600051905082801561252e575060208210155b801561253a5750600081115b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff81163b6125cf5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401610854565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61263e83612952565b60008251118061264b5750805b1561090257611437838361299f565b6126648383612ac4565b61267160008484846126e3565b6109025760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610854565b600073ffffffffffffffffffffffffffffffffffffffff84163b156128b1576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a029061275a90339089908890889060040161349b565b6020604051808303816000875af19250505080156127b3575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526127b0918101906134e4565b60015b612866573d8080156127e1576040519150601f19603f3d011682016040523d82523d6000602084013e6127e6565b606091505b50805160000361285e5760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610854565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a02000000000000000000000000000000000000000000000000000000001490506118f0565b506001949350505050565b600054610100900460ff166129395760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610854565b60c96129458382613501565b5060ca6109028282613501565b61295b81612545565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606073ffffffffffffffffffffffffffffffffffffffff83163b612a2b5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e747261637400000000000000000000000000000000000000000000000000006064820152608401610854565b6000808473ffffffffffffffffffffffffffffffffffffffff1684604051612a53919061361b565b600060405180830381855af49150503d8060008114612a8e576040519150601f19603f3d011682016040523d82523d6000602084013e612a93565b606091505b5091509150612abb828260405180606001604052806027815260200161363860279139612c9b565b95945050505050565b73ffffffffffffffffffffffffffffffffffffffff8216612b275760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610854565b600081815260cb602052604090205473ffffffffffffffffffffffffffffffffffffffff1615612b995760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610854565b600081815260cb602052604090205473ffffffffffffffffffffffffffffffffffffffff1615612c0b5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610854565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260cc602090815260408083208054600101905584835260cb90915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60608315612caa575081611914565b6119148383815115612cbf5781518083602001fd5b8060405162461bcd60e51b81526004016108549190612d92565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610cdc57600080fd5b600060208284031215612d1957600080fd5b813561191481612cd9565b60005b83811015612d3f578181015183820152602001612d27565b50506000910152565b60008151808452612d60816020860160208601612d24565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006119146020830184612d48565b600060208284031215612db757600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610cdc57600080fd5b60008060408385031215612df357600080fd5b8235612dfe81612dbe565b946020939093013593505050565b600060208284031215612e1e57600080fd5b813561191481612dbe565b600080600060608486031215612e3e57600080fd5b8335612e4981612dbe565b92506020840135612e5981612dbe565b929592945050506040919091013590565b600060208284031215612e7c57600080fd5b813567ffffffffffffffff811115612e9357600080fd5b82016080818503121561191457600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112612ee557600080fd5b813567ffffffffffffffff80821115612f0057612f00612ea5565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715612f4657612f46612ea5565b81604052838152866020858801011115612f5f57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060408385031215612f9257600080fd5b8235612f9d81612dbe565b9150602083013567ffffffffffffffff811115612fb957600080fd5b612fc585828601612ed4565b9150509250929050565b8015158114610cdc57600080fd5b60008060408385031215612ff057600080fd5b8235612ffb81612dbe565b9150602083013561300b81612fcf565b809150509250929050565b6000806000806080858703121561302c57600080fd5b843561303781612dbe565b9350602085013561304781612dbe565b925060408501359150606085013567ffffffffffffffff81111561306a57600080fd5b61307687828801612ed4565b91505092959194509250565b6000806040838503121561309557600080fd5b82356130a081612dbe565b9150602083013561300b81612dbe565b600181811c908216806130c457607f821691505b6020821081036130fd577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361315b577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261319757600080fd5b83018035915067ffffffffffffffff8211156131b257600080fd5b6020019150368190038213156131c757600080fd5b9250929050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b87815260806020820152600061323160808301888a6131ce565b82810360408401526132448187896131ce565b905082810360608401526132598185876131ce565b9a9950505050505050505050565b60006020828403121561327957600080fd5b815161191481612dbe565b601f82111561090257600081815260208120601f850160051c810160208610156132ab5750805b601f850160051c820191505b818110156132ca578281556001016132b7565b505050505050565b67ffffffffffffffff8311156132ea576132ea612ea5565b6132fe836132f883546130b0565b83613284565b6000601f841160018114613350576000851561331a5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b1783556133e6565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b8281101561339f578685013582556020948501946001909201910161337f565b50868210156133da577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b600073ffffffffffffffffffffffffffffffffffffffff808c1683528a6020840152808a1660408401525060c0606083015261342d60c08301888a6131ce565b82810360808401526134408187896131ce565b905082810360a08401526134558185876131ce565b9c9b505050505050505050505050565b60006020828403121561347757600080fd5b5051919050565b60006020828403121561349057600080fd5b815161191481612fcf565b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250836040830152608060608301526134da6080830184612d48565b9695505050505050565b6000602082840312156134f657600080fd5b815161191481612cd9565b815167ffffffffffffffff81111561351b5761351b612ea5565b61352f8161352984546130b0565b84613284565b602080601f831160018114613582576000841561354c5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b1785556132ca565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156135cf578886015182559484019460019091019084016135b0565b508582101561360b57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b6000825161362d818460208701612d24565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220e799166ebc5a522412795994a9f93f82408c2d3707cb2ceabb5906d4f648638364736f6c63430008130033000000000000000000000000461df243955ad5493cfa33434c2b7cff2c583dc7", - "nonce": "0x41", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x661d50a3a273c474006d397f6db676d7089f1ba6d8f4a200f82afa232b3dfbf0", - "transactionType": "CALL", - "contractName": "ERC1967Proxy", - "contractAddress": "0xf157916d184598105FE4681eC93Be0f799599003", - "function": null, - "arguments": null, - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "to": "0xf157916d184598105fe4681ec93be0f799599003", - "gas": "0x10ab4", - "value": "0x0", - "data": "0x3659cfe600000000000000000000000008173a3d97aeae39078a5714279c2233b270592e", - "nonce": "0x42", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [], - "libraries": [], - "pending": [ - "0xb3cf4327d9f0809ec44fe7f41a762d0931cb452d27f082cdd01ab2c4f93b7746", - "0x661d50a3a273c474006d397f6db676d7089f1ba6d8f4a200f82afa232b3dfbf0" - ], - "path": "/Users/drmanhattan/Workspace/StoryProtocol/protocol-contracts/broadcast/DevUpgrades.s.sol/5/run-latest.json", - "returns": {}, - "timestamp": 1691713649, - "chain": 5, - "multi": false, - "commit": "6aaf21d" -} \ No newline at end of file diff --git a/broadcast/DevUpgrades.s.sol/5/run-1691713674.json b/broadcast/DevUpgrades.s.sol/5/run-1691713674.json deleted file mode 100644 index b8d60454..00000000 --- a/broadcast/DevUpgrades.s.sol/5/run-1691713674.json +++ /dev/null @@ -1,118 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xb3cf4327d9f0809ec44fe7f41a762d0931cb452d27f082cdd01ab2c4f93b7746", - "transactionType": "CREATE", - "contractName": "FranchiseRegistry", - "contractAddress": "0x08173A3D97aeAE39078a5714279c2233B270592e", - "function": null, - "arguments": [ - "0x461DF243955aD5493cFa33434c2B7CfF2C583dc7" - ], - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x3d2482", - "value": "0x0", - "data": "0x60c0604052306080523480156200001557600080fd5b506040516200384f3803806200384f833981016040819052620000389162000140565b6001600160a01b038116620000605760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03811660a052620000776200007e565b5062000172565b600054610100900460ff1615620000eb5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811610156200013e576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6000602082840312156200015357600080fd5b81516001600160a01b03811681146200016b57600080fd5b9392505050565b60805160a051613694620001bb600039600081816103180152610d39015260008181610b2501528181610bbb01528181610f0e01528181610fa401526111b701526136946000f3fe6080604052600436106101a15760003560e01c806352d1902d116100e1578063a22cb4651161008a578063c87b56dd11610064578063c87b56dd1461052a578063e985e9c51461054a578063ef647e10146105a0578063fc1dad81146105b557600080fd5b8063a22cb465146104ca578063b88d4fde146104ea578063c4d66de81461050a57600080fd5b806370a08231116100bb57806370a082311461048057806395d89b41146104a05780639b0c6be4146104b557600080fd5b806352d1902d146103f757806354fd4d501461041a5780636352211e1461046057600080fd5b80632c5cefa31161014e5780633da52093116101285780633da520931461035a57806342842e0e146103a45780634f1ef286146103c4578063503fa317146103d757600080fd5b80632c5cefa3146102a45780632dd31000146103065780633659cfe61461033a57600080fd5b8063095ea7b31161017f578063095ea7b31461024257806319129e5a1461026457806323b872dd1461028457600080fd5b806301ffc9a7146101a657806306fdde03146101db578063081812fc146101fd575b600080fd5b3480156101b257600080fd5b506101c66101c1366004612d07565b6105ff565b60405190151581526020015b60405180910390f35b3480156101e757600080fd5b506101f06106e4565b6040516101d29190612d92565b34801561020957600080fd5b5061021d610218366004612da5565b610776565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101d2565b34801561024e57600080fd5b5061026261025d366004612de0565b6107aa565b005b34801561027057600080fd5b5061026261027f366004612e0c565b610907565b34801561029057600080fd5b5061026261029f366004612e29565b610a87565b3480156102b057600080fd5b5061021d6102bf366004612da5565b60009081527f5648324915b730d22cca7279385130ad43fd4829d795fb20e9ab398bfe537e90602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b34801561031257600080fd5b5061021d7f000000000000000000000000000000000000000000000000000000000000000081565b34801561034657600080fd5b50610262610355366004612e0c565b610b0e565b34801561036657600080fd5b5061037a610375366004612e6a565b610cdf565b6040805192835273ffffffffffffffffffffffffffffffffffffffff9091166020830152016101d2565b3480156103b057600080fd5b506102626103bf366004612e29565b610edc565b6102626103d2366004612f7f565b610ef7565b3480156103e357600080fd5b506101c66103f2366004612e0c565b6110b9565b34801561040357600080fd5b5061040c61119d565b6040519081526020016101d2565b34801561042657600080fd5b5060408051808201909152600581527f302e312e3000000000000000000000000000000000000000000000000000000060208201526101f0565b34801561046c57600080fd5b5061021d61047b366004612da5565b61126f565b34801561048c57600080fd5b5061040c61049b366004612e0c565b6112e1565b3480156104ac57600080fd5b506101f0611395565b3480156104c157600080fd5b5061021d600081565b3480156104d657600080fd5b506102626104e5366004612fdd565b6113a4565b3480156104f657600080fd5b50610262610505366004613016565b6113af565b34801561051657600080fd5b50610262610525366004612e0c565b61143d565b34801561053657600080fd5b506101f0610545366004612da5565b611633565b34801561055657600080fd5b506101c6610565366004613082565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260ce6020908152604080832093909416825291909152205460ff1690565b3480156105ac57600080fd5b5061040c600081565b3480156105c157600080fd5b507f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b65473ffffffffffffffffffffffffffffffffffffffff1661021d565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061069257507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b806106de57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b606060c980546106f3906130b0565b80601f016020809104026020016040519081016040528092919081815260200182805461071f906130b0565b801561076c5780601f106107415761010080835404028352916020019161076c565b820191906000526020600020905b81548152906001019060200180831161074f57829003601f168201915b5050505050905090565b60006107818261171f565b50600090815260cd602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60006107b58261126f565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361085d5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff8216148061088657506108868133610565565b6108f85760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610854565b6109028383611790565b505050565b60006109138133611830565b610952576040517f75000dc000000000000000000000000000000000000000000000000000000000815260048101829052336024820152604401610854565b61099273ffffffffffffffffffffffffffffffffffffffff83167f7965db0b000000000000000000000000000000000000000000000000000000006118f8565b6109f8576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c0000000000000000000000000000000000006044820152606401610854565b7f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811782556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a2505050565b610a91338261191b565b610b035760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610854565b6109028383836119da565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610bb95760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610854565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610c2e7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610cb75760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610854565b610cc081611c87565b60408051600080825260208201909252610cdc91839190611cf1565b50565b600080807f5648324915b730d22cca7279385130ad43fd4829d795fb20e9ab398bfe537e8f905060008160000160008154610d1990613103565b91829055509050600073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000166386df779e83610d698980613162565b610d7660208c018c613162565b610d8360408e018e613162565b6040518863ffffffff1660e01b8152600401610da59796959493929190613217565b6020604051808303816000875af1158015610dc4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610de89190613267565b6000838152600185016020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790559050610e456060870187613162565b6000848152600286016020526040902091610e619190836132d2565b50610e6c3383611ebc565b7f071096a6b974f736d72b386641c048d2b40ab6731f5e6da2a22c95b530e81bd7338383610e9a8a80613162565b610ea760208d018d613162565b610eb460608f018f613162565b604051610ec9999897969594939291906133ed565b60405180910390a1909590945092505050565b610902838383604051806020016040528060008152506113af565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610fa25760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610854565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166110177f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff16146110a05760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610854565b6110a982611c87565b6110b582826001611cf1565b5050565b60008173ffffffffffffffffffffffffffffffffffffffff1663b9d0787c6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611140575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261113d91810190613465565b60015b61114c57506000919050565b60009081527f5648324915b730d22cca7279385130ad43fd4829d795fb20e9ab398bfe537e90602052604090205473ffffffffffffffffffffffffffffffffffffffff908116921691909114919050565b60003073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461124a5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610854565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b600081815260cb602052604081205473ffffffffffffffffffffffffffffffffffffffff16806106de5760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610854565b600073ffffffffffffffffffffffffffffffffffffffff821661136c5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e657200000000000000000000000000000000000000000000006064820152608401610854565b5073ffffffffffffffffffffffffffffffffffffffff16600090815260cc602052604090205490565b606060ca80546106f3906130b0565b6110b5338383611ed6565b6113b9338361191b565b61142b5760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610854565b61143784848484611fe9565b50505050565b600054610100900460ff161580801561145d5750600054600160ff909116105b806114775750303b158015611477575060005460ff166001145b6114e95760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610854565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561154757600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61154f612072565b611558826120f1565b6115cc6040518060400160405280600e81526020017f53746f72792050726f746f636f6c0000000000000000000000000000000000008152506040518060400160405280600281526020017f535000000000000000000000000000000000000000000000000000000000000081525061238b565b80156110b557600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15050565b606061163e8261171f565b60008281527f5648324915b730d22cca7279385130ad43fd4829d795fb20e9ab398bfe537e916020526040902080547f5648324915b730d22cca7279385130ad43fd4829d795fb20e9ab398bfe537e8f9190611699906130b0565b80601f01602080910402602001604051908101604052809291908181526020018280546116c5906130b0565b80156117125780601f106116e757610100808354040283529160200191611712565b820191906000526020600020905b8154815290600101906020018083116116f557829003601f168201915b5050505050915050919050565b600081815260cb602052604090205473ffffffffffffffffffffffffffffffffffffffff16610cdc5760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610854565b600081815260cd6020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811790915581906117ea8261126f565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000807f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810187905273ffffffffffffffffffffffffffffffffffffffff86811660248301529293509116906391d1485490604401602060405180830381865afa1580156118cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118f0919061347e565b949350505050565b600061190383612412565b801561191457506119148383612476565b9392505050565b6000806119278361126f565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611995575073ffffffffffffffffffffffffffffffffffffffff808216600090815260ce602090815260408083209388168352929052205460ff165b806118f057508373ffffffffffffffffffffffffffffffffffffffff166119bb84610776565b73ffffffffffffffffffffffffffffffffffffffff1614949350505050565b8273ffffffffffffffffffffffffffffffffffffffff166119fa8261126f565b73ffffffffffffffffffffffffffffffffffffffff1614611a835760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610854565b73ffffffffffffffffffffffffffffffffffffffff8216611b0b5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610854565b8273ffffffffffffffffffffffffffffffffffffffff16611b2b8261126f565b73ffffffffffffffffffffffffffffffffffffffff1614611bb45760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610854565b600081815260cd6020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff87811680865260cc855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190559087168086528386208054600101905586865260cb90945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3611cb28133611830565b6110b5576040517f75000dc000000000000000000000000000000000000000000000000000000000815260048101829052336024820152604401610854565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611d245761090283612545565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611da9575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252611da691810190613465565b60015b611e1b5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608401610854565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114611eb05760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152608401610854565b50610902838383612635565b6110b582826040518060200160405280600081525061265a565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611f515760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610854565b73ffffffffffffffffffffffffffffffffffffffff838116600081815260ce602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b611ff48484846119da565b612000848484846126e3565b6114375760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610854565b600054610100900460ff166120ef5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610854565b565b600054610100900460ff16158080156121115750600054600160ff909116105b8061212b5750303b15801561212b575060005460ff166001145b61219d5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610854565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156121fb57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61223b73ffffffffffffffffffffffffffffffffffffffff83167f7965db0b000000000000000000000000000000000000000000000000000000006118f8565b6122a1576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c0000000000000000000000000000000000006044820152606401610854565b7f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811782556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a25080156110b557600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602001611627565b600054610100900460ff166124085760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610854565b6110b582826128bc565b600061243e827f01ffc9a700000000000000000000000000000000000000000000000000000000612476565b80156106de575061246f827fffffffff00000000000000000000000000000000000000000000000000000000612476565b1592915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d9150600051905082801561252e575060208210155b801561253a5750600081115b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff81163b6125cf5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401610854565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61263e83612952565b60008251118061264b5750805b1561090257611437838361299f565b6126648383612ac4565b61267160008484846126e3565b6109025760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610854565b600073ffffffffffffffffffffffffffffffffffffffff84163b156128b1576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a029061275a90339089908890889060040161349b565b6020604051808303816000875af19250505080156127b3575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526127b0918101906134e4565b60015b612866573d8080156127e1576040519150601f19603f3d011682016040523d82523d6000602084013e6127e6565b606091505b50805160000361285e5760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610854565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a02000000000000000000000000000000000000000000000000000000001490506118f0565b506001949350505050565b600054610100900460ff166129395760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610854565b60c96129458382613501565b5060ca6109028282613501565b61295b81612545565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606073ffffffffffffffffffffffffffffffffffffffff83163b612a2b5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e747261637400000000000000000000000000000000000000000000000000006064820152608401610854565b6000808473ffffffffffffffffffffffffffffffffffffffff1684604051612a53919061361b565b600060405180830381855af49150503d8060008114612a8e576040519150601f19603f3d011682016040523d82523d6000602084013e612a93565b606091505b5091509150612abb828260405180606001604052806027815260200161363860279139612c9b565b95945050505050565b73ffffffffffffffffffffffffffffffffffffffff8216612b275760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610854565b600081815260cb602052604090205473ffffffffffffffffffffffffffffffffffffffff1615612b995760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610854565b600081815260cb602052604090205473ffffffffffffffffffffffffffffffffffffffff1615612c0b5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610854565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260cc602090815260408083208054600101905584835260cb90915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60608315612caa575081611914565b6119148383815115612cbf5781518083602001fd5b8060405162461bcd60e51b81526004016108549190612d92565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610cdc57600080fd5b600060208284031215612d1957600080fd5b813561191481612cd9565b60005b83811015612d3f578181015183820152602001612d27565b50506000910152565b60008151808452612d60816020860160208601612d24565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006119146020830184612d48565b600060208284031215612db757600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610cdc57600080fd5b60008060408385031215612df357600080fd5b8235612dfe81612dbe565b946020939093013593505050565b600060208284031215612e1e57600080fd5b813561191481612dbe565b600080600060608486031215612e3e57600080fd5b8335612e4981612dbe565b92506020840135612e5981612dbe565b929592945050506040919091013590565b600060208284031215612e7c57600080fd5b813567ffffffffffffffff811115612e9357600080fd5b82016080818503121561191457600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112612ee557600080fd5b813567ffffffffffffffff80821115612f0057612f00612ea5565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715612f4657612f46612ea5565b81604052838152866020858801011115612f5f57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060408385031215612f9257600080fd5b8235612f9d81612dbe565b9150602083013567ffffffffffffffff811115612fb957600080fd5b612fc585828601612ed4565b9150509250929050565b8015158114610cdc57600080fd5b60008060408385031215612ff057600080fd5b8235612ffb81612dbe565b9150602083013561300b81612fcf565b809150509250929050565b6000806000806080858703121561302c57600080fd5b843561303781612dbe565b9350602085013561304781612dbe565b925060408501359150606085013567ffffffffffffffff81111561306a57600080fd5b61307687828801612ed4565b91505092959194509250565b6000806040838503121561309557600080fd5b82356130a081612dbe565b9150602083013561300b81612dbe565b600181811c908216806130c457607f821691505b6020821081036130fd577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361315b577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261319757600080fd5b83018035915067ffffffffffffffff8211156131b257600080fd5b6020019150368190038213156131c757600080fd5b9250929050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b87815260806020820152600061323160808301888a6131ce565b82810360408401526132448187896131ce565b905082810360608401526132598185876131ce565b9a9950505050505050505050565b60006020828403121561327957600080fd5b815161191481612dbe565b601f82111561090257600081815260208120601f850160051c810160208610156132ab5750805b601f850160051c820191505b818110156132ca578281556001016132b7565b505050505050565b67ffffffffffffffff8311156132ea576132ea612ea5565b6132fe836132f883546130b0565b83613284565b6000601f841160018114613350576000851561331a5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b1783556133e6565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b8281101561339f578685013582556020948501946001909201910161337f565b50868210156133da577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b600073ffffffffffffffffffffffffffffffffffffffff808c1683528a6020840152808a1660408401525060c0606083015261342d60c08301888a6131ce565b82810360808401526134408187896131ce565b905082810360a08401526134558185876131ce565b9c9b505050505050505050505050565b60006020828403121561347757600080fd5b5051919050565b60006020828403121561349057600080fd5b815161191481612fcf565b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250836040830152608060608301526134da6080830184612d48565b9695505050505050565b6000602082840312156134f657600080fd5b815161191481612cd9565b815167ffffffffffffffff81111561351b5761351b612ea5565b61352f8161352984546130b0565b84613284565b602080601f831160018114613582576000841561354c5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b1785556132ca565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156135cf578886015182559484019460019091019084016135b0565b508582101561360b57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b6000825161362d818460208701612d24565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220e799166ebc5a522412795994a9f93f82408c2d3707cb2ceabb5906d4f648638364736f6c63430008130033000000000000000000000000461df243955ad5493cfa33434c2b7cff2c583dc7", - "nonce": "0x41", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x661d50a3a273c474006d397f6db676d7089f1ba6d8f4a200f82afa232b3dfbf0", - "transactionType": "CALL", - "contractName": "ERC1967Proxy", - "contractAddress": "0xf157916d184598105FE4681eC93Be0f799599003", - "function": null, - "arguments": null, - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "to": "0xf157916d184598105fe4681ec93be0f799599003", - "gas": "0x10ab4", - "value": "0x0", - "data": "0x3659cfe600000000000000000000000008173a3d97aeae39078a5714279c2233b270592e", - "nonce": "0x42", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "transactionHash": "0xb3cf4327d9f0809ec44fe7f41a762d0931cb452d27f082cdd01ab2c4f93b7746", - "transactionIndex": "0x1", - "blockHash": "0x7e9c593f36f60e2d7433dedc2c02e06ec391d84c48ff9761288cb5cc5fdd08d7", - "blockNumber": "0x90e96c", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": null, - "cumulativeGasUsed": "0x2f95c9", - "gasUsed": "0x2f0bec", - "contractAddress": "0x08173A3D97aeAE39078a5714279c2233B270592e", - "logs": [ - { - "address": "0x08173A3D97aeAE39078a5714279c2233B270592e", - "topics": [ - "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000000ff", - "blockHash": "0x7e9c593f36f60e2d7433dedc2c02e06ec391d84c48ff9761288cb5cc5fdd08d7", - "blockNumber": "0x90e96c", - "transactionHash": "0xb3cf4327d9f0809ec44fe7f41a762d0931cb452d27f082cdd01ab2c4f93b7746", - "transactionIndex": "0x1", - "logIndex": "0x1", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000001000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d05e09" - }, - { - "transactionHash": "0x661d50a3a273c474006d397f6db676d7089f1ba6d8f4a200f82afa232b3dfbf0", - "transactionIndex": "0x2", - "blockHash": "0x7e9c593f36f60e2d7433dedc2c02e06ec391d84c48ff9761288cb5cc5fdd08d7", - "blockNumber": "0x90e96c", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": "0xf157916d184598105FE4681eC93Be0f799599003", - "cumulativeGasUsed": "0x3056e0", - "gasUsed": "0xc117", - "contractAddress": null, - "logs": [ - { - "address": "0xf157916d184598105FE4681eC93Be0f799599003", - "topics": [ - "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", - "0x00000000000000000000000008173a3d97aeae39078a5714279c2233b270592e" - ], - "data": "0x", - "blockHash": "0x7e9c593f36f60e2d7433dedc2c02e06ec391d84c48ff9761288cb5cc5fdd08d7", - "blockNumber": "0x90e96c", - "transactionHash": "0x661d50a3a273c474006d397f6db676d7089f1ba6d8f4a200f82afa232b3dfbf0", - "transactionIndex": "0x2", - "logIndex": "0x2", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000012000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000080000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d05e09" - } - ], - "libraries": [], - "pending": [], - "path": "/Users/drmanhattan/Workspace/StoryProtocol/protocol-contracts/broadcast/DevUpgrades.s.sol/5/run-latest.json", - "returns": {}, - "timestamp": 1691713674, - "chain": 5, - "multi": false, - "commit": "6aaf21d" -} \ No newline at end of file diff --git a/broadcast/DevUpgrades.s.sol/5/run-1691713712.json b/broadcast/DevUpgrades.s.sol/5/run-1691713712.json deleted file mode 100644 index 7c03deb8..00000000 --- a/broadcast/DevUpgrades.s.sol/5/run-1691713712.json +++ /dev/null @@ -1,118 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xb3cf4327d9f0809ec44fe7f41a762d0931cb452d27f082cdd01ab2c4f93b7746", - "transactionType": "CREATE", - "contractName": "FranchiseRegistry", - "contractAddress": "0x08173A3D97aeAE39078a5714279c2233B270592e", - "function": null, - "arguments": [ - "0x461DF243955aD5493cFa33434c2B7CfF2C583dc7" - ], - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x3d2482", - "value": "0x0", - "data": "0x60c0604052306080523480156200001557600080fd5b506040516200384f3803806200384f833981016040819052620000389162000140565b6001600160a01b038116620000605760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03811660a052620000776200007e565b5062000172565b600054610100900460ff1615620000eb5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811610156200013e576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6000602082840312156200015357600080fd5b81516001600160a01b03811681146200016b57600080fd5b9392505050565b60805160a051613694620001bb600039600081816103180152610d39015260008181610b2501528181610bbb01528181610f0e01528181610fa401526111b701526136946000f3fe6080604052600436106101a15760003560e01c806352d1902d116100e1578063a22cb4651161008a578063c87b56dd11610064578063c87b56dd1461052a578063e985e9c51461054a578063ef647e10146105a0578063fc1dad81146105b557600080fd5b8063a22cb465146104ca578063b88d4fde146104ea578063c4d66de81461050a57600080fd5b806370a08231116100bb57806370a082311461048057806395d89b41146104a05780639b0c6be4146104b557600080fd5b806352d1902d146103f757806354fd4d501461041a5780636352211e1461046057600080fd5b80632c5cefa31161014e5780633da52093116101285780633da520931461035a57806342842e0e146103a45780634f1ef286146103c4578063503fa317146103d757600080fd5b80632c5cefa3146102a45780632dd31000146103065780633659cfe61461033a57600080fd5b8063095ea7b31161017f578063095ea7b31461024257806319129e5a1461026457806323b872dd1461028457600080fd5b806301ffc9a7146101a657806306fdde03146101db578063081812fc146101fd575b600080fd5b3480156101b257600080fd5b506101c66101c1366004612d07565b6105ff565b60405190151581526020015b60405180910390f35b3480156101e757600080fd5b506101f06106e4565b6040516101d29190612d92565b34801561020957600080fd5b5061021d610218366004612da5565b610776565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101d2565b34801561024e57600080fd5b5061026261025d366004612de0565b6107aa565b005b34801561027057600080fd5b5061026261027f366004612e0c565b610907565b34801561029057600080fd5b5061026261029f366004612e29565b610a87565b3480156102b057600080fd5b5061021d6102bf366004612da5565b60009081527f5648324915b730d22cca7279385130ad43fd4829d795fb20e9ab398bfe537e90602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b34801561031257600080fd5b5061021d7f000000000000000000000000000000000000000000000000000000000000000081565b34801561034657600080fd5b50610262610355366004612e0c565b610b0e565b34801561036657600080fd5b5061037a610375366004612e6a565b610cdf565b6040805192835273ffffffffffffffffffffffffffffffffffffffff9091166020830152016101d2565b3480156103b057600080fd5b506102626103bf366004612e29565b610edc565b6102626103d2366004612f7f565b610ef7565b3480156103e357600080fd5b506101c66103f2366004612e0c565b6110b9565b34801561040357600080fd5b5061040c61119d565b6040519081526020016101d2565b34801561042657600080fd5b5060408051808201909152600581527f302e312e3000000000000000000000000000000000000000000000000000000060208201526101f0565b34801561046c57600080fd5b5061021d61047b366004612da5565b61126f565b34801561048c57600080fd5b5061040c61049b366004612e0c565b6112e1565b3480156104ac57600080fd5b506101f0611395565b3480156104c157600080fd5b5061021d600081565b3480156104d657600080fd5b506102626104e5366004612fdd565b6113a4565b3480156104f657600080fd5b50610262610505366004613016565b6113af565b34801561051657600080fd5b50610262610525366004612e0c565b61143d565b34801561053657600080fd5b506101f0610545366004612da5565b611633565b34801561055657600080fd5b506101c6610565366004613082565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260ce6020908152604080832093909416825291909152205460ff1690565b3480156105ac57600080fd5b5061040c600081565b3480156105c157600080fd5b507f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b65473ffffffffffffffffffffffffffffffffffffffff1661021d565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061069257507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b806106de57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b606060c980546106f3906130b0565b80601f016020809104026020016040519081016040528092919081815260200182805461071f906130b0565b801561076c5780601f106107415761010080835404028352916020019161076c565b820191906000526020600020905b81548152906001019060200180831161074f57829003601f168201915b5050505050905090565b60006107818261171f565b50600090815260cd602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60006107b58261126f565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361085d5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff8216148061088657506108868133610565565b6108f85760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610854565b6109028383611790565b505050565b60006109138133611830565b610952576040517f75000dc000000000000000000000000000000000000000000000000000000000815260048101829052336024820152604401610854565b61099273ffffffffffffffffffffffffffffffffffffffff83167f7965db0b000000000000000000000000000000000000000000000000000000006118f8565b6109f8576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c0000000000000000000000000000000000006044820152606401610854565b7f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811782556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a2505050565b610a91338261191b565b610b035760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610854565b6109028383836119da565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610bb95760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610854565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610c2e7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610cb75760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610854565b610cc081611c87565b60408051600080825260208201909252610cdc91839190611cf1565b50565b600080807f5648324915b730d22cca7279385130ad43fd4829d795fb20e9ab398bfe537e8f905060008160000160008154610d1990613103565b91829055509050600073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000166386df779e83610d698980613162565b610d7660208c018c613162565b610d8360408e018e613162565b6040518863ffffffff1660e01b8152600401610da59796959493929190613217565b6020604051808303816000875af1158015610dc4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610de89190613267565b6000838152600185016020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790559050610e456060870187613162565b6000848152600286016020526040902091610e619190836132d2565b50610e6c3383611ebc565b7f071096a6b974f736d72b386641c048d2b40ab6731f5e6da2a22c95b530e81bd7338383610e9a8a80613162565b610ea760208d018d613162565b610eb460608f018f613162565b604051610ec9999897969594939291906133ed565b60405180910390a1909590945092505050565b610902838383604051806020016040528060008152506113af565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610fa25760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610854565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166110177f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff16146110a05760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610854565b6110a982611c87565b6110b582826001611cf1565b5050565b60008173ffffffffffffffffffffffffffffffffffffffff1663b9d0787c6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611140575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261113d91810190613465565b60015b61114c57506000919050565b60009081527f5648324915b730d22cca7279385130ad43fd4829d795fb20e9ab398bfe537e90602052604090205473ffffffffffffffffffffffffffffffffffffffff908116921691909114919050565b60003073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461124a5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610854565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b600081815260cb602052604081205473ffffffffffffffffffffffffffffffffffffffff16806106de5760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610854565b600073ffffffffffffffffffffffffffffffffffffffff821661136c5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e657200000000000000000000000000000000000000000000006064820152608401610854565b5073ffffffffffffffffffffffffffffffffffffffff16600090815260cc602052604090205490565b606060ca80546106f3906130b0565b6110b5338383611ed6565b6113b9338361191b565b61142b5760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610854565b61143784848484611fe9565b50505050565b600054610100900460ff161580801561145d5750600054600160ff909116105b806114775750303b158015611477575060005460ff166001145b6114e95760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610854565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561154757600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61154f612072565b611558826120f1565b6115cc6040518060400160405280600e81526020017f53746f72792050726f746f636f6c0000000000000000000000000000000000008152506040518060400160405280600281526020017f535000000000000000000000000000000000000000000000000000000000000081525061238b565b80156110b557600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15050565b606061163e8261171f565b60008281527f5648324915b730d22cca7279385130ad43fd4829d795fb20e9ab398bfe537e916020526040902080547f5648324915b730d22cca7279385130ad43fd4829d795fb20e9ab398bfe537e8f9190611699906130b0565b80601f01602080910402602001604051908101604052809291908181526020018280546116c5906130b0565b80156117125780601f106116e757610100808354040283529160200191611712565b820191906000526020600020905b8154815290600101906020018083116116f557829003601f168201915b5050505050915050919050565b600081815260cb602052604090205473ffffffffffffffffffffffffffffffffffffffff16610cdc5760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610854565b600081815260cd6020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811790915581906117ea8261126f565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000807f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810187905273ffffffffffffffffffffffffffffffffffffffff86811660248301529293509116906391d1485490604401602060405180830381865afa1580156118cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118f0919061347e565b949350505050565b600061190383612412565b801561191457506119148383612476565b9392505050565b6000806119278361126f565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611995575073ffffffffffffffffffffffffffffffffffffffff808216600090815260ce602090815260408083209388168352929052205460ff165b806118f057508373ffffffffffffffffffffffffffffffffffffffff166119bb84610776565b73ffffffffffffffffffffffffffffffffffffffff1614949350505050565b8273ffffffffffffffffffffffffffffffffffffffff166119fa8261126f565b73ffffffffffffffffffffffffffffffffffffffff1614611a835760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610854565b73ffffffffffffffffffffffffffffffffffffffff8216611b0b5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610854565b8273ffffffffffffffffffffffffffffffffffffffff16611b2b8261126f565b73ffffffffffffffffffffffffffffffffffffffff1614611bb45760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610854565b600081815260cd6020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff87811680865260cc855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190559087168086528386208054600101905586865260cb90945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3611cb28133611830565b6110b5576040517f75000dc000000000000000000000000000000000000000000000000000000000815260048101829052336024820152604401610854565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611d245761090283612545565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611da9575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252611da691810190613465565b60015b611e1b5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608401610854565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114611eb05760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152608401610854565b50610902838383612635565b6110b582826040518060200160405280600081525061265a565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611f515760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610854565b73ffffffffffffffffffffffffffffffffffffffff838116600081815260ce602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b611ff48484846119da565b612000848484846126e3565b6114375760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610854565b600054610100900460ff166120ef5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610854565b565b600054610100900460ff16158080156121115750600054600160ff909116105b8061212b5750303b15801561212b575060005460ff166001145b61219d5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610854565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156121fb57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61223b73ffffffffffffffffffffffffffffffffffffffff83167f7965db0b000000000000000000000000000000000000000000000000000000006118f8565b6122a1576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c0000000000000000000000000000000000006044820152606401610854565b7f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811782556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a25080156110b557600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602001611627565b600054610100900460ff166124085760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610854565b6110b582826128bc565b600061243e827f01ffc9a700000000000000000000000000000000000000000000000000000000612476565b80156106de575061246f827fffffffff00000000000000000000000000000000000000000000000000000000612476565b1592915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d9150600051905082801561252e575060208210155b801561253a5750600081115b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff81163b6125cf5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401610854565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61263e83612952565b60008251118061264b5750805b1561090257611437838361299f565b6126648383612ac4565b61267160008484846126e3565b6109025760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610854565b600073ffffffffffffffffffffffffffffffffffffffff84163b156128b1576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a029061275a90339089908890889060040161349b565b6020604051808303816000875af19250505080156127b3575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526127b0918101906134e4565b60015b612866573d8080156127e1576040519150601f19603f3d011682016040523d82523d6000602084013e6127e6565b606091505b50805160000361285e5760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610854565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a02000000000000000000000000000000000000000000000000000000001490506118f0565b506001949350505050565b600054610100900460ff166129395760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610854565b60c96129458382613501565b5060ca6109028282613501565b61295b81612545565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606073ffffffffffffffffffffffffffffffffffffffff83163b612a2b5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e747261637400000000000000000000000000000000000000000000000000006064820152608401610854565b6000808473ffffffffffffffffffffffffffffffffffffffff1684604051612a53919061361b565b600060405180830381855af49150503d8060008114612a8e576040519150601f19603f3d011682016040523d82523d6000602084013e612a93565b606091505b5091509150612abb828260405180606001604052806027815260200161363860279139612c9b565b95945050505050565b73ffffffffffffffffffffffffffffffffffffffff8216612b275760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610854565b600081815260cb602052604090205473ffffffffffffffffffffffffffffffffffffffff1615612b995760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610854565b600081815260cb602052604090205473ffffffffffffffffffffffffffffffffffffffff1615612c0b5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610854565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260cc602090815260408083208054600101905584835260cb90915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60608315612caa575081611914565b6119148383815115612cbf5781518083602001fd5b8060405162461bcd60e51b81526004016108549190612d92565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610cdc57600080fd5b600060208284031215612d1957600080fd5b813561191481612cd9565b60005b83811015612d3f578181015183820152602001612d27565b50506000910152565b60008151808452612d60816020860160208601612d24565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006119146020830184612d48565b600060208284031215612db757600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610cdc57600080fd5b60008060408385031215612df357600080fd5b8235612dfe81612dbe565b946020939093013593505050565b600060208284031215612e1e57600080fd5b813561191481612dbe565b600080600060608486031215612e3e57600080fd5b8335612e4981612dbe565b92506020840135612e5981612dbe565b929592945050506040919091013590565b600060208284031215612e7c57600080fd5b813567ffffffffffffffff811115612e9357600080fd5b82016080818503121561191457600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112612ee557600080fd5b813567ffffffffffffffff80821115612f0057612f00612ea5565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715612f4657612f46612ea5565b81604052838152866020858801011115612f5f57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060408385031215612f9257600080fd5b8235612f9d81612dbe565b9150602083013567ffffffffffffffff811115612fb957600080fd5b612fc585828601612ed4565b9150509250929050565b8015158114610cdc57600080fd5b60008060408385031215612ff057600080fd5b8235612ffb81612dbe565b9150602083013561300b81612fcf565b809150509250929050565b6000806000806080858703121561302c57600080fd5b843561303781612dbe565b9350602085013561304781612dbe565b925060408501359150606085013567ffffffffffffffff81111561306a57600080fd5b61307687828801612ed4565b91505092959194509250565b6000806040838503121561309557600080fd5b82356130a081612dbe565b9150602083013561300b81612dbe565b600181811c908216806130c457607f821691505b6020821081036130fd577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361315b577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261319757600080fd5b83018035915067ffffffffffffffff8211156131b257600080fd5b6020019150368190038213156131c757600080fd5b9250929050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b87815260806020820152600061323160808301888a6131ce565b82810360408401526132448187896131ce565b905082810360608401526132598185876131ce565b9a9950505050505050505050565b60006020828403121561327957600080fd5b815161191481612dbe565b601f82111561090257600081815260208120601f850160051c810160208610156132ab5750805b601f850160051c820191505b818110156132ca578281556001016132b7565b505050505050565b67ffffffffffffffff8311156132ea576132ea612ea5565b6132fe836132f883546130b0565b83613284565b6000601f841160018114613350576000851561331a5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b1783556133e6565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b8281101561339f578685013582556020948501946001909201910161337f565b50868210156133da577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b600073ffffffffffffffffffffffffffffffffffffffff808c1683528a6020840152808a1660408401525060c0606083015261342d60c08301888a6131ce565b82810360808401526134408187896131ce565b905082810360a08401526134558185876131ce565b9c9b505050505050505050505050565b60006020828403121561347757600080fd5b5051919050565b60006020828403121561349057600080fd5b815161191481612fcf565b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250836040830152608060608301526134da6080830184612d48565b9695505050505050565b6000602082840312156134f657600080fd5b815161191481612cd9565b815167ffffffffffffffff81111561351b5761351b612ea5565b61352f8161352984546130b0565b84613284565b602080601f831160018114613582576000841561354c5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b1785556132ca565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156135cf578886015182559484019460019091019084016135b0565b508582101561360b57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b6000825161362d818460208701612d24565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220e799166ebc5a522412795994a9f93f82408c2d3707cb2ceabb5906d4f648638364736f6c63430008130033000000000000000000000000461df243955ad5493cfa33434c2b7cff2c583dc7", - "nonce": "0x41", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x661d50a3a273c474006d397f6db676d7089f1ba6d8f4a200f82afa232b3dfbf0", - "transactionType": "CALL", - "contractName": "ERC1967Proxy", - "contractAddress": "0xf157916d184598105FE4681eC93Be0f799599003", - "function": null, - "arguments": null, - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "to": "0xf157916d184598105fe4681ec93be0f799599003", - "gas": "0x10ab4", - "value": "0x0", - "data": "0x3659cfe600000000000000000000000008173a3d97aeae39078a5714279c2233b270592e", - "nonce": "0x42", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "transactionHash": "0xb3cf4327d9f0809ec44fe7f41a762d0931cb452d27f082cdd01ab2c4f93b7746", - "transactionIndex": "0x1", - "blockHash": "0x7e9c593f36f60e2d7433dedc2c02e06ec391d84c48ff9761288cb5cc5fdd08d7", - "blockNumber": "0x90e96c", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": null, - "cumulativeGasUsed": "0x2f95c9", - "gasUsed": "0x2f0bec", - "contractAddress": "0x08173A3D97aeAE39078a5714279c2233B270592e", - "logs": [ - { - "address": "0x08173A3D97aeAE39078a5714279c2233B270592e", - "topics": [ - "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000000ff", - "blockHash": "0x7e9c593f36f60e2d7433dedc2c02e06ec391d84c48ff9761288cb5cc5fdd08d7", - "blockNumber": "0x90e96c", - "transactionHash": "0xb3cf4327d9f0809ec44fe7f41a762d0931cb452d27f082cdd01ab2c4f93b7746", - "transactionIndex": "0x1", - "logIndex": "0x1", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000001000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d05e09" - }, - { - "transactionHash": "0x661d50a3a273c474006d397f6db676d7089f1ba6d8f4a200f82afa232b3dfbf0", - "transactionIndex": "0x2", - "blockHash": "0x7e9c593f36f60e2d7433dedc2c02e06ec391d84c48ff9761288cb5cc5fdd08d7", - "blockNumber": "0x90e96c", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": "0xf157916d184598105FE4681eC93Be0f799599003", - "cumulativeGasUsed": "0x3056e0", - "gasUsed": "0xc117", - "contractAddress": null, - "logs": [ - { - "address": "0xf157916d184598105FE4681eC93Be0f799599003", - "topics": [ - "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", - "0x00000000000000000000000008173a3d97aeae39078a5714279c2233b270592e" - ], - "data": "0x", - "blockHash": "0x7e9c593f36f60e2d7433dedc2c02e06ec391d84c48ff9761288cb5cc5fdd08d7", - "blockNumber": "0x90e96c", - "transactionHash": "0x661d50a3a273c474006d397f6db676d7089f1ba6d8f4a200f82afa232b3dfbf0", - "transactionIndex": "0x2", - "logIndex": "0x2", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000012000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000080000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d05e09" - } - ], - "libraries": [], - "pending": [], - "path": "/Users/drmanhattan/Workspace/StoryProtocol/protocol-contracts/broadcast/DevUpgrades.s.sol/5/run-latest.json", - "returns": {}, - "timestamp": 1691713712, - "chain": 5, - "multi": false, - "commit": "6aaf21d" -} \ No newline at end of file diff --git a/broadcast/DevUpgrades.s.sol/5/run-1691870521.json b/broadcast/DevUpgrades.s.sol/5/run-1691870521.json deleted file mode 100644 index d3f7e3f6..00000000 --- a/broadcast/DevUpgrades.s.sol/5/run-1691870521.json +++ /dev/null @@ -1,81 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xbd67ab955f3c18b346f0972167637cf56a32bf420622707a6ee62ffe8d4f3a7a", - "transactionType": "CREATE", - "contractName": "FranchiseRegistry", - "contractAddress": "0x88f3a4cc4Eaa2433c44A7c502C7AbBd2C76b03e2", - "function": null, - "arguments": [ - "0x461DF243955aD5493cFa33434c2B7CfF2C583dc7" - ], - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x47a825", - "value": "0x0", - "data": "0x60c0604052306080523480156200001557600080fd5b50604051620041ed380380620041ed833981016040819052620000389162000140565b6001600160a01b038116620000605760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03811660a052620000776200007e565b5062000172565b600054610100900460ff1615620000eb5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811610156200013e576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6000602082840312156200015357600080fd5b81516001600160a01b03811681146200016b57600080fd5b9392505050565b60805160a051614032620001bb6000396000818161036701526110b8015260008181610cc401528181610d5a0152818161128d01528181611323015261153601526140326000f3fe6080604052600436106101c25760003560e01c8063503fa317116100f7578063a22cb46511610095578063cc5b608411610064578063cc5b6084146105ab578063e985e9c5146105cb578063ef647e1014610621578063fc1dad811461063657600080fd5b8063a22cb4651461052b578063b88d4fde1461054b578063c4d66de81461056b578063c87b56dd1461058b57600080fd5b80636352211e116100d15780636352211e146104c157806370a08231146104e157806395d89b41146105015780639b0c6be41461051657600080fd5b8063503fa3171461044657806352d1902d1461046657806354fd4d501461047b57600080fd5b80632c5cefa3116101645780633b781c171161013e5780633b781c17146103a95780633da52093146103c957806342842e0e146104135780634f1ef2861461043357600080fd5b80632c5cefa3146102f35780632dd31000146103555780633659cfe61461038957600080fd5b8063095ea7b3116101a0578063095ea7b31461026357806319129e5a1461028557806323b872dd146102a5578063290cacf9146102c557600080fd5b806301ffc9a7146101c757806306fdde03146101fc578063081812fc1461021e575b600080fd5b3480156101d357600080fd5b506101e76101e2366004613316565b610680565b60405190151581526020015b60405180910390f35b34801561020857600080fd5b50610211610765565b6040516101f391906133a1565b34801561022a57600080fd5b5061023e6102393660046133b4565b6107f7565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101f3565b34801561026f57600080fd5b5061028361027e3660046133ef565b61082b565b005b34801561029157600080fd5b506102836102a036600461341b565b610988565b3480156102b157600080fd5b506102836102c0366004613438565b610b08565b3480156102d157600080fd5b506102e56102e036600461354a565b610b8f565b6040519081526020016101f3565b3480156102ff57600080fd5b5061023e61030e3660046133b4565b60009081527f5648324915b730d22cca7279385130ad43fd4829d795fb20e9ab398bfe537e90602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b34801561036157600080fd5b5061023e7f000000000000000000000000000000000000000000000000000000000000000081565b34801561039557600080fd5b506102836103a436600461341b565b610cad565b3480156103b557600080fd5b506102e56103c4366004613614565b610e7e565b3480156103d557600080fd5b506103e96103e43660046136ce565b61105e565b6040805192835273ffffffffffffffffffffffffffffffffffffffff9091166020830152016101f3565b34801561041f57600080fd5b5061028361042e366004613438565b61125b565b610283610441366004613729565b611276565b34801561045257600080fd5b506101e761046136600461341b565b611438565b34801561047257600080fd5b506102e561151c565b34801561048757600080fd5b5060408051808201909152600581527f302e312e300000000000000000000000000000000000000000000000000000006020820152610211565b3480156104cd57600080fd5b5061023e6104dc3660046133b4565b6115ee565b3480156104ed57600080fd5b506102e56104fc36600461341b565b611660565b34801561050d57600080fd5b50610211611714565b34801561052257600080fd5b5061023e600081565b34801561053757600080fd5b50610283610546366004613779565b611723565b34801561055757600080fd5b506102836105663660046137b2565b61172e565b34801561057757600080fd5b5061028361058636600461341b565b6117bc565b34801561059757600080fd5b506102116105a63660046133b4565b6119b2565b3480156105b757600080fd5b506102836105c636600461341b565b611a9e565b3480156105d757600080fd5b506101e76105e636600461381e565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260ce6020908152604080832093909416825291909152205460ff1690565b34801561062d57600080fd5b506102e5600081565b34801561064257600080fd5b507f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b65473ffffffffffffffffffffffffffffffffffffffff1661023e565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061071357507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b8061075f57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b606060c980546107749061384c565b80601f01602080910402602001604051908101604052809291908181526020018280546107a09061384c565b80156107ed5780601f106107c2576101008083540402835291602001916107ed565b820191906000526020600020905b8154815290600101906020018083116107d057829003601f168201915b5050505050905090565b600061080282611b51565b50600090815260cd602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b6000610836826115ee565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036108de5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff82161480610907575061090781336105e6565b6109795760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c00000060648201526084016108d5565b6109838383611bc2565b505050565b60006109948133611c62565b6109d3576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016108d5565b610a1373ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000611d2a565b610a79576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c00000000000000000000000000000000000060448201526064016108d5565b7f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811782556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a2505050565b610b123382611d4d565b610b845760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f7665640000000000000000000000000000000000000060648201526084016108d5565b610983838383611e0c565b6000807f5648324915b730d22cca7279385130ad43fd4829d795fb20e9ab398bfe537e8f600088815260018201602052604080822054600384015491517f2fb49eff00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91821660048201819052602482018c9052949550911690632fb49eff90604401602060405180830381865afa158015610c41573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c65919061389f565b604080518082018252338152815180830190925260008083526020838101829052820192909252919250610c9f9088908a9085858b6120b9565b9a9950505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610d585760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016108d5565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610dcd7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610e565760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016108d5565b610e5f81612296565b60408051600080825260208201909252610e7b91839190612300565b50565b60008881527f5648324915b730d22cca7279385130ad43fd4829d795fb20e9ab398bfe537e9060205260408082205490517f99258ca10000000000000000000000000000000000000000000000000000000081527f5648324915b730d22cca7279385130ad43fd4829d795fb20e9ab398bfe537e8f9173ffffffffffffffffffffffffffffffffffffffff169081906399258ca190610f2f908d908d908d908d908d908d908d903390600401613901565b6020604051808303816000875af1158015610f4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f72919061389f565b925060006040518060400160405280600073ffffffffffffffffffffffffffffffffffffffff16815260200160405180604001604052808573ffffffffffffffffffffffffffffffffffffffff16815260200187815250815250905061100d7f781e9f3557d8768f1963c458e1b351a046f8e4f612fd4a2c28f5132ee0c0c87b600180600085604051806020016040528060008152506120b9565b5061104e7facb6e50a24ac7b7075ce347695829fdb25124f5d7485df10299c2e269a3a9f8360006001600085604051806020016040528060008152506120b9565b5050505098975050505050505050565b600080807f5648324915b730d22cca7279385130ad43fd4829d795fb20e9ab398bfe537e8f905060008160000160008154611098906139a6565b91829055509050600073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000166386df779e836110e88980613a05565b6110f560208c018c613a05565b61110260408e018e613a05565b6040518863ffffffff1660e01b81526004016111249796959493929190613a6a565b6020604051808303816000875af1158015611143573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111679190613aac565b6000838152600185016020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff831617905590506111c46060870187613a05565b60008481526002860160205260409020916111e0919083613b17565b506111eb33836124cb565b7f071096a6b974f736d72b386641c048d2b40ab6731f5e6da2a22c95b530e81bd73383836112198a80613a05565b61122660208d018d613a05565b61123360608f018f613a05565b60405161124899989796959493929190613c32565b60405180910390a1909590945092505050565b6109838383836040518060200160405280600081525061172e565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630036113215760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016108d5565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166113967f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff161461141f5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016108d5565b61142882612296565b61143482826001612300565b5050565b60008173ffffffffffffffffffffffffffffffffffffffff1663b9d0787c6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156114bf575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526114bc9181019061389f565b60015b6114cb57506000919050565b60009081527f5648324915b730d22cca7279385130ad43fd4829d795fb20e9ab398bfe537e90602052604090205473ffffffffffffffffffffffffffffffffffffffff908116921691909114919050565b60003073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146115c95760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016108d5565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b600081815260cb602052604081205473ffffffffffffffffffffffffffffffffffffffff168061075f5760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e204944000000000000000060448201526064016108d5565b600073ffffffffffffffffffffffffffffffffffffffff82166116eb5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e6572000000000000000000000000000000000000000000000060648201526084016108d5565b5073ffffffffffffffffffffffffffffffffffffffff16600090815260cc602052604090205490565b606060ca80546107749061384c565b6114343383836124e5565b6117383383611d4d565b6117aa5760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f7665640000000000000000000000000000000000000060648201526084016108d5565b6117b6848484846125f8565b50505050565b600054610100900460ff16158080156117dc5750600054600160ff909116105b806117f65750303b1580156117f6575060005460ff166001145b6118685760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016108d5565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156118c657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6118ce612681565b6118d782612700565b61194b6040518060400160405280600e81526020017f53746f72792050726f746f636f6c0000000000000000000000000000000000008152506040518060400160405280600281526020017f535000000000000000000000000000000000000000000000000000000000000081525061299a565b801561143457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15050565b60606119bd82611b51565b60008281527f5648324915b730d22cca7279385130ad43fd4829d795fb20e9ab398bfe537e916020526040902080547f5648324915b730d22cca7279385130ad43fd4829d795fb20e9ab398bfe537e8f9190611a189061384c565b80601f0160208091040260200160405190810160405280929190818152602001828054611a449061384c565b8015611a915780601f10611a6657610100808354040283529160200191611a91565b820191906000526020600020905b815481529060010190602001808311611a7457829003601f168201915b5050505050915050919050565b73ffffffffffffffffffffffffffffffffffffffff8116611aeb576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f5648324915b730d22cca7279385130ad43fd4829d795fb20e9ab398bfe537e9280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600081815260cb602052604090205473ffffffffffffffffffffffffffffffffffffffff16610e7b5760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e204944000000000000000060448201526064016108d5565b600081815260cd6020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091558190611c1c826115ee565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000807f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810187905273ffffffffffffffffffffffffffffffffffffffff86811660248301529293509116906391d1485490604401602060405180830381865afa158015611cfe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d229190613caa565b949350505050565b6000611d3583612a21565b8015611d465750611d468383612a85565b9392505050565b600080611d59836115ee565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611dc7575073ffffffffffffffffffffffffffffffffffffffff808216600090815260ce602090815260408083209388168352929052205460ff165b80611d2257508373ffffffffffffffffffffffffffffffffffffffff16611ded846107f7565b73ffffffffffffffffffffffffffffffffffffffff1614949350505050565b8273ffffffffffffffffffffffffffffffffffffffff16611e2c826115ee565b73ffffffffffffffffffffffffffffffffffffffff1614611eb55760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e657200000000000000000000000000000000000000000000000000000060648201526084016108d5565b73ffffffffffffffffffffffffffffffffffffffff8216611f3d5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016108d5565b8273ffffffffffffffffffffffffffffffffffffffff16611f5d826115ee565b73ffffffffffffffffffffffffffffffffffffffff1614611fe65760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e657200000000000000000000000000000000000000000000000000000060648201526084016108d5565b600081815260cd6020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff87811680865260cc855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190559087168086528386208054600101905586865260cb90945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6000807f5648324915b730d22cca7279385130ad43fd4829d795fb20e9ab398bfe537e8f90508060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f782f67533878b60405180606001604052806000151581526020018c151581526020018d1515815250896040518060400160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001604051806020016040528060008152508152506040518060400160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001604051806020016040528060008152508152506040518060a0016040528060006dffffffffffffffffffffffffffff16815260200160006dffffffffffffffffffffffffffff168152602001600015158152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152508c60006040518b63ffffffff1660e01b81526004016122479a99989796959493929190613cfc565b6020604051808303816000875af1158015612266573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061228a919061389f565b98975050505050505050565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e36122c18133611c62565b611434576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016108d5565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156123335761098383612b54565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156123b8575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526123b59181019061389f565b60015b61242a5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016108d5565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81146124bf5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016108d5565b50610983838383612c44565b611434828260405180602001604052806000815250612c69565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036125605760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016108d5565b73ffffffffffffffffffffffffffffffffffffffff838116600081815260ce602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b612603848484611e0c565b61260f84848484612cf2565b6117b65760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016108d5565b600054610100900460ff166126fe5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016108d5565b565b600054610100900460ff16158080156127205750600054600160ff909116105b8061273a5750303b15801561273a575060005460ff166001145b6127ac5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016108d5565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561280a57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61284a73ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000611d2a565b6128b0576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c00000000000000000000000000000000000060448201526064016108d5565b7f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811782556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a250801561143457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020016119a6565b600054610100900460ff16612a175760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016108d5565b6114348282612ecb565b6000612a4d827f01ffc9a700000000000000000000000000000000000000000000000000000000612a85565b801561075f5750612a7e827fffffffff00000000000000000000000000000000000000000000000000000000612a85565b1592915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015612b3d575060208210155b8015612b495750600081115b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff81163b612bde5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016108d5565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b612c4d83612f61565b600082511180612c5a5750805b15610983576117b68383612fae565b612c7383836130d3565b612c806000848484612cf2565b6109835760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016108d5565b600073ffffffffffffffffffffffffffffffffffffffff84163b15612ec0576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a0290612d69903390899088908890600401613e39565b6020604051808303816000875af1925050508015612dc2575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252612dbf91810190613e82565b60015b612e75573d808015612df0576040519150601f19603f3d011682016040523d82523d6000602084013e612df5565b606091505b508051600003612e6d5760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016108d5565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050611d22565b506001949350505050565b600054610100900460ff16612f485760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016108d5565b60c9612f548382613e9f565b5060ca6109838282613e9f565b612f6a81612b54565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606073ffffffffffffffffffffffffffffffffffffffff83163b61303a5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e7472616374000000000000000000000000000000000000000000000000000060648201526084016108d5565b6000808473ffffffffffffffffffffffffffffffffffffffff16846040516130629190613fb9565b600060405180830381855af49150503d806000811461309d576040519150601f19603f3d011682016040523d82523d6000602084013e6130a2565b606091505b50915091506130ca8282604051806060016040528060278152602001613fd6602791396132aa565b95945050505050565b73ffffffffffffffffffffffffffffffffffffffff82166131365760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016108d5565b600081815260cb602052604090205473ffffffffffffffffffffffffffffffffffffffff16156131a85760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016108d5565b600081815260cb602052604090205473ffffffffffffffffffffffffffffffffffffffff161561321a5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016108d5565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260cc602090815260408083208054600101905584835260cb90915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b606083156132b9575081611d46565b611d4683838151156132ce5781518083602001fd5b8060405162461bcd60e51b81526004016108d591906133a1565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610e7b57600080fd5b60006020828403121561332857600080fd5b8135611d46816132e8565b60005b8381101561334e578181015183820152602001613336565b50506000910152565b6000815180845261336f816020860160208601613333565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611d466020830184613357565b6000602082840312156133c657600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610e7b57600080fd5b6000806040838503121561340257600080fd5b823561340d816133cd565b946020939093013593505050565b60006020828403121561342d57600080fd5b8135611d46816133cd565b60008060006060848603121561344d57600080fd5b8335613458816133cd565b92506020840135613468816133cd565b929592945050506040919091013590565b8015158114610e7b57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600067ffffffffffffffff808411156134d1576134d1613487565b604051601f85017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190828211818310171561351757613517613487565b8160405280935085815286868601111561353057600080fd5b858560208301376000602087830101525050509392505050565b600080600080600060a0868803121561356257600080fd5b8535945060208601359350604086013561357b81613479565b925060608601359150608086013567ffffffffffffffff81111561359e57600080fd5b8601601f810188136135af57600080fd5b6135be888235602084016134b6565b9150509295509295909350565b60008083601f8401126135dd57600080fd5b50813567ffffffffffffffff8111156135f557600080fd5b60208301915083602082850101111561360d57600080fd5b9250929050565b60008060008060008060008060a0898b03121561363057600080fd5b8835975060208901356007811061364657600080fd5b9650604089013567ffffffffffffffff8082111561366357600080fd5b61366f8c838d016135cb565b909850965060608b013591508082111561368857600080fd5b6136948c838d016135cb565b909650945060808b01359150808211156136ad57600080fd5b506136ba8b828c016135cb565b999c989b5096995094979396929594505050565b6000602082840312156136e057600080fd5b813567ffffffffffffffff8111156136f757600080fd5b820160808185031215611d4657600080fd5b600082601f83011261371a57600080fd5b611d46838335602085016134b6565b6000806040838503121561373c57600080fd5b8235613747816133cd565b9150602083013567ffffffffffffffff81111561376357600080fd5b61376f85828601613709565b9150509250929050565b6000806040838503121561378c57600080fd5b8235613797816133cd565b915060208301356137a781613479565b809150509250929050565b600080600080608085870312156137c857600080fd5b84356137d3816133cd565b935060208501356137e3816133cd565b925060408501359150606085013567ffffffffffffffff81111561380657600080fd5b61381287828801613709565b91505092959194509250565b6000806040838503121561383157600080fd5b823561383c816133cd565b915060208301356137a7816133cd565b600181811c9082168061386057607f821691505b602082108103613899577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b6000602082840312156138b157600080fd5b5051919050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b600060078a1061393a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b89825260a0602083015261395260a08301898b6138b8565b828103604084015261396581888a6138b8565b9050828103606084015261397a8186886138b8565b91505073ffffffffffffffffffffffffffffffffffffffff831660808301529998505050505050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036139fe577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112613a3a57600080fd5b83018035915067ffffffffffffffff821115613a5557600080fd5b60200191503681900382131561360d57600080fd5b878152608060208201526000613a8460808301888a6138b8565b8281036040840152613a978187896138b8565b90508281036060840152610c9f8185876138b8565b600060208284031215613abe57600080fd5b8151611d46816133cd565b601f82111561098357600081815260208120601f850160051c81016020861015613af05750805b601f850160051c820191505b81811015613b0f57828155600101613afc565b505050505050565b67ffffffffffffffff831115613b2f57613b2f613487565b613b4383613b3d835461384c565b83613ac9565b6000601f841160018114613b955760008515613b5f5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355613c2b565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b82811015613be45786850135825560209485019460019092019101613bc4565b5086821015613c1f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b600073ffffffffffffffffffffffffffffffffffffffff808c1683528a6020840152808a1660408401525060c06060830152613c7260c08301888a6138b8565b8281036080840152613c858187896138b8565b905082810360a0840152613c9a8185876138b8565b9c9b505050505050505050505050565b600060208284031215613cbc57600080fd5b8151611d4681613479565b73ffffffffffffffffffffffffffffffffffffffff81511682526000602082015160406020850152611d226040850182613357565b73ffffffffffffffffffffffffffffffffffffffff8b8116825260208083018c905260408084018c90528a51151560608501528a820151151560808501528a0151151560a08401528851821660c084015288810151805190921660e08401520151610100820152600061024080610120840152613d7b81840189613cc7565b9050828103610140840152613d908188613cc7565b86516dffffffffffffffffffffffffffff908116610160860152602088015116610180850152604087015115156101a0850152606087015173ffffffffffffffffffffffffffffffffffffffff166101c085015260808701516101e08501529050828103610200840152613e048186613357565b915050613e2a61022083018473ffffffffffffffffffffffffffffffffffffffff169052565b9b9a5050505050505050505050565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525083604083015260806060830152613e786080830184613357565b9695505050505050565b600060208284031215613e9457600080fd5b8151611d46816132e8565b815167ffffffffffffffff811115613eb957613eb9613487565b613ecd81613ec7845461384c565b84613ac9565b602080601f831160018114613f205760008415613eea5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555613b0f565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015613f6d57888601518255948401946001909101908401613f4e565b5085821015613fa957878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b60008251613fcb818460208701613333565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122069df0d4308aa6890cb1a63ed5fde72e5003558e570cb3043f0e387b70837636e64736f6c63430008130033000000000000000000000000461df243955ad5493cfa33434c2b7cff2c583dc7", - "nonce": "0x45", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x7bdeee174e4ec6fc6a65a26d422775df699cb5cab402bbdd9b8fa97d3f2d90a5", - "transactionType": "CALL", - "contractName": "ERC1967Proxy", - "contractAddress": "0xf157916d184598105FE4681eC93Be0f799599003", - "function": null, - "arguments": null, - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "to": "0xf157916d184598105fe4681ec93be0f799599003", - "gas": "0x10ad1", - "value": "0x0", - "data": "0x3659cfe600000000000000000000000088f3a4cc4eaa2433c44a7c502c7abbd2c76b03e2", - "nonce": "0x46", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x66ecb91002da900a2889cda1ec2af547945c55f6e2f175366566dc483fbb9d0f", - "transactionType": "CALL", - "contractName": "ERC1967Proxy", - "contractAddress": "0xf157916d184598105FE4681eC93Be0f799599003", - "function": null, - "arguments": null, - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "to": "0xf157916d184598105fe4681ec93be0f799599003", - "gas": "0x10757", - "value": "0x0", - "data": "0xcc5b6084000000000000000000000000fbfa729428af206a084e18328ec923587193525d", - "nonce": "0x47", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [], - "libraries": [], - "pending": [ - "0xbd67ab955f3c18b346f0972167637cf56a32bf420622707a6ee62ffe8d4f3a7a", - "0x7bdeee174e4ec6fc6a65a26d422775df699cb5cab402bbdd9b8fa97d3f2d90a5", - "0x66ecb91002da900a2889cda1ec2af547945c55f6e2f175366566dc483fbb9d0f" - ], - "path": "/Users/drmanhattan/Workspace/StoryProtocol/protocol-contracts/broadcast/DevUpgrades.s.sol/5/run-latest.json", - "returns": {}, - "timestamp": 1691870521, - "chain": 5, - "multi": false, - "commit": "53ab00d" -} \ No newline at end of file diff --git a/broadcast/DevUpgrades.s.sol/5/run-1691870540.json b/broadcast/DevUpgrades.s.sol/5/run-1691870540.json deleted file mode 100644 index d52a899a..00000000 --- a/broadcast/DevUpgrades.s.sol/5/run-1691870540.json +++ /dev/null @@ -1,155 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xbd67ab955f3c18b346f0972167637cf56a32bf420622707a6ee62ffe8d4f3a7a", - "transactionType": "CREATE", - "contractName": "FranchiseRegistry", - "contractAddress": "0x88f3a4cc4Eaa2433c44A7c502C7AbBd2C76b03e2", - "function": null, - "arguments": [ - "0x461DF243955aD5493cFa33434c2B7CfF2C583dc7" - ], - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x47a825", - "value": "0x0", - "data": "0x60c0604052306080523480156200001557600080fd5b50604051620041ed380380620041ed833981016040819052620000389162000140565b6001600160a01b038116620000605760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03811660a052620000776200007e565b5062000172565b600054610100900460ff1615620000eb5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811610156200013e576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6000602082840312156200015357600080fd5b81516001600160a01b03811681146200016b57600080fd5b9392505050565b60805160a051614032620001bb6000396000818161036701526110b8015260008181610cc401528181610d5a0152818161128d01528181611323015261153601526140326000f3fe6080604052600436106101c25760003560e01c8063503fa317116100f7578063a22cb46511610095578063cc5b608411610064578063cc5b6084146105ab578063e985e9c5146105cb578063ef647e1014610621578063fc1dad811461063657600080fd5b8063a22cb4651461052b578063b88d4fde1461054b578063c4d66de81461056b578063c87b56dd1461058b57600080fd5b80636352211e116100d15780636352211e146104c157806370a08231146104e157806395d89b41146105015780639b0c6be41461051657600080fd5b8063503fa3171461044657806352d1902d1461046657806354fd4d501461047b57600080fd5b80632c5cefa3116101645780633b781c171161013e5780633b781c17146103a95780633da52093146103c957806342842e0e146104135780634f1ef2861461043357600080fd5b80632c5cefa3146102f35780632dd31000146103555780633659cfe61461038957600080fd5b8063095ea7b3116101a0578063095ea7b31461026357806319129e5a1461028557806323b872dd146102a5578063290cacf9146102c557600080fd5b806301ffc9a7146101c757806306fdde03146101fc578063081812fc1461021e575b600080fd5b3480156101d357600080fd5b506101e76101e2366004613316565b610680565b60405190151581526020015b60405180910390f35b34801561020857600080fd5b50610211610765565b6040516101f391906133a1565b34801561022a57600080fd5b5061023e6102393660046133b4565b6107f7565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101f3565b34801561026f57600080fd5b5061028361027e3660046133ef565b61082b565b005b34801561029157600080fd5b506102836102a036600461341b565b610988565b3480156102b157600080fd5b506102836102c0366004613438565b610b08565b3480156102d157600080fd5b506102e56102e036600461354a565b610b8f565b6040519081526020016101f3565b3480156102ff57600080fd5b5061023e61030e3660046133b4565b60009081527f5648324915b730d22cca7279385130ad43fd4829d795fb20e9ab398bfe537e90602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b34801561036157600080fd5b5061023e7f000000000000000000000000000000000000000000000000000000000000000081565b34801561039557600080fd5b506102836103a436600461341b565b610cad565b3480156103b557600080fd5b506102e56103c4366004613614565b610e7e565b3480156103d557600080fd5b506103e96103e43660046136ce565b61105e565b6040805192835273ffffffffffffffffffffffffffffffffffffffff9091166020830152016101f3565b34801561041f57600080fd5b5061028361042e366004613438565b61125b565b610283610441366004613729565b611276565b34801561045257600080fd5b506101e761046136600461341b565b611438565b34801561047257600080fd5b506102e561151c565b34801561048757600080fd5b5060408051808201909152600581527f302e312e300000000000000000000000000000000000000000000000000000006020820152610211565b3480156104cd57600080fd5b5061023e6104dc3660046133b4565b6115ee565b3480156104ed57600080fd5b506102e56104fc36600461341b565b611660565b34801561050d57600080fd5b50610211611714565b34801561052257600080fd5b5061023e600081565b34801561053757600080fd5b50610283610546366004613779565b611723565b34801561055757600080fd5b506102836105663660046137b2565b61172e565b34801561057757600080fd5b5061028361058636600461341b565b6117bc565b34801561059757600080fd5b506102116105a63660046133b4565b6119b2565b3480156105b757600080fd5b506102836105c636600461341b565b611a9e565b3480156105d757600080fd5b506101e76105e636600461381e565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260ce6020908152604080832093909416825291909152205460ff1690565b34801561062d57600080fd5b506102e5600081565b34801561064257600080fd5b507f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b65473ffffffffffffffffffffffffffffffffffffffff1661023e565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061071357507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b8061075f57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b606060c980546107749061384c565b80601f01602080910402602001604051908101604052809291908181526020018280546107a09061384c565b80156107ed5780601f106107c2576101008083540402835291602001916107ed565b820191906000526020600020905b8154815290600101906020018083116107d057829003601f168201915b5050505050905090565b600061080282611b51565b50600090815260cd602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b6000610836826115ee565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036108de5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff82161480610907575061090781336105e6565b6109795760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c00000060648201526084016108d5565b6109838383611bc2565b505050565b60006109948133611c62565b6109d3576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016108d5565b610a1373ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000611d2a565b610a79576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c00000000000000000000000000000000000060448201526064016108d5565b7f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811782556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a2505050565b610b123382611d4d565b610b845760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f7665640000000000000000000000000000000000000060648201526084016108d5565b610983838383611e0c565b6000807f5648324915b730d22cca7279385130ad43fd4829d795fb20e9ab398bfe537e8f600088815260018201602052604080822054600384015491517f2fb49eff00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91821660048201819052602482018c9052949550911690632fb49eff90604401602060405180830381865afa158015610c41573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c65919061389f565b604080518082018252338152815180830190925260008083526020838101829052820192909252919250610c9f9088908a9085858b6120b9565b9a9950505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610d585760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016108d5565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610dcd7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610e565760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016108d5565b610e5f81612296565b60408051600080825260208201909252610e7b91839190612300565b50565b60008881527f5648324915b730d22cca7279385130ad43fd4829d795fb20e9ab398bfe537e9060205260408082205490517f99258ca10000000000000000000000000000000000000000000000000000000081527f5648324915b730d22cca7279385130ad43fd4829d795fb20e9ab398bfe537e8f9173ffffffffffffffffffffffffffffffffffffffff169081906399258ca190610f2f908d908d908d908d908d908d908d903390600401613901565b6020604051808303816000875af1158015610f4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f72919061389f565b925060006040518060400160405280600073ffffffffffffffffffffffffffffffffffffffff16815260200160405180604001604052808573ffffffffffffffffffffffffffffffffffffffff16815260200187815250815250905061100d7f781e9f3557d8768f1963c458e1b351a046f8e4f612fd4a2c28f5132ee0c0c87b600180600085604051806020016040528060008152506120b9565b5061104e7facb6e50a24ac7b7075ce347695829fdb25124f5d7485df10299c2e269a3a9f8360006001600085604051806020016040528060008152506120b9565b5050505098975050505050505050565b600080807f5648324915b730d22cca7279385130ad43fd4829d795fb20e9ab398bfe537e8f905060008160000160008154611098906139a6565b91829055509050600073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000166386df779e836110e88980613a05565b6110f560208c018c613a05565b61110260408e018e613a05565b6040518863ffffffff1660e01b81526004016111249796959493929190613a6a565b6020604051808303816000875af1158015611143573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111679190613aac565b6000838152600185016020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff831617905590506111c46060870187613a05565b60008481526002860160205260409020916111e0919083613b17565b506111eb33836124cb565b7f071096a6b974f736d72b386641c048d2b40ab6731f5e6da2a22c95b530e81bd73383836112198a80613a05565b61122660208d018d613a05565b61123360608f018f613a05565b60405161124899989796959493929190613c32565b60405180910390a1909590945092505050565b6109838383836040518060200160405280600081525061172e565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630036113215760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016108d5565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166113967f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff161461141f5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016108d5565b61142882612296565b61143482826001612300565b5050565b60008173ffffffffffffffffffffffffffffffffffffffff1663b9d0787c6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156114bf575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526114bc9181019061389f565b60015b6114cb57506000919050565b60009081527f5648324915b730d22cca7279385130ad43fd4829d795fb20e9ab398bfe537e90602052604090205473ffffffffffffffffffffffffffffffffffffffff908116921691909114919050565b60003073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146115c95760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016108d5565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b600081815260cb602052604081205473ffffffffffffffffffffffffffffffffffffffff168061075f5760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e204944000000000000000060448201526064016108d5565b600073ffffffffffffffffffffffffffffffffffffffff82166116eb5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e6572000000000000000000000000000000000000000000000060648201526084016108d5565b5073ffffffffffffffffffffffffffffffffffffffff16600090815260cc602052604090205490565b606060ca80546107749061384c565b6114343383836124e5565b6117383383611d4d565b6117aa5760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f7665640000000000000000000000000000000000000060648201526084016108d5565b6117b6848484846125f8565b50505050565b600054610100900460ff16158080156117dc5750600054600160ff909116105b806117f65750303b1580156117f6575060005460ff166001145b6118685760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016108d5565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156118c657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6118ce612681565b6118d782612700565b61194b6040518060400160405280600e81526020017f53746f72792050726f746f636f6c0000000000000000000000000000000000008152506040518060400160405280600281526020017f535000000000000000000000000000000000000000000000000000000000000081525061299a565b801561143457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15050565b60606119bd82611b51565b60008281527f5648324915b730d22cca7279385130ad43fd4829d795fb20e9ab398bfe537e916020526040902080547f5648324915b730d22cca7279385130ad43fd4829d795fb20e9ab398bfe537e8f9190611a189061384c565b80601f0160208091040260200160405190810160405280929190818152602001828054611a449061384c565b8015611a915780601f10611a6657610100808354040283529160200191611a91565b820191906000526020600020905b815481529060010190602001808311611a7457829003601f168201915b5050505050915050919050565b73ffffffffffffffffffffffffffffffffffffffff8116611aeb576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f5648324915b730d22cca7279385130ad43fd4829d795fb20e9ab398bfe537e9280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600081815260cb602052604090205473ffffffffffffffffffffffffffffffffffffffff16610e7b5760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e204944000000000000000060448201526064016108d5565b600081815260cd6020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091558190611c1c826115ee565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000807f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810187905273ffffffffffffffffffffffffffffffffffffffff86811660248301529293509116906391d1485490604401602060405180830381865afa158015611cfe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d229190613caa565b949350505050565b6000611d3583612a21565b8015611d465750611d468383612a85565b9392505050565b600080611d59836115ee565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611dc7575073ffffffffffffffffffffffffffffffffffffffff808216600090815260ce602090815260408083209388168352929052205460ff165b80611d2257508373ffffffffffffffffffffffffffffffffffffffff16611ded846107f7565b73ffffffffffffffffffffffffffffffffffffffff1614949350505050565b8273ffffffffffffffffffffffffffffffffffffffff16611e2c826115ee565b73ffffffffffffffffffffffffffffffffffffffff1614611eb55760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e657200000000000000000000000000000000000000000000000000000060648201526084016108d5565b73ffffffffffffffffffffffffffffffffffffffff8216611f3d5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016108d5565b8273ffffffffffffffffffffffffffffffffffffffff16611f5d826115ee565b73ffffffffffffffffffffffffffffffffffffffff1614611fe65760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e657200000000000000000000000000000000000000000000000000000060648201526084016108d5565b600081815260cd6020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff87811680865260cc855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190559087168086528386208054600101905586865260cb90945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6000807f5648324915b730d22cca7279385130ad43fd4829d795fb20e9ab398bfe537e8f90508060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f782f67533878b60405180606001604052806000151581526020018c151581526020018d1515815250896040518060400160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001604051806020016040528060008152508152506040518060400160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001604051806020016040528060008152508152506040518060a0016040528060006dffffffffffffffffffffffffffff16815260200160006dffffffffffffffffffffffffffff168152602001600015158152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152508c60006040518b63ffffffff1660e01b81526004016122479a99989796959493929190613cfc565b6020604051808303816000875af1158015612266573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061228a919061389f565b98975050505050505050565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e36122c18133611c62565b611434576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016108d5565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156123335761098383612b54565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156123b8575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526123b59181019061389f565b60015b61242a5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016108d5565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81146124bf5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016108d5565b50610983838383612c44565b611434828260405180602001604052806000815250612c69565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036125605760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016108d5565b73ffffffffffffffffffffffffffffffffffffffff838116600081815260ce602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b612603848484611e0c565b61260f84848484612cf2565b6117b65760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016108d5565b600054610100900460ff166126fe5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016108d5565b565b600054610100900460ff16158080156127205750600054600160ff909116105b8061273a5750303b15801561273a575060005460ff166001145b6127ac5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016108d5565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561280a57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61284a73ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000611d2a565b6128b0576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c00000000000000000000000000000000000060448201526064016108d5565b7f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811782556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a250801561143457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020016119a6565b600054610100900460ff16612a175760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016108d5565b6114348282612ecb565b6000612a4d827f01ffc9a700000000000000000000000000000000000000000000000000000000612a85565b801561075f5750612a7e827fffffffff00000000000000000000000000000000000000000000000000000000612a85565b1592915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015612b3d575060208210155b8015612b495750600081115b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff81163b612bde5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016108d5565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b612c4d83612f61565b600082511180612c5a5750805b15610983576117b68383612fae565b612c7383836130d3565b612c806000848484612cf2565b6109835760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016108d5565b600073ffffffffffffffffffffffffffffffffffffffff84163b15612ec0576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a0290612d69903390899088908890600401613e39565b6020604051808303816000875af1925050508015612dc2575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252612dbf91810190613e82565b60015b612e75573d808015612df0576040519150601f19603f3d011682016040523d82523d6000602084013e612df5565b606091505b508051600003612e6d5760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016108d5565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050611d22565b506001949350505050565b600054610100900460ff16612f485760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016108d5565b60c9612f548382613e9f565b5060ca6109838282613e9f565b612f6a81612b54565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606073ffffffffffffffffffffffffffffffffffffffff83163b61303a5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e7472616374000000000000000000000000000000000000000000000000000060648201526084016108d5565b6000808473ffffffffffffffffffffffffffffffffffffffff16846040516130629190613fb9565b600060405180830381855af49150503d806000811461309d576040519150601f19603f3d011682016040523d82523d6000602084013e6130a2565b606091505b50915091506130ca8282604051806060016040528060278152602001613fd6602791396132aa565b95945050505050565b73ffffffffffffffffffffffffffffffffffffffff82166131365760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016108d5565b600081815260cb602052604090205473ffffffffffffffffffffffffffffffffffffffff16156131a85760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016108d5565b600081815260cb602052604090205473ffffffffffffffffffffffffffffffffffffffff161561321a5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016108d5565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260cc602090815260408083208054600101905584835260cb90915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b606083156132b9575081611d46565b611d4683838151156132ce5781518083602001fd5b8060405162461bcd60e51b81526004016108d591906133a1565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610e7b57600080fd5b60006020828403121561332857600080fd5b8135611d46816132e8565b60005b8381101561334e578181015183820152602001613336565b50506000910152565b6000815180845261336f816020860160208601613333565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611d466020830184613357565b6000602082840312156133c657600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610e7b57600080fd5b6000806040838503121561340257600080fd5b823561340d816133cd565b946020939093013593505050565b60006020828403121561342d57600080fd5b8135611d46816133cd565b60008060006060848603121561344d57600080fd5b8335613458816133cd565b92506020840135613468816133cd565b929592945050506040919091013590565b8015158114610e7b57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600067ffffffffffffffff808411156134d1576134d1613487565b604051601f85017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190828211818310171561351757613517613487565b8160405280935085815286868601111561353057600080fd5b858560208301376000602087830101525050509392505050565b600080600080600060a0868803121561356257600080fd5b8535945060208601359350604086013561357b81613479565b925060608601359150608086013567ffffffffffffffff81111561359e57600080fd5b8601601f810188136135af57600080fd5b6135be888235602084016134b6565b9150509295509295909350565b60008083601f8401126135dd57600080fd5b50813567ffffffffffffffff8111156135f557600080fd5b60208301915083602082850101111561360d57600080fd5b9250929050565b60008060008060008060008060a0898b03121561363057600080fd5b8835975060208901356007811061364657600080fd5b9650604089013567ffffffffffffffff8082111561366357600080fd5b61366f8c838d016135cb565b909850965060608b013591508082111561368857600080fd5b6136948c838d016135cb565b909650945060808b01359150808211156136ad57600080fd5b506136ba8b828c016135cb565b999c989b5096995094979396929594505050565b6000602082840312156136e057600080fd5b813567ffffffffffffffff8111156136f757600080fd5b820160808185031215611d4657600080fd5b600082601f83011261371a57600080fd5b611d46838335602085016134b6565b6000806040838503121561373c57600080fd5b8235613747816133cd565b9150602083013567ffffffffffffffff81111561376357600080fd5b61376f85828601613709565b9150509250929050565b6000806040838503121561378c57600080fd5b8235613797816133cd565b915060208301356137a781613479565b809150509250929050565b600080600080608085870312156137c857600080fd5b84356137d3816133cd565b935060208501356137e3816133cd565b925060408501359150606085013567ffffffffffffffff81111561380657600080fd5b61381287828801613709565b91505092959194509250565b6000806040838503121561383157600080fd5b823561383c816133cd565b915060208301356137a7816133cd565b600181811c9082168061386057607f821691505b602082108103613899577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b6000602082840312156138b157600080fd5b5051919050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b600060078a1061393a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b89825260a0602083015261395260a08301898b6138b8565b828103604084015261396581888a6138b8565b9050828103606084015261397a8186886138b8565b91505073ffffffffffffffffffffffffffffffffffffffff831660808301529998505050505050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036139fe577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112613a3a57600080fd5b83018035915067ffffffffffffffff821115613a5557600080fd5b60200191503681900382131561360d57600080fd5b878152608060208201526000613a8460808301888a6138b8565b8281036040840152613a978187896138b8565b90508281036060840152610c9f8185876138b8565b600060208284031215613abe57600080fd5b8151611d46816133cd565b601f82111561098357600081815260208120601f850160051c81016020861015613af05750805b601f850160051c820191505b81811015613b0f57828155600101613afc565b505050505050565b67ffffffffffffffff831115613b2f57613b2f613487565b613b4383613b3d835461384c565b83613ac9565b6000601f841160018114613b955760008515613b5f5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355613c2b565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b82811015613be45786850135825560209485019460019092019101613bc4565b5086821015613c1f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b600073ffffffffffffffffffffffffffffffffffffffff808c1683528a6020840152808a1660408401525060c06060830152613c7260c08301888a6138b8565b8281036080840152613c858187896138b8565b905082810360a0840152613c9a8185876138b8565b9c9b505050505050505050505050565b600060208284031215613cbc57600080fd5b8151611d4681613479565b73ffffffffffffffffffffffffffffffffffffffff81511682526000602082015160406020850152611d226040850182613357565b73ffffffffffffffffffffffffffffffffffffffff8b8116825260208083018c905260408084018c90528a51151560608501528a820151151560808501528a0151151560a08401528851821660c084015288810151805190921660e08401520151610100820152600061024080610120840152613d7b81840189613cc7565b9050828103610140840152613d908188613cc7565b86516dffffffffffffffffffffffffffff908116610160860152602088015116610180850152604087015115156101a0850152606087015173ffffffffffffffffffffffffffffffffffffffff166101c085015260808701516101e08501529050828103610200840152613e048186613357565b915050613e2a61022083018473ffffffffffffffffffffffffffffffffffffffff169052565b9b9a5050505050505050505050565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525083604083015260806060830152613e786080830184613357565b9695505050505050565b600060208284031215613e9457600080fd5b8151611d46816132e8565b815167ffffffffffffffff811115613eb957613eb9613487565b613ecd81613ec7845461384c565b84613ac9565b602080601f831160018114613f205760008415613eea5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555613b0f565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015613f6d57888601518255948401946001909101908401613f4e565b5085821015613fa957878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b60008251613fcb818460208701613333565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122069df0d4308aa6890cb1a63ed5fde72e5003558e570cb3043f0e387b70837636e64736f6c63430008130033000000000000000000000000461df243955ad5493cfa33434c2b7cff2c583dc7", - "nonce": "0x45", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x7bdeee174e4ec6fc6a65a26d422775df699cb5cab402bbdd9b8fa97d3f2d90a5", - "transactionType": "CALL", - "contractName": "ERC1967Proxy", - "contractAddress": "0xf157916d184598105FE4681eC93Be0f799599003", - "function": null, - "arguments": null, - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "to": "0xf157916d184598105fe4681ec93be0f799599003", - "gas": "0x10ad1", - "value": "0x0", - "data": "0x3659cfe600000000000000000000000088f3a4cc4eaa2433c44a7c502c7abbd2c76b03e2", - "nonce": "0x46", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x66ecb91002da900a2889cda1ec2af547945c55f6e2f175366566dc483fbb9d0f", - "transactionType": "CALL", - "contractName": "ERC1967Proxy", - "contractAddress": "0xf157916d184598105FE4681eC93Be0f799599003", - "function": null, - "arguments": null, - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "to": "0xf157916d184598105fe4681ec93be0f799599003", - "gas": "0x10757", - "value": "0x0", - "data": "0xcc5b6084000000000000000000000000fbfa729428af206a084e18328ec923587193525d", - "nonce": "0x47", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "transactionHash": "0xbd67ab955f3c18b346f0972167637cf56a32bf420622707a6ee62ffe8d4f3a7a", - "transactionIndex": "0x1", - "blockHash": "0x38e37e9635db0cb7cce04196ad28258e85f6dcd9f2292a7ee26c10066e3bfc0a", - "blockNumber": "0x9110d2", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": null, - "cumulativeGasUsed": "0x37ace1", - "gasUsed": "0x372304", - "contractAddress": "0x88f3a4cc4Eaa2433c44A7c502C7AbBd2C76b03e2", - "logs": [ - { - "address": "0x88f3a4cc4Eaa2433c44A7c502C7AbBd2C76b03e2", - "topics": [ - "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000000ff", - "blockHash": "0x38e37e9635db0cb7cce04196ad28258e85f6dcd9f2292a7ee26c10066e3bfc0a", - "blockNumber": "0x9110d2", - "transactionHash": "0xbd67ab955f3c18b346f0972167637cf56a32bf420622707a6ee62ffe8d4f3a7a", - "transactionIndex": "0x1", - "logIndex": "0x1", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000800000000000000000000000000000000000000000000000040000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d05e0a" - }, - { - "transactionHash": "0x7bdeee174e4ec6fc6a65a26d422775df699cb5cab402bbdd9b8fa97d3f2d90a5", - "transactionIndex": "0x2", - "blockHash": "0x38e37e9635db0cb7cce04196ad28258e85f6dcd9f2292a7ee26c10066e3bfc0a", - "blockNumber": "0x9110d2", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": "0xf157916d184598105FE4681eC93Be0f799599003", - "cumulativeGasUsed": "0x386e0e", - "gasUsed": "0xc12d", - "contractAddress": null, - "logs": [ - { - "address": "0xf157916d184598105FE4681eC93Be0f799599003", - "topics": [ - "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", - "0x00000000000000000000000088f3a4cc4eaa2433c44a7c502c7abbd2c76b03e2" - ], - "data": "0x", - "blockHash": "0x38e37e9635db0cb7cce04196ad28258e85f6dcd9f2292a7ee26c10066e3bfc0a", - "blockNumber": "0x9110d2", - "transactionHash": "0x7bdeee174e4ec6fc6a65a26d422775df699cb5cab402bbdd9b8fa97d3f2d90a5", - "transactionIndex": "0x2", - "logIndex": "0x2", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000002000000000000000000000000000400000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000010000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d05e0a" - }, - { - "transactionHash": "0x66ecb91002da900a2889cda1ec2af547945c55f6e2f175366566dc483fbb9d0f", - "transactionIndex": "0x3", - "blockHash": "0x38e37e9635db0cb7cce04196ad28258e85f6dcd9f2292a7ee26c10066e3bfc0a", - "blockNumber": "0x9110d2", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": "0xf157916d184598105FE4681eC93Be0f799599003", - "cumulativeGasUsed": "0x392cb6", - "gasUsed": "0xbea8", - "contractAddress": null, - "logs": [], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d05e0a" - } - ], - "libraries": [], - "pending": [], - "path": "/Users/drmanhattan/Workspace/StoryProtocol/protocol-contracts/broadcast/DevUpgrades.s.sol/5/run-latest.json", - "returns": {}, - "timestamp": 1691870540, - "chain": 5, - "multi": false, - "commit": "53ab00d" -} \ No newline at end of file diff --git a/broadcast/DevUpgrades.s.sol/5/run-1691870567.json b/broadcast/DevUpgrades.s.sol/5/run-1691870567.json deleted file mode 100644 index 37eccb8e..00000000 --- a/broadcast/DevUpgrades.s.sol/5/run-1691870567.json +++ /dev/null @@ -1,155 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xbd67ab955f3c18b346f0972167637cf56a32bf420622707a6ee62ffe8d4f3a7a", - "transactionType": "CREATE", - "contractName": "FranchiseRegistry", - "contractAddress": "0x88f3a4cc4Eaa2433c44A7c502C7AbBd2C76b03e2", - "function": null, - "arguments": [ - "0x461DF243955aD5493cFa33434c2B7CfF2C583dc7" - ], - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x47a825", - "value": "0x0", - "data": "0x60c0604052306080523480156200001557600080fd5b50604051620041ed380380620041ed833981016040819052620000389162000140565b6001600160a01b038116620000605760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03811660a052620000776200007e565b5062000172565b600054610100900460ff1615620000eb5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811610156200013e576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6000602082840312156200015357600080fd5b81516001600160a01b03811681146200016b57600080fd5b9392505050565b60805160a051614032620001bb6000396000818161036701526110b8015260008181610cc401528181610d5a0152818161128d01528181611323015261153601526140326000f3fe6080604052600436106101c25760003560e01c8063503fa317116100f7578063a22cb46511610095578063cc5b608411610064578063cc5b6084146105ab578063e985e9c5146105cb578063ef647e1014610621578063fc1dad811461063657600080fd5b8063a22cb4651461052b578063b88d4fde1461054b578063c4d66de81461056b578063c87b56dd1461058b57600080fd5b80636352211e116100d15780636352211e146104c157806370a08231146104e157806395d89b41146105015780639b0c6be41461051657600080fd5b8063503fa3171461044657806352d1902d1461046657806354fd4d501461047b57600080fd5b80632c5cefa3116101645780633b781c171161013e5780633b781c17146103a95780633da52093146103c957806342842e0e146104135780634f1ef2861461043357600080fd5b80632c5cefa3146102f35780632dd31000146103555780633659cfe61461038957600080fd5b8063095ea7b3116101a0578063095ea7b31461026357806319129e5a1461028557806323b872dd146102a5578063290cacf9146102c557600080fd5b806301ffc9a7146101c757806306fdde03146101fc578063081812fc1461021e575b600080fd5b3480156101d357600080fd5b506101e76101e2366004613316565b610680565b60405190151581526020015b60405180910390f35b34801561020857600080fd5b50610211610765565b6040516101f391906133a1565b34801561022a57600080fd5b5061023e6102393660046133b4565b6107f7565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101f3565b34801561026f57600080fd5b5061028361027e3660046133ef565b61082b565b005b34801561029157600080fd5b506102836102a036600461341b565b610988565b3480156102b157600080fd5b506102836102c0366004613438565b610b08565b3480156102d157600080fd5b506102e56102e036600461354a565b610b8f565b6040519081526020016101f3565b3480156102ff57600080fd5b5061023e61030e3660046133b4565b60009081527f5648324915b730d22cca7279385130ad43fd4829d795fb20e9ab398bfe537e90602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b34801561036157600080fd5b5061023e7f000000000000000000000000000000000000000000000000000000000000000081565b34801561039557600080fd5b506102836103a436600461341b565b610cad565b3480156103b557600080fd5b506102e56103c4366004613614565b610e7e565b3480156103d557600080fd5b506103e96103e43660046136ce565b61105e565b6040805192835273ffffffffffffffffffffffffffffffffffffffff9091166020830152016101f3565b34801561041f57600080fd5b5061028361042e366004613438565b61125b565b610283610441366004613729565b611276565b34801561045257600080fd5b506101e761046136600461341b565b611438565b34801561047257600080fd5b506102e561151c565b34801561048757600080fd5b5060408051808201909152600581527f302e312e300000000000000000000000000000000000000000000000000000006020820152610211565b3480156104cd57600080fd5b5061023e6104dc3660046133b4565b6115ee565b3480156104ed57600080fd5b506102e56104fc36600461341b565b611660565b34801561050d57600080fd5b50610211611714565b34801561052257600080fd5b5061023e600081565b34801561053757600080fd5b50610283610546366004613779565b611723565b34801561055757600080fd5b506102836105663660046137b2565b61172e565b34801561057757600080fd5b5061028361058636600461341b565b6117bc565b34801561059757600080fd5b506102116105a63660046133b4565b6119b2565b3480156105b757600080fd5b506102836105c636600461341b565b611a9e565b3480156105d757600080fd5b506101e76105e636600461381e565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260ce6020908152604080832093909416825291909152205460ff1690565b34801561062d57600080fd5b506102e5600081565b34801561064257600080fd5b507f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b65473ffffffffffffffffffffffffffffffffffffffff1661023e565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061071357507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b8061075f57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b606060c980546107749061384c565b80601f01602080910402602001604051908101604052809291908181526020018280546107a09061384c565b80156107ed5780601f106107c2576101008083540402835291602001916107ed565b820191906000526020600020905b8154815290600101906020018083116107d057829003601f168201915b5050505050905090565b600061080282611b51565b50600090815260cd602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b6000610836826115ee565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036108de5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff82161480610907575061090781336105e6565b6109795760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c00000060648201526084016108d5565b6109838383611bc2565b505050565b60006109948133611c62565b6109d3576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016108d5565b610a1373ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000611d2a565b610a79576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c00000000000000000000000000000000000060448201526064016108d5565b7f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811782556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a2505050565b610b123382611d4d565b610b845760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f7665640000000000000000000000000000000000000060648201526084016108d5565b610983838383611e0c565b6000807f5648324915b730d22cca7279385130ad43fd4829d795fb20e9ab398bfe537e8f600088815260018201602052604080822054600384015491517f2fb49eff00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91821660048201819052602482018c9052949550911690632fb49eff90604401602060405180830381865afa158015610c41573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c65919061389f565b604080518082018252338152815180830190925260008083526020838101829052820192909252919250610c9f9088908a9085858b6120b9565b9a9950505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610d585760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016108d5565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610dcd7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610e565760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016108d5565b610e5f81612296565b60408051600080825260208201909252610e7b91839190612300565b50565b60008881527f5648324915b730d22cca7279385130ad43fd4829d795fb20e9ab398bfe537e9060205260408082205490517f99258ca10000000000000000000000000000000000000000000000000000000081527f5648324915b730d22cca7279385130ad43fd4829d795fb20e9ab398bfe537e8f9173ffffffffffffffffffffffffffffffffffffffff169081906399258ca190610f2f908d908d908d908d908d908d908d903390600401613901565b6020604051808303816000875af1158015610f4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f72919061389f565b925060006040518060400160405280600073ffffffffffffffffffffffffffffffffffffffff16815260200160405180604001604052808573ffffffffffffffffffffffffffffffffffffffff16815260200187815250815250905061100d7f781e9f3557d8768f1963c458e1b351a046f8e4f612fd4a2c28f5132ee0c0c87b600180600085604051806020016040528060008152506120b9565b5061104e7facb6e50a24ac7b7075ce347695829fdb25124f5d7485df10299c2e269a3a9f8360006001600085604051806020016040528060008152506120b9565b5050505098975050505050505050565b600080807f5648324915b730d22cca7279385130ad43fd4829d795fb20e9ab398bfe537e8f905060008160000160008154611098906139a6565b91829055509050600073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000166386df779e836110e88980613a05565b6110f560208c018c613a05565b61110260408e018e613a05565b6040518863ffffffff1660e01b81526004016111249796959493929190613a6a565b6020604051808303816000875af1158015611143573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111679190613aac565b6000838152600185016020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff831617905590506111c46060870187613a05565b60008481526002860160205260409020916111e0919083613b17565b506111eb33836124cb565b7f071096a6b974f736d72b386641c048d2b40ab6731f5e6da2a22c95b530e81bd73383836112198a80613a05565b61122660208d018d613a05565b61123360608f018f613a05565b60405161124899989796959493929190613c32565b60405180910390a1909590945092505050565b6109838383836040518060200160405280600081525061172e565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630036113215760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016108d5565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166113967f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff161461141f5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016108d5565b61142882612296565b61143482826001612300565b5050565b60008173ffffffffffffffffffffffffffffffffffffffff1663b9d0787c6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156114bf575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526114bc9181019061389f565b60015b6114cb57506000919050565b60009081527f5648324915b730d22cca7279385130ad43fd4829d795fb20e9ab398bfe537e90602052604090205473ffffffffffffffffffffffffffffffffffffffff908116921691909114919050565b60003073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146115c95760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016108d5565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b600081815260cb602052604081205473ffffffffffffffffffffffffffffffffffffffff168061075f5760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e204944000000000000000060448201526064016108d5565b600073ffffffffffffffffffffffffffffffffffffffff82166116eb5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e6572000000000000000000000000000000000000000000000060648201526084016108d5565b5073ffffffffffffffffffffffffffffffffffffffff16600090815260cc602052604090205490565b606060ca80546107749061384c565b6114343383836124e5565b6117383383611d4d565b6117aa5760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f7665640000000000000000000000000000000000000060648201526084016108d5565b6117b6848484846125f8565b50505050565b600054610100900460ff16158080156117dc5750600054600160ff909116105b806117f65750303b1580156117f6575060005460ff166001145b6118685760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016108d5565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156118c657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6118ce612681565b6118d782612700565b61194b6040518060400160405280600e81526020017f53746f72792050726f746f636f6c0000000000000000000000000000000000008152506040518060400160405280600281526020017f535000000000000000000000000000000000000000000000000000000000000081525061299a565b801561143457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15050565b60606119bd82611b51565b60008281527f5648324915b730d22cca7279385130ad43fd4829d795fb20e9ab398bfe537e916020526040902080547f5648324915b730d22cca7279385130ad43fd4829d795fb20e9ab398bfe537e8f9190611a189061384c565b80601f0160208091040260200160405190810160405280929190818152602001828054611a449061384c565b8015611a915780601f10611a6657610100808354040283529160200191611a91565b820191906000526020600020905b815481529060010190602001808311611a7457829003601f168201915b5050505050915050919050565b73ffffffffffffffffffffffffffffffffffffffff8116611aeb576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f5648324915b730d22cca7279385130ad43fd4829d795fb20e9ab398bfe537e9280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600081815260cb602052604090205473ffffffffffffffffffffffffffffffffffffffff16610e7b5760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e204944000000000000000060448201526064016108d5565b600081815260cd6020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091558190611c1c826115ee565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000807f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810187905273ffffffffffffffffffffffffffffffffffffffff86811660248301529293509116906391d1485490604401602060405180830381865afa158015611cfe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d229190613caa565b949350505050565b6000611d3583612a21565b8015611d465750611d468383612a85565b9392505050565b600080611d59836115ee565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611dc7575073ffffffffffffffffffffffffffffffffffffffff808216600090815260ce602090815260408083209388168352929052205460ff165b80611d2257508373ffffffffffffffffffffffffffffffffffffffff16611ded846107f7565b73ffffffffffffffffffffffffffffffffffffffff1614949350505050565b8273ffffffffffffffffffffffffffffffffffffffff16611e2c826115ee565b73ffffffffffffffffffffffffffffffffffffffff1614611eb55760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e657200000000000000000000000000000000000000000000000000000060648201526084016108d5565b73ffffffffffffffffffffffffffffffffffffffff8216611f3d5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016108d5565b8273ffffffffffffffffffffffffffffffffffffffff16611f5d826115ee565b73ffffffffffffffffffffffffffffffffffffffff1614611fe65760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e657200000000000000000000000000000000000000000000000000000060648201526084016108d5565b600081815260cd6020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff87811680865260cc855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190559087168086528386208054600101905586865260cb90945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6000807f5648324915b730d22cca7279385130ad43fd4829d795fb20e9ab398bfe537e8f90508060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f782f67533878b60405180606001604052806000151581526020018c151581526020018d1515815250896040518060400160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001604051806020016040528060008152508152506040518060400160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001604051806020016040528060008152508152506040518060a0016040528060006dffffffffffffffffffffffffffff16815260200160006dffffffffffffffffffffffffffff168152602001600015158152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152508c60006040518b63ffffffff1660e01b81526004016122479a99989796959493929190613cfc565b6020604051808303816000875af1158015612266573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061228a919061389f565b98975050505050505050565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e36122c18133611c62565b611434576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016108d5565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156123335761098383612b54565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156123b8575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526123b59181019061389f565b60015b61242a5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016108d5565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81146124bf5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016108d5565b50610983838383612c44565b611434828260405180602001604052806000815250612c69565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036125605760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016108d5565b73ffffffffffffffffffffffffffffffffffffffff838116600081815260ce602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b612603848484611e0c565b61260f84848484612cf2565b6117b65760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016108d5565b600054610100900460ff166126fe5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016108d5565b565b600054610100900460ff16158080156127205750600054600160ff909116105b8061273a5750303b15801561273a575060005460ff166001145b6127ac5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016108d5565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561280a57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61284a73ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000611d2a565b6128b0576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c00000000000000000000000000000000000060448201526064016108d5565b7f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811782556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a250801561143457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020016119a6565b600054610100900460ff16612a175760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016108d5565b6114348282612ecb565b6000612a4d827f01ffc9a700000000000000000000000000000000000000000000000000000000612a85565b801561075f5750612a7e827fffffffff00000000000000000000000000000000000000000000000000000000612a85565b1592915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015612b3d575060208210155b8015612b495750600081115b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff81163b612bde5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016108d5565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b612c4d83612f61565b600082511180612c5a5750805b15610983576117b68383612fae565b612c7383836130d3565b612c806000848484612cf2565b6109835760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016108d5565b600073ffffffffffffffffffffffffffffffffffffffff84163b15612ec0576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a0290612d69903390899088908890600401613e39565b6020604051808303816000875af1925050508015612dc2575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252612dbf91810190613e82565b60015b612e75573d808015612df0576040519150601f19603f3d011682016040523d82523d6000602084013e612df5565b606091505b508051600003612e6d5760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016108d5565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050611d22565b506001949350505050565b600054610100900460ff16612f485760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016108d5565b60c9612f548382613e9f565b5060ca6109838282613e9f565b612f6a81612b54565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606073ffffffffffffffffffffffffffffffffffffffff83163b61303a5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e7472616374000000000000000000000000000000000000000000000000000060648201526084016108d5565b6000808473ffffffffffffffffffffffffffffffffffffffff16846040516130629190613fb9565b600060405180830381855af49150503d806000811461309d576040519150601f19603f3d011682016040523d82523d6000602084013e6130a2565b606091505b50915091506130ca8282604051806060016040528060278152602001613fd6602791396132aa565b95945050505050565b73ffffffffffffffffffffffffffffffffffffffff82166131365760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016108d5565b600081815260cb602052604090205473ffffffffffffffffffffffffffffffffffffffff16156131a85760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016108d5565b600081815260cb602052604090205473ffffffffffffffffffffffffffffffffffffffff161561321a5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016108d5565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260cc602090815260408083208054600101905584835260cb90915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b606083156132b9575081611d46565b611d4683838151156132ce5781518083602001fd5b8060405162461bcd60e51b81526004016108d591906133a1565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610e7b57600080fd5b60006020828403121561332857600080fd5b8135611d46816132e8565b60005b8381101561334e578181015183820152602001613336565b50506000910152565b6000815180845261336f816020860160208601613333565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611d466020830184613357565b6000602082840312156133c657600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610e7b57600080fd5b6000806040838503121561340257600080fd5b823561340d816133cd565b946020939093013593505050565b60006020828403121561342d57600080fd5b8135611d46816133cd565b60008060006060848603121561344d57600080fd5b8335613458816133cd565b92506020840135613468816133cd565b929592945050506040919091013590565b8015158114610e7b57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600067ffffffffffffffff808411156134d1576134d1613487565b604051601f85017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190828211818310171561351757613517613487565b8160405280935085815286868601111561353057600080fd5b858560208301376000602087830101525050509392505050565b600080600080600060a0868803121561356257600080fd5b8535945060208601359350604086013561357b81613479565b925060608601359150608086013567ffffffffffffffff81111561359e57600080fd5b8601601f810188136135af57600080fd5b6135be888235602084016134b6565b9150509295509295909350565b60008083601f8401126135dd57600080fd5b50813567ffffffffffffffff8111156135f557600080fd5b60208301915083602082850101111561360d57600080fd5b9250929050565b60008060008060008060008060a0898b03121561363057600080fd5b8835975060208901356007811061364657600080fd5b9650604089013567ffffffffffffffff8082111561366357600080fd5b61366f8c838d016135cb565b909850965060608b013591508082111561368857600080fd5b6136948c838d016135cb565b909650945060808b01359150808211156136ad57600080fd5b506136ba8b828c016135cb565b999c989b5096995094979396929594505050565b6000602082840312156136e057600080fd5b813567ffffffffffffffff8111156136f757600080fd5b820160808185031215611d4657600080fd5b600082601f83011261371a57600080fd5b611d46838335602085016134b6565b6000806040838503121561373c57600080fd5b8235613747816133cd565b9150602083013567ffffffffffffffff81111561376357600080fd5b61376f85828601613709565b9150509250929050565b6000806040838503121561378c57600080fd5b8235613797816133cd565b915060208301356137a781613479565b809150509250929050565b600080600080608085870312156137c857600080fd5b84356137d3816133cd565b935060208501356137e3816133cd565b925060408501359150606085013567ffffffffffffffff81111561380657600080fd5b61381287828801613709565b91505092959194509250565b6000806040838503121561383157600080fd5b823561383c816133cd565b915060208301356137a7816133cd565b600181811c9082168061386057607f821691505b602082108103613899577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b6000602082840312156138b157600080fd5b5051919050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b600060078a1061393a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b89825260a0602083015261395260a08301898b6138b8565b828103604084015261396581888a6138b8565b9050828103606084015261397a8186886138b8565b91505073ffffffffffffffffffffffffffffffffffffffff831660808301529998505050505050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036139fe577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112613a3a57600080fd5b83018035915067ffffffffffffffff821115613a5557600080fd5b60200191503681900382131561360d57600080fd5b878152608060208201526000613a8460808301888a6138b8565b8281036040840152613a978187896138b8565b90508281036060840152610c9f8185876138b8565b600060208284031215613abe57600080fd5b8151611d46816133cd565b601f82111561098357600081815260208120601f850160051c81016020861015613af05750805b601f850160051c820191505b81811015613b0f57828155600101613afc565b505050505050565b67ffffffffffffffff831115613b2f57613b2f613487565b613b4383613b3d835461384c565b83613ac9565b6000601f841160018114613b955760008515613b5f5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355613c2b565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b82811015613be45786850135825560209485019460019092019101613bc4565b5086821015613c1f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b600073ffffffffffffffffffffffffffffffffffffffff808c1683528a6020840152808a1660408401525060c06060830152613c7260c08301888a6138b8565b8281036080840152613c858187896138b8565b905082810360a0840152613c9a8185876138b8565b9c9b505050505050505050505050565b600060208284031215613cbc57600080fd5b8151611d4681613479565b73ffffffffffffffffffffffffffffffffffffffff81511682526000602082015160406020850152611d226040850182613357565b73ffffffffffffffffffffffffffffffffffffffff8b8116825260208083018c905260408084018c90528a51151560608501528a820151151560808501528a0151151560a08401528851821660c084015288810151805190921660e08401520151610100820152600061024080610120840152613d7b81840189613cc7565b9050828103610140840152613d908188613cc7565b86516dffffffffffffffffffffffffffff908116610160860152602088015116610180850152604087015115156101a0850152606087015173ffffffffffffffffffffffffffffffffffffffff166101c085015260808701516101e08501529050828103610200840152613e048186613357565b915050613e2a61022083018473ffffffffffffffffffffffffffffffffffffffff169052565b9b9a5050505050505050505050565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525083604083015260806060830152613e786080830184613357565b9695505050505050565b600060208284031215613e9457600080fd5b8151611d46816132e8565b815167ffffffffffffffff811115613eb957613eb9613487565b613ecd81613ec7845461384c565b84613ac9565b602080601f831160018114613f205760008415613eea5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555613b0f565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015613f6d57888601518255948401946001909101908401613f4e565b5085821015613fa957878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b60008251613fcb818460208701613333565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122069df0d4308aa6890cb1a63ed5fde72e5003558e570cb3043f0e387b70837636e64736f6c63430008130033000000000000000000000000461df243955ad5493cfa33434c2b7cff2c583dc7", - "nonce": "0x45", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x7bdeee174e4ec6fc6a65a26d422775df699cb5cab402bbdd9b8fa97d3f2d90a5", - "transactionType": "CALL", - "contractName": "ERC1967Proxy", - "contractAddress": "0xf157916d184598105FE4681eC93Be0f799599003", - "function": null, - "arguments": null, - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "to": "0xf157916d184598105fe4681ec93be0f799599003", - "gas": "0x10ad1", - "value": "0x0", - "data": "0x3659cfe600000000000000000000000088f3a4cc4eaa2433c44a7c502c7abbd2c76b03e2", - "nonce": "0x46", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x66ecb91002da900a2889cda1ec2af547945c55f6e2f175366566dc483fbb9d0f", - "transactionType": "CALL", - "contractName": "ERC1967Proxy", - "contractAddress": "0xf157916d184598105FE4681eC93Be0f799599003", - "function": null, - "arguments": null, - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "to": "0xf157916d184598105fe4681ec93be0f799599003", - "gas": "0x10757", - "value": "0x0", - "data": "0xcc5b6084000000000000000000000000fbfa729428af206a084e18328ec923587193525d", - "nonce": "0x47", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "transactionHash": "0xbd67ab955f3c18b346f0972167637cf56a32bf420622707a6ee62ffe8d4f3a7a", - "transactionIndex": "0x1", - "blockHash": "0x38e37e9635db0cb7cce04196ad28258e85f6dcd9f2292a7ee26c10066e3bfc0a", - "blockNumber": "0x9110d2", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": null, - "cumulativeGasUsed": "0x37ace1", - "gasUsed": "0x372304", - "contractAddress": "0x88f3a4cc4Eaa2433c44A7c502C7AbBd2C76b03e2", - "logs": [ - { - "address": "0x88f3a4cc4Eaa2433c44A7c502C7AbBd2C76b03e2", - "topics": [ - "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000000ff", - "blockHash": "0x38e37e9635db0cb7cce04196ad28258e85f6dcd9f2292a7ee26c10066e3bfc0a", - "blockNumber": "0x9110d2", - "transactionHash": "0xbd67ab955f3c18b346f0972167637cf56a32bf420622707a6ee62ffe8d4f3a7a", - "transactionIndex": "0x1", - "logIndex": "0x1", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000800000000000000000000000000000000000000000000000040000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d05e0a" - }, - { - "transactionHash": "0x7bdeee174e4ec6fc6a65a26d422775df699cb5cab402bbdd9b8fa97d3f2d90a5", - "transactionIndex": "0x2", - "blockHash": "0x38e37e9635db0cb7cce04196ad28258e85f6dcd9f2292a7ee26c10066e3bfc0a", - "blockNumber": "0x9110d2", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": "0xf157916d184598105FE4681eC93Be0f799599003", - "cumulativeGasUsed": "0x386e0e", - "gasUsed": "0xc12d", - "contractAddress": null, - "logs": [ - { - "address": "0xf157916d184598105FE4681eC93Be0f799599003", - "topics": [ - "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", - "0x00000000000000000000000088f3a4cc4eaa2433c44a7c502c7abbd2c76b03e2" - ], - "data": "0x", - "blockHash": "0x38e37e9635db0cb7cce04196ad28258e85f6dcd9f2292a7ee26c10066e3bfc0a", - "blockNumber": "0x9110d2", - "transactionHash": "0x7bdeee174e4ec6fc6a65a26d422775df699cb5cab402bbdd9b8fa97d3f2d90a5", - "transactionIndex": "0x2", - "logIndex": "0x2", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000002000000000000000000000000000400000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000010000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d05e0a" - }, - { - "transactionHash": "0x66ecb91002da900a2889cda1ec2af547945c55f6e2f175366566dc483fbb9d0f", - "transactionIndex": "0x3", - "blockHash": "0x38e37e9635db0cb7cce04196ad28258e85f6dcd9f2292a7ee26c10066e3bfc0a", - "blockNumber": "0x9110d2", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": "0xf157916d184598105FE4681eC93Be0f799599003", - "cumulativeGasUsed": "0x392cb6", - "gasUsed": "0xbea8", - "contractAddress": null, - "logs": [], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d05e0a" - } - ], - "libraries": [], - "pending": [], - "path": "/Users/drmanhattan/Workspace/StoryProtocol/protocol-contracts/broadcast/DevUpgrades.s.sol/5/run-latest.json", - "returns": {}, - "timestamp": 1691870567, - "chain": 5, - "multi": false, - "commit": "53ab00d" -} \ No newline at end of file diff --git a/broadcast/DevUpgrades.s.sol/5/run-latest.json b/broadcast/DevUpgrades.s.sol/5/run-latest.json deleted file mode 100644 index 37eccb8e..00000000 --- a/broadcast/DevUpgrades.s.sol/5/run-latest.json +++ /dev/null @@ -1,155 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xbd67ab955f3c18b346f0972167637cf56a32bf420622707a6ee62ffe8d4f3a7a", - "transactionType": "CREATE", - "contractName": "FranchiseRegistry", - "contractAddress": "0x88f3a4cc4Eaa2433c44A7c502C7AbBd2C76b03e2", - "function": null, - "arguments": [ - "0x461DF243955aD5493cFa33434c2B7CfF2C583dc7" - ], - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x47a825", - "value": "0x0", - "data": "0x60c0604052306080523480156200001557600080fd5b50604051620041ed380380620041ed833981016040819052620000389162000140565b6001600160a01b038116620000605760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03811660a052620000776200007e565b5062000172565b600054610100900460ff1615620000eb5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811610156200013e576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6000602082840312156200015357600080fd5b81516001600160a01b03811681146200016b57600080fd5b9392505050565b60805160a051614032620001bb6000396000818161036701526110b8015260008181610cc401528181610d5a0152818161128d01528181611323015261153601526140326000f3fe6080604052600436106101c25760003560e01c8063503fa317116100f7578063a22cb46511610095578063cc5b608411610064578063cc5b6084146105ab578063e985e9c5146105cb578063ef647e1014610621578063fc1dad811461063657600080fd5b8063a22cb4651461052b578063b88d4fde1461054b578063c4d66de81461056b578063c87b56dd1461058b57600080fd5b80636352211e116100d15780636352211e146104c157806370a08231146104e157806395d89b41146105015780639b0c6be41461051657600080fd5b8063503fa3171461044657806352d1902d1461046657806354fd4d501461047b57600080fd5b80632c5cefa3116101645780633b781c171161013e5780633b781c17146103a95780633da52093146103c957806342842e0e146104135780634f1ef2861461043357600080fd5b80632c5cefa3146102f35780632dd31000146103555780633659cfe61461038957600080fd5b8063095ea7b3116101a0578063095ea7b31461026357806319129e5a1461028557806323b872dd146102a5578063290cacf9146102c557600080fd5b806301ffc9a7146101c757806306fdde03146101fc578063081812fc1461021e575b600080fd5b3480156101d357600080fd5b506101e76101e2366004613316565b610680565b60405190151581526020015b60405180910390f35b34801561020857600080fd5b50610211610765565b6040516101f391906133a1565b34801561022a57600080fd5b5061023e6102393660046133b4565b6107f7565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101f3565b34801561026f57600080fd5b5061028361027e3660046133ef565b61082b565b005b34801561029157600080fd5b506102836102a036600461341b565b610988565b3480156102b157600080fd5b506102836102c0366004613438565b610b08565b3480156102d157600080fd5b506102e56102e036600461354a565b610b8f565b6040519081526020016101f3565b3480156102ff57600080fd5b5061023e61030e3660046133b4565b60009081527f5648324915b730d22cca7279385130ad43fd4829d795fb20e9ab398bfe537e90602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b34801561036157600080fd5b5061023e7f000000000000000000000000000000000000000000000000000000000000000081565b34801561039557600080fd5b506102836103a436600461341b565b610cad565b3480156103b557600080fd5b506102e56103c4366004613614565b610e7e565b3480156103d557600080fd5b506103e96103e43660046136ce565b61105e565b6040805192835273ffffffffffffffffffffffffffffffffffffffff9091166020830152016101f3565b34801561041f57600080fd5b5061028361042e366004613438565b61125b565b610283610441366004613729565b611276565b34801561045257600080fd5b506101e761046136600461341b565b611438565b34801561047257600080fd5b506102e561151c565b34801561048757600080fd5b5060408051808201909152600581527f302e312e300000000000000000000000000000000000000000000000000000006020820152610211565b3480156104cd57600080fd5b5061023e6104dc3660046133b4565b6115ee565b3480156104ed57600080fd5b506102e56104fc36600461341b565b611660565b34801561050d57600080fd5b50610211611714565b34801561052257600080fd5b5061023e600081565b34801561053757600080fd5b50610283610546366004613779565b611723565b34801561055757600080fd5b506102836105663660046137b2565b61172e565b34801561057757600080fd5b5061028361058636600461341b565b6117bc565b34801561059757600080fd5b506102116105a63660046133b4565b6119b2565b3480156105b757600080fd5b506102836105c636600461341b565b611a9e565b3480156105d757600080fd5b506101e76105e636600461381e565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260ce6020908152604080832093909416825291909152205460ff1690565b34801561062d57600080fd5b506102e5600081565b34801561064257600080fd5b507f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b65473ffffffffffffffffffffffffffffffffffffffff1661023e565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061071357507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b8061075f57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b606060c980546107749061384c565b80601f01602080910402602001604051908101604052809291908181526020018280546107a09061384c565b80156107ed5780601f106107c2576101008083540402835291602001916107ed565b820191906000526020600020905b8154815290600101906020018083116107d057829003601f168201915b5050505050905090565b600061080282611b51565b50600090815260cd602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b6000610836826115ee565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036108de5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff82161480610907575061090781336105e6565b6109795760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c00000060648201526084016108d5565b6109838383611bc2565b505050565b60006109948133611c62565b6109d3576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016108d5565b610a1373ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000611d2a565b610a79576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c00000000000000000000000000000000000060448201526064016108d5565b7f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811782556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a2505050565b610b123382611d4d565b610b845760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f7665640000000000000000000000000000000000000060648201526084016108d5565b610983838383611e0c565b6000807f5648324915b730d22cca7279385130ad43fd4829d795fb20e9ab398bfe537e8f600088815260018201602052604080822054600384015491517f2fb49eff00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91821660048201819052602482018c9052949550911690632fb49eff90604401602060405180830381865afa158015610c41573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c65919061389f565b604080518082018252338152815180830190925260008083526020838101829052820192909252919250610c9f9088908a9085858b6120b9565b9a9950505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610d585760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016108d5565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610dcd7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610e565760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016108d5565b610e5f81612296565b60408051600080825260208201909252610e7b91839190612300565b50565b60008881527f5648324915b730d22cca7279385130ad43fd4829d795fb20e9ab398bfe537e9060205260408082205490517f99258ca10000000000000000000000000000000000000000000000000000000081527f5648324915b730d22cca7279385130ad43fd4829d795fb20e9ab398bfe537e8f9173ffffffffffffffffffffffffffffffffffffffff169081906399258ca190610f2f908d908d908d908d908d908d908d903390600401613901565b6020604051808303816000875af1158015610f4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f72919061389f565b925060006040518060400160405280600073ffffffffffffffffffffffffffffffffffffffff16815260200160405180604001604052808573ffffffffffffffffffffffffffffffffffffffff16815260200187815250815250905061100d7f781e9f3557d8768f1963c458e1b351a046f8e4f612fd4a2c28f5132ee0c0c87b600180600085604051806020016040528060008152506120b9565b5061104e7facb6e50a24ac7b7075ce347695829fdb25124f5d7485df10299c2e269a3a9f8360006001600085604051806020016040528060008152506120b9565b5050505098975050505050505050565b600080807f5648324915b730d22cca7279385130ad43fd4829d795fb20e9ab398bfe537e8f905060008160000160008154611098906139a6565b91829055509050600073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000166386df779e836110e88980613a05565b6110f560208c018c613a05565b61110260408e018e613a05565b6040518863ffffffff1660e01b81526004016111249796959493929190613a6a565b6020604051808303816000875af1158015611143573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111679190613aac565b6000838152600185016020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff831617905590506111c46060870187613a05565b60008481526002860160205260409020916111e0919083613b17565b506111eb33836124cb565b7f071096a6b974f736d72b386641c048d2b40ab6731f5e6da2a22c95b530e81bd73383836112198a80613a05565b61122660208d018d613a05565b61123360608f018f613a05565b60405161124899989796959493929190613c32565b60405180910390a1909590945092505050565b6109838383836040518060200160405280600081525061172e565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630036113215760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016108d5565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166113967f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff161461141f5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016108d5565b61142882612296565b61143482826001612300565b5050565b60008173ffffffffffffffffffffffffffffffffffffffff1663b9d0787c6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156114bf575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526114bc9181019061389f565b60015b6114cb57506000919050565b60009081527f5648324915b730d22cca7279385130ad43fd4829d795fb20e9ab398bfe537e90602052604090205473ffffffffffffffffffffffffffffffffffffffff908116921691909114919050565b60003073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146115c95760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016108d5565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b600081815260cb602052604081205473ffffffffffffffffffffffffffffffffffffffff168061075f5760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e204944000000000000000060448201526064016108d5565b600073ffffffffffffffffffffffffffffffffffffffff82166116eb5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e6572000000000000000000000000000000000000000000000060648201526084016108d5565b5073ffffffffffffffffffffffffffffffffffffffff16600090815260cc602052604090205490565b606060ca80546107749061384c565b6114343383836124e5565b6117383383611d4d565b6117aa5760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f7665640000000000000000000000000000000000000060648201526084016108d5565b6117b6848484846125f8565b50505050565b600054610100900460ff16158080156117dc5750600054600160ff909116105b806117f65750303b1580156117f6575060005460ff166001145b6118685760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016108d5565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156118c657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6118ce612681565b6118d782612700565b61194b6040518060400160405280600e81526020017f53746f72792050726f746f636f6c0000000000000000000000000000000000008152506040518060400160405280600281526020017f535000000000000000000000000000000000000000000000000000000000000081525061299a565b801561143457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15050565b60606119bd82611b51565b60008281527f5648324915b730d22cca7279385130ad43fd4829d795fb20e9ab398bfe537e916020526040902080547f5648324915b730d22cca7279385130ad43fd4829d795fb20e9ab398bfe537e8f9190611a189061384c565b80601f0160208091040260200160405190810160405280929190818152602001828054611a449061384c565b8015611a915780601f10611a6657610100808354040283529160200191611a91565b820191906000526020600020905b815481529060010190602001808311611a7457829003601f168201915b5050505050915050919050565b73ffffffffffffffffffffffffffffffffffffffff8116611aeb576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f5648324915b730d22cca7279385130ad43fd4829d795fb20e9ab398bfe537e9280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600081815260cb602052604090205473ffffffffffffffffffffffffffffffffffffffff16610e7b5760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e204944000000000000000060448201526064016108d5565b600081815260cd6020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091558190611c1c826115ee565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000807f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810187905273ffffffffffffffffffffffffffffffffffffffff86811660248301529293509116906391d1485490604401602060405180830381865afa158015611cfe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d229190613caa565b949350505050565b6000611d3583612a21565b8015611d465750611d468383612a85565b9392505050565b600080611d59836115ee565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611dc7575073ffffffffffffffffffffffffffffffffffffffff808216600090815260ce602090815260408083209388168352929052205460ff165b80611d2257508373ffffffffffffffffffffffffffffffffffffffff16611ded846107f7565b73ffffffffffffffffffffffffffffffffffffffff1614949350505050565b8273ffffffffffffffffffffffffffffffffffffffff16611e2c826115ee565b73ffffffffffffffffffffffffffffffffffffffff1614611eb55760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e657200000000000000000000000000000000000000000000000000000060648201526084016108d5565b73ffffffffffffffffffffffffffffffffffffffff8216611f3d5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016108d5565b8273ffffffffffffffffffffffffffffffffffffffff16611f5d826115ee565b73ffffffffffffffffffffffffffffffffffffffff1614611fe65760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e657200000000000000000000000000000000000000000000000000000060648201526084016108d5565b600081815260cd6020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff87811680865260cc855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190559087168086528386208054600101905586865260cb90945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6000807f5648324915b730d22cca7279385130ad43fd4829d795fb20e9ab398bfe537e8f90508060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f782f67533878b60405180606001604052806000151581526020018c151581526020018d1515815250896040518060400160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001604051806020016040528060008152508152506040518060400160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001604051806020016040528060008152508152506040518060a0016040528060006dffffffffffffffffffffffffffff16815260200160006dffffffffffffffffffffffffffff168152602001600015158152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152508c60006040518b63ffffffff1660e01b81526004016122479a99989796959493929190613cfc565b6020604051808303816000875af1158015612266573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061228a919061389f565b98975050505050505050565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e36122c18133611c62565b611434576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016108d5565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156123335761098383612b54565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156123b8575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526123b59181019061389f565b60015b61242a5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016108d5565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81146124bf5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016108d5565b50610983838383612c44565b611434828260405180602001604052806000815250612c69565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036125605760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016108d5565b73ffffffffffffffffffffffffffffffffffffffff838116600081815260ce602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b612603848484611e0c565b61260f84848484612cf2565b6117b65760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016108d5565b600054610100900460ff166126fe5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016108d5565b565b600054610100900460ff16158080156127205750600054600160ff909116105b8061273a5750303b15801561273a575060005460ff166001145b6127ac5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016108d5565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561280a57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61284a73ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000611d2a565b6128b0576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c00000000000000000000000000000000000060448201526064016108d5565b7f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811782556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a250801561143457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020016119a6565b600054610100900460ff16612a175760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016108d5565b6114348282612ecb565b6000612a4d827f01ffc9a700000000000000000000000000000000000000000000000000000000612a85565b801561075f5750612a7e827fffffffff00000000000000000000000000000000000000000000000000000000612a85565b1592915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015612b3d575060208210155b8015612b495750600081115b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff81163b612bde5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016108d5565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b612c4d83612f61565b600082511180612c5a5750805b15610983576117b68383612fae565b612c7383836130d3565b612c806000848484612cf2565b6109835760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016108d5565b600073ffffffffffffffffffffffffffffffffffffffff84163b15612ec0576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a0290612d69903390899088908890600401613e39565b6020604051808303816000875af1925050508015612dc2575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252612dbf91810190613e82565b60015b612e75573d808015612df0576040519150601f19603f3d011682016040523d82523d6000602084013e612df5565b606091505b508051600003612e6d5760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016108d5565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050611d22565b506001949350505050565b600054610100900460ff16612f485760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016108d5565b60c9612f548382613e9f565b5060ca6109838282613e9f565b612f6a81612b54565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606073ffffffffffffffffffffffffffffffffffffffff83163b61303a5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e7472616374000000000000000000000000000000000000000000000000000060648201526084016108d5565b6000808473ffffffffffffffffffffffffffffffffffffffff16846040516130629190613fb9565b600060405180830381855af49150503d806000811461309d576040519150601f19603f3d011682016040523d82523d6000602084013e6130a2565b606091505b50915091506130ca8282604051806060016040528060278152602001613fd6602791396132aa565b95945050505050565b73ffffffffffffffffffffffffffffffffffffffff82166131365760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016108d5565b600081815260cb602052604090205473ffffffffffffffffffffffffffffffffffffffff16156131a85760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016108d5565b600081815260cb602052604090205473ffffffffffffffffffffffffffffffffffffffff161561321a5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016108d5565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260cc602090815260408083208054600101905584835260cb90915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b606083156132b9575081611d46565b611d4683838151156132ce5781518083602001fd5b8060405162461bcd60e51b81526004016108d591906133a1565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610e7b57600080fd5b60006020828403121561332857600080fd5b8135611d46816132e8565b60005b8381101561334e578181015183820152602001613336565b50506000910152565b6000815180845261336f816020860160208601613333565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611d466020830184613357565b6000602082840312156133c657600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610e7b57600080fd5b6000806040838503121561340257600080fd5b823561340d816133cd565b946020939093013593505050565b60006020828403121561342d57600080fd5b8135611d46816133cd565b60008060006060848603121561344d57600080fd5b8335613458816133cd565b92506020840135613468816133cd565b929592945050506040919091013590565b8015158114610e7b57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600067ffffffffffffffff808411156134d1576134d1613487565b604051601f85017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190828211818310171561351757613517613487565b8160405280935085815286868601111561353057600080fd5b858560208301376000602087830101525050509392505050565b600080600080600060a0868803121561356257600080fd5b8535945060208601359350604086013561357b81613479565b925060608601359150608086013567ffffffffffffffff81111561359e57600080fd5b8601601f810188136135af57600080fd5b6135be888235602084016134b6565b9150509295509295909350565b60008083601f8401126135dd57600080fd5b50813567ffffffffffffffff8111156135f557600080fd5b60208301915083602082850101111561360d57600080fd5b9250929050565b60008060008060008060008060a0898b03121561363057600080fd5b8835975060208901356007811061364657600080fd5b9650604089013567ffffffffffffffff8082111561366357600080fd5b61366f8c838d016135cb565b909850965060608b013591508082111561368857600080fd5b6136948c838d016135cb565b909650945060808b01359150808211156136ad57600080fd5b506136ba8b828c016135cb565b999c989b5096995094979396929594505050565b6000602082840312156136e057600080fd5b813567ffffffffffffffff8111156136f757600080fd5b820160808185031215611d4657600080fd5b600082601f83011261371a57600080fd5b611d46838335602085016134b6565b6000806040838503121561373c57600080fd5b8235613747816133cd565b9150602083013567ffffffffffffffff81111561376357600080fd5b61376f85828601613709565b9150509250929050565b6000806040838503121561378c57600080fd5b8235613797816133cd565b915060208301356137a781613479565b809150509250929050565b600080600080608085870312156137c857600080fd5b84356137d3816133cd565b935060208501356137e3816133cd565b925060408501359150606085013567ffffffffffffffff81111561380657600080fd5b61381287828801613709565b91505092959194509250565b6000806040838503121561383157600080fd5b823561383c816133cd565b915060208301356137a7816133cd565b600181811c9082168061386057607f821691505b602082108103613899577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b6000602082840312156138b157600080fd5b5051919050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b600060078a1061393a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b89825260a0602083015261395260a08301898b6138b8565b828103604084015261396581888a6138b8565b9050828103606084015261397a8186886138b8565b91505073ffffffffffffffffffffffffffffffffffffffff831660808301529998505050505050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036139fe577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112613a3a57600080fd5b83018035915067ffffffffffffffff821115613a5557600080fd5b60200191503681900382131561360d57600080fd5b878152608060208201526000613a8460808301888a6138b8565b8281036040840152613a978187896138b8565b90508281036060840152610c9f8185876138b8565b600060208284031215613abe57600080fd5b8151611d46816133cd565b601f82111561098357600081815260208120601f850160051c81016020861015613af05750805b601f850160051c820191505b81811015613b0f57828155600101613afc565b505050505050565b67ffffffffffffffff831115613b2f57613b2f613487565b613b4383613b3d835461384c565b83613ac9565b6000601f841160018114613b955760008515613b5f5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355613c2b565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b82811015613be45786850135825560209485019460019092019101613bc4565b5086821015613c1f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b600073ffffffffffffffffffffffffffffffffffffffff808c1683528a6020840152808a1660408401525060c06060830152613c7260c08301888a6138b8565b8281036080840152613c858187896138b8565b905082810360a0840152613c9a8185876138b8565b9c9b505050505050505050505050565b600060208284031215613cbc57600080fd5b8151611d4681613479565b73ffffffffffffffffffffffffffffffffffffffff81511682526000602082015160406020850152611d226040850182613357565b73ffffffffffffffffffffffffffffffffffffffff8b8116825260208083018c905260408084018c90528a51151560608501528a820151151560808501528a0151151560a08401528851821660c084015288810151805190921660e08401520151610100820152600061024080610120840152613d7b81840189613cc7565b9050828103610140840152613d908188613cc7565b86516dffffffffffffffffffffffffffff908116610160860152602088015116610180850152604087015115156101a0850152606087015173ffffffffffffffffffffffffffffffffffffffff166101c085015260808701516101e08501529050828103610200840152613e048186613357565b915050613e2a61022083018473ffffffffffffffffffffffffffffffffffffffff169052565b9b9a5050505050505050505050565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525083604083015260806060830152613e786080830184613357565b9695505050505050565b600060208284031215613e9457600080fd5b8151611d46816132e8565b815167ffffffffffffffff811115613eb957613eb9613487565b613ecd81613ec7845461384c565b84613ac9565b602080601f831160018114613f205760008415613eea5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555613b0f565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015613f6d57888601518255948401946001909101908401613f4e565b5085821015613fa957878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b60008251613fcb818460208701613333565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122069df0d4308aa6890cb1a63ed5fde72e5003558e570cb3043f0e387b70837636e64736f6c63430008130033000000000000000000000000461df243955ad5493cfa33434c2b7cff2c583dc7", - "nonce": "0x45", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x7bdeee174e4ec6fc6a65a26d422775df699cb5cab402bbdd9b8fa97d3f2d90a5", - "transactionType": "CALL", - "contractName": "ERC1967Proxy", - "contractAddress": "0xf157916d184598105FE4681eC93Be0f799599003", - "function": null, - "arguments": null, - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "to": "0xf157916d184598105fe4681ec93be0f799599003", - "gas": "0x10ad1", - "value": "0x0", - "data": "0x3659cfe600000000000000000000000088f3a4cc4eaa2433c44a7c502c7abbd2c76b03e2", - "nonce": "0x46", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x66ecb91002da900a2889cda1ec2af547945c55f6e2f175366566dc483fbb9d0f", - "transactionType": "CALL", - "contractName": "ERC1967Proxy", - "contractAddress": "0xf157916d184598105FE4681eC93Be0f799599003", - "function": null, - "arguments": null, - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "to": "0xf157916d184598105fe4681ec93be0f799599003", - "gas": "0x10757", - "value": "0x0", - "data": "0xcc5b6084000000000000000000000000fbfa729428af206a084e18328ec923587193525d", - "nonce": "0x47", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "transactionHash": "0xbd67ab955f3c18b346f0972167637cf56a32bf420622707a6ee62ffe8d4f3a7a", - "transactionIndex": "0x1", - "blockHash": "0x38e37e9635db0cb7cce04196ad28258e85f6dcd9f2292a7ee26c10066e3bfc0a", - "blockNumber": "0x9110d2", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": null, - "cumulativeGasUsed": "0x37ace1", - "gasUsed": "0x372304", - "contractAddress": "0x88f3a4cc4Eaa2433c44A7c502C7AbBd2C76b03e2", - "logs": [ - { - "address": "0x88f3a4cc4Eaa2433c44A7c502C7AbBd2C76b03e2", - "topics": [ - "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000000ff", - "blockHash": "0x38e37e9635db0cb7cce04196ad28258e85f6dcd9f2292a7ee26c10066e3bfc0a", - "blockNumber": "0x9110d2", - "transactionHash": "0xbd67ab955f3c18b346f0972167637cf56a32bf420622707a6ee62ffe8d4f3a7a", - "transactionIndex": "0x1", - "logIndex": "0x1", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000800000000000000000000000000000000000000000000000040000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d05e0a" - }, - { - "transactionHash": "0x7bdeee174e4ec6fc6a65a26d422775df699cb5cab402bbdd9b8fa97d3f2d90a5", - "transactionIndex": "0x2", - "blockHash": "0x38e37e9635db0cb7cce04196ad28258e85f6dcd9f2292a7ee26c10066e3bfc0a", - "blockNumber": "0x9110d2", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": "0xf157916d184598105FE4681eC93Be0f799599003", - "cumulativeGasUsed": "0x386e0e", - "gasUsed": "0xc12d", - "contractAddress": null, - "logs": [ - { - "address": "0xf157916d184598105FE4681eC93Be0f799599003", - "topics": [ - "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", - "0x00000000000000000000000088f3a4cc4eaa2433c44a7c502c7abbd2c76b03e2" - ], - "data": "0x", - "blockHash": "0x38e37e9635db0cb7cce04196ad28258e85f6dcd9f2292a7ee26c10066e3bfc0a", - "blockNumber": "0x9110d2", - "transactionHash": "0x7bdeee174e4ec6fc6a65a26d422775df699cb5cab402bbdd9b8fa97d3f2d90a5", - "transactionIndex": "0x2", - "logIndex": "0x2", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000002000000000000000000000000000400000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000010000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d05e0a" - }, - { - "transactionHash": "0x66ecb91002da900a2889cda1ec2af547945c55f6e2f175366566dc483fbb9d0f", - "transactionIndex": "0x3", - "blockHash": "0x38e37e9635db0cb7cce04196ad28258e85f6dcd9f2292a7ee26c10066e3bfc0a", - "blockNumber": "0x9110d2", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": "0xf157916d184598105FE4681eC93Be0f799599003", - "cumulativeGasUsed": "0x392cb6", - "gasUsed": "0xbea8", - "contractAddress": null, - "logs": [], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d05e0a" - } - ], - "libraries": [], - "pending": [], - "path": "/Users/drmanhattan/Workspace/StoryProtocol/protocol-contracts/broadcast/DevUpgrades.s.sol/5/run-latest.json", - "returns": {}, - "timestamp": 1691870567, - "chain": 5, - "multi": false, - "commit": "53ab00d" -} \ No newline at end of file diff --git a/broadcast/Main.s.sol/11155111/run-1701936223.json b/broadcast/Main.s.sol/11155111/run-1701936223.json new file mode 100644 index 00000000..440567b8 --- /dev/null +++ b/broadcast/Main.s.sol/11155111/run-1701936223.json @@ -0,0 +1,682 @@ +{ + "transactions": [ + { + "hash": "0x49b64e330c3f9bd442ebe154a1426591253d2f4f887b3a24c39a14d6e50b78b1", + "transactionType": "CREATE", + "contractName": "AccessControlSingleton", + "contractAddress": "0x4Dc9653D6A21A44ca322474f81B41Dc964a422DD", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x2138be", + "value": "0x0", + "data": "0x60a06040523060805234801561001457600080fd5b50608051611d9061004c600039600081816104d101528181610581015281816106d60152818161078601526108cb0152611d906000f3fe6080604052600436106100dd5760003560e01c806352d1902d1161007f578063a217fddf11610059578063a217fddf146102a8578063ac9650d8146102bd578063c4d66de8146102ea578063d547741f1461030a57600080fd5b806352d1902d146101ea57806354fd4d50146101ff57806391d148541461025557600080fd5b80632f2ff15d116100bb5780632f2ff15d1461017757806336568abe146101975780633659cfe6146101b75780634f1ef286146101d757600080fd5b806301ffc9a7146100e25780631e4e009114610117578063248a9ca314610139575b600080fd5b3480156100ee57600080fd5b506101026100fd3660046117aa565b61032a565b60405190151581526020015b60405180910390f35b34801561012357600080fd5b506101376101323660046117ec565b6103c3565b005b34801561014557600080fd5b5061016961015436600461180e565b60009081526065602052604090206001015490565b60405190815260200161010e565b34801561018357600080fd5b50610137610192366004611850565b6103dd565b3480156101a357600080fd5b506101376101b2366004611850565b610402565b3480156101c357600080fd5b506101376101d236600461187c565b6104ba565b6101376101e53660046118c6565b6106bf565b3480156101f657600080fd5b506101696108b1565b34801561020b57600080fd5b506102486040518060400160405280600581526020017f302e312e3000000000000000000000000000000000000000000000000000000081525081565b60405161010e9190611a14565b34801561026157600080fd5b50610102610270366004611850565b600091825260656020908152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b3480156102b457600080fd5b50610169600081565b3480156102c957600080fd5b506102dd6102d8366004611a27565b61099d565b60405161010e9190611a9c565b3480156102f657600080fd5b5061013761030536600461187c565b610a92565b34801561031657600080fd5b50610137610325366004611850565b610c84565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806103bd57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60006103ce81610ca9565b6103d88383610cb3565b505050565b6000828152606560205260409020600101546103f881610ca9565b6103d88383610cfe565b73ffffffffffffffffffffffffffffffffffffffff811633146104ac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b6104b68282610df2565b5050565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016300361057f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016104a3565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166105f47f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610697576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016104a3565b6106a081610ead565b604080516000808252602082019092526106bc91839190610ed7565b50565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610784576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016104a3565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166107f97f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff161461089c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016104a3565b6108a582610ead565b6104b682826001610ed7565b60003073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610978576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016104a3565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b60608167ffffffffffffffff8111156109b8576109b8611897565b6040519080825280602002602001820160405280156109eb57816020015b60608152602001906001900390816109d65790505b50905060005b82811015610a8b57610a5b30858584818110610a0f57610a0f611b1c565b9050602002810190610a219190611b4b565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506110d692505050565b828281518110610a6d57610a6d611b1c565b60200260200101819052508080610a8390611be6565b9150506109f1565b5092915050565b600054610100900460ff1615808015610ab25750600054600160ff909116105b80610acc5750303b158015610acc575060005460ff166001145b610b58576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016104a3565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610bb657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b73ffffffffffffffffffffffffffffffffffffffff8216610c03576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c0b611102565b610c13611102565b610c1e600083610cfe565b80156104b657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b600082815260656020526040902060010154610c9f81610ca9565b6103d88383610df2565b6106bc813361119b565b600082815260656020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff166104b657600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff85168452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055610d943390565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16156104b657600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e36104b681610ca9565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610f0a576103d883611255565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610f8f575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252610f8c91810190611c1e565b60015b61101b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016104a3565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81146110ca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016104a3565b506103d883838361135f565b60606110fb8383604051806060016040528060278152602001611d346027913961138a565b9392505050565b600054610100900460ff16611199576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016104a3565b565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff166104b6576111db8161140f565b6111e683602061142e565b6040516020016111f7929190611c37565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a00000000000000000000000000000000000000000000000000000000082526104a391600401611a14565b73ffffffffffffffffffffffffffffffffffffffff81163b6112f9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016104a3565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61136883611671565b6000825111806113755750805b156103d85761138483836110d6565b50505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516113b49190611cb8565b600060405180830381855af49150503d80600081146113ef576040519150601f19603f3d011682016040523d82523d6000602084013e6113f4565b606091505b5091509150611405868383876116be565b9695505050505050565b60606103bd73ffffffffffffffffffffffffffffffffffffffff831660145b6060600061143d836002611cd4565b611448906002611ceb565b67ffffffffffffffff81111561146057611460611897565b6040519080825280601f01601f19166020018201604052801561148a576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106114c1576114c1611b1c565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061152457611524611b1c565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000611560846002611cd4565b61156b906001611ceb565b90505b6001811115611608577f303132333435363738396162636465660000000000000000000000000000000085600f16601081106115ac576115ac611b1c565b1a60f81b8282815181106115c2576115c2611b1c565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c9361160181611cfe565b905061156e565b5083156110fb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016104a3565b61167a81611255565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060831561175457825160000361174d5773ffffffffffffffffffffffffffffffffffffffff85163b61174d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016104a3565b508161175e565b61175e8383611766565b949350505050565b8151156117765781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104a39190611a14565b6000602082840312156117bc57600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146110fb57600080fd5b600080604083850312156117ff57600080fd5b50508035926020909101359150565b60006020828403121561182057600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461184b57600080fd5b919050565b6000806040838503121561186357600080fd5b8235915061187360208401611827565b90509250929050565b60006020828403121561188e57600080fd5b6110fb82611827565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080604083850312156118d957600080fd5b6118e283611827565b9150602083013567ffffffffffffffff808211156118ff57600080fd5b818501915085601f83011261191357600080fd5b81358181111561192557611925611897565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561196b5761196b611897565b8160405282815288602084870101111561198457600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b838110156119c15781810151838201526020016119a9565b50506000910152565b600081518084526119e28160208601602086016119a6565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006110fb60208301846119ca565b60008060208385031215611a3a57600080fd5b823567ffffffffffffffff80821115611a5257600080fd5b818501915085601f830112611a6657600080fd5b813581811115611a7557600080fd5b8660208260051b8501011115611a8a57600080fd5b60209290920196919550909350505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015611b0f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452611afd8583516119ca565b94509285019290850190600101611ac3565b5092979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611b8057600080fd5b83018035915067ffffffffffffffff821115611b9b57600080fd5b602001915036819003821315611bb057600080fd5b9250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611c1757611c17611bb7565b5060010190565b600060208284031215611c3057600080fd5b5051919050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351611c6f8160178501602088016119a6565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351611cac8160288401602088016119a6565b01602801949350505050565b60008251611cca8184602087016119a6565b9190910192915050565b80820281158282048414176103bd576103bd611bb7565b808201808211156103bd576103bd611bb7565b600081611d0d57611d0d611bb7565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122035b12ac6102814ae28fecd9f91e4fde7763c03447061ccbdc0e04f5c7addea0e64736f6c63430008130033", + "nonce": "0x5fb", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xaaf7df4b0f53c65c69a83d1f5c34b2864a62be0cb6f712311a603fb349599444", + "transactionType": "CREATE", + "contractName": "ERC1967Proxy", + "contractAddress": "0x7EDacD4d53b5A626471c6728f04D92125CcF647F", + "function": null, + "arguments": [ + "0x4Dc9653D6A21A44ca322474f81B41Dc964a422DD", + "0xc4d66de8000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x3bece", + "value": "0x0", + "data": "0x60806040526040516104ee3803806104ee833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c760279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60be806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea264697066735822122091c81c9b8ac755a7e1e08c0e9f65600d21e642457fb84c7f9e0d0a65b62d269064736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c65640000000000000000000000004dc9653d6a21a44ca322474f81b41dc964a422dd00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de8000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab00000000000000000000000000000000000000000000000000000000", + "nonce": "0x5fc", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x032a743da017dcc3de3766692bc8a2853afdc8212cf67e5dadd953a8ecedfe34", + "transactionType": "CREATE", + "contractName": "LicensingFrameworkRepo", + "contractAddress": "0xA30bB959Bc298e244aCE0402B5c0609CC8745134", + "function": null, + "arguments": [ + "0x7EDacD4d53b5A626471c6728f04D92125CcF647F" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x2222ae", + "value": "0x0", + "data": "0x60806040523480156200001157600080fd5b5060405162001f9538038062001f958339810160408190526200003491620001cd565b80620000516001600160a01b038216637965db0b60e01b620000e1565b62000094576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b038316908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050620001f8565b6000620000ee8362000109565b801562000102575062000102838362000142565b9392505050565b60006200011e826301ffc9a760e01b62000142565b80156200013c57506200013a826001600160e01b031962000142565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d91506000519050828015620001b5575060208210155b8015620001c25750600081115b979650505050505050565b600060208284031215620001e057600080fd5b81516001600160a01b03811681146200010257600080fd5b611d8d80620002086000396000f3fe608060405234801561001057600080fd5b50600436106100a35760003560e01c8063912871c811610076578063ac9650d81161005b578063ac9650d81461015d578063e75afa551461017d578063eae376e31461019d57600080fd5b8063912871c81461011a5780639faddd201461013d57600080fd5b80631013cbca146100a857806319129e5a146100d157806342f6d099146100e65780637859a97e146100f9575b600080fd5b6100bb6100b6366004611228565b6101bd565b6040516100c8919061126a565b60405180910390f35b6100e46100df3660046112d3565b6101f3565b005b6100e46100f43660046112f0565b610357565b61010c610107366004611228565b610544565b6040519081526020016100c8565b61012d610128366004611370565b610571565b60405190151581526020016100c8565b61015061014b3660046113dc565b6106b6565b6040516100c891906114ad565b61017061016b3660046114bb565b610744565b6040516100c8919061155f565b61019061018b366004611228565b610839565b6040516100c891906115df565b6101b06101ab366004611228565b6108ff565b6040516100c8919061162c565b60606101ea600184846040516101d492919061163f565b90815260200160405180910390206001016109b3565b90505b92915050565b60006101ff81336109c7565b610243576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b61028373ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000610a63565b6102e9576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c000000000000000000000000000000000000604482015260640161023a565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050565b7f256895704541e78004f0fd55953a8bcc54c628755b14fbf53afdc556473f9bd061038281336109c7565b6103c1576040517f75000dc00000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440161023a565b600060016103cf848061164f565b6040516103dd92919061163f565b9081526020016040518091039020905060006103fb82600101610a7f565b1115610433576040517f7e5d56bb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061044260408501856116b4565b9150506096811115610480576040517fb6cb3c0400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b818110156104d2576104c0610498868061164f565b6104a560408901896116b4565b858181106104b5576104b561171c565b905060400201610a89565b806104ca8161174b565b915050610483565b506104e0602085018561164f565b83916104ed91908361187a565b507fcc3b4b42d496457f15f49a410f201fdb906b09fbff771f240a8dc8418abe68be610519858061164f565b610526602088018861164f565b60405161053694939291906119de565b60405180910390a150505050565b60006101ea6001848460405161055b92919061163f565b9081526020016040518091039020600101610a7f565b6000806001868660405161058692919061163f565b90815260405190819003602001902090508260968111156105ac576000925050506106ae565b60005b818110156106a65760008686838181106105cb576105cb61171c565b90506020028101906105dd9190611a05565b3590506105ed6001850182610bdb565b6105fe5760009450505050506106ae565b60008181526003850160205260409020546106829060ff168888858181106106285761062861171c565b905060200281019061063a9190611a05565b61064890602081019061164f565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610bf392505050565b6106935760009450505050506106ae565b508061069e8161174b565b9150506105af565b506001925050505b949350505050565b60408051808201909152600080825260208201526000600185856040516106de92919061163f565b908152604051908190036020019020905060006106fe6001830185610e36565b604080518082018252828152600083815260038601602090815292902054929350919082019060ff16600481111561073857610738611428565b90529695505050505050565b60608167ffffffffffffffff81111561075f5761075f6117aa565b60405190808252806020026020018201604052801561079257816020015b606081526020019060019003908161077d5790505b50905060005b8281101561083257610802308585848181106107b6576107b661171c565b90506020028101906107c8919061164f565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610e4292505050565b8282815181106108145761081461171c565b6020026020010181905250808061082a9061174b565b915050610798565b5092915050565b60606001838360405161084d92919061163f565b9081526020016040518091039020600401805480602002602001604051908101604052809291908181526020016000905b828210156108f35783829060005260206000209060020201604051806040016040529081600082015481526020016001820160009054906101000a900460ff1660048111156108cf576108cf611428565b60048111156108e0576108e0611428565b815250508152602001906001019061087e565b50505050905092915050565b60606001838360405161091392919061163f565b908152604051908190036020019020805461092d906117d9565b80601f0160208091040260200160405190810160405280929190818152602001828054610959906117d9565b80156109a65780601f1061097b576101008083540402835291602001916109a6565b820191906000526020600020905b81548152906001019060200180831161098957829003601f168201915b5050505050905092915050565b606060006109c083610e67565b9392505050565b600080546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff8481166024830152909116906391d1485490604401602060405180830381865afa158015610a3f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101ea9190611a43565b6000610a6e83610ec3565b80156101ea57506101ea8383610f27565b60006101ed825490565b600060018484604051610a9d92919061163f565b90815260405190819003602001902090508135610abd6001830182610bdb565b15610af4576040517f982f2a2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b016001830182610ff6565b50610b126040840160208501611a72565b6000828152600384016020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001836004811115610b5a57610b5a611428565b021790555060048201805460018101825560009182526020909120849160020201610b858282611a8f565b507ff93d3176a8dc9cb9dbaf25cf82679a837e82137f65a2eaef630b92178c3fb85d9050858583610bbc6040880160208901611a72565b604051610bcc9493929190611b0f565b60405180910390a15050505050565b600081815260018301602052604081205415156101ea565b60007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470828051906020012003610c2b575060016101ed565b6000836004811115610c3f57610c3f611428565b03610c625781806020019051810190610c589190611a43565b50600190506101ed565b6001836004811115610c7657610c76611428565b03610ca35781806020019051810190610c8f9190611b41565b600003610c9e575060006101ed565b610e2d565b6002836004811115610cb757610cb7611428565b03610d0b57600073ffffffffffffffffffffffffffffffffffffffff1682806020019051810190610ce89190611b5a565b73ffffffffffffffffffffffffffffffffffffffff1603610c9e575060006101ed565b6003836004811115610d1f57610d1f611428565b03610de75781806020019051810190610d389190611bc6565b50604051602001610d7a9060208082526001908201527f2000000000000000000000000000000000000000000000000000000000000000604082015260600190565b6040516020818303038152906040528051906020012082805190602001201480610dda5750604051602001610dba90602080825260009082015260400190565b604051602081830303815290604052805190602001208280519060200120145b15610c9e575060006101ed565b6004836004811115610dfb57610dfb611428565b03610e2d57600082806020019051810190610e169190611c78565b90508051600003610e2b5760009150506101ed565b505b50600192915050565b60006101ea8383611002565b60606101ea8383604051806060016040528060278152602001611d316027913961102c565b606081600001805480602002602001604051908101604052809291908181526020018280548015610eb757602002820191906000526020600020905b815481526020019060010190808311610ea3575b50505050509050919050565b6000610eef827f01ffc9a700000000000000000000000000000000000000000000000000000000610f27565b80156101ed5750610f20827fffffffff00000000000000000000000000000000000000000000000000000000610f27565b1592915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015610fdf575060208210155b8015610feb5750600081115b979650505050505050565b60006101ea83836110b1565b60008260000182815481106110195761101961171c565b9060005260206000200154905092915050565b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516110569190611d1e565b600060405180830381855af49150503d8060008114611091576040519150601f19603f3d011682016040523d82523d6000602084013e611096565b606091505b50915091506110a786838387611100565b9695505050505050565b60008181526001830160205260408120546110f8575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556101ed565b5060006101ed565b6060831561119657825160000361118f5773ffffffffffffffffffffffffffffffffffffffff85163b61118f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161023a565b50816106ae565b6106ae83838151156111ab5781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161023a919061162c565b60008083601f8401126111f157600080fd5b50813567ffffffffffffffff81111561120957600080fd5b60208301915083602082850101111561122157600080fd5b9250929050565b6000806020838503121561123b57600080fd5b823567ffffffffffffffff81111561125257600080fd5b61125e858286016111df565b90969095509350505050565b6020808252825182820181905260009190848201906040850190845b818110156112a257835183529284019291840191600101611286565b50909695505050505050565b73ffffffffffffffffffffffffffffffffffffffff811681146112d057600080fd5b50565b6000602082840312156112e557600080fd5b81356109c0816112ae565b60006020828403121561130257600080fd5b813567ffffffffffffffff81111561131957600080fd5b8201606081850312156109c057600080fd5b60008083601f84011261133d57600080fd5b50813567ffffffffffffffff81111561135557600080fd5b6020830191508360208260051b850101111561122157600080fd5b6000806000806040858703121561138657600080fd5b843567ffffffffffffffff8082111561139e57600080fd5b6113aa888389016111df565b909650945060208701359150808211156113c357600080fd5b506113d08782880161132b565b95989497509550505050565b6000806000604084860312156113f157600080fd5b833567ffffffffffffffff81111561140857600080fd5b611414868287016111df565b909790965060209590950135949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6005811061148e577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b8051825260208101516114a86020840182611457565b505050565b604081016101ed8284611492565b600080602083850312156114ce57600080fd5b823567ffffffffffffffff8111156114e557600080fd5b61125e8582860161132b565b60005b8381101561150c5781810151838201526020016114f4565b50506000910152565b6000815180845261152d8160208601602086016114f1565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156115d2577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08886030184526115c0858351611515565b94509285019290850190600101611586565b5092979650505050505050565b602080825282518282018190526000919060409081850190868401855b8281101561161f5761160f848351611492565b92840192908501906001016115fc565b5091979650505050505050565b6020815260006101ea6020830184611515565b8183823760009101908152919050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261168457600080fd5b83018035915067ffffffffffffffff82111561169f57600080fd5b60200191503681900382131561122157600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126116e957600080fd5b83018035915067ffffffffffffffff82111561170457600080fd5b6020019150600681901b360382131561122157600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036117a3577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600181811c908216806117ed57607f821691505b602082108103611826577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f8211156114a857600081815260208120601f850160051c810160208610156118535750805b601f850160051c820191505b818110156118725782815560010161185f565b505050505050565b67ffffffffffffffff831115611892576118926117aa565b6118a6836118a083546117d9565b8361182c565b6000601f8411600181146118f857600085156118c25750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b17835561198e565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b828110156119475786850135825560209485019460019092019101611927565b5086821015611982577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6040815260006119f2604083018688611995565b8281036020840152610feb818587611995565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1833603018112611a3957600080fd5b9190910192915050565b600060208284031215611a5557600080fd5b815180151581146109c057600080fd5b600581106112d057600080fd5b600060208284031215611a8457600080fd5b81356109c081611a65565b81358155600181016020830135611aa581611a65565b60058110611adc577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0082541660ff8216811783555050505050565b606081526000611b23606083018688611995565b9050836020830152611b386040830184611457565b95945050505050565b600060208284031215611b5357600080fd5b5051919050565b600060208284031215611b6c57600080fd5b81516109c0816112ae565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715611bbe57611bbe6117aa565b604052919050565b600060208284031215611bd857600080fd5b815167ffffffffffffffff80821115611bf057600080fd5b818401915084601f830112611c0457600080fd5b815181811115611c1657611c166117aa565b611c4760207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601611b77565b9150808252856020828501011115611c5e57600080fd5b611c6f8160208401602086016114f1565b50949350505050565b60006020808385031215611c8b57600080fd5b825167ffffffffffffffff80821115611ca357600080fd5b818501915085601f830112611cb757600080fd5b815181811115611cc957611cc96117aa565b8060051b9150611cda848301611b77565b8181529183018401918481019088841115611cf457600080fd5b938501935b83851015611d1257845182529385019390850190611cf9565b98975050505050505050565b60008251611a398184602087016114f156fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220e7cdeb2ebe80f70a7655b1be23982831348c44fd66f6a38f976d909d8444034064736f6c634300081300330000000000000000000000007edacd4d53b5a626471c6728f04d92125ccf647f", + "nonce": "0x5fd", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xca1fe1cec4d95f2ab31fc12c1c2af517115b57522c4984cefbcce4d4d03e66eb", + "transactionType": "CREATE", + "contractName": "ModuleRegistry", + "contractAddress": "0xedBd4907A7F98de932e635e9076B4E0C36D0E797", + "function": null, + "arguments": [ + "0x7EDacD4d53b5A626471c6728f04D92125CcF647F" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x1fbd14", + "value": "0x0", + "data": "0x60806040523480156200001157600080fd5b5060405162001d6838038062001d688339810160408190526200003491620001cd565b80620000516001600160a01b038216637965db0b60e01b620000e1565b62000094576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b038316908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050620001f8565b6000620000ee8362000109565b801562000102575062000102838362000142565b9392505050565b60006200011e826301ffc9a760e01b62000142565b80156200013c57506200013a826001600160e01b031962000142565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d91506000519050828015620001b5575060208210155b8015620001c25750600081115b979650505050505050565b600060208284031215620001e057600080fd5b81516001600160a01b03811681146200010257600080fd5b611b6080620002086000396000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c8063ac9650d811610081578063d08906d61161005b578063d08906d6146101c0578063e1fc45ce146101d3578063eca53519146101e657600080fd5b8063ac9650d81461018d578063b38609e8146101ad578063c7bdcb8a1461017a57600080fd5b80633af83c18116100b25780633af83c181461012a5780635c7a980b1461014d578063869450941461017a57600080fd5b806319129e5a146100d957806320b76ffc146100ee57806337e22bd414610101575b600080fd5b6100ec6100e73660046110d1565b6101f9565b005b6100ec6100fc366004611137565b61035d565b61011461010f366004611379565b610373565b60405161012191906114a7565b60405180910390f35b61013d6101383660046114ba565b61038d565b6040519015158152602001610121565b610155600081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610121565b610155610188366004611511565b6103e8565b6101a061019b366004611598565b61042a565b6040516101219190611644565b6101146101bb366004611657565b61051f565b6100ec6101ce3660046114ba565b610637565b6101146101e136600461173f565b610795565b6100ec6101f4366004611511565b61081b565b600061020581336109db565b610249576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b61028973ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000610a7e565b6102ef576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c0000000000000000000000000000000000006044820152606401610240565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050565b61036b853386868686610a9a565b505050505050565b6060610383863387878787610c48565b9695505050505050565b60008173ffffffffffffffffffffffffffffffffffffffff16600185856040516103b89291906117d4565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff161490509392505050565b6000600183836040516103fc9291906117d4565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff16905092915050565b60608167ffffffffffffffff811115610445576104456111ba565b60405190808252806020026020018201604052801561047857816020015b60608152602001906001900390816104635790505b50905060005b82811015610518576104e83085858481811061049c5761049c6117e4565b90506020028101906104ae9190611813565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610de192505050565b8282815181106104fa576104fa6117e4565b6020026020010181905250808061051090611878565b91505061047e565b5092915050565b60607fe4a10d29decbd34c09a62a511d4fd993a7d8cbbf58d7d4278711c29c9148b8f761054c81336109db565b61058b576040517f75000dc000000000000000000000000000000000000000000000000000000000815260048101829052336024820152604401610240565b6106278c8c8c8c8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061061892508c91508d90506118d7565b610622898b6118d7565b610c48565b9c9b505050505050505050505050565b7fc9a6ce5d86bdc06f8d57f20091bf09bf611e57d0626b65aa9ebb3c9179ba650f61066281336109db565b6106a1576040517f75000dc000000000000000000000000000000000000000000000000000000000815260048101829052336024820152604401610240565b73ffffffffffffffffffffffffffffffffffffffff82166106ee576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81600185856040516107019291906117d4565b908152604051908190036020018120805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff0000000000000000000000000000000000000000909116179055908316906000907f14d77cb3ef4c75b9a031527cf63890f47708121a75c8b9c9cddbacc19defd12290610787908890889061192d565b60405180910390a350505050565b60607fe4a10d29decbd34c09a62a511d4fd993a7d8cbbf58d7d4278711c29c9148b8f76107c281336109db565b610801576040517f75000dc000000000000000000000000000000000000000000000000000000000815260048101829052336024820152604401610240565b61080f888888888888610a9a565b98975050505050505050565b7fc9a6ce5d86bdc06f8d57f20091bf09bf611e57d0626b65aa9ebb3c9179ba650f61084681336109db565b610885576040517f75000dc000000000000000000000000000000000000000000000000000000000815260048101829052336024820152604401610240565b600073ffffffffffffffffffffffffffffffffffffffff16600184846040516108af9291906117d4565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff16036109105782826040517f97385f5100000000000000000000000000000000000000000000000000000000815260040161024092919061192d565b6000600184846040516109249291906117d4565b9081526040519081900360200181205473ffffffffffffffffffffffffffffffffffffffff16915060019061095c90869086906117d4565b90815260405190819003602001812080547fffffffffffffffffffffffff000000000000000000000000000000000000000016905573ffffffffffffffffffffffffffffffffffffffff8216906000907f335f1d2bb0046b3a423088788bb8d6350f8a36ff7d554592f91d8102ea0ce4d790610787908890889061192d565b600080546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff8481166024830152909116906391d1485490604401602060405180830381865afa158015610a53573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a779190611941565b9392505050565b6000610a8983610e06565b8015610a775750610a778383610e6b565b6060600060018686604051610ab09291906117d4565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff16905080610b135785856040517f97385f5100000000000000000000000000000000000000000000000000000000815260040161024092919061192d565b6040517f4fcbd21300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821690634fcbd21390610b6b908b908b9089908990600401611963565b6000604051808303816000875af1158015610b8a573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610bd0919081019061199d565b91508673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167f48786003f3d30e41bfa4ee09afdeb9bfb04b7e06e2f74f3177da393a793bbc3388888888604051610c359493929190611a14565b60405180910390a3509695505050505050565b60606000600186604051610c5c9190611a3b565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff16905080610cbd57856040517f97385f5100000000000000000000000000000000000000000000000000000000815260040161024091906114a7565b6040517fb6efd29d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82169063b6efd29d90610d17908b908b908a908a908a90600401611a57565b6000604051808303816000875af1158015610d36573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610d7c919081019061199d565b91508673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fc370e2f187a6d9446aca617bbcd60f84f24a0020a0c55dbc4ff5c8a3ce87abb588888888604051610c359493929190611ab6565b6060610a778383604051806060016040528060278152602001611b0460279139610f3a565b6000610e32827f01ffc9a700000000000000000000000000000000000000000000000000000000610e6b565b8015610e655750610e63827fffffffff00000000000000000000000000000000000000000000000000000000610e6b565b155b92915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015610f23575060208210155b8015610f2f5750600081115b979650505050505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051610f649190611a3b565b600060405180830381855af49150503d8060008114610f9f576040519150601f19603f3d011682016040523d82523d6000602084013e610fa4565b606091505b5091509150610383868383876060831561104657825160000361103f5773ffffffffffffffffffffffffffffffffffffffff85163b61103f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610240565b5081611050565b6110508383611058565b949350505050565b8151156110685781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161024091906114a7565b73ffffffffffffffffffffffffffffffffffffffff811681146110be57600080fd5b50565b80356110cc8161109c565b919050565b6000602082840312156110e357600080fd5b8135610a778161109c565b60008083601f84011261110057600080fd5b50813567ffffffffffffffff81111561111857600080fd5b60208301915083602082850101111561113057600080fd5b9250929050565b60008060008060006060868803121561114f57600080fd5b853561115a8161109c565b9450602086013567ffffffffffffffff8082111561117757600080fd5b61118389838a016110ee565b9096509450604088013591508082111561119c57600080fd5b506111a9888289016110ee565b969995985093965092949392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715611230576112306111ba565b604052919050565b600067ffffffffffffffff821115611252576112526111ba565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f83011261128f57600080fd5b81356112a261129d82611238565b6111e9565b8181528460208386010111156112b757600080fd5b816020850160208301376000918101602001919091529392505050565b600067ffffffffffffffff808411156112ef576112ef6111ba565b8360051b60206113008183016111e9565b8681529350908401908084018783111561131957600080fd5b855b8381101561134d578035858111156113335760008081fd5b61133f8a828a0161127e565b83525090820190820161131b565b50505050509392505050565b600082601f83011261136a57600080fd5b610a77838335602085016112d4565b600080600080600060a0868803121561139157600080fd5b853561139c8161109c565b9450602086013567ffffffffffffffff808211156113b957600080fd5b6113c589838a0161127e565b955060408801359150808211156113db57600080fd5b6113e789838a0161127e565b945060608801359150808211156113fd57600080fd5b61140989838a01611359565b9350608088013591508082111561141f57600080fd5b5061142c88828901611359565b9150509295509295909350565b60005b8381101561145457818101518382015260200161143c565b50506000910152565b60008151808452611475816020860160208601611439565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610a77602083018461145d565b6000806000604084860312156114cf57600080fd5b833567ffffffffffffffff8111156114e657600080fd5b6114f2868287016110ee565b90945092505060208401356115068161109c565b809150509250925092565b6000806020838503121561152457600080fd5b823567ffffffffffffffff81111561153b57600080fd5b611547858286016110ee565b90969095509350505050565b60008083601f84011261156557600080fd5b50813567ffffffffffffffff81111561157d57600080fd5b6020830191508360208260051b850101111561113057600080fd5b600080602083850312156115ab57600080fd5b823567ffffffffffffffff8111156115c257600080fd5b61154785828601611553565b600082825180855260208086019550808260051b84010181860160005b84811015611637577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe086840301895261162583835161145d565b988401989250908301906001016115eb565b5090979650505050505050565b602081526000610a7760208301846115ce565b60008060008060008060008060008060c08b8d03121561167657600080fd5b61167f8b6110c1565b995061168d60208c016110c1565b985060408b013567ffffffffffffffff808211156116aa57600080fd5b6116b68e838f016110ee565b909a50985060608d01359150808211156116cf57600080fd5b6116db8e838f016110ee565b909850965060808d01359150808211156116f457600080fd5b6117008e838f01611553565b909650945060a08d013591508082111561171957600080fd5b506117268d828e01611553565b915080935050809150509295989b9194979a5092959850565b6000806000806000806080878903121561175857600080fd5b86356117638161109c565b955060208701356117738161109c565b9450604087013567ffffffffffffffff8082111561179057600080fd5b61179c8a838b016110ee565b909650945060608901359150808211156117b557600080fd5b506117c289828a016110ee565b979a9699509497509295939492505050565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261184857600080fd5b83018035915067ffffffffffffffff82111561186357600080fd5b60200191503681900382131561113057600080fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036118d0577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b6000610a773684846112d4565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6020815260006110506020830184866118e4565b60006020828403121561195357600080fd5b81518015158114610a7757600080fd5b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250606060408301526103836060830184866118e4565b6000602082840312156119af57600080fd5b815167ffffffffffffffff8111156119c657600080fd5b8201601f810184136119d757600080fd5b80516119e561129d82611238565b8181528560208385010111156119fa57600080fd5b611a0b826020830160208601611439565b95945050505050565b604081526000611a286040830186886118e4565b8281036020840152610f2f8185876118e4565b60008251611a4d818460208701611439565b9190910192915050565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525060a06040830152611a9060a083018661145d565b8281036060840152611aa281866115ce565b9050828103608084015261080f81856115ce565b608081526000611ac9608083018761145d565b8281036020840152611adb818761145d565b90508281036040840152611aef81866115ce565b90508281036060840152610f2f81856115ce56fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122041f1a0f24893d222413a264b74757e6f2c2172550bb05d81a811b529e638d83164736f6c634300081300330000000000000000000000007edacd4d53b5a626471c6728f04d92125ccf647f", + "nonce": "0x5fe", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x1367afaa266f809c9cdbbd18c0f42f48f10e70b997cf7984eee88d985ba95055", + "transactionType": "CREATE", + "contractName": "IPAssetRegistry", + "contractAddress": "0xaD2377c8f9f0ca6382fEf166b08aeDe8318fE49C", + "function": null, + "arguments": [ + "0xedBd4907A7F98de932e635e9076B4E0C36D0E797" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x132c3f", + "value": "0x0", + "data": "0x60a0604052600060015534801561001557600080fd5b5060405161113e38038061113e83398101604081905261003491610045565b6001600160a01b0316608052610075565b60006020828403121561005757600080fd5b81516001600160a01b038116811461006e57600080fd5b9392505050565b6080516110926100ac6000396000818161018e0152818161023f0152818161040f0152818161057c01526106af01526110926000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806387cb967a1161005b57806387cb967a14610150578063b95ddb5214610189578063c47f8bfa146101b0578063d896dd64146101d057600080fd5b8063251fe79c1461008d578063299d1cf6146100a257806342d21ef7146100df578063601a924c1461012f575b600080fd5b6100a061009b366004610b62565b6101e3565b005b6100b56100b0366004610b92565b61039b565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61011d6100ed366004610b92565b60009081526020819052604090206001015474010000000000000000000000000000000000000000900460ff1690565b60405160ff90911681526020016100d6565b61014261013d366004610bda565b61051d565b6040519081526020016100d6565b6100b561015e366004610b92565b60009081526020819052604090206002015473ffffffffffffffffffffffffffffffffffffffff1690565b6100b57f000000000000000000000000000000000000000000000000000000000000000081565b6101c36101be366004610b92565b610951565b6040516100d69190610d3a565b6100a06101de366004610dbd565b610aa0565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815233917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a9161028791600401610de8565b602060405180830381865afa1580156102a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102c89190610dfb565b73ffffffffffffffffffffffffffffffffffffffff1614610315576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008281526020819052604080822060020180547fffffffffffffffffffffffff0000000000000000000000000000000000000000811673ffffffffffffffffffffffffffffffffffffffff8681169182179093559251911692839186917f147c62691502c52a4a793c136ab712d9695053acdd62d44170a823bc377a59f591a4505050565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a000000000000000000000000000000000000000000000000000000008152600091829173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a916104439190600401610de8565b602060405180830381865afa158015610460573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104849190610dfb565b6040517f6352211e0000000000000000000000000000000000000000000000000000000081526004810185905290915073ffffffffffffffffffffffffffffffffffffffff821690636352211e90602401602060405180830381865afa1580156104f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105169190610dfb565b9392505050565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260009133917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a916105c59190600401610de8565b602060405180830381865afa1580156105e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106069190610dfb565b73ffffffffffffffffffffffffffffffffffffffff1614610653576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815233917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a916106f791600401610de8565b602060405180830381865afa158015610714573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107389190610dfb565b73ffffffffffffffffffffffffffffffffffffffff1614610785576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016000815461079490610e18565b91829055506040805160c08101825285815273ffffffffffffffffffffffffffffffffffffffff8781166020808401919091526001838501529089166060830152608082018690524267ffffffffffffffff811660a084015260008581529182905292902081519394509192909190819061080f9082610f19565b50602082015160018201805460408086015160ff1674010000000000000000000000000000000000000000027fffffffffffffffffffffff00000000000000000000000000000000000000000090921673ffffffffffffffffffffffffffffffffffffffff948516179190911790915560608401516002840180549184167fffffffffffffffffffffffff0000000000000000000000000000000000000000929092169190911790556080840151600384015560a0909301516004909201805467ffffffffffffffff9093167fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909316929092179091559051868216918816907f964ceb922535d169779e716f1dea5a577aeef2427e753bdb9eace345bca56b929061094090869089908990611033565b60405180910390a350949350505050565b6040805160c081018252606080825260006020830181905292820183905281018290526080810182905260a081019190915260008281526020819052604090819020815160c081019092528054829082906109ab90610e77565b80601f01602080910402602001604051908101604052809291908181526020018280546109d790610e77565b8015610a245780601f106109f957610100808354040283529160200191610a24565b820191906000526020600020905b815481529060010190602001808311610a0757829003601f168201915b5050509183525050600182015473ffffffffffffffffffffffffffffffffffffffff80821660208401527401000000000000000000000000000000000000000090910460ff16604083015260028301541660608201526003820154608082015260049091015467ffffffffffffffff1660a09091015292915050565b60008281526020818152604091829020600101805460ff858116740100000000000000000000000000000000000000008181027fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff8516179094558551939092041680835292820152849283917fd98efe2dd5b76c52df27ca251c889b2339e9f49fdd2e02e72abbae1136a1f014910160405180910390a250505050565b73ffffffffffffffffffffffffffffffffffffffff81168114610b5f57600080fd5b50565b60008060408385031215610b7557600080fd5b823591506020830135610b8781610b3d565b809150509250929050565b600060208284031215610ba457600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060008060808587031215610bf057600080fd5b8435610bfb81610b3d565b93506020850135610c0b81610b3d565b9250604085013567ffffffffffffffff80821115610c2857600080fd5b818701915087601f830112610c3c57600080fd5b813581811115610c4e57610c4e610bab565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715610c9457610c94610bab565b816040528281528a6020848701011115610cad57600080fd5b826020860160208301376000928101602001929092525095989497509495606001359450505050565b6000815180845260005b81811015610cfc57602081850181015186830182015201610ce0565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081526000825160c06020840152610d5660e0840182610cd6565b9050602084015173ffffffffffffffffffffffffffffffffffffffff808216604086015260ff60408701511660608601528060608701511660808601525050608084015160a084015267ffffffffffffffff60a08501511660c08401528091505092915050565b60008060408385031215610dd057600080fd5b82359150602083013560ff81168114610b8757600080fd5b6020815260006105166020830184610cd6565b600060208284031215610e0d57600080fd5b815161051681610b3d565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610e70577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b600181811c90821680610e8b57607f821691505b602082108103610ec4577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f821115610f1457600081815260208120601f850160051c81016020861015610ef15750805b601f850160051c820191505b81811015610f1057828155600101610efd565b5050505b505050565b815167ffffffffffffffff811115610f3357610f33610bab565b610f4781610f418454610e77565b84610eca565b602080601f831160018114610f9a5760008415610f645750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610f10565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015610fe757888601518255948401946001909101908401610fc8565b508582101561102357878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b83815260606020820152600061104c6060830185610cd6565b905082604083015294935050505056fea26469706673582212206759a7cfd471cb174f63e8a93a86f039d8968418e57264c2bc8e8fae94ff11fd64736f6c63430008130033000000000000000000000000edbd4907a7f98de932e635e9076b4e0c36d0e797", + "nonce": "0x5ff", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x576f73c4d6629a4135060cf2cf6c6141e13297b7c25bc3e386ab7c1dcef25164", + "transactionType": "CREATE", + "contractName": "LicenseRegistry", + "contractAddress": "0xCD28eb9D0D2AFcf4354F2c93dE5ce9Bbf88257ae", + "function": null, + "arguments": [ + "0xaD2377c8f9f0ca6382fEf166b08aeDe8318fE49C", + "0xedBd4907A7F98de932e635e9076B4E0C36D0E797", + "0xA30bB959Bc298e244aCE0402B5c0609CC8745134" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x3d645a", + "value": "0x0", + "data": "0x60e06040523480156200001157600080fd5b50604051620039d0380380620039d0833981016040819052620000349162000160565b6040518060400160405280601a81526020017f53746f72792050726f746f636f6c204c6963656e7365204e4654000000000000815250604051806040016040528060048152602001631313919560e21b81525081600090816200009891906200024f565b506001620000a782826200024f565b5050506001600160a01b038316620000d25760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b038084166080528216620001005760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0380831660a05281166200012e5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b031660c052506200031b9050565b80516001600160a01b03811681146200015b57600080fd5b919050565b6000806000606084860312156200017657600080fd5b620001818462000143565b9250620001916020850162000143565b9150620001a16040850162000143565b90509250925092565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620001d557607f821691505b602082108103620001f657634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200024a57600081815260208120601f850160051c81016020861015620002255750805b601f850160051c820191505b81811015620002465782815560010162000231565b5050505b505050565b81516001600160401b038111156200026b576200026b620001aa565b62000283816200027c8454620001c0565b84620001fc565b602080601f831160018114620002bb5760008415620002a25750858301515b600019600386901b1c1916600185901b17855562000246565b600085815260208120601f198616915b82811015620002ec57888601518255948401946001909101908401620002cb565b50858210156200030b5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60805160a05160c0516136626200036e600039600061043201526000818161048701528181610ad80152818161104c01528181611278015261165701526000818161053201526121a801526136626000f3fe608060405234801561001057600080fd5b506004361061020b5760003560e01c806370a082311161012a578063c87b56dd116100bd578063d7f9ab8b1161008c578063e58efef611610071578063e58efef61461058a578063e705c2b8146105c3578063e985e9c5146105d657600080fd5b8063d7f9ab8b14610554578063e006e5a71461057757600080fd5b8063c87b56dd146104bc578063c8c0eb87146104dd578063d09d894e1461051a578063d2faf8b01461052d57600080fd5b8063a22cb465116100f9578063a22cb4651461045c578063b88d4fde1461046f578063b95ddb5214610482578063c7647215146104a957600080fd5b806370a082311461040757806371e074dd1461041a57806376a4b13b1461042d57806395d89b411461045457600080fd5b8063357a595a116101a2578063439d4b5c11610171578063439d4b5c1461039057806356227341146103a35780636103b2ce146103d45780636352211e146103f457600080fd5b8063357a595a1461031957806337f8ebfb1461032c5780633c06e1dc1461035557806342842e0e1461037d57600080fd5b806308a4f072116101de57806308a4f072146102be578063095ea7b3146102de5780631f09e4e5146102f357806323b872dd1461030657600080fd5b806301ffc9a714610210578063056569af1461023857806306fdde0314610296578063081812fc146102ab575b600080fd5b61022361021e3660046129dd565b61061f565b60405190151581526020015b60405180910390f35b610271610246366004612a01565b60009081526006602052604090206001015473ffffffffffffffffffffffffffffffffffffffff1690565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161022f565b61029e610704565b60405161022f9190612a7e565b6102716102b9366004612a01565b610796565b6102d16102cc366004612a01565b6107ca565b60405161022f9190612a91565b6102f16102ec366004612b4c565b6108d8565b005b6102f1610301366004612b76565b610a69565b6102f1610314366004612ba2565b610b93565b6102f1610327366004612a01565b610c34565b61022361033a366004612a01565b60009081526006602052604090205462010000900460ff1690565b610223610363366004612a01565b600090815260066020526040902054610100900460ff1690565b6102f161038b366004612ba2565b610c41565b6102f161039e366004612a01565b610c5c565b6103c66103b1366004612a01565b60009081526006602052604090206005015490565b60405190815260200161022f565b6103e76103e2366004612a01565b610d21565b60405161022f9190612c0d565b610271610402366004612a01565b610e81565b6103c6610415366004612d16565b610f0d565b6102f1610428366004612d31565b610fdb565b6102717f000000000000000000000000000000000000000000000000000000000000000081565b61029e611144565b6102f161046a366004612d6c565b611153565b6102f161047d366004612efc565b61115e565b6102717f000000000000000000000000000000000000000000000000000000000000000081565b6103c66104b736600461306e565b611206565b61029e6104ca366004612a01565b5060408051602081019091526000815290565b6102716104eb366004612a01565b6000908152600660205260409020546301000000900473ffffffffffffffffffffffffffffffffffffffff1690565b6103c6610528366004613162565b6115e5565b6102717f000000000000000000000000000000000000000000000000000000000000000081565b6103c6610562366004612a01565b60009081526006602052604090206004015490565b610271610585366004612a01565b611a36565b610271610598366004612a01565b60009081526006602052604090206002015473ffffffffffffffffffffffffffffffffffffffff1690565b6102236105d1366004612a01565b611a41565b6102236105e43660046131a6565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260056020908152604080832093909416825291909152205460ff1690565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd0000000000000000000000000000000000000000000000000000000014806106b257507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b806106fe57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b606060008054610713906131d0565b80601f016020809104026020016040519081016040528092919081815260200182805461073f906131d0565b801561078c5780601f106107615761010080835404028352916020019161078c565b820191906000526020600020905b81548152906001019060200180831161076f57829003601f168201915b5050505050905090565b60006107a182611b05565b5060009081526004602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b606060076000838152602001908152602001600020805480602002602001604051908101604052809291908181526020016000905b828210156108cd57838290600052602060002090600202016040518060400160405290816000820154815260200160018201805461083c906131d0565b80601f0160208091040260200160405190810160405280929190818152602001828054610868906131d0565b80156108b55780601f1061088a576101008083540402835291602001916108b5565b820191906000526020600020905b81548152906001019060200180831161089857829003601f168201915b505050505081525050815260200190600101906107ff565b505050509050919050565b60006108e382610e81565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036109a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff821614806109ce57506109ce81336105e4565b610a5a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000606482015260840161099c565b610a648383611b90565b505050565b604080518082018252601081527f4c4943454e53494e475f4d4f44554c4500000000000000000000000000000000602082015290517f3af83c1800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001691633af83c1891610b0e91903390600401613223565b602060405180830381865afa158015610b2b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4f919061325b565b610b85576040517f039cb0ee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b8f8282611c30565b5050565b610b9d3382611d7f565b610c29576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f76656400000000000000000000000000000000000000606482015260840161099c565b610a64838383611e3e565b610c3e8133611c30565b50565b610a648383836040518060200160405280600081525061115e565b6000818152600660205260409020546301000000900473ffffffffffffffffffffffffffffffffffffffff163314610cc0576040517f95e4a90e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008181526006602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660031790555182917ff8ecc300d4504a2b49692052f138b7e697df679cf0580522720ce405bd01be5591a250565b6040805161012081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810191909152600082815260066020526040812090815460ff166003811115610d8f57610d8f612bde565b03610dc6576040517fc28093d700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408051610120810190915281548290829060ff166003811115610dec57610dec612bde565b6003811115610dfd57610dfd612bde565b8152815461010080820460ff908116151560208501526201000083041615156040840152630100000090910473ffffffffffffffffffffffffffffffffffffffff908116606084015260018401548116608084015260028401541660a0830152600383015460c0830152600483015460e08301526005909201549101529392505050565b60008181526002602052604081205473ffffffffffffffffffffffffffffffffffffffff16806106fe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e2049440000000000000000604482015260640161099c565b600073ffffffffffffffffffffffffffffffffffffffff8216610fb2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e65720000000000000000000000000000000000000000000000606482015260840161099c565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526003602052604090205490565b604080518082018252601081527f4c4943454e53494e475f4d4f44554c4500000000000000000000000000000000602082015290517f3af83c18000000000000000000000000000000000000000000000000000000008152839173ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001691633af83c1891611081913390600401613223565b602060405180830381865afa15801561109e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110c2919061325b565b15801561110357506110d381610e81565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b1561113a576040517fc1b4742400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a648383612139565b606060018054610713906131d0565b610b8f3383836122f0565b6111683383611d7f565b6111f4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f76656400000000000000000000000000000000000000606482015260840161099c565b6112008484848461241d565b50505050565b604080518082018252601081527f4c4943454e53494e475f4d4f44554c4500000000000000000000000000000000602082015290517f3af83c1800000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001691633af83c18916112ad913390600401613223565b602060405180830381865afa1580156112ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112ee919061325b565b611324576040517f039cb0ee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8351600181600381111561133a5761133a612bde565b1415801561135a5750600281600381111561135757611357612bde565b14155b15611391576040517f92439ccc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006008600081546113a290613278565b9182905550600081815260066020526040902087518154929350889282907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660018360038111156113f6576113f6612bde565b02179055506020820151815460408085015160608601517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000ff90931661010094151585027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff16176201000091151591909102177fffffffffffffffffff0000000000000000000000000000000000000000ffffff16630100000073ffffffffffffffffffffffffffffffffffffffff9384160217845560808501516001850180547fffffffffffffffffffffffff000000000000000000000000000000000000000090811692851692909217905560a086015160028601805490921693169290921790915560c0840151600384015560e084015160048401559201516005909101555181907ffa538431a8d5829af24905451de4c43e40cc50ea0716dac651047b78e3d6f02b90611547908990612c0d565b60405180910390a261155985826124c0565b83516000828152600760205260408120905b828110156115d85781878281518110611586576115866132d7565b60209081029190910181015182546001818101855560009485529383902082516002909202019081559181015190928201906115c29082613354565b50505080806115d090613278565b91505061156b565b5091979650505050505050565b604080518082018252601081527f4c4943454e53494e475f4d4f44554c4500000000000000000000000000000000602082015290517f3af83c1800000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001691633af83c189161168c913390600401613223565b602060405180830381865afa1580156116a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116cd919061325b565b611703576040517f039cb0ee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61170c85611a41565b611742576040517f72b0a52c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600085815260066020526040808220815161012081019092528054829060ff16600381111561177357611773612bde565b600381111561178457611784612bde565b8152815461010080820460ff908116151560208501526201000083041615156040840152630100000090910473ffffffffffffffffffffffffffffffffffffffff908116606084015260018401548116608084015260028401541660a0830152600383015460c0830152600483015460e083015260059092015491015260088054919250600091829061181690613278565b9182905550610100830188905273ffffffffffffffffffffffffffffffffffffffff8716608084015260e0830185905260408301519091501561185857600282525b6000878152600760205260408082208383529120815461187892906128d5565b506000818152600660205260409020825181548492919082907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660018360038111156118c7576118c7612bde565b02179055506020820151815460408085015160608601517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000ff90931661010094151585027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff16176201000091151591909102177fffffffffffffffffff0000000000000000000000000000000000000000ffffff16630100000073ffffffffffffffffffffffffffffffffffffffff9384160217845560808501516001850180547fffffffffffffffffffffffff000000000000000000000000000000000000000090811692851692909217905560a086015160028601805490921693169290921790915560c0840151600384015560e084015160048401559201516005909101555181907ffa538431a8d5829af24905451de4c43e40cc50ea0716dac651047b78e3d6f02b90611a18908590612c0d565b60405180910390a2611a2a85826124c0565b9150505b949350505050565b60006106fe82610e81565b600081600003611a5357506000919050565b8115611afd57600260008381526006602052604090205460ff166003811115611a7e57611a7e612bde565b1480611aaa575060008281526006602052604081205460ff166003811115611aa857611aa8612bde565b145b80611ad75750600360008381526006602052604090205460ff166003811115611ad557611ad5612bde565b145b15611ae457506000919050565b6000918252600660205260409091206005015490611a53565b506001919050565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff16610c3e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e2049440000000000000000604482015260640161099c565b600081815260046020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091558190611bea82610e81565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000828152600660205260409020600181015473ffffffffffffffffffffffffffffffffffffffff838116911614611c94576040517f54c26a8800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002815460ff166003811115611cac57611cac612bde565b14611ce3576040517ff40190f500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611cf08160050154611a41565b611d26576040517f72b0a52c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117815560405183907fa3ada00687872cb827044ee48684890eeb5caffc2d7abf015ea327c7d7d06b8490600090a2505050565b600080611d8b83610e81565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611df9575073ffffffffffffffffffffffffffffffffffffffff80821660009081526005602090815260408083209388168352929052205460ff165b80611a2e57508373ffffffffffffffffffffffffffffffffffffffff16611e1f84610796565b73ffffffffffffffffffffffffffffffffffffffff1614949350505050565b8273ffffffffffffffffffffffffffffffffffffffff16611e5e82610e81565b73ffffffffffffffffffffffffffffffffffffffff1614611f01576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e6572000000000000000000000000000000000000000000000000000000606482015260840161099c565b73ffffffffffffffffffffffffffffffffffffffff8216611fa3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161099c565b8273ffffffffffffffffffffffffffffffffffffffff16611fc382610e81565b73ffffffffffffffffffffffffffffffffffffffff1614612066576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e6572000000000000000000000000000000000000000000000000000000606482015260840161099c565b600081815260046020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff8781168086526003855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b8161214381611a41565b612179576040517fa15e441100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f42d21ef7000000000000000000000000000000000000000000000000000000008152600481018390527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906342d21ef790602401602060405180830381865afa158015612204573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612228919061346e565b60ff16600114612264576040517f32a7f99e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600083815260066020526040902060040154156122ad576040517fed035e9700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008381526006602052604080822060040184905551839185917f9d2bbd85f58e2a13e5a13a8d77b039e02a44b601338e36691ab827a547b2353e9190a3505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612385576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161099c565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526005602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b612428848484611e3e565b612434848484846126e5565b611200576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e7465720000000000000000000000000000606482015260840161099c565b73ffffffffffffffffffffffffffffffffffffffff821661253d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161099c565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff16156125c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161099c565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1615612655576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161099c565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260036020908152604080832080546001019055848352600290915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b600073ffffffffffffffffffffffffffffffffffffffff84163b156128cd576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a029061275c903390899088908890600401613491565b6020604051808303816000875af19250505080156127b5575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526127b2918101906134da565b60015b612882573d8080156127e3576040519150601f19603f3d011682016040523d82523d6000602084013e6127e8565b606091505b50805160000361287a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e7465720000000000000000000000000000606482015260840161099c565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050611a2e565b506001611a2e565b8280548282559060005260206000209060020281019282156129325760005260206000209160020282015b8281111561293257825482558282600180820190612920908401826134f7565b50505091600201919060020190612900565b5061293e929150612942565b5090565b8082111561293e57600080825561295c6001830182612965565b50600201612942565b508054612971906131d0565b6000825580601f10612981575050565b601f016020900490600052602060002090810190610c3e91905b8082111561293e576000815560010161299b565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610c3e57600080fd5b6000602082840312156129ef57600080fd5b81356129fa816129af565b9392505050565b600060208284031215612a1357600080fd5b5035919050565b6000815180845260005b81811015612a4057602081850181015186830182015201612a24565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b6020815260006129fa6020830184612a1a565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015612b15578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0018552815180518452870151878401879052612b0287850182612a1a565b9588019593505090860190600101612ab8565b509098975050505050505050565b803573ffffffffffffffffffffffffffffffffffffffff81168114612b4757600080fd5b919050565b60008060408385031215612b5f57600080fd5b612b6883612b23565b946020939093013593505050565b60008060408385031215612b8957600080fd5b82359150612b9960208401612b23565b90509250929050565b600080600060608486031215612bb757600080fd5b612bc084612b23565b9250612bce60208501612b23565b9150604084013590509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b815161012082019060048110612c4c577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b808352506020830151612c63602084018215159052565b506040830151612c77604084018215159052565b506060830151612c9f606084018273ffffffffffffffffffffffffffffffffffffffff169052565b506080830151612cc7608084018273ffffffffffffffffffffffffffffffffffffffff169052565b5060a0830151612cef60a084018273ffffffffffffffffffffffffffffffffffffffff169052565b5060c083015160c083015260e083015160e083015261010080840151818401525092915050565b600060208284031215612d2857600080fd5b6129fa82612b23565b60008060408385031215612d4457600080fd5b50508035926020909101359150565b8015158114610c3e57600080fd5b8035612b4781612d53565b60008060408385031215612d7f57600080fd5b612d8883612b23565b91506020830135612d9881612d53565b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715612df557612df5612da3565b60405290565b604051610120810167ffffffffffffffff81118282101715612df557612df5612da3565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715612e6657612e66612da3565b604052919050565b600082601f830112612e7f57600080fd5b813567ffffffffffffffff811115612e9957612e99612da3565b612eca60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601612e1f565b818152846020838601011115612edf57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060808587031215612f1257600080fd5b612f1b85612b23565b9350612f2960208601612b23565b925060408501359150606085013567ffffffffffffffff811115612f4c57600080fd5b612f5887828801612e6e565b91505092959194509250565b803560048110612b4757600080fd5b600082601f830112612f8457600080fd5b8135602067ffffffffffffffff80831115612fa157612fa1612da3565b8260051b612fb0838201612e1f565b9384528581018301938381019088861115612fca57600080fd5b84880192505b8583101561306257823584811115612fe85760008081fd5b88016040818b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00181131561301e5760008081fd5b613026612dd2565b82880135815290820135908682111561303f5760008081fd5b61304d8c8984860101612e6e565b81890152845250509184019190840190612fd0565b98975050505050505050565b600080600083850361016081121561308557600080fd5b6101208082121561309557600080fd5b61309d612dfb565b91506130a886612f64565b82526130b660208701612d61565b60208301526130c760408701612d61565b60408301526130d860608701612b23565b60608301526130e960808701612b23565b60808301526130fa60a08701612b23565b60a083015260c086013560c083015260e086013560e083015261010080870135818401525081945061312d818701612b23565b9350505061014084013567ffffffffffffffff81111561314c57600080fd5b61315886828701612f73565b9150509250925092565b6000806000806080858703121561317857600080fd5b8435935061318860208601612b23565b925061319660408601612b23565b9396929550929360600135925050565b600080604083850312156131b957600080fd5b6131c283612b23565b9150612b9960208401612b23565b600181811c908216806131e457607f821691505b60208210810361321d577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b6040815260006132366040830185612a1a565b905073ffffffffffffffffffffffffffffffffffffffff831660208301529392505050565b60006020828403121561326d57600080fd5b81516129fa81612d53565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036132d0577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b601f821115610a6457600081815260208120601f850160051c8101602086101561332d5750805b601f850160051c820191505b8181101561334c57828155600101613339565b505050505050565b815167ffffffffffffffff81111561336e5761336e612da3565b6133828161337c84546131d0565b84613306565b602080601f8311600181146133d5576000841561339f5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b17855561334c565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b8281101561342257888601518255948401946001909101908401613403565b508582101561345e57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121561348057600080fd5b815160ff811681146129fa57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250836040830152608060608301526134d06080830184612a1a565b9695505050505050565b6000602082840312156134ec57600080fd5b81516129fa816129af565b818103613502575050565b61350c82546131d0565b67ffffffffffffffff81111561352457613524612da3565b6135328161337c84546131d0565b6000601f821160018114613584576000831561354e5750848201545b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600385901b1c1916600184901b178455613625565b6000858152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0841690600086815260209020845b838110156135dc57828601548255600195860195909101906020016135bc565b508583101561361857818501547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b50505060018360011b0184555b505050505056fea2646970667358221220558549297c9dd36c91b46154bd5f4bf90f2c9d86f8f2a5fd6a33d4ff94f4785464736f6c63430008130033000000000000000000000000ad2377c8f9f0ca6382fef166b08aede8318fe49c000000000000000000000000edbd4907a7f98de932e635e9076b4e0c36d0e797000000000000000000000000a30bb959bc298e244ace0402b5c0609cc8745134", + "nonce": "0x600", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x4121adb96d0f4aecacb104198678db90f838be01f174a0a26fe2049d575a041d", + "transactionType": "CREATE", + "contractName": "IPOrgController", + "contractAddress": "0xdc4A589eB82A7a7dDF026F3713da3338cFa59465", + "function": null, + "arguments": [ + "0xedBd4907A7F98de932e635e9076B4E0C36D0E797" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x5e864f", + "value": "0x0", + "data": "0x60c0604052306080523480156200001557600080fd5b50604051620056d6380380620056d683398101604081905262000038916200004a565b6001600160a01b031660a0526200007c565b6000602082840312156200005d57600080fd5b81516001600160a01b03811681146200007557600080fd5b9392505050565b60805160a05161560a620000cc6000396000818161028b01528181610e88015261121b0152600081816106ae01528181610760015281816108bc0152818161096e0152610abe015261560a6000f3fe608060405260043610620000fb5760003560e01c806398e8e6ea1162000095578063caae51b81162000060578063caae51b814620002d2578063d8b67cc214620002f7578063eb3dcb7c146200031c578063fc1dad81146200035257600080fd5b806398e8e6ea146200022d578063a0f336f81462000252578063b95ddb521462000277578063c4d66de814620002ad57600080fd5b80633659cfe611620000d65780633659cfe6146200019b57806349403c8e14620001c05780634f1ef28614620001ef57806352d1902d146200020657600080fd5b806314afd79e146200010057806319129e5a146200014f57806331678cf61462000176575b600080fd5b3480156200010d57600080fd5b50620001256200011f366004620021c5565b6200039e565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b3480156200015c57600080fd5b50620001746200016e366004620021c5565b620003cf565b005b3480156200018357600080fd5b506200017462000195366004620021e3565b6200055b565b348015620001a857600080fd5b5062000174620001ba366004620021c5565b62000697565b348015620001cd57600080fd5b50606554620001259073ffffffffffffffffffffffffffffffffffffffff1681565b6200017462000200366004620022e5565b620008a5565b3480156200021357600080fd5b506200021e62000aa4565b60405190815260200162000146565b3480156200023a57600080fd5b50620001256200024c366004620023cc565b62000b92565b3480156200025f57600080fd5b506200017462000271366004620021c5565b62000f81565b3480156200028457600080fd5b50620001257f000000000000000000000000000000000000000000000000000000000000000081565b348015620002ba57600080fd5b5062000174620002cc366004620021c5565b620010ee565b348015620002df57600080fd5b5062000125620002f1366004620021c5565b6200134c565b3480156200030457600080fd5b506200017462000316366004620021c5565b6200137b565b3480156200032957600080fd5b50620003416200033b366004620021c5565b620014aa565b604051901515815260200162000146565b3480156200035f57600080fd5b507f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b65473ffffffffffffffffffffffffffffffffffffffff1662000125565b600080620003ac83620014e7565b54610100900473ffffffffffffffffffffffffffffffffffffffff169392505050565b6000620003dd813362001561565b62000422576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b6200046473ffffffffffffffffffffffffffffffffffffffff83167f7965db0b000000000000000000000000000000000000000000000000000000006200162e565b620004cc576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c000000000000000000000000000000000000604482015260640162000419565b7f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811782556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a2505050565b60006200056883620014e7565b8054909150610100900473ffffffffffffffffffffffffffffffffffffffff163314620005c1576040517f14d325a600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff82166200060f576040517f19f28cd700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84811691821790925560408051928616835260208301919091527f9d1eed91033af603ca90974d7f9dcffdc1a38de6e354262a1cd59243e6997f6091015b60405180910390a1505050565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630036200075e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c0000000000000000000000000000000000000000606482015260840162000419565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16620007d47f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff161462000879576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f78790000000000000000000000000000000000000000606482015260840162000419565b620008848162001656565b60408051600080825260208201909252620008a291839190620016c4565b50565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630036200096c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c0000000000000000000000000000000000000000606482015260840162000419565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16620009e27f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff161462000a87576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f78790000000000000000000000000000000000000000606482015260840162000419565b62000a928262001656565b62000aa082826001620016c4565b5050565b60003073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161462000b6d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c0000000000000000606482015260840162000419565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b600073ffffffffffffffffffffffffffffffffffffffff881662000be2576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60655462000c069073ffffffffffffffffffffffffffffffffffffffff16620018d4565b6040517f4cd88b7600000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff821690634cd88b769062000c63908a908a908a908a90600401620024fd565b600060405180830381600087803b15801562000c7e57600080fd5b505af115801562000c93573d6000803e3d6000fd5b50505050600062000ca36200199e565b60408051606081018252600180825273ffffffffffffffffffffffffffffffffffffffff8d8116602080850191825260008587018181528a851682528883528782209651875494517fffffffffffffffffffffff0000000000000000000000000000000000000000009095169015157fffffffffffffffffffffff0000000000000000000000000000000000000000ff16176101009486169490940293909317865591519490930180547fffffffffffffffffffffffff000000000000000000000000000000000000000016949092169390931790559151929350917f9aeb830ec91a14c97a5446cc7c86a42f73a78f37f9a77afa238b5d11520ddfbc9162000db1918891889101620025df565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905262000def929160200162002667565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181528282018252601383527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602084015290517fe1fc45ce00000000000000000000000000000000000000000000000000000000815290925073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163e1fc45ce9162000ec4918791309190879060040162002682565b6000604051808303816000875af115801562000ee4573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405262000f2c9190810190620026d1565b507f81e084d978860accc83df39f75b801d9019e40d18643b9b39f4cd2a70ca35adb8a848b8b8b8b8b8b60405162000f6c98979695949392919062002751565b60405180910390a15050979650505050505050565b600062000f8e82620014e7565b600181015490915073ffffffffffffffffffffffffffffffffffffffff16331462000fe5576040517f14d325a600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80546001820180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055336101009081027fffffffffffffffffffffff0000000000000000000000000000000000000000ff83161783556040805173ffffffffffffffffffffffffffffffffffffffff86811682526000602083015292909304909116917f9d1eed91033af603ca90974d7f9dcffdc1a38de6e354262a1cd59243e6997f60910160405180910390a16040805173ffffffffffffffffffffffffffffffffffffffff80861682528316602082015233918101919091527fa32ba34dcc7e0ace14cb99fb86f246e799dc1c9f82f03fc23290320b958e4af7906060016200068a565b600054610100900460ff16158080156200110f5750600054600160ff909116105b806200112b5750303b1580156200112b575060005460ff166001145b620011b9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840162000419565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156200121857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b307f0000000000000000000000000000000000000000000000000000000000000000604051620012489062002192565b73ffffffffffffffffffffffffffffffffffffffff928316815291166020820152604001604051809103906000f08015801562001289573d6000803e3d6000fd5b50606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055620012d9620019ce565b620012e48262001a69565b801562000aa057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15050565b6000806200135a83620014e7565b6001015473ffffffffffffffffffffffffffffffffffffffff169392505050565b60006200138882620014e7565b8054909150610100900473ffffffffffffffffffffffffffffffffffffffff163314620013e1576040517f14d325a600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600181015473ffffffffffffffffffffffffffffffffffffffff1662001433576040517f82fcfdf400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001690556040805173ffffffffffffffffffffffffffffffffffffffff84168152600060208201527f9d1eed91033af603ca90974d7f9dcffdc1a38de6e354262a1cd59243e6997f60910162001340565b600080620014b76200199e565b73ffffffffffffffffffffffffffffffffffffffff90931660009081526020939093525050604090205460ff1690565b600080620014f46200199e565b73ffffffffffffffffffffffffffffffffffffffff84166000908152602082905260409020805490935090915060ff166200155b576040517ff8e2020300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50919050565b6000807f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810187905273ffffffffffffffffffffffffffffffffffffffff86811660248301529293509116906391d1485490604401602060405180830381865afa158015620015fe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620016249190620027c8565b9150505b92915050565b60006200163b8362001d29565b80156200164f57506200164f838362001d92565b9392505050565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e362001683813362001561565b62000aa0576040517f75000dc00000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440162000419565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615620016ff57620016fa8362001e63565b505050565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562001787575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526200178491810190620027ec565b60015b62001815576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f742055555053000000000000000000000000000000000000606482015260840162000419565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114620018c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c65555549440000000000000000000000000000000000000000000000606482015260840162000419565b50620016fa83838362001f6f565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008260601b60e81c176000526e5af43d82803e903d91602b57fd5bf38260781b17602052603760096000f0905073ffffffffffffffffffffffffffffffffffffffff811662001999576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f455243313136373a20637265617465206661696c656400000000000000000000604482015260640162000419565b919050565b6000806200162860017f8d6a35d81367c6224789d71f67c0286162ba180a6bdb769f04c214735cdb8ce162002806565b600054610100900460ff1662001a67576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840162000419565b565b600054610100900460ff161580801562001a8a5750600054600160ff909116105b8062001aa65750303b15801562001aa6575060005460ff166001145b62001b34576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840162000419565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801562001b9357600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b62001bd573ffffffffffffffffffffffffffffffffffffffff83167f7965db0b000000000000000000000000000000000000000000000000000000006200162e565b62001c3d576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c000000000000000000000000000000000000604482015260640162000419565b7f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811782556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a250801562000aa057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200162001340565b600062001d57827f01ffc9a70000000000000000000000000000000000000000000000000000000062001d92565b801562001628575062001d8b827fffffffff0000000000000000000000000000000000000000000000000000000062001d92565b1592915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d9150600051905082801562001e4b575060208210155b801562001e585750600081115b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff81163b62001f09576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e747261637400000000000000000000000000000000000000606482015260840162000419565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b62001f7a8362001fa0565b60008251118062001f885750805b15620016fa5762001f9a838362001fef565b50505050565b62001fab8162001e63565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606200164f8383604051806060016040528060278152602001620055ae6027913960606000808573ffffffffffffffffffffffffffffffffffffffff16856040516200203d919062002841565b600060405180830381855af49150503d80600081146200207a576040519150601f19603f3d011682016040523d82523d6000602084013e6200207f565b606091505b509150915062002092868383876200209c565b9695505050505050565b60608315620021375782516000036200212f5773ffffffffffffffffffffffffffffffffffffffff85163b6200212f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640162000419565b508162002143565b6200214383836200214b565b949350505050565b8151156200215c5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200041991906200285f565b612d39806200287583390190565b803573ffffffffffffffffffffffffffffffffffffffff811681146200199957600080fd5b600060208284031215620021d857600080fd5b6200164f82620021a0565b60008060408385031215620021f757600080fd5b6200220283620021a0565b91506200221260208401620021a0565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156200229457620022946200221b565b604052919050565b600067ffffffffffffffff821115620022b957620022b96200221b565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60008060408385031215620022f957600080fd5b6200230483620021a0565b9150602083013567ffffffffffffffff8111156200232157600080fd5b8301601f810185136200233357600080fd5b80356200234a62002344826200229c565b6200224a565b8181528660208385010111156200236057600080fd5b816020840160208301376000602083830101528093505050509250929050565b60008083601f8401126200239357600080fd5b50813567ffffffffffffffff811115620023ac57600080fd5b602083019150836020828501011115620023c557600080fd5b9250929050565b60008060008060008060006080888a031215620023e857600080fd5b620023f388620021a0565b9650602088013567ffffffffffffffff808211156200241157600080fd5b6200241f8b838c0162002380565b909850965060408a01359150808211156200243957600080fd5b620024478b838c0162002380565b909650945060608a01359150808211156200246157600080fd5b818a0191508a601f8301126200247657600080fd5b8135818111156200248657600080fd5b8b60208260051b85010111156200249c57600080fd5b60208301945080935050505092959891949750929550565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60408152600062002513604083018688620024b4565b828103602084015262001e58818587620024b4565b81835260006020808501808196508560051b810191508460005b87811015620025d257828403895281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18836030181126200258357600080fd5b8701858101903567ffffffffffffffff811115620025a057600080fd5b803603821315620025b057600080fd5b620025bd868284620024b4565b9a87019a955050509084019060010162002542565b5091979650505050505050565b6020815260006200214360208301848662002528565b60005b8381101562002612578181015183820152602001620025f8565b50506000910152565b6000815180845262002635816020860160208601620025f5565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b8281526040602082015260006200214360408301846200261b565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525060806040830152620026bd60808301856200261b565b828103606084015262001e5881856200261b565b600060208284031215620026e457600080fd5b815167ffffffffffffffff811115620026fc57600080fd5b8201601f810184136200270e57600080fd5b80516200271f62002344826200229c565b8181528560208385010111156200273557600080fd5b62002748826020830160208601620025f5565b95945050505050565b600073ffffffffffffffffffffffffffffffffffffffff808b168352808a1660208401525060a060408301526200278d60a08301888a620024b4565b8281036060840152620027a2818789620024b4565b90508281036080840152620027b981858762002528565b9b9a5050505050505050505050565b600060208284031215620027db57600080fd5b815180151581146200164f57600080fd5b600060208284031215620027ff57600080fd5b5051919050565b8181038181111562001628577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000825162002855818460208701620025f5565b9190910192915050565b6020815260006200164f60208301846200261b56fe60c06040523480156200001157600080fd5b5060405162002d3938038062002d3983398101604081905262000034916200017d565b600054610100900460ff1615808015620000555750600054600160ff909116105b80620000715750303b15801562000071575060005460ff166001145b620000d95760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b6000805460ff191660011790558015620000fd576000805461ff0019166101001790555b6001600160a01b0380841660a0528216608052801562000157576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050620001b5565b80516001600160a01b03811681146200017857600080fd5b919050565b600080604083850312156200019157600080fd5b6200019c8362000160565b9150620001ac6020840162000160565b90509250929050565b60805160a051612b2662000213600039600081816103c101528181610b0f015261107b01526000818161031101528181610784015281816108dc01528181610cb701528181610e37015281816112ac015261147e0152612b266000f3fe608060405234801561001057600080fd5b50600436106101985760003560e01c806370a08231116100e3578063c3cc244a1161008c578063e985e9c511610066578063e985e9c514610373578063ee0fc121146103bc578063f3f6f0d7146103e357600080fd5b8063c3cc244a14610333578063c87b56dd14610358578063e8a3d4851461036b57600080fd5b8063a22cb465116100bd578063a22cb465146102e6578063b88d4fde146102f9578063b95ddb521461030c57600080fd5b806370a08231146102c35780638da5cb5b146102d657806395d89b41146102de57600080fd5b806342842e0e11610145578063626273a11161011f578063626273a11461028a5780636352211e1461029d578063691562a0146102b057600080fd5b806342842e0e1461025157806342966c68146102645780634cd88b761461027757600080fd5b8063095ea7b311610176578063095ea7b31461021257806318160ddd1461022757806323b872dd1461023e57600080fd5b806301ffc9a71461019d57806306fdde03146101c5578063081812fc146101da575b600080fd5b6101b06101ab36600461235b565b6103ec565b60405190151581526020015b60405180910390f35b6101cd6104d1565b6040516101bc91906123e6565b6101ed6101e83660046123f9565b610563565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101bc565b610225610220366004612434565b610597565b005b61023060985481565b6040519081526020016101bc565b61022561024c366004612460565b610728565b61022561025f366004612460565b610865565b6102256102723660046123f9565b610880565b6102256102853660046124ea565b6109d3565b6102306102983660046123f9565b610c43565b6101ed6102ab3660046123f9565b610dcd565b6102306102be366004612556565b610dd8565b6102306102d1366004612595565b610f7c565b6101ed61104a565b6101cd611100565b6102256102f43660046125b2565b61110f565b6102256103073660046126a9565b61111e565b6101ed7f000000000000000000000000000000000000000000000000000000000000000081565b6103466103413660046123f9565b6111c6565b60405160ff90911681526020016101bc565b6101cd6103663660046123f9565b611237565b6101cd611409565b6101b0610381366004612758565b73ffffffffffffffffffffffffffffffffffffffff9182166000908152606a6020908152604080832093909416825291909152205460ff1690565b6101ed7f000000000000000000000000000000000000000000000000000000000000000081565b61023060975481565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061047f57507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b806104cb57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6060606580546104e090612786565b80601f016020809104026020016040519081016040528092919081815260200182805461050c90612786565b80156105595780601f1061052e57610100808354040283529160200191610559565b820191906000526020600020905b81548152906001019060200180831161053c57829003601f168201915b5050505050905090565b600061056e826115aa565b5060009081526069602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60006105a282611635565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610664576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff8216148061068d575061068d8133610381565b610719576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000606482015260840161065b565b61072383836116c1565b505050565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815233917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a916107cc916004016123e6565b602060405180830381865afa1580156107e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061080d91906127d9565b73ffffffffffffffffffffffffffffffffffffffff161461085a576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610723838383611761565b6107238383836040518060200160405280600081525061111e565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815233917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a91610924916004016123e6565b602060405180830381865afa158015610941573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061096591906127d9565b73ffffffffffffffffffffffffffffffffffffffff16146109b2576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b609880549060006109c283612825565b91905055506109d081611a5c565b50565b600054610100900460ff16158080156109f35750600054600160ff909116105b80610a0d5750303b158015610a0d575060005460ff166001145b610a99576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840161065b565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610af757600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610b66576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610bd985858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f89018190048102820181019092528781529250879150869081908401838280828437600092019190915250611b3492505050565b8015610c3c57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a000000000000000000000000000000000000000000000000000000008152600091829173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a91610ceb91906004016123e6565b602060405180830381865afa158015610d08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d2c91906127d9565b6040517f5f32b4300000000000000000000000000000000000000000000000000000000081523060048201526024810185905290915073ffffffffffffffffffffffffffffffffffffffff821690635f32b430906044016020604051808303816000875af1158015610da2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dc6919061285a565b9392505050565b60006104cb82611635565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260009133917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a91610e8091906004016123e6565b602060405180830381865afa158015610e9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec191906127d9565b73ffffffffffffffffffffffffffffffffffffffff1614610f0e576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60988054906000610f1e83612873565b9190505550609760008154610f3290612873565b9182905550600081815260996020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff851617905590506104cb8382611bd5565b600073ffffffffffffffffffffffffffffffffffffffff8216611021576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e65720000000000000000000000000000000000000000000000606482015260840161065b565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526068602052604090205490565b6040517f14afd79e0000000000000000000000000000000000000000000000000000000081523060048201526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906314afd79e90602401602060405180830381865afa1580156110d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110fb91906127d9565b905090565b6060606680546104e090612786565b61111a338383611dfa565b5050565b6111283383611f27565b6111b4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f76656400000000000000000000000000000000000000606482015260840161065b565b6111c084848484611fe7565b50505050565b60008181526067602052604081205473ffffffffffffffffffffffffffffffffffffffff16611221576040517f6831df8d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060009081526099602052604090205460ff1690565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260609160009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a916112e091906004016123e6565b602060405180830381865afa1580156112fd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061132191906127d9565b90508073ffffffffffffffffffffffffffffffffffffffff1663e8d72654308561134a876111c6565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815273ffffffffffffffffffffffffffffffffffffffff9093166004840152602483019190915260ff166044820152606401600060405180830381865afa1580156113c3573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610dc691908101906128ab565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260609160009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a916114b291906004016123e6565b602060405180830381865afa1580156114cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114f391906127d9565b6040517e844d1300000000000000000000000000000000000000000000000000000000815230600482015290915073ffffffffffffffffffffffffffffffffffffffff82169062844d1390602401600060405180830381865afa15801561155e573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526115a491908101906128ab565b91505090565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff166109d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e2049440000000000000000604482015260640161065b565b60008181526067602052604081205473ffffffffffffffffffffffffffffffffffffffff16806104cb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e2049440000000000000000604482015260640161065b565b600081815260696020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117909155819061171b82611635565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b8273ffffffffffffffffffffffffffffffffffffffff1661178182611635565b73ffffffffffffffffffffffffffffffffffffffff1614611824576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e6572000000000000000000000000000000000000000000000000000000606482015260840161065b565b73ffffffffffffffffffffffffffffffffffffffff82166118c6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161065b565b8273ffffffffffffffffffffffffffffffffffffffff166118e682611635565b73ffffffffffffffffffffffffffffffffffffffff1614611989576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e6572000000000000000000000000000000000000000000000000000000606482015260840161065b565b600081815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff8781168086526068855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905590871680865283862080546001019055868652606790945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6000611a6782611635565b9050611a7282611635565b600083815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff85168085526068845282852080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190558785526067909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b600054610100900460ff16611bcb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161065b565b61111a828261208a565b73ffffffffffffffffffffffffffffffffffffffff8216611c52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161065b565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff1615611cde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161065b565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff1615611d6a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161065b565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260686020908152604080832080546001019055848352606790915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611e8f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161065b565b73ffffffffffffffffffffffffffffffffffffffff8381166000818152606a602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b600080611f3383611635565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611fa1575073ffffffffffffffffffffffffffffffffffffffff8082166000908152606a602090815260408083209388168352929052205460ff165b80611fdf57508373ffffffffffffffffffffffffffffffffffffffff16611fc784610563565b73ffffffffffffffffffffffffffffffffffffffff16145b949350505050565b611ff2848484611761565b611ffe8484848461213a565b6111c0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e7465720000000000000000000000000000606482015260840161065b565b600054610100900460ff16612121576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161065b565b606561212d8382612970565b5060666107238282612970565b600073ffffffffffffffffffffffffffffffffffffffff84163b15612322576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a02906121b1903390899088908890600401612a8a565b6020604051808303816000875af192505050801561220a575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261220791810190612ad3565b60015b6122d7573d808015612238576040519150601f19603f3d011682016040523d82523d6000602084013e61223d565b606091505b5080516000036122cf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e7465720000000000000000000000000000606482015260840161065b565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050611fdf565b506001949350505050565b7fffffffff00000000000000000000000000000000000000000000000000000000811681146109d057600080fd5b60006020828403121561236d57600080fd5b8135610dc68161232d565b60005b8381101561239357818101518382015260200161237b565b50506000910152565b600081518084526123b4816020860160208601612378565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610dc6602083018461239c565b60006020828403121561240b57600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff811681146109d057600080fd5b6000806040838503121561244757600080fd5b823561245281612412565b946020939093013593505050565b60008060006060848603121561247557600080fd5b833561248081612412565b9250602084013561249081612412565b929592945050506040919091013590565b60008083601f8401126124b357600080fd5b50813567ffffffffffffffff8111156124cb57600080fd5b6020830191508360208285010111156124e357600080fd5b9250929050565b6000806000806040858703121561250057600080fd5b843567ffffffffffffffff8082111561251857600080fd5b612524888389016124a1565b9096509450602087013591508082111561253d57600080fd5b5061254a878288016124a1565b95989497509550505050565b6000806040838503121561256957600080fd5b823561257481612412565b9150602083013560ff8116811461258a57600080fd5b809150509250929050565b6000602082840312156125a757600080fd5b8135610dc681612412565b600080604083850312156125c557600080fd5b82356125d081612412565b91506020830135801515811461258a57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561265b5761265b6125e5565b604052919050565b600067ffffffffffffffff82111561267d5761267d6125e5565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600080600080608085870312156126bf57600080fd5b84356126ca81612412565b935060208501356126da81612412565b925060408501359150606085013567ffffffffffffffff8111156126fd57600080fd5b8501601f8101871361270e57600080fd5b803561272161271c82612663565b612614565b81815288602083850101111561273657600080fd5b8160208401602083013760006020838301015280935050505092959194509250565b6000806040838503121561276b57600080fd5b823561277681612412565b9150602083013561258a81612412565b600181811c9082168061279a57607f821691505b6020821081036127d3577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b6000602082840312156127eb57600080fd5b8151610dc681612412565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600081612834576128346127f6565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b60006020828403121561286c57600080fd5b5051919050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036128a4576128a46127f6565b5060010190565b6000602082840312156128bd57600080fd5b815167ffffffffffffffff8111156128d457600080fd5b8201601f810184136128e557600080fd5b80516128f361271c82612663565b81815285602083850101111561290857600080fd5b612919826020830160208601612378565b95945050505050565b601f82111561072357600081815260208120601f850160051c810160208610156129495750805b601f850160051c820191505b8181101561296857828155600101612955565b505050505050565b815167ffffffffffffffff81111561298a5761298a6125e5565b61299e816129988454612786565b84612922565b602080601f8311600181146129f157600084156129bb5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555612968565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015612a3e57888601518255948401946001909101908401612a1f565b5085821015612a7a57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525083604083015260806060830152612ac9608083018461239c565b9695505050505050565b600060208284031215612ae557600080fd5b8151610dc68161232d56fea2646970667358221220c0659b44328283ad33ae5a9790d8391f248300d0b1b75dcaa75512f8ce49bff364736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212203f2ec79f2bd9ca4908a6d653b2fe841a8389de261a356d4516f12b1a0ebf005864736f6c63430008130033000000000000000000000000edbd4907a7f98de932e635e9076b4e0c36d0e797", + "nonce": "0x601", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x3d44962832e990d1583408044eaadec41ad18ad9b45ca42dd82bd4045011f9c3", + "transactionType": "CREATE", + "contractName": "ERC1967Proxy", + "contractAddress": "0xE3C522921A16c692E664D06d53a251f91323a06B", + "function": null, + "arguments": [ + "0xdc4A589eB82A7a7dDF026F3713da3338cFa59465", + "0xc4d66de80000000000000000000000007edacd4d53b5a626471c6728f04d92125ccf647f" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x316ce5", + "value": "0x0", + "data": "0x60806040526040516104ee3803806104ee833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c760279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60be806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea264697066735822122091c81c9b8ac755a7e1e08c0e9f65600d21e642457fb84c7f9e0d0a65b62d269064736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564000000000000000000000000dc4a589eb82a7a7ddf026f3713da3338cfa5946500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de80000000000000000000000007edacd4d53b5a626471c6728f04d92125ccf647f00000000000000000000000000000000000000000000000000000000", + "nonce": "0x602", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0x1781678b3F076017E8c45F8c6515f9cf57f393C0", + "initCode": "60c06040523480156200001157600080fd5b5060405162002d3938038062002d3983398101604081905262000034916200017d565b600054610100900460ff1615808015620000555750600054600160ff909116105b80620000715750303b15801562000071575060005460ff166001145b620000d95760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b6000805460ff191660011790558015620000fd576000805461ff0019166101001790555b6001600160a01b0380841660a0528216608052801562000157576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050620001b5565b80516001600160a01b03811681146200017857600080fd5b919050565b600080604083850312156200019157600080fd5b6200019c8362000160565b9150620001ac6020840162000160565b90509250929050565b60805160a051612b2662000213600039600081816103c101528181610b0f015261107b01526000818161031101528181610784015281816108dc01528181610cb701528181610e37015281816112ac015261147e0152612b266000f3fe608060405234801561001057600080fd5b50600436106101985760003560e01c806370a08231116100e3578063c3cc244a1161008c578063e985e9c511610066578063e985e9c514610373578063ee0fc121146103bc578063f3f6f0d7146103e357600080fd5b8063c3cc244a14610333578063c87b56dd14610358578063e8a3d4851461036b57600080fd5b8063a22cb465116100bd578063a22cb465146102e6578063b88d4fde146102f9578063b95ddb521461030c57600080fd5b806370a08231146102c35780638da5cb5b146102d657806395d89b41146102de57600080fd5b806342842e0e11610145578063626273a11161011f578063626273a11461028a5780636352211e1461029d578063691562a0146102b057600080fd5b806342842e0e1461025157806342966c68146102645780634cd88b761461027757600080fd5b8063095ea7b311610176578063095ea7b31461021257806318160ddd1461022757806323b872dd1461023e57600080fd5b806301ffc9a71461019d57806306fdde03146101c5578063081812fc146101da575b600080fd5b6101b06101ab36600461235b565b6103ec565b60405190151581526020015b60405180910390f35b6101cd6104d1565b6040516101bc91906123e6565b6101ed6101e83660046123f9565b610563565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101bc565b610225610220366004612434565b610597565b005b61023060985481565b6040519081526020016101bc565b61022561024c366004612460565b610728565b61022561025f366004612460565b610865565b6102256102723660046123f9565b610880565b6102256102853660046124ea565b6109d3565b6102306102983660046123f9565b610c43565b6101ed6102ab3660046123f9565b610dcd565b6102306102be366004612556565b610dd8565b6102306102d1366004612595565b610f7c565b6101ed61104a565b6101cd611100565b6102256102f43660046125b2565b61110f565b6102256103073660046126a9565b61111e565b6101ed7f000000000000000000000000000000000000000000000000000000000000000081565b6103466103413660046123f9565b6111c6565b60405160ff90911681526020016101bc565b6101cd6103663660046123f9565b611237565b6101cd611409565b6101b0610381366004612758565b73ffffffffffffffffffffffffffffffffffffffff9182166000908152606a6020908152604080832093909416825291909152205460ff1690565b6101ed7f000000000000000000000000000000000000000000000000000000000000000081565b61023060975481565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061047f57507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b806104cb57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6060606580546104e090612786565b80601f016020809104026020016040519081016040528092919081815260200182805461050c90612786565b80156105595780601f1061052e57610100808354040283529160200191610559565b820191906000526020600020905b81548152906001019060200180831161053c57829003601f168201915b5050505050905090565b600061056e826115aa565b5060009081526069602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60006105a282611635565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610664576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff8216148061068d575061068d8133610381565b610719576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000606482015260840161065b565b61072383836116c1565b505050565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815233917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a916107cc916004016123e6565b602060405180830381865afa1580156107e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061080d91906127d9565b73ffffffffffffffffffffffffffffffffffffffff161461085a576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610723838383611761565b6107238383836040518060200160405280600081525061111e565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815233917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a91610924916004016123e6565b602060405180830381865afa158015610941573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061096591906127d9565b73ffffffffffffffffffffffffffffffffffffffff16146109b2576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b609880549060006109c283612825565b91905055506109d081611a5c565b50565b600054610100900460ff16158080156109f35750600054600160ff909116105b80610a0d5750303b158015610a0d575060005460ff166001145b610a99576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840161065b565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610af757600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610b66576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610bd985858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f89018190048102820181019092528781529250879150869081908401838280828437600092019190915250611b3492505050565b8015610c3c57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a000000000000000000000000000000000000000000000000000000008152600091829173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a91610ceb91906004016123e6565b602060405180830381865afa158015610d08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d2c91906127d9565b6040517f5f32b4300000000000000000000000000000000000000000000000000000000081523060048201526024810185905290915073ffffffffffffffffffffffffffffffffffffffff821690635f32b430906044016020604051808303816000875af1158015610da2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dc6919061285a565b9392505050565b60006104cb82611635565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260009133917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a91610e8091906004016123e6565b602060405180830381865afa158015610e9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec191906127d9565b73ffffffffffffffffffffffffffffffffffffffff1614610f0e576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60988054906000610f1e83612873565b9190505550609760008154610f3290612873565b9182905550600081815260996020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff851617905590506104cb8382611bd5565b600073ffffffffffffffffffffffffffffffffffffffff8216611021576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e65720000000000000000000000000000000000000000000000606482015260840161065b565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526068602052604090205490565b6040517f14afd79e0000000000000000000000000000000000000000000000000000000081523060048201526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906314afd79e90602401602060405180830381865afa1580156110d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110fb91906127d9565b905090565b6060606680546104e090612786565b61111a338383611dfa565b5050565b6111283383611f27565b6111b4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f76656400000000000000000000000000000000000000606482015260840161065b565b6111c084848484611fe7565b50505050565b60008181526067602052604081205473ffffffffffffffffffffffffffffffffffffffff16611221576040517f6831df8d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060009081526099602052604090205460ff1690565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260609160009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a916112e091906004016123e6565b602060405180830381865afa1580156112fd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061132191906127d9565b90508073ffffffffffffffffffffffffffffffffffffffff1663e8d72654308561134a876111c6565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815273ffffffffffffffffffffffffffffffffffffffff9093166004840152602483019190915260ff166044820152606401600060405180830381865afa1580156113c3573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610dc691908101906128ab565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260609160009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a916114b291906004016123e6565b602060405180830381865afa1580156114cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114f391906127d9565b6040517e844d1300000000000000000000000000000000000000000000000000000000815230600482015290915073ffffffffffffffffffffffffffffffffffffffff82169062844d1390602401600060405180830381865afa15801561155e573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526115a491908101906128ab565b91505090565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff166109d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e2049440000000000000000604482015260640161065b565b60008181526067602052604081205473ffffffffffffffffffffffffffffffffffffffff16806104cb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e2049440000000000000000604482015260640161065b565b600081815260696020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117909155819061171b82611635565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b8273ffffffffffffffffffffffffffffffffffffffff1661178182611635565b73ffffffffffffffffffffffffffffffffffffffff1614611824576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e6572000000000000000000000000000000000000000000000000000000606482015260840161065b565b73ffffffffffffffffffffffffffffffffffffffff82166118c6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161065b565b8273ffffffffffffffffffffffffffffffffffffffff166118e682611635565b73ffffffffffffffffffffffffffffffffffffffff1614611989576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e6572000000000000000000000000000000000000000000000000000000606482015260840161065b565b600081815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff8781168086526068855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905590871680865283862080546001019055868652606790945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6000611a6782611635565b9050611a7282611635565b600083815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff85168085526068845282852080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190558785526067909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b600054610100900460ff16611bcb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161065b565b61111a828261208a565b73ffffffffffffffffffffffffffffffffffffffff8216611c52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161065b565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff1615611cde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161065b565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff1615611d6a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161065b565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260686020908152604080832080546001019055848352606790915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611e8f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161065b565b73ffffffffffffffffffffffffffffffffffffffff8381166000818152606a602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b600080611f3383611635565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611fa1575073ffffffffffffffffffffffffffffffffffffffff8082166000908152606a602090815260408083209388168352929052205460ff165b80611fdf57508373ffffffffffffffffffffffffffffffffffffffff16611fc784610563565b73ffffffffffffffffffffffffffffffffffffffff16145b949350505050565b611ff2848484611761565b611ffe8484848461213a565b6111c0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e7465720000000000000000000000000000606482015260840161065b565b600054610100900460ff16612121576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161065b565b606561212d8382612970565b5060666107238282612970565b600073ffffffffffffffffffffffffffffffffffffffff84163b15612322576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a02906121b1903390899088908890600401612a8a565b6020604051808303816000875af192505050801561220a575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261220791810190612ad3565b60015b6122d7573d808015612238576040519150601f19603f3d011682016040523d82523d6000602084013e61223d565b606091505b5080516000036122cf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e7465720000000000000000000000000000606482015260840161065b565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050611fdf565b506001949350505050565b7fffffffff00000000000000000000000000000000000000000000000000000000811681146109d057600080fd5b60006020828403121561236d57600080fd5b8135610dc68161232d565b60005b8381101561239357818101518382015260200161237b565b50506000910152565b600081518084526123b4816020860160208601612378565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610dc6602083018461239c565b60006020828403121561240b57600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff811681146109d057600080fd5b6000806040838503121561244757600080fd5b823561245281612412565b946020939093013593505050565b60008060006060848603121561247557600080fd5b833561248081612412565b9250602084013561249081612412565b929592945050506040919091013590565b60008083601f8401126124b357600080fd5b50813567ffffffffffffffff8111156124cb57600080fd5b6020830191508360208285010111156124e357600080fd5b9250929050565b6000806000806040858703121561250057600080fd5b843567ffffffffffffffff8082111561251857600080fd5b612524888389016124a1565b9096509450602087013591508082111561253d57600080fd5b5061254a878288016124a1565b95989497509550505050565b6000806040838503121561256957600080fd5b823561257481612412565b9150602083013560ff8116811461258a57600080fd5b809150509250929050565b6000602082840312156125a757600080fd5b8135610dc681612412565b600080604083850312156125c557600080fd5b82356125d081612412565b91506020830135801515811461258a57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561265b5761265b6125e5565b604052919050565b600067ffffffffffffffff82111561267d5761267d6125e5565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600080600080608085870312156126bf57600080fd5b84356126ca81612412565b935060208501356126da81612412565b925060408501359150606085013567ffffffffffffffff8111156126fd57600080fd5b8501601f8101871361270e57600080fd5b803561272161271c82612663565b612614565b81815288602083850101111561273657600080fd5b8160208401602083013760006020838301015280935050505092959194509250565b6000806040838503121561276b57600080fd5b823561277681612412565b9150602083013561258a81612412565b600181811c9082168061279a57607f821691505b6020821081036127d3577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b6000602082840312156127eb57600080fd5b8151610dc681612412565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600081612834576128346127f6565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b60006020828403121561286c57600080fd5b5051919050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036128a4576128a46127f6565b5060010190565b6000602082840312156128bd57600080fd5b815167ffffffffffffffff8111156128d457600080fd5b8201601f810184136128e557600080fd5b80516128f361271c82612663565b81815285602083850101111561290857600080fd5b612919826020830160208601612378565b95945050505050565b601f82111561072357600081815260208120601f850160051c810160208610156129495750805b601f850160051c820191505b8181101561296857828155600101612955565b505050505050565b815167ffffffffffffffff81111561298a5761298a6125e5565b61299e816129988454612786565b84612922565b602080601f8311600181146129f157600084156129bb5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555612968565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015612a3e57888601518255948401946001909101908401612a1f565b5085821015612a7a57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525083604083015260806060830152612ac9608083018461239c565b9695505050505050565b600060208284031215612ae557600080fd5b8151610dc68161232d56fea2646970667358221220c0659b44328283ad33ae5a9790d8391f248300d0b1b75dcaa75512f8ce49bff364736f6c63430008130033000000000000000000000000e3c522921a16c692e664d06d53a251f91323a06b000000000000000000000000edbd4907a7f98de932e635e9076b4e0c36d0e797" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0xb6b928dfb6f15cd841ef750552d914f6bb91b1e7eb3f160482d02780b14ea627", + "transactionType": "CREATE", + "contractName": "StoryProtocol", + "contractAddress": "0x336BC9128fFFb7869381E2D0c4A156981cA5d240", + "function": null, + "arguments": [ + "0xE3C522921A16c692E664D06d53a251f91323a06B", + "0xedBd4907A7F98de932e635e9076B4E0C36D0E797" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x297bbe", + "value": "0x0", + "data": "0x60c06040523480156200001157600080fd5b506040516200264f3803806200264f8339810160408190526200003491620000a2565b6001600160a01b03821615806200005257506001600160a01b038116155b15620000715760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b039182166080521660a052620000e1565b6001600160a01b03811681146200009f57600080fd5b50565b60008060408385031215620000b657600080fd5b8251620000c38162000089565b6020840151909250620000d68162000089565b809150509250929050565b60805160a0516124f46200015b600039600081816102530152818161036e0152818161043401528181610592015281816106d90152818161093b015281816109c501528181610bd901528181610ddc01528181610f680152818161105a015261127d0152600081816101750152610b4401526124f46000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c806398e8e6ea11610097578063b108e1c611610066578063b108e1c61461023b578063b95ddb521461024e578063ce75e7fc14610275578063eb3b0cba1461028857600080fd5b806398e8e6ea146101e2578063a3a0428f146101f5578063a5823a3714610208578063ac9650d81461021b57600080fd5b80634d343a45116100d35780634d343a451461015d57806351e06b90146101705780635a5173bd146101bc5780637a103e33146101cf57600080fd5b806317031df1146100fa5780632d26ff3e146101275780633d20e00d1461013c575b600080fd5b61010d610108366004611532565b61029b565b604080519283526020830191909152015b60405180910390f35b61013a6101353660046115d9565b61041d565b005b61014f61014a366004611626565b610569565b60405190815260200161011e565b61013a61016b366004611673565b6106d7565b6101977f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161011e565b61013a6101ca36600461169f565b61086c565b61013a6101dd366004611736565b6109c3565b6101976101f036600461177e565b610b04565b61014f610203366004611532565b610bd4565b61013a61021636600461182b565b610cef565b61022e6102293660046118dc565b610e71565b60405161011e91906119c3565b61013a6102493660046119d6565b610f66565b6101977f000000000000000000000000000000000000000000000000000000000000000081565b61013a610283366004611a26565b611058565b61013a610296366004611a5b565b6111aa565b60008060007fe761f303268b55a3dc96719551acb95ca3bd1ebeef4b720be68dd92563627a3f886040516020016102d29190611b83565b60408051601f19818403018152908290526102f09291602001611c18565b60408051601f198184030181528282018252601383527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602084015290517fb38609e800000000000000000000000000000000000000000000000000000000815290925060009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163b38609e8916103af918e91339188908f908f908f908f90600401611c81565b6000604051808303816000875af11580156103ce573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103f69190810190611d34565b90508080602001905181019061040c9190611de1565b935093505050965096945050505050565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001663e1fc45ce6104696040840160208501611e05565b336040518060400160405280601381526020017f52454c4154494f4e534849505f4d4f44554c45000000000000000000000000008152507f99bf0fbd60208ca164accd299e2c0a8b4475c1a2df53c2d7160870f682536528866040516020016104d29190611f14565b60408051601f19818403018152908290526104f09291602001611c18565b6040516020818303038152906040526040518563ffffffff1660e01b815260040161051e9493929190611fe7565b6000604051808303816000875af115801561053d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105659190810190611d34565b5050565b6000808660405160200161057d91906120d6565b604051602081830303815290604052905060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663b38609e88a336040518060400160405280601081526020017f4c4943454e53494e475f4d4f44554c45000000000000000000000000000000008152507f3f92a83f1dd77188c62fa393a54ccf9854be836ca6c243397d0acbbce047238787604051602001610637929190611c18565b6040516020818303038152906040528c8c8c8c6040518963ffffffff1660e01b815260040161066d989796959493929190611c81565b6000604051808303816000875af115801561068c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106b49190810190611d34565b9050808060200190518101906106ca919061211c565b9998505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663b38609e883336040518060400160405280601081526020017f4c4943454e53494e475f4d4f44554c45000000000000000000000000000000008152507f5281374dd3fc2bb7839f50fddfb6a14a666cb4d23b20d6aecf9b9950d103b3368660405160200161077f91815260200190565b60408051601f198184030181529082905261079d9291602001611c18565b60408051808303601f1901815260008084526020840190925291906107d2565b60608152602001906001900390816107bd5790505b5060408051600080825260208201909252906107fe565b60608152602001906001900390816107e95790505b506040518763ffffffff1660e01b815260040161082096959493929190612135565b6000604051808303816000875af115801561083f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108679190810190611d34565b505050565b60007f9aeb830ec91a14c97a5446cc7c86a42f73a78f37f9a77afa238b5d11520ddfbc83836040516020016108a29291906121a8565b60408051601f19818403018152908290526108c09291602001611c18565b60408051601f198184030181528282018252601383527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602084015290517fe1fc45ce00000000000000000000000000000000000000000000000000000000815290925073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163e1fc45ce916109759188913391908790600401611fe7565b6000604051808303816000875af1158015610994573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109bc9190810190611d34565b5050505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e1fc45ce84336040518060400160405280601381526020017f52454c4154494f4e534849505f4d4f44554c45000000000000000000000000008152507fe5801b46183bd353d44247232707bb62253655a0580ade69a754ba7157ddf8fd8787604051602001610a6b9291906121bc565b60408051601f1981840301815290829052610a899291602001611c18565b6040516020818303038152906040526040518563ffffffff1660e01b8152600401610ab79493929190611fe7565b6000604051808303816000875af1158015610ad6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610afe9190810190611d34565b50505050565b6040517f98e8e6ea00000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906398e8e6ea90610b85908b908b908b908b908b908b908b906004016121d0565b6020604051808303816000875af1158015610ba4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc89190612236565b98975050505050505050565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663b38609e889336040518060400160405280601381526020017f52454c4154494f4e534849505f4d4f44554c45000000000000000000000000008152508b604051602001610c5c9190612253565b6040516020818303038152906040528b8b8b8b6040518963ffffffff1660e01b8152600401610c92989796959493929190611c81565b6000604051808303816000875af1158015610cb1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610cd99190810190611d34565b905080806020019051810190610bc8919061211c565b6040805173ffffffffffffffffffffffffffffffffffffffff898116602083015288168183015260608082018890528251808303909101815260808201909252600091610d61917fbc42750dbe73870bbe102106b22fd8bdfa53c7247eca196d8bb7da9527f0c1e5919060a001611c18565b60408051601f198184030181528282018252601383527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602084015290517fb38609e800000000000000000000000000000000000000000000000000000000815290925073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163b38609e891610e1e918d9133919087908c908c908c908c90600401611c81565b6000604051808303816000875af1158015610e3d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e659190810190611d34565b50505050505050505050565b60608167ffffffffffffffff811115610e8c57610e8c611d05565b604051908082528060200260200182016040528015610ebf57816020015b6060815260200190600190039081610eaa5790505b50905060005b82811015610f5f57610f2f30858584818110610ee357610ee36122dc565b9050602002810190610ef5919061230b565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061130792505050565b828281518110610f4157610f416122dc565b60200260200101819052508080610f5790612370565b915050610ec5565b5092915050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e1fc45ce83336040518060400160405280601081526020017f4c4943454e53494e475f4d4f44554c45000000000000000000000000000000008152507f8b21f20183a523515c357db6dba25c92b138630b63988ca3e60a6be86c8da0458660405160200161100c91906123cf565b60408051601f198184030181529082905261102a9291602001611c18565b6040516020818303038152906040526040518563ffffffff1660e01b81526004016108209493929190611fe7565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663b38609e884336040518060400160405280601081526020017f4c4943454e53494e475f4d4f44554c45000000000000000000000000000000008152507f29def77ab981c01a6b53c58b23dd89ac4447095f721298424063ed3f16962ac68787604051602001611109929190918252602082015260400190565b60408051601f19818403018152908290526111279291602001611c18565b60408051808303601f19018152600080845260208401909252919061115c565b60608152602001906001900390816111475790505b506040805160008082526020820190925290611188565b60608152602001906001900390816111735790505b506040518763ffffffff1660e01b8152600401610ab796959493929190612135565b60007f88fae8356076de6f233fd00b30fad913df2329364a9e9242abdc96adccc3bfc9858585856040516020016111e49493929190612441565b60408051601f19818403018152908290526112029291602001611c18565b60408051601f198184030181528282018252601383527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602084015290517fe1fc45ce00000000000000000000000000000000000000000000000000000000815290925073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163e1fc45ce916112b7918a913391908790600401611fe7565b6000604051808303816000875af11580156112d6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526112fe9190810190611d34565b50505050505050565b606061132c838360405180606001604052806027815260200161249860279139611333565b9392505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff168560405161135d9190612468565b600060405180830381855af49150503d8060008114611398576040519150601f19603f3d011682016040523d82523d6000602084013e61139d565b606091505b50915091506113ae868383876113b8565b9695505050505050565b6060831561145357825160000361144c5773ffffffffffffffffffffffffffffffffffffffff85163b61144c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064015b60405180910390fd5b508161145d565b61145d8383611465565b949350505050565b8151156114755781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114439190612484565b73ffffffffffffffffffffffffffffffffffffffff811681146114cb57600080fd5b50565b600060a082840312156114e057600080fd5b50919050565b60008083601f8401126114f857600080fd5b50813567ffffffffffffffff81111561151057600080fd5b6020830191508360208260051b850101111561152b57600080fd5b9250929050565b6000806000806000806080878903121561154b57600080fd5b8635611556816114a9565b9550602087013567ffffffffffffffff8082111561157357600080fd5b61157f8a838b016114ce565b9650604089013591508082111561159557600080fd5b6115a18a838b016114e6565b909650945060608901359150808211156115ba57600080fd5b506115c789828a016114e6565b979a9699509497509295939492505050565b6000602082840312156115eb57600080fd5b813567ffffffffffffffff81111561160257600080fd5b820160c0818503121561132c57600080fd5b6000606082840312156114e057600080fd5b6000806000806000806080878903121561163f57600080fd5b863561164a816114a9565b9550602087013567ffffffffffffffff8082111561166757600080fd5b61157f8a838b01611614565b6000806040838503121561168657600080fd5b8235611691816114a9565b946020939093013593505050565b6000806000604084860312156116b457600080fd5b83356116bf816114a9565b9250602084013567ffffffffffffffff8111156116db57600080fd5b6116e7868287016114e6565b9497909650939450505050565b60008083601f84011261170657600080fd5b50813567ffffffffffffffff81111561171e57600080fd5b60208301915083602082850101111561152b57600080fd5b60008060006040848603121561174b57600080fd5b8335611756816114a9565b9250602084013567ffffffffffffffff81111561177257600080fd5b6116e7868287016116f4565b60008060008060008060006080888a03121561179957600080fd5b87356117a4816114a9565b9650602088013567ffffffffffffffff808211156117c157600080fd5b6117cd8b838c016116f4565b909850965060408a01359150808211156117e657600080fd5b6117f28b838c016116f4565b909650945060608a013591508082111561180b57600080fd5b506118188a828b016114e6565b989b979a50959850939692959293505050565b60008060008060008060008060c0898b03121561184757600080fd5b8835611852816114a9565b97506020890135611862816114a9565b96506040890135611872816114a9565b955060608901359450608089013567ffffffffffffffff8082111561189657600080fd5b6118a28c838d016114e6565b909650945060a08b01359150808211156118bb57600080fd5b506118c88b828c016114e6565b999c989b5096995094979396929594505050565b600080602083850312156118ef57600080fd5b823567ffffffffffffffff81111561190657600080fd5b611912858286016114e6565b90969095509350505050565b60005b83811015611939578181015183820152602001611921565b50506000910152565b6000815180845261195a81602086016020860161191e565b601f01601f19169290920160200192915050565b600081518084526020808501808196508360051b8101915082860160005b858110156119b65782840389526119a4848351611942565b9885019893509084019060010161198c565b5091979650505050505050565b60208152600061132c602083018461196e565b600080604083850312156119e957600080fd5b82356119f4816114a9565b9150602083013567ffffffffffffffff811115611a1057600080fd5b611a1c85828601611614565b9150509250929050565b600080600060608486031215611a3b57600080fd5b8335611a46816114a9565b95602085013595506040909401359392505050565b600080600080600060608688031215611a7357600080fd5b8535611a7e816114a9565b9450602086013567ffffffffffffffff80821115611a9b57600080fd5b611aa789838a016116f4565b90965094506040880135915080821115611ac057600080fd5b50611acd888289016116f4565b969995985093965092949392505050565b803560ff81168114611aef57600080fd5b919050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611b2957600080fd5b830160208101925035905067ffffffffffffffff811115611b4957600080fd5b80360382131561152b57600080fd5b818352818160208501375060006020828401015260006020601f19601f840116840101905092915050565b6020815260008235611b94816114a9565b73ffffffffffffffffffffffffffffffffffffffff811660208401525060ff611bbf60208501611ade565b166040830152611bd26040840184611af4565b60a06060850152611be760c085018284611b58565b91505060608401356080840152611c016080850185611af4565b601f198584030160a08601526113ae838284611b58565b82815260406020820152600061145d6040830184611942565b81835260006020808501808196508560051b810191508460005b878110156119b6578284038952611c628288611af4565b611c6d868284611b58565b9a87019a9550505090840190600101611c4b565b600073ffffffffffffffffffffffffffffffffffffffff808b168352808a1660208401525060c06040830152611cba60c0830189611942565b8281036060840152611ccc8189611942565b90508281036080840152611ce1818789611c31565b905082810360a0840152611cf6818587611c31565b9b9a5050505050505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600060208284031215611d4657600080fd5b815167ffffffffffffffff80821115611d5e57600080fd5b818401915084601f830112611d7257600080fd5b815181811115611d8457611d84611d05565b604051601f8201601f19908116603f01168101908382118183101715611dac57611dac611d05565b81604052828152876020848701011115611dc557600080fd5b611dd683602083016020880161191e565b979650505050505050565b60008060408385031215611df457600080fd5b505080516020909101519092909150565b600060208284031215611e1757600080fd5b813561132c816114a9565b803560068110611aef57600080fd5b60068110611e68577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611ea157600080fd5b830160208101925035905067ffffffffffffffff811115611ec157600080fd5b8060051b360382131561152b57600080fd5b8183526000602080850194508260005b85811015611f095760ff611ef683611ade565b1687529582019590820190600101611ee3565b509495945050505050565b602081526000611f248384611af4565b60c06020850152611f3960e085018284611b58565b9150506020840135611f4a816114a9565b73ffffffffffffffffffffffffffffffffffffffff8116604085015250611f7f60608401611f7a60408701611e22565b611e31565b611f8b60608501611e22565b611f986080850182611e31565b50611fa66080850185611e6c565b601f19808685030160a0870152611fbe848385611ed3565b9350611fcd60a0880188611e6c565b93509150808685030160c0870152506113ae838383611ed3565b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250608060408301526120206080830185611942565b8281036060840152611dd68185611942565b81835260006020808501808196508560051b81019150846000805b888110156120c8578385038a5282357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc189360301811261208b578283fd5b880180358652604061209f88830183611af4565b925081898901526120b38289018483611b58565b9c89019c97505050928601925060010161204d565b509298975050505050505050565b6020815260006120e68384611e6c565b606060208501526120fb608085018284612032565b91505060208401356040840152604084013560608401528091505092915050565b60006020828403121561212e57600080fd5b5051919050565b600073ffffffffffffffffffffffffffffffffffffffff808916835280881660208401525060c0604083015261216e60c0830187611942565b82810360608401526121808187611942565b90508281036080840152612194818661196e565b905082810360a08401526106ca818561196e565b60208152600061145d602083018486611c31565b60208152600061145d602083018486611b58565b73ffffffffffffffffffffffffffffffffffffffff8816815260806020820152600061220060808301888a611b58565b8281036040840152612213818789611b58565b90508281036060840152612228818587611c31565b9a9950505050505050505050565b60006020828403121561224857600080fd5b815161132c816114a9565b6020815260006122638384611af4565b60a0602085015261227860c085018284611b58565b9150506020840135612289816114a9565b73ffffffffffffffffffffffffffffffffffffffff808216604086015260408601356060860152606086013591506122c0826114a9565b16608084810191909152939093013560a0909201919091525090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261234057600080fd5b83018035915067ffffffffffffffff82111561235b57600080fd5b60200191503681900382131561152b57600080fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036123c8577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b6020815260006123df8384611af4565b606060208501526123f4608085018284611b58565b9150506124046020850185611e6c565b601f1985840301604086015261241b838284612032565b9250505060408401356003811061243157600080fd5b6060939093019290925250919050565b604081526000612455604083018688611b58565b8281036020840152611dd6818587611b58565b6000825161247a81846020870161191e565b9190910192915050565b60208152600061132c602083018461194256fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212206fe895e27d983fcf1f05a521573ee32357d83c10ed1b1831f8770b97c49bea0a64736f6c63430008130033000000000000000000000000e3c522921a16c692e664d06d53a251f91323a06b000000000000000000000000edbd4907a7f98de932e635e9076b4e0c36d0e797", + "nonce": "0x603", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x64eb802bac6a3135074c475cb2ebec299c846cc717a561be60c83b69ec47550a", + "transactionType": "CREATE", + "contractName": "RegistrationModule", + "contractAddress": "0xfb45e1274D9f0A2DF5C0851a705EEB0665171C5B", + "function": null, + "arguments": [ + "(0xaD2377c8f9f0ca6382fEf166b08aeDe8318fE49C, 0xedBd4907A7F98de932e635e9076B4E0C36D0E797, 0xCD28eb9D0D2AFcf4354F2c93dE5ce9Bbf88257ae, 0xE3C522921A16c692E664D06d53a251f91323a06B)", + "0x7EDacD4d53b5A626471c6728f04D92125CcF647F" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x557b3a", + "value": "0x0", + "data": "0x6101006040523480156200001257600080fd5b50604051620050343803806200503483398101604081905262000035916200029c565b8151819083906001600160a01b03166200006257604051636028d8f760e01b815260040160405180910390fd5b80516001600160a01b039081166080526020820151166200009657604051637e2fee8960e11b815260040160405180910390fd5b60208101516001600160a01b0390811660a052604082015116620000cd57604051635a70c46160e11b815260040160405180910390fd5b60408101516001600160a01b0390811660c052606090910151811660e05262000100908216637965db0b60e01b62000193565b62000143576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600480546001600160a01b0319166001600160a01b0383169081179091556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a250505062000354565b6000620001a083620001bb565b8015620001b45750620001b48383620001f4565b9392505050565b6000620001d0826301ffc9a760e01b620001f4565b8015620001ee5750620001ec826001600160e01b0319620001f4565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801562000267575060208210155b8015620002745750600081115b979650505050505050565b80516001600160a01b03811681146200029757600080fd5b919050565b60008082840360a0811215620002b157600080fd5b6080811215620002c057600080fd5b50604051608081016001600160401b0381118282101715620002f257634e487b7160e01b600052604160045260246000fd5b60405262000300846200027f565b815262000310602085016200027f565b602082015262000323604085016200027f565b604082015262000336606085016200027f565b606082015291506200034b608084016200027f565b90509250929050565b60805160a05160c05160e051614c83620003b16000396000818161024d0152612d31015260006104680152600081816103ce015281816107160152610fe6015260008181610408015281816116cf015261317c0152614c836000f3fe608060405234801561001057600080fd5b50600436106101ad5760003560e01c80638a8cb0b4116100ee578063bc12fcca11610097578063e8d7265411610071578063e8d726541461043d578063e8fb5c9b14610450578063f0ebdc8314610463578063fba854e01461048a57600080fd5b8063bc12fcca146103f0578063d2faf8b014610403578063e57204041461042a57600080fd5b8063a6829872116100c8578063a6829872146103a3578063b6efd29d146103b6578063b95ddb52146103c957600080fd5b80638a8cb0b41461032e5780639b72220214610370578063a5b04d451461039057600080fd5b806351e06b901161015b57806368a4f0711161013557806368a4f071146102d25780637448c568146102e557806377379d94146102f85780638591b11b1461031b57600080fd5b806351e06b90146102485780635f32b430146102945780636352211e146102bf57600080fd5b806332ee68131161018c57806332ee6813146102065780634fa4467c1461022d5780634fcbd2131461023557600080fd5b8062844d13146101b257806302a8df91146101db57806319129e5a146101f1575b600080fd5b6101c56101c03660046135b9565b61049d565b6040516101d29190613644565b60405180910390f35b6101e360ff81565b6040519081526020016101d2565b6102046101ff3660046135b9565b610596565b005b6101e37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81565b6101e3600a81565b6101c56102433660046136a0565b6106fc565b61026f7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101d2565b6101e36102a2366004613705565b600760209081526000928352604080842090915290825290205481565b61026f6102cd366004613731565b610784565b6101c56102e0366004613757565b610843565b6101e36102f336600461378c565b610a18565b61030b6103063660046137aa565b610a2c565b60405190151581526020016101d2565b610204610329366004613831565b610a64565b61030b61033c3660046138d5565b73ffffffffffffffffffffffffffffffffffffffff821660009081526006602052604090206002015460ff82161092915050565b61038361037e3660046135b9565b610c1d565b6040516101d2919061390e565b61020461039e36600461398e565b610d1c565b6101c56103b1366004613705565b610f27565b6101c56103c43660046139cf565b610fcc565b61026f7f000000000000000000000000000000000000000000000000000000000000000081565b6101e36103fe36600461378c565b61112c565b61026f7f000000000000000000000000000000000000000000000000000000000000000081565b61026f610438366004613757565b611138565b6101c561044b366004613a8e565b611230565b6101e361045e3660046137aa565b61190b565b61026f7f000000000000000000000000000000000000000000000000000000000000000081565b610204610498366004613ac5565b611920565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600660205260408120600101805460609291906104d590613b64565b80601f016020809104026020016040519081016040528092919081815260200182805461050190613b64565b801561054e5780601f106105235761010080835404028352916020019161054e565b820191906000526020600020905b81548152906001019060200180831161053157829003601f168201915b505050505090508051600003610590576040517f87dc059f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b92915050565b60006105a28133611afe565b6105e6576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b61062673ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000611b9b565b61068c576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c00000000000000000000000000000000000060448201526064016105dd565b600480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a25050565b60603373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461076d576040517f72823b5400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61077985858585611bb7565b90505b949350505050565b600081815260056020908152604080832081518083018352815473ffffffffffffffffffffffffffffffffffffffff1680825260019092015493810184905291517f6352211e00000000000000000000000000000000000000000000000000000000815260048101939093529091636352211e90602401602060405180830381865afa158015610818573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083c9190613bb7565b9392505050565b606060006108518585611cc5565b805480602002602001604051908101604052809291908181526020016000905b8282101561091d57838290600052602060002001805461089090613b64565b80601f01602080910402602001604051908101604052809291908181526020018280546108bc90613b64565b80156109095780601f106108de57610100808354040283529160200191610909565b820191906000526020600020905b8154815290600101906020018083116108ec57829003601f168201915b505050505081526020019060010190610871565b50505050905080518310610960576040517f9c7692bf000000000000000000000000000000000000000000000000000000008152600481018490526024016105dd565b61096a8585611cc5565b838154811061097b5761097b613bd4565b90600052602060002001805461099090613b64565b80601f01602080910402602001604051908101604052809291908181526020018280546109bc90613b64565b8015610a095780601f106109de57610100808354040283529160200191610a09565b820191906000526020600020905b8154815290600101906020018083116109ec57829003601f168201915b50505050509150509392505050565b6000610a248383611d07565b549392505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610a5a85858561190b565b1415949350505050565b8473ffffffffffffffffffffffffffffffffffffffff8116610ab2576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610afd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b219190613bb7565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b85576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610c02876040805173ffffffffffffffffffffffffffffffffffffffff8316602082015280820191909152600c60608201527f524547495354524154494f4e0000000000000000000000000000000000000000608082015260009060a001604051602081830303815290604052805190602001209050919050565b9050610c1388888389898989611920565b5050505050505050565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600660209081526040808320600201805482518185028101850190935280835260609492939192909184015b82821015610d11578382906000526020600020018054610c8490613b64565b80601f0160208091040260200160405190810160405280929190818152602001828054610cb090613b64565b8015610cfd5780601f10610cd257610100808354040283529160200191610cfd565b820191906000526020600020905b815481529060010190602001808311610ce057829003601f168201915b505050505081526020019060010190610c65565b505050509050919050565b8173ffffffffffffffffffffffffffffffffffffffff8116610d6a576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610db5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dd99190613bb7565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e3d576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000846001811115610e5157610e51613c03565b148015610e6b575060008281526020819052604090205415155b15610ea3576000828152602081905260408120610e87916134e8565b6000828152600260205260408120610e9e91613509565b610ee5565b60008281526001602052604090205415610ee5576000828152600160205260408120610ece916134e8565b6000828152600360205260408120610ee591613509565b81846001811115610ef857610ef8613c03565b6040517f1fe48a4ec69671720d8bdd8f8a6853d16f486c0bb91fcaf5b8ffc4932b8bc9f490600090a350505050565b600860209081526000928352604080842090915290825290208054610f4b90613b64565b80601f0160208091040260200160405190810160405280929190818152602001828054610f7790613b64565b8015610fc45780601f10610f9957610100808354040283529160200191610fc4565b820191906000526020600020905b815481529060010190602001808311610fa757829003601f168201915b505050505081565b60603373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461103d576040517f72823b5400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61104989898989611d49565b60006110578a8a8a8a611f46565b90506110668686600084611fc3565b6110c15760405173ffffffffffffffffffffffffffffffffffffffff8a16907fa1e5a8c0fde3fa4d7320c3f9de0ab0a2c1ee6e891e6a513ca0811ddcf768b59490600090a25050604080516020810190915260008152611120565b6110cd8a8a8a8a61223d565b91506110dc8484600184611fc3565b5060405173ffffffffffffffffffffffffffffffffffffffff8a16907f4ec4635a4d1f6ebe9ee3a059f74fc5d802e04d2d115c4090337a34e3b137c98a90600090a2505b98975050505050505050565b6000610a248383611cc5565b6000806111458585611d07565b8054806020026020016040519081016040528092919081815260200182805480156111a657602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff16815260019091019060200180831161117b575b50505050509050805183106111ea576040517f9c7692bf000000000000000000000000000000000000000000000000000000008152600481018490526024016105dd565b6111f48585611d07565b838154811061120557611205613bd4565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1695945050505050565b73ffffffffffffffffffffffffffffffffffffffff831660008181526007602090815260408083208684529091528082205490517f6352211e0000000000000000000000000000000000000000000000000000000081526004810186905260609391929190636352211e90602401602060405180830381865afa1580156112bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112df9190613bb7565b905073ffffffffffffffffffffffffffffffffffffffff811661132e576040517f85a9692000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff861660009081526008602090815260408083208884529091528120805461136990613b64565b905011156114335773ffffffffffffffffffffffffffffffffffffffff86166000908152600860209081526040808320888452909152902080546113ac90613b64565b80601f01602080910402602001604051908101604052809291908181526020018280546113d890613b64565b80156114255780601f106113fa57610100808354040283529160200191611425565b820191906000526020600020905b81548152906001019060200180831161140857829003601f168201915b50505050509250505061083c565b73ffffffffffffffffffffffffffffffffffffffff861660009081526006602052604080822081516060810190925280548290829061147190613b64565b80601f016020809104026020016040519081016040528092919081815260200182805461149d90613b64565b80156114ea5780601f106114bf576101008083540402835291602001916114ea565b820191906000526020600020905b8154815290600101906020018083116114cd57829003601f168201915b5050505050815260200160018201805461150390613b64565b80601f016020809104026020016040519081016040528092919081815260200182805461152f90613b64565b801561157c5780601f106115515761010080835404028352916020019161157c565b820191906000526020600020905b81548152906001019060200180831161155f57829003601f168201915b5050505050815260200160028201805480602002602001604051908101604052809291908181526020016000905b828210156116565783829060005260206000200180546115c990613b64565b80601f01602080910402602001604051908101604052809291908181526020018280546115f590613b64565b80156116425780601f1061161757610100808354040283529160200191611642565b820191906000526020600020905b81548152906001019060200180831161162557829003601f168201915b5050505050815260200190600101906115aa565b505050915250508051519091501561169d57805161167384612354565b604051602001611684929190613c4e565b604051602081830303815290604052935050505061083c565b6040517fc47f8bfa000000000000000000000000000000000000000000000000000000008152600481018490526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063c47f8bfa90602401600060405180830381865afa15801561172b573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526117719190810190613dff565b9050600061177e85612354565b8251604051611791929190602001613ec9565b604051602081830303815290604052905060006117c9836060015173ffffffffffffffffffffffffffffffffffffffff166014612412565b6117ea8673ffffffffffffffffffffffffffffffffffffffff166014612412565b6040516020016117fb92919061400c565b60405160208183030381529060405290506000611833846020015173ffffffffffffffffffffffffffffffffffffffff166014612412565b85604001518a60ff168151811061184c5761184c613bd4565b6020026020010151611864866040015160ff16612354565b6080870151611874906020612412565b61188b8860a0015167ffffffffffffffff16612354565b60405160200161189f959493929190614108565b60405160208183030381529060405290506118dc8383836040516020016118c893929190614361565b604051602081830303815290604052612655565b6040516020016118ec91906143cc565b6040516020818303038152906040529750505050505050509392505050565b600061077c61191a8585611d07565b836127a8565b8573ffffffffffffffffffffffffffffffffffffffff811661196e576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119dd9190613bb7565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611a41576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611a4c888888610d1c565b611aa8611a598988611d07565b611a638a89611cc5565b878780806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250611aa39250889150899050614486565b612842565b85886001811115611abb57611abb613c03565b7f5e140eb5bed8bcb1664a04c0be4aa419e0d2dbf1277a4a6770882a0beb3b91b28787604051611aec9291906144fa565b60405180910390a35050505050505050565b600480546040517f91d1485400000000000000000000000000000000000000000000000000000000815291820184905273ffffffffffffffffffffffffffffffffffffffff83811660248401526000929116906391d1485490604401602060405180830381865afa158015611b77573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083c9190614555565b6000611ba683612b40565b801561083c575061083c8383612ba4565b6060611bc38585612c73565b600080611bd284860186614577565b915091507f88fae8356076de6f233fd00b30fad913df2329364a9e9242abdc96adccc3bfc98203611c2a5760008082806020019051810190611c1491906145be565b91509150611c23898383612da4565b5050611cab565b7f9aeb830ec91a14c97a5446cc7c86a42f73a78f37f9a77afa238b5d11520ddfbc8203611c7957600081806020019051810190611c679190614618565b9050611c738882612e3a565b50611cab565b6040517f04e4b46900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505060408051602081019091526000815295945050505050565b600080836001811115611cda57611cda613c03565b03611cf357506000818152600260205260409020610590565b506000818152600360205260409020610590565b600080836001811115611d1c57611d1c613c03565b03611d3557506000818152602081905260409020610590565b506000818152600160205260409020610590565b600080611d5883850185614577565b915091507fbc42750dbe73870bbe102106b22fd8bdfa53c7247eca196d8bb7da9527f0c1e58203611e5057600080600083806020019051810190611d9c91906146c9565b9250925092508273ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff16141580611e1157508773ffffffffffffffffffffffffffffffffffffffff16611df882610784565b73ffffffffffffffffffffffffffffffffffffffff1614155b15611e48576040517f7e833cd700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050611f3e565b7fe761f303268b55a3dc96719551acb95ca3bd1ebeef4b720be68dd92563627a3f8203611f0c57600081806020019051810190611e8d919061470c565b90508573ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff1614611ef8576040517f7e833cd700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611f06878260200151612eff565b50611f3e565b6040517f9ca9add400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050505050565b6000610779856040805173ffffffffffffffffffffffffffffffffffffffff8316602082015280820191909152600c60608201527f524547495354524154494f4e0000000000000000000000000000000000000000608082015260009060a001604051602081830303815290604052805190602001209050919050565b600080611fd08484611d07565b80548060200260200160405190810160405280929190818152602001828054801561203157602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311612006575b5050505050905060006120448585611cc5565b805480602002602001604051908101604052809291908181526020016000905b8282101561211057838290600052602060002001805461208390613b64565b80601f01602080910402602001604051908101604052809291908181526020018280546120af90613b64565b80156120fc5780601f106120d1576101008083540402835291602001916120fc565b820191906000526020600020905b8154815290600101906020018083116120df57829003601f168201915b505050505081526020019060010190612064565b50508451929350505086811461216a5785600181111561213257612132613c03565b6040517f3171c36f00000000000000000000000000000000000000000000000000000000815260ff90911660048201526024016105dd565b60005b8181101561222e5761220b8785838151811061218b5761218b613bd4565b60200260200101518584815181106121a5576121a5613bd4565b60200260200101518c8c868181106121bf576121bf613bd4565b90506020028101906121d191906147cd565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612f6c92505050565b61221c57600094505050505061077c565b8061222681614861565b91505061216d565b50600198975050505050505050565b606060008061224e84860186614577565b915091507fbc42750dbe73870bbe102106b22fd8bdfa53c7247eca196d8bb7da9527f0c1e582036122c05760008060008380602001905181019061229291906146c9565b9250925092506122a48a828585613068565b604051806020016040528060008152509550505050505061077c565b7fe761f303268b55a3dc96719551acb95ca3bd1ebeef4b720be68dd92563627a3f8203611cab576000818060200190518101906122fd919061470c565b90506000806123248a84600001518560400151866020015187606001518860800151613177565b6040805160208101939093528281019190915280518083038201815260609092019052955061077c945050505050565b6060600061236183613406565b600101905060008167ffffffffffffffff81111561238157612381613c7d565b6040519080825280601f01601f1916602001820160405280156123ab576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85049450846123b557509392505050565b60606000612421836002614899565b61242c9060026148b0565b67ffffffffffffffff81111561244457612444613c7d565b6040519080825280601f01601f19166020018201604052801561246e576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106124a5576124a5613bd4565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061250857612508613bd4565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000612544846002614899565b61254f9060016148b0565b90505b60018111156125ec577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061259057612590613bd4565b1a60f81b8282815181106125a6576125a6613bd4565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c936125e5816148c3565b9050612552565b50831561083c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016105dd565b6060815160000361267457505060408051602081019091526000815290565b6000604051806060016040528060408152602001614c0e60409139905060006003845160026126a391906148b0565b6126ad91906148f8565b6126b8906004614899565b67ffffffffffffffff8111156126d0576126d0613c7d565b6040519080825280601f01601f1916602001820160405280156126fa576020820181803683370190505b509050600182016020820185865187015b80821015612766576003820191508151603f8160121c168501518453600184019350603f81600c1c168501518453600184019350603f8160061c168501518453600184019350603f811685015184535060018301925061270b565b505060038651066001811461278257600281146127955761279d565b603d6001830353603d600283035361279d565b603d60018303535b509195945050505050565b8154600090815b81811015612818578373ffffffffffffffffffffffffffffffffffffffff168582815481106127e0576127e0613bd4565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16036128105791506105909050565b6001016127af565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff949350505050565b8151600a81111561287f576040517f760fb4ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b808251146128b9576040517f3021beb200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b81811015611f3e57600073ffffffffffffffffffffffffffffffffffffffff168482815181106128ee576128ee613bd4565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1603612943576040517f7d4de38200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000811180156129b3575083600182038151811061296357612963613bd4565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1684828151811061299357612993613bd4565b602002602001015173ffffffffffffffffffffffffffffffffffffffff16145b156129ea576040517fd696c40800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8381815181106129fc576129fc613bd4565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1663a913b881848381518110612a3157612a31613bd4565b60200260200101516040518263ffffffff1660e01b8152600401612a559190613644565b60006040518083038186803b158015612a6d57600080fd5b505afa158015612a81573d6000803e3d6000fd5b5050505085848281518110612a9857612a98613bd4565b60209081029190910181015182546001810184556000938452919092200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90921691909117905582518590849083908110612b0e57612b0e613bd4565b60209081029190910181015182546001810184556000938452919092200190612b379082614979565b506001016128bc565b6000612b6c827f01ffc9a700000000000000000000000000000000000000000000000000000000612ba4565b80156105905750612b9d827fffffffff00000000000000000000000000000000000000000000000000000000612ba4565b1592915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015612c5c575060208210155b8015612c685750600081115b979650505050505050565b8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612cd5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cf99190613bb7565b73ffffffffffffffffffffffffffffffffffffffff1614158015612d6957508073ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1614155b15612da0576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260066020526040902080612dd48482614979565b5060018101612de38382614979565b508373ffffffffffffffffffffffffffffffffffffffff167f6c1850fce35387a891e82ca88e975790ab6f0709e9ed6842e01397f296012a7e8484604051612e2c929190614a93565b60405180910390a250505050565b805160ff811115612e77576040517f1c17d63a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff83166000908152600660205260408120905b82811015612ef85781600201848281518110612ebc57612ebc613bd4565b60209081029190910181015182546001810184556000938452919092200190612ee59082614979565b5080612ef081614861565b915050612e9e565b5050505050565b73ffffffffffffffffffffffffffffffffffffffff821660009081526006602052604090206002015460ff80821690831610612f67576040517f12d7e46c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b600080604051806040016040528085815260200184815250905060008573ffffffffffffffffffffffffffffffffffffffff166334e5d29f83604051602001612fb59190614ac1565b6040516020818303038152906040526040518263ffffffff1660e01b8152600401612fe09190613644565b6000604051808303816000875af1158015612fff573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526130459190810190614b18565b509050600181600181111561305c5761305c613c03565b14979650505050505050565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301528281166024830152604482018590528516906323b872dd90606401600060405180830381600087803b1580156130e057600080fd5b505af11580156130f4573d6000803e3d6000fd5b5050505073ffffffffffffffffffffffffffffffffffffffff84811660008181526007602090815260408083208884528252918290205482518881528786169281019290925293851681830152905183917f0480e159be1c15e0022dfbc6d236db58db83a033908eca4876f796f60ed871b9919081900360600190a35050505050565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663601a924c898989886040518563ffffffff1660e01b81526004016131d99493929190614b73565b6020604051808303816000875af11580156131f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061321c9190614bbd565b6040517f691562a000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff898116600483015260ff881660248301529193509089169063691562a0906044016020604051808303816000875af1158015613297573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132bb9190614bbd565b73ffffffffffffffffffffffffffffffffffffffff89811660008181526007602090815260408083208684528252808320889055805180820182529384528382018681528884526005909252909120825181547fffffffffffffffffffffffff000000000000000000000000000000000000000016941693909317835551600190920191909155845191925090156133895773ffffffffffffffffffffffffffffffffffffffff8916600090815260086020908152604080832085845290915290206133878582614979565b505b8560ff168873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff167fd051b12b5a18291aec9a26b17774a4be2d10dce167cbdc5944c7942c78f901c186868c8b8b6040516133f2959493929190614bd6565b60405180910390a450965096945050505050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000831061344f577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef8100000000831061347b576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061349957662386f26fc10000830492506010015b6305f5e10083106134b1576305f5e100830492506008015b61271083106134c557612710830492506004015b606483106134d7576064830492506002015b600a83106105905760010192915050565b50805460008255906000526020600020908101906135069190613527565b50565b50805460008255906000526020600020908101906135069190613540565b5b8082111561353c5760008155600101613528565b5090565b8082111561353c576000613554828261355d565b50600101613540565b50805461356990613b64565b6000825580601f10613579575050565b601f0160209004906000526020600020908101906135069190613527565b73ffffffffffffffffffffffffffffffffffffffff8116811461350657600080fd5b6000602082840312156135cb57600080fd5b813561083c81613597565b60005b838110156135f15781810151838201526020016135d9565b50506000910152565b600081518084526136128160208601602086016135d6565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061083c60208301846135fa565b60008083601f84011261366957600080fd5b50813567ffffffffffffffff81111561368157600080fd5b60208301915083602082850101111561369957600080fd5b9250929050565b600080600080606085870312156136b657600080fd5b84356136c181613597565b935060208501356136d181613597565b9250604085013567ffffffffffffffff8111156136ed57600080fd5b6136f987828801613657565b95989497509550505050565b6000806040838503121561371857600080fd5b823561372381613597565b946020939093013593505050565b60006020828403121561374357600080fd5b5035919050565b6002811061350657600080fd5b60008060006060848603121561376c57600080fd5b83356137778161374a565b95602085013595506040909401359392505050565b6000806040838503121561379f57600080fd5b82356137238161374a565b6000806000606084860312156137bf57600080fd5b83356137ca8161374a565b92506020840135915060408401356137e181613597565b809150509250925092565b60008083601f8401126137fe57600080fd5b50813567ffffffffffffffff81111561381657600080fd5b6020830191508360208260051b850101111561369957600080fd5b6000806000806000806080878903121561384a57600080fd5b86356138558161374a565b9550602087013561386581613597565b9450604087013567ffffffffffffffff8082111561388257600080fd5b61388e8a838b016137ec565b909650945060608901359150808211156138a757600080fd5b506138b489828a016137ec565b979a9699509497509295939492505050565b60ff8116811461350657600080fd5b600080604083850312156138e857600080fd5b82356138f381613597565b91506020830135613903816138c6565b809150509250929050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015613981577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc088860301845261396f8583516135fa565b94509285019290850190600101613935565b5092979650505050505050565b6000806000606084860312156139a357600080fd5b83356139ae8161374a565b925060208401356139be81613597565b929592945050506040919091013590565b60008060008060008060008060a0898b0312156139eb57600080fd5b88356139f681613597565b97506020890135613a0681613597565b9650604089013567ffffffffffffffff80821115613a2357600080fd5b613a2f8c838d01613657565b909850965060608b0135915080821115613a4857600080fd5b613a548c838d016137ec565b909650945060808b0135915080821115613a6d57600080fd5b50613a7a8b828c016137ec565b999c989b5096995094979396929594505050565b600080600060608486031215613aa357600080fd5b8335613aae81613597565b92506020840135915060408401356137e1816138c6565b600080600080600080600060a0888a031215613ae057600080fd5b8735613aeb8161374a565b96506020880135613afb81613597565b955060408801359450606088013567ffffffffffffffff80821115613b1f57600080fd5b613b2b8b838c016137ec565b909650945060808a0135915080821115613b4457600080fd5b50613b518a828b016137ec565b989b979a50959850939692959293505050565b600181811c90821680613b7857607f821691505b602082108103613bb1577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b600060208284031215613bc957600080fd5b815161083c81613597565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60008151613c448185602086016135d6565b9290920192915050565b60008351613c608184602088016135d6565b835190830190613c748183602088016135d6565b01949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715613ccf57613ccf613c7d565b60405290565b60405160a0810167ffffffffffffffff81118282101715613ccf57613ccf613c7d565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715613d3f57613d3f613c7d565b604052919050565b600067ffffffffffffffff821115613d6157613d61613c7d565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b6000613da0613d9b84613d47565b613cf8565b9050828152838383011115613db457600080fd5b61083c8360208301846135d6565b600082601f830112613dd357600080fd5b61083c83835160208501613d8d565b805167ffffffffffffffff81168114613dfa57600080fd5b919050565b600060208284031215613e1157600080fd5b815167ffffffffffffffff80821115613e2957600080fd5b9083019060c08286031215613e3d57600080fd5b613e45613cac565b825182811115613e5457600080fd5b613e6087828601613dc2565b82525060208301519150613e7382613597565b81602082015260408301519150613e89826138c6565b81604082015260608301519150613e9f82613597565b81606082015260808301516080820152613ebb60a08401613de2565b60a082015295945050505050565b7f7b226e616d65223a2022476c6f62616c20495020417373657420230000000000815260008351613f0181601b8501602088016135d6565b7f222c20226465736372697074696f6e223a20224950204f726720417373657420601b918401918201527f526567697374726174696f6e2044657461696c73222c20226174747269627574603b8201527f6573223a205b0000000000000000000000000000000000000000000000000000605b8201527f7b2274726169745f74797065223a20224e616d65222c202276616c7565223a2060618201527f220000000000000000000000000000000000000000000000000000000000000060818201528351613fd68160828401602088016135d6565b7f227d2c000000000000000000000000000000000000000000000000000000000060829290910191820152608501949350505050565b7f7b2274726169745f74797065223a20224950204f7267222c202276616c75652281527f3a2022000000000000000000000000000000000000000000000000000000000060208201526000835161406a8160238501602088016135d6565b80830190507f227d2c00000000000000000000000000000000000000000000000000000000008060238301527f7b2274726169745f74797065223a202243757272656e74204950204f776e657260268301527f222c202276616c7565223a202200000000000000000000000000000000000000604683015284516140f58160538501602089016135d6565b6053920191820152605601949350505050565b7f7b2274726169745f74797065223a2022496e697469616c20526567697374726181527f6e74222c202276616c7565223a2022000000000000000000000000000000000060208201526000865161416681602f850160208b016135d6565b80830190507f227d2c000000000000000000000000000000000000000000000000000000000080602f8301527f7b2274726169745f74797065223a20224950204f72672041737365742054797060328301527f65222c202276616c7565223a2022000000000000000000000000000000000000605283015287516141f1816060850160208c016135d6565b60609201918201527f7b2274726169745f74797065223a2022537461747573222c202276616c75652260638201527f3a2022000000000000000000000000000000000000000000000000000000000060838201526111206143386143326142e36142656142dd61428e82608689018e613c32565b7f227d2c0000000000000000000000000000000000000000000000000000000000815260030190565b7f7b2274726169745f74797065223a202248617368222c202276616c7565223a2081527f2200000000000000000000000000000000000000000000000000000000000000602082015260210190565b8a613c32565b7f7b2274726169745f74797065223a2022526567697374726174696f6e2044617481527f65222c202276616c7565223a20220000000000000000000000000000000000006020820152602e0190565b86613c32565b7f227d000000000000000000000000000000000000000000000000000000000000815260020190565b600084516143738184602089016135d6565b8451908301906143878183602089016135d6565b845191019061439a8183602088016135d6565b7f5d7d000000000000000000000000000000000000000000000000000000000000910190815260020195945050505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c00000081526000825161440481601d8501602087016135d6565b91909101601d0192915050565b600067ffffffffffffffff82111561442b5761442b613c7d565b5060051b60200190565b600082601f83011261444657600080fd5b8135614454613d9b82613d47565b81815284602083860101111561446957600080fd5b816020850160208301376000918101602001919091529392505050565b6000614494613d9b84614411565b80848252602080830192508560051b8501368111156144b257600080fd5b855b818110156144ee57803567ffffffffffffffff8111156144d45760008081fd5b6144e036828a01614435565b8652509382019382016144b4565b50919695505050505050565b60208082528181018390526000908460408401835b8681101561454a57823561452281613597565b73ffffffffffffffffffffffffffffffffffffffff168252918301919083019060010161450f565b509695505050505050565b60006020828403121561456757600080fd5b8151801515811461083c57600080fd5b6000806040838503121561458a57600080fd5b82359150602083013567ffffffffffffffff8111156145a857600080fd5b6145b485828601614435565b9150509250929050565b600080604083850312156145d157600080fd5b825167ffffffffffffffff808211156145e957600080fd5b6145f586838701613dc2565b9350602085015191508082111561460b57600080fd5b506145b485828601613dc2565b6000602080838503121561462b57600080fd5b825167ffffffffffffffff8082111561464357600080fd5b818501915085601f83011261465757600080fd5b8151614665613d9b82614411565b81815260059190911b8301840190848101908883111561468457600080fd5b8585015b838110156146bc578051858111156146a05760008081fd5b6146ae8b89838a0101613dc2565b845250918601918601614688565b5098975050505050505050565b6000806000606084860312156146de57600080fd5b83516146e981613597565b60208501519093506146fa81613597565b80925050604084015190509250925092565b60006020828403121561471e57600080fd5b815167ffffffffffffffff8082111561473657600080fd5b9083019060a0828603121561474a57600080fd5b614752613cd5565b825161475d81613597565b8152602083015161476d816138c6565b602082015260408301518281111561478457600080fd5b61479087828601613dc2565b604083015250606083015160608201526080830151828111156147b257600080fd5b6147be87828601613dc2565b60808301525095945050505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261480257600080fd5b83018035915067ffffffffffffffff82111561481d57600080fd5b60200191503681900382131561369957600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361489257614892614832565b5060010190565b808202811582820484141761059057610590614832565b8082018082111561059057610590614832565b6000816148d2576148d2614832565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b60008261492e577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b601f821115612f6757600081815260208120601f850160051c8101602086101561495a5750805b601f850160051c820191505b81811015611f3e57828155600101614966565b815167ffffffffffffffff81111561499357614993613c7d565b6149a7816149a18454613b64565b84614933565b602080601f8311600181146149fa57600084156149c45750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555611f3e565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015614a4757888601518255948401946001909101908401614a28565b5085821015614a8357878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b604081526000614aa660408301856135fa565b8281036020840152614ab881856135fa565b95945050505050565b602081526000825160406020840152614add60608401826135fa565b905060208401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0848303016040850152614ab882826135fa565b60008060408385031215614b2b57600080fd5b8251614b368161374a565b602084015190925067ffffffffffffffff811115614b5357600080fd5b8301601f81018513614b6457600080fd5b6145b485825160208401613d8d565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525060806040830152614bac60808301856135fa565b905082606083015295945050505050565b600060208284031215614bcf57600080fd5b5051919050565b85815284602082015260a060408201526000614bf560a08301866135fa565b846060840152828103608084015261112081856135fa56fe4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2fa264697066735822122070b8b352cbaea84f80aeb32a53add59c65bfa664d27de4fe2c720d195737907664736f6c63430008130033000000000000000000000000ad2377c8f9f0ca6382fef166b08aede8318fe49c000000000000000000000000edbd4907a7f98de932e635e9076b4e0c36d0e797000000000000000000000000cd28eb9d0d2afcf4354f2c93de5ce9bbf88257ae000000000000000000000000e3c522921a16c692e664d06d53a251f91323a06b0000000000000000000000007edacd4d53b5a626471c6728f04d92125ccf647f", + "nonce": "0x604", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x34ed35a98e276f7f8739306d58ab5dc6be1fb24091451d2c7d13edd9a18cf982", + "transactionType": "CREATE", + "contractName": "RelationshipModule", + "contractAddress": "0xf7081c5ff418ddB6C68A3cCc3CC68A4c21803460", + "function": null, + "arguments": [ + "(0xaD2377c8f9f0ca6382fEf166b08aeDe8318fE49C, 0xedBd4907A7F98de932e635e9076B4E0C36D0E797, 0xCD28eb9D0D2AFcf4354F2c93dE5ce9Bbf88257ae, 0xE3C522921A16c692E664D06d53a251f91323a06B)", + "0x7EDacD4d53b5A626471c6728f04D92125CcF647F" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x483231", + "value": "0x0", + "data": "0x6101006040523480156200001257600080fd5b50604051620044023803806200440283398101604081905262000035916200029c565b8151819083906001600160a01b03166200006257604051636028d8f760e01b815260040160405180910390fd5b80516001600160a01b039081166080526020820151166200009657604051637e2fee8960e11b815260040160405180910390fd5b60208101516001600160a01b0390811660a052604082015116620000cd57604051635a70c46160e11b815260040160405180910390fd5b60408101516001600160a01b0390811660c052606090910151811660e05262000100908216637965db0b60e01b62000193565b62000143576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600480546001600160a01b0319166001600160a01b0383169081179091556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a250505062000354565b6000620001a083620001bb565b8015620001b45750620001b48383620001f4565b9392505050565b6000620001d0826301ffc9a760e01b620001f4565b8015620001ee5750620001ec826001600160e01b0319620001f4565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801562000267575060208210155b8015620002745750600081115b979650505050505050565b80516001600160a01b03811681146200029757600080fd5b919050565b60008082840360a0811215620002b157600080fd5b6080811215620002c057600080fd5b50604051608081016001600160401b0381118282101715620002f257634e487b7160e01b600052604160045260246000fd5b60405262000300846200027f565b815262000310602085016200027f565b602082015262000323604085016200027f565b604082015262000336606085016200027f565b606082015291506200034b608084016200027f565b90509250929050565b60805160a05160c05160e051614051620003b160003960006102360152600081816103fc0152612ad20152600081816103620152818161074401528181610f470152612c1601526000818161039c0152612a0b01526140516000f3fe608060405234801561001057600080fd5b50600436106101825760003560e01c806377379d94116100d8578063d2faf8b01161008c578063e8fb5c9b11610066578063e8fb5c9b146103e4578063f0ebdc83146103f7578063fba854e01461041e57600080fd5b8063d2faf8b014610397578063e5720404146103be578063e7d8e931146103d157600080fd5b8063b6efd29d116100bd578063b6efd29d1461034a578063b95ddb521461035d578063bc12fcca1461038457600080fd5b806377379d9414610314578063a5b04d451461033757600080fd5b80634fcbd2131161013a57806368a4f0711161011457806368a4f071146102905780637448c568146102a357806376ced32d146102b657600080fd5b80634fcbd2131461021157806351e06b90146102315780636191d3561461027d57600080fd5b8063322e41b51161016b578063322e41b5146101c257806332ee6813146101e25780634fa4467c1461020957600080fd5b806319129e5a1461018757806329b2632b1461019c575b600080fd5b61019a610195366004612f09565b610431565b005b6101af6101aa366004612f26565b610597565b6040519081526020015b60405180910390f35b6101d56101d0366004612f61565b6105da565b6040516101b99190612fe8565b6101af7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81565b6101af600a81565b61022461021f36600461309d565b61072a565b6040516101b99190613102565b6102587f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101b9565b61019a61028b366004613167565b6107b2565b61022461029e366004613226565b610932565b6101af6102b136600461325b565b610b08565b6102c96102c43660046133ca565b610b1e565b60408051825173ffffffffffffffffffffffffffffffffffffffff908116825260208085015190830152838301511691810191909152606091820151918101919091526080016101b9565b61032761032236600461341a565b610cea565b60405190151581526020016101b9565b61019a61034536600461345c565b610d22565b61022461035836600461349d565b610f2d565b6102587f000000000000000000000000000000000000000000000000000000000000000081565b6101af61039236600461325b565b61108d565b6102587f000000000000000000000000000000000000000000000000000000000000000081565b6102586103cc366004613226565b611099565b6103276103df366004612f26565b611191565b6101af6103f236600461341a565b6111d8565b6102587f000000000000000000000000000000000000000000000000000000000000000081565b61019a61042c3660046134c4565b6111ed565b600061043d81336113cb565b610481576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b6104c173ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000611468565b610527576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c0000000000000000000000000000000000006044820152606401610478565b600480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a25050565b600060096000836040516020016105ae91906135ac565b604051602081830303815290604052805190602001208152602001908152602001600020549050919050565b6106386040518060a0016040528060608152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081525090565b60008281526008602052604090819020815160a0810190925280548290829061066090613698565b80601f016020809104026020016040519081016040528092919081815260200182805461068c90613698565b80156106d95780601f106106ae576101008083540402835291602001916106d9565b820191906000526020600020905b8154815290600101906020018083116106bc57829003601f168201915b5050509183525050600182015473ffffffffffffffffffffffffffffffffffffffff908116602083015260028301541660408201526003820154606082015260049091015460809091015292915050565b60603373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461079b576040517f72823b5400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6107a785858585611484565b90505b949350505050565b8673ffffffffffffffffffffffffffffffffffffffff8116610800576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561084b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086f91906136f6565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146108d3576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006109158989898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061158692505050565b90506109268a8a83898989896111ed565b50505050505050505050565b6060600061094085856115b9565b805480602002602001604051908101604052809291908181526020016000905b82821015610a0c57838290600052602060002001805461097f90613698565b80601f01602080910402602001604051908101604052809291908181526020018280546109ab90613698565b80156109f85780601f106109cd576101008083540402835291602001916109f8565b820191906000526020600020905b8154815290600101906020018083116109db57829003601f168201915b505050505081526020019060010190610960565b50505050905080518310610a4f576040517f9c7692bf00000000000000000000000000000000000000000000000000000000815260048101849052602401610478565b610a5985856115b9565b8381548110610a6a57610a6a613713565b906000526020600020018054610a7f90613698565b80601f0160208091040260200160405190810160405280929190818152602001828054610aab90613698565b8015610af85780601f10610acd57610100808354040283529160200191610af8565b820191906000526020600020905b815481529060010190602001808311610adb57829003601f168201915b50505050509150505b9392505050565b6000610b1483836115fb565b5490505b92915050565b60408051608081018252600080825260208201819052918101829052606081019190915273ffffffffffffffffffffffffffffffffffffffff8316610bcc57600582604051610b6d9190613742565b908152604080519182900360209081018320608084018352805473ffffffffffffffffffffffffffffffffffffffff90811685526001820154928501929092526002810154909116918301919091526003015460608201529050610c75565b600660008484604051602001610be392919061375e565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291815281516020928301208352828201939093529082016000208251608081018452815473ffffffffffffffffffffffffffffffffffffffff9081168252600183015493820193909352600282015490921692820192909252600390910154606082015290505b805173ffffffffffffffffffffffffffffffffffffffff161580610cb15750604081015173ffffffffffffffffffffffffffffffffffffffff16155b15610b1857816040517fd8952ceb0000000000000000000000000000000000000000000000000000000081526004016104789190613102565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610d188585856111d8565b1415949350505050565b8173ffffffffffffffffffffffffffffffffffffffff8116610d70576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dbb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ddf91906136f6565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e43576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000846001811115610e5757610e5761378d565b148015610e71575060008281526020819052604090205415155b15610ea9576000828152602081905260408120610e8d91612e28565b6000828152600260205260408120610ea491612e49565b610eeb565b60008281526001602052604090205415610eeb576000828152600160205260408120610ed491612e28565b6000828152600360205260408120610eeb91612e49565b81846001811115610efe57610efe61378d565b6040517f1fe48a4ec69671720d8bdd8f8a6853d16f486c0bb91fcaf5b8ffc4932b8bc9f490600090a350505050565b60603373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610f9e576040517f72823b5400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610faa8989898961163d565b6000610fb88a8a8a8a611a03565b9050610fc78686600084611a2c565b6110225760405173ffffffffffffffffffffffffffffffffffffffff8a16907fa1e5a8c0fde3fa4d7320c3f9de0ab0a2c1ee6e891e6a513ca0811ddcf768b59490600090a25050604080516020810190915260008152611081565b61102e8a8a8a8a611ca6565b915061103d8484600184611a2c565b5060405173ffffffffffffffffffffffffffffffffffffffff8a16907f4ec4635a4d1f6ebe9ee3a059f74fc5d802e04d2d115c4090337a34e3b137c98a90600090a2505b98975050505050505050565b6000610b1483836115b9565b6000806110a685856115fb565b80548060200260200160405190810160405280929190818152602001828054801561110757602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116110dc575b505050505090508051831061114b576040517f9c7692bf00000000000000000000000000000000000000000000000000000000815260048101849052602401610478565b61115585856115fb565b838154811061116657611166613713565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1695945050505050565b600060096000836040516020016111a891906135ac565b60405160208183030381529060405280519060200120815260200190815260200160002054600014159050919050565b60006107aa6111e785856115fb565b83611e78565b8573ffffffffffffffffffffffffffffffffffffffff811661123b576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611286573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112aa91906136f6565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461130e576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611319888888610d22565b61137561132689886115fb565b6113308a896115b9565b87878080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061137092508891508990506137e0565b611f12565b858860018111156113885761138861378d565b7f5e140eb5bed8bcb1664a04c0be4aa419e0d2dbf1277a4a6770882a0beb3b91b287876040516113b9929190613854565b60405180910390a35050505050505050565b600480546040517f91d1485400000000000000000000000000000000000000000000000000000000815291820184905273ffffffffffffffffffffffffffffffffffffffff83811660248401526000929116906391d1485490604401602060405180830381865afa158015611444573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0191906138af565b600061147383612210565b8015610b015750610b018383612274565b60606114908585612343565b60008061149f848601866138d1565b915091507f99bf0fbd60208ca164accd299e2c0a8b4475c1a2df53c2d7160870f68253652882036114eb576114e6818060200190518101906114e19190613a32565b6124d3565b61156c565b7fe5801b46183bd353d44247232707bb62253655a0580ade69a754ba7157ddf8fd820361153a576000818060200190518101906115289190613b0a565b90506115348882612796565b5061156c565b6040517f7265e5c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505060408051602081019091526000815295945050505050565b6000828260405160200161159b92919061375e565b60405160208183030381529060405280519060200120905092915050565b6000808360018111156115ce576115ce61378d565b036115e757506000818152600260205260409020610b18565b506000818152600360205260409020610b18565b6000808360018111156116105761161061378d565b0361162957506000818152602081905260409020610b18565b506000818152600160205260409020610b18565b600061164b82840184613b3f565b9050600061165d868360000151610b1e565b602083015190915073ffffffffffffffffffffffffffffffffffffffff166116b1576040517f3489abf600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805173ffffffffffffffffffffffffffffffffffffffff9081161461173d57806000015173ffffffffffffffffffffffffffffffffffffffff16826020015173ffffffffffffffffffffffffffffffffffffffff161461173d576040517f3489abf600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60208101511561182c5760408083015190517fc3cc244a00000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff89169163c3cc244a916117a39160040190815260200190565b602060405180830381865afa1580156117c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117e49190613bef565b6020830151909150600160ff83161b1661182a576040517ff3c6318200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b606082015173ffffffffffffffffffffffffffffffffffffffff1661187d576040517f642321ac00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604081015173ffffffffffffffffffffffffffffffffffffffff9081161461190c57806040015173ffffffffffffffffffffffffffffffffffffffff16826060015173ffffffffffffffffffffffffffffffffffffffff161461190c576040517f642321ac00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6060810151156119fb5760808201516040517fc3cc244a00000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff89169163c3cc244a916119729160040190815260200190565b602060405180830381865afa15801561198f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119b39190613bef565b6060830151909150600160ff83161b166119f9576040517f5a790ab800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b505050505050565b600080611a1283850185613b3f565b9050611a22868260000151611586565b9695505050505050565b600080611a3984846115fb565b805480602002602001604051908101604052809291908181526020018280548015611a9a57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311611a6f575b505050505090506000611aad85856115b9565b805480602002602001604051908101604052809291908181526020016000905b82821015611b79578382906000526020600020018054611aec90613698565b80601f0160208091040260200160405190810160405280929190818152602001828054611b1890613698565b8015611b655780601f10611b3a57610100808354040283529160200191611b65565b820191906000526020600020905b815481529060010190602001808311611b4857829003601f168201915b505050505081526020019060010190611acd565b505084519293505050868114611bd357856001811115611b9b57611b9b61378d565b6040517f3171c36f00000000000000000000000000000000000000000000000000000000815260ff9091166004820152602401610478565b60005b81811015611c9757611c7487858381518110611bf457611bf4613713565b6020026020010151858481518110611c0e57611c0e613713565b60200260200101518c8c86818110611c2857611c28613713565b9050602002810190611c3a9190613c0a565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506128f092505050565b611c855760009450505050506107aa565b80611c8f81613c6f565b915050611bd6565b50600198975050505050505050565b60606000611cb683850185613b3f565b90506000600760008154611cc990613c6f565b91829055506040805160a0810182528451815260208086015173ffffffffffffffffffffffffffffffffffffffff90811682840152606080880151909116838501528684015190830152608080870151908301526000848152600890915291909120815192935090918291908190611d419082613d19565b506020828101516001830180547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff9384161790915560408086015160028601805490931693169290921790556060840151600384015560809093015160049092019190915590518391600991600091611dd491869101612fe8565b60405160208183030381529060405280519060200120815260200190815260200160002081905550817fc1ab5d0231434d664068cd9e5f80a04152484f1844e564dd9fee5c687caa0d7c84600001518560200151866040015187606001518860800151604051611e48959493929190613e33565b60405180910390a26040805160208101849052016040516020818303038152906040529350505050949350505050565b8154600090815b81811015611ee8578373ffffffffffffffffffffffffffffffffffffffff16858281548110611eb057611eb0613713565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1603611ee0579150610b189050565b600101611e7f565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff949350505050565b8151600a811115611f4f576040517f760fb4ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80825114611f89576040517f3021beb200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b818110156119fb57600073ffffffffffffffffffffffffffffffffffffffff16848281518110611fbe57611fbe613713565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1603612013576040517f7d4de38200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600081118015612083575083600182038151811061203357612033613713565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1684828151811061206357612063613713565b602002602001015173ffffffffffffffffffffffffffffffffffffffff16145b156120ba576040517fd696c40800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8381815181106120cc576120cc613713565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1663a913b88184838151811061210157612101613713565b60200260200101516040518263ffffffff1660e01b81526004016121259190613102565b60006040518083038186803b15801561213d57600080fd5b505afa158015612151573d6000803e3d6000fd5b505050508584828151811061216857612168613713565b60209081029190910181015182546001810184556000938452919092200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909216919091179055825185908490839081106121de576121de613713565b602090810291909101810151825460018101845560009384529190922001906122079082613d19565b50600101611f8c565b600061223c827f01ffc9a700000000000000000000000000000000000000000000000000000000612274565b8015610b18575061226d827fffffffff00000000000000000000000000000000000000000000000000000000612274565b1592915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d9150600051905082801561232c575060208210155b80156123385750600081115b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff8216612400576123887f637821dcee84aabec9c8cf4f6f643013a24ad27fd41511ffd937aea80d8619a9826113cb565b6123fc576040517f75000dc00000000000000000000000000000000000000000000000000000000081527f637821dcee84aabec9c8cf4f6f643013a24ad27fd41511ffd937aea80d8619a9600482015273ffffffffffffffffffffffffffffffffffffffff82166024820152604401610478565b5050565b8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612462573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061248691906136f6565b73ffffffffffffffffffffffffffffffffffffffff16146123fc576040517fdc13a9c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000806124f1836040015160000151846020015185606001516129ec565b91509150600080612513856040015160200151866020015187608001516129ec565b91509150600060405180608001604052808673ffffffffffffffffffffffffffffffffffffffff1681526020018581526020018473ffffffffffffffffffffffffffffffffffffffff168152602001838152509050600073ffffffffffffffffffffffffffffffffffffffff16866020015173ffffffffffffffffffffffffffffffffffffffff16036126395780600587600001516040516125b59190613742565b9081526040805160209281900383019020835181547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff9283161783559385015160018301559184015160028201805490941692169190911790915560609091015160039091015561270c565b80600660008860200151896000015160405160200161265992919061375e565b604080518083037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00181529181528151602092830120835282820193909352908201600020835181547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff9283161783559285015160018301559284015160028201805490931693169290921790556060909101516003909101555b856020015173ffffffffffffffffffffffffffffffffffffffff167f5afe4586ed79afd39271a5d07aaa8d60de58e6e9a48ebf10c8f1ce828b592e7587600001518360000151896040015160000151856020015186604001518c604001516020015188606001516040516127869796959493929190613ebc565b60405180910390a2505050505050565b73ffffffffffffffffffffffffffffffffffffffff8216612818576005816040516127c19190613742565b90815260405190819003602001902080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811682556000600183018190556002830180549092169091556003909101556128b3565b60066000838360405160200161282f92919061375e565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152918152815160209283012083529082019290925201600090812080547fffffffffffffffffffffffff00000000000000000000000000000000000000009081168255600182018390556002820180549091169055600301555b7fa1b9abc85838f61f05343c3b5b89fe250131975f2b25b6029a263e253dc0e7fd81836040516128e4929190613f28565b60405180910390a15050565b600080604051806040016040528085815260200184815250905060008573ffffffffffffffffffffffffffffffffffffffff166334e5d29f836040516020016129399190613f60565b6040516020818303038152906040526040518263ffffffff1660e01b81526004016129649190613102565b6000604051808303816000875af1158015612983573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526129c99190810190613fc0565b50905060018160018111156129e0576129e061378d565b14979650505050505050565b6000806001856005811115612a0357612a0361378d565b03612a3357507f000000000000000000000000000000000000000000000000000000000000000090506000612b9c565b6002856005811115612a4757612a4761378d565b03612ab65773ffffffffffffffffffffffffffffffffffffffff8416612a99576040517fe86db48e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612aa38484612ba4565b83612aad84612da2565b91509150612b9c565b6003856005811115612aca57612aca61378d565b03612afa57507f000000000000000000000000000000000000000000000000000000000000000090506000612b9c565b6004856005811115612b0e57612b0e61378d565b03612b32575073ffffffffffffffffffffffffffffffffffffffff90506000612b9c565b6005856005811115612b4657612b4661378d565b03612b6a575073ffffffffffffffffffffffffffffffffffffffff90506000612b9c565b6040517f92c6e29000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b935093915050565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a91612c4991600401613102565b602060405180830381865afa158015612c66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c8a91906136f6565b825190915060005b81811015612d9b578273ffffffffffffffffffffffffffffffffffffffff16638a8cb0b486868481518110612cc957612cc9613713565b60200260200101516040518363ffffffff1660e01b8152600401612d1292919073ffffffffffffffffffffffffffffffffffffffff92909216825260ff16602082015260400190565b602060405180830381865afa158015612d2f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d5391906138af565b612d89576040517fa4ba834600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80612d9381613c6f565b915050612c92565b5050505050565b60008151600003612ddf576040517f0fcfd20b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805b8351811015612e2157838181518110612dfe57612dfe613713565b602002602001015160ff1660ff166001901b821791508080600101915050612de3565b5092915050565b5080546000825590600052602060002090810190612e469190612e67565b50565b5080546000825590600052602060002090810190612e469190612e80565b5b80821115612e7c5760008155600101612e68565b5090565b80821115612e7c576000612e948282612e9d565b50600101612e80565b508054612ea990613698565b6000825580601f10612eb9575050565b601f016020900490600052602060002090810190612e469190612e67565b73ffffffffffffffffffffffffffffffffffffffff81168114612e4657600080fd5b8035612f0481612ed7565b919050565b600060208284031215612f1b57600080fd5b8135610b0181612ed7565b600060208284031215612f3857600080fd5b813567ffffffffffffffff811115612f4f57600080fd5b820160a08185031215610b0157600080fd5b600060208284031215612f7357600080fd5b5035919050565b60005b83811015612f95578181015183820152602001612f7d565b50506000910152565b60008151808452612fb6816020860160208601612f7a565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000825160a0602084015261300460c0840182612f9e565b9050602084015173ffffffffffffffffffffffffffffffffffffffff8082166040860152806040870151166060860152505060608401516080840152608084015160a08401528091505092915050565b60008083601f84011261306657600080fd5b50813567ffffffffffffffff81111561307e57600080fd5b60208301915083602082850101111561309657600080fd5b9250929050565b600080600080606085870312156130b357600080fd5b84356130be81612ed7565b935060208501356130ce81612ed7565b9250604085013567ffffffffffffffff8111156130ea57600080fd5b6130f687828801613054565b95989497509550505050565b602081526000610b016020830184612f9e565b60028110612e4657600080fd5b60008083601f84011261313457600080fd5b50813567ffffffffffffffff81111561314c57600080fd5b6020830191508360208260051b850101111561309657600080fd5b60008060008060008060008060a0898b03121561318357600080fd5b883561318e81613115565b9750602089013561319e81612ed7565b9650604089013567ffffffffffffffff808211156131bb57600080fd5b6131c78c838d01613054565b909850965060608b01359150808211156131e057600080fd5b6131ec8c838d01613122565b909650945060808b013591508082111561320557600080fd5b506132128b828c01613122565b999c989b5096995094979396929594505050565b60008060006060848603121561323b57600080fd5b833561324681613115565b95602085013595506040909401359392505050565b6000806040838503121561326e57600080fd5b823561327981613115565b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160a0810167ffffffffffffffff811182821017156132d9576132d9613287565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561332657613326613287565b604052919050565b600067ffffffffffffffff82111561334857613348613287565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f83011261338557600080fd5b81356133986133938261332e565b6132df565b8181528460208386010111156133ad57600080fd5b816020850160208301376000918101602001919091529392505050565b600080604083850312156133dd57600080fd5b82356133e881612ed7565b9150602083013567ffffffffffffffff81111561340457600080fd5b61341085828601613374565b9150509250929050565b60008060006060848603121561342f57600080fd5b833561343a81613115565b925060208401359150604084013561345181612ed7565b809150509250925092565b60008060006060848603121561347157600080fd5b833561347c81613115565b9250602084013561348c81612ed7565b929592945050506040919091013590565b60008060008060008060008060a0898b0312156134b957600080fd5b883561318e81612ed7565b600080600080600080600060a0888a0312156134df57600080fd5b87356134ea81613115565b965060208801356134fa81612ed7565b955060408801359450606088013567ffffffffffffffff8082111561351e57600080fd5b61352a8b838c01613122565b909650945060808a013591508082111561354357600080fd5b506135508a828b01613122565b989b979a50959850939692959293505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60208152600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126135e457600080fd5b830160208101903567ffffffffffffffff81111561360157600080fd5b80360382131561361057600080fd5b60a0602085015261362560c085018284613563565b91505061363460208501612ef9565b73ffffffffffffffffffffffffffffffffffffffff811660408501525061365d60408501612ef9565b73ffffffffffffffffffffffffffffffffffffffff811660608501525060608401356080840152608084013560a08401528091505092915050565b600181811c908216806136ac57607f821691505b6020821081036136e5577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b8051612f0481612ed7565b60006020828403121561370857600080fd5b8151610b0181612ed7565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008251613754818460208701612f7a565b9190910192915050565b73ffffffffffffffffffffffffffffffffffffffff831681526040602082015260006107aa6040830184612f9e565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600067ffffffffffffffff8211156137d6576137d6613287565b5060051b60200190565b60006137ee613393846137bc565b80848252602080830192508560051b85013681111561380c57600080fd5b855b8181101561384857803567ffffffffffffffff81111561382e5760008081fd5b61383a36828a01613374565b86525093820193820161380e565b50919695505050505050565b60208082528181018390526000908460408401835b868110156138a457823561387c81612ed7565b73ffffffffffffffffffffffffffffffffffffffff1682529183019190830190600101613869565b509695505050505050565b6000602082840312156138c157600080fd5b81518015158114610b0157600080fd5b600080604083850312156138e457600080fd5b82359150602083013567ffffffffffffffff81111561340457600080fd5b60006139106133938461332e565b905082815283838301111561392457600080fd5b610b01836020830184612f7a565b600082601f83011261394357600080fd5b610b0183835160208501613902565b805160068110612f0457600080fd5b60006040828403121561397357600080fd5b6040516040810181811067ffffffffffffffff8211171561399657613996613287565b6040529050806139a583613952565b81526139b360208401613952565b60208201525092915050565b805160ff81168114612f0457600080fd5b600082601f8301126139e157600080fd5b815160206139f1613393836137bc565b82815260059290921b84018101918181019086841115613a1057600080fd5b8286015b848110156138a457613a25816139bf565b8352918301918301613a14565b600060208284031215613a4457600080fd5b815167ffffffffffffffff80821115613a5c57600080fd5b9083019060c08286031215613a7057600080fd5b613a786132b6565b825182811115613a8757600080fd5b613a9387828601613932565b825250613aa2602084016136eb565b6020820152613ab48660408501613961565b6040820152608083015182811115613acb57600080fd5b613ad7878286016139d0565b60608301525060a083015182811115613aef57600080fd5b613afb878286016139d0565b60808301525095945050505050565b600060208284031215613b1c57600080fd5b815167ffffffffffffffff811115613b3357600080fd5b6107aa84828501613932565b600060208284031215613b5157600080fd5b813567ffffffffffffffff80821115613b6957600080fd5b9083019060a08286031215613b7d57600080fd5b613b856132b6565b823582811115613b9457600080fd5b613ba087828601613374565b82525060208301359150613bb382612ed7565b8160208201526040830135604082015260608301359150613bd382612ed7565b8160608201526080830135608082015280935050505092915050565b600060208284031215613c0157600080fd5b610b01826139bf565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112613c3f57600080fd5b83018035915067ffffffffffffffff821115613c5a57600080fd5b60200191503681900382131561309657600080fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613cc7577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b601f821115613d1457600081815260208120601f850160051c81016020861015613cf55750805b601f850160051c820191505b818110156119fb57828155600101613d01565b505050565b815167ffffffffffffffff811115613d3357613d33613287565b613d4781613d418454613698565b84613cce565b602080601f831160018114613d9a5760008415613d645750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b1785556119fb565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015613de757888601518255948401946001909101908401613dc8565b5085821015613e2357878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b60a081526000613e4660a0830188612f9e565b73ffffffffffffffffffffffffffffffffffffffff968716602084015260408301959095525091909316606082015260800191909152919050565b60068110613eb8577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b60e081526000613ecf60e083018a612f9e565b905073ffffffffffffffffffffffffffffffffffffffff8089166020840152613efb6040840189613e81565b6060830187905285166080830152613f1660a0830185613e81565b8260c083015298975050505050505050565b604081526000613f3b6040830185612f9e565b905073ffffffffffffffffffffffffffffffffffffffff831660208301529392505050565b602081526000825160406020840152613f7c6060840182612f9e565b905060208401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0848303016040850152613fb78282612f9e565b95945050505050565b60008060408385031215613fd357600080fd5b8251613fde81613115565b602084015190925067ffffffffffffffff811115613ffb57600080fd5b8301601f8101851361400c57600080fd5b6134108582516020840161390256fea26469706673582212207190e1ba25e661aeef442bbbda8112d09efcacc42e8f5ab6301701d36abe602264736f6c63430008130033000000000000000000000000ad2377c8f9f0ca6382fef166b08aede8318fe49c000000000000000000000000edbd4907a7f98de932e635e9076b4e0c36d0e797000000000000000000000000cd28eb9d0d2afcf4354f2c93de5ce9bbf88257ae000000000000000000000000e3c522921a16c692e664d06d53a251f91323a06b0000000000000000000000007edacd4d53b5a626471c6728f04d92125ccf647f", + "nonce": "0x605", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xb0acaa085d5482b98b3a6a658c2bd9a7d97cbd13ff1976adbaf5e39b7d5d986b", + "transactionType": "CREATE", + "contractName": "LicensingModule", + "contractAddress": "0x6a3E5eB4CE11aE3B063903AB6530c34D6daf9Dc0", + "function": null, + "arguments": [ + "(0xaD2377c8f9f0ca6382fEf166b08aeDe8318fE49C, 0xedBd4907A7F98de932e635e9076B4E0C36D0E797, 0xCD28eb9D0D2AFcf4354F2c93dE5ce9Bbf88257ae, 0xE3C522921A16c692E664D06d53a251f91323a06B)", + "0xA30bB959Bc298e244aCE0402B5c0609CC8745134", + "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x47ef53", + "value": "0x0", + "data": "0x6101406040523480156200001257600080fd5b50604051620043ae380380620043ae83398101604081905262000035916200016b565b825183906001600160a01b03166200006057604051636028d8f760e01b815260040160405180910390fd5b80516001600160a01b039081166080526020820151166200009457604051637e2fee8960e11b815260040160405180910390fd5b60208101516001600160a01b0390811660a052604082015116620000cb57604051635a70c46160e11b815260040160405180910390fd5b60408101516001600160a01b0390811660c052606090910151811660e0528216620001095760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03808316610100528116620001385760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03166101205250620002359050565b80516001600160a01b03811681146200016657600080fd5b919050565b600080600083850360c08112156200018257600080fd5b60808112156200019157600080fd5b50604051608081016001600160401b0381118282101715620001c357634e487b7160e01b600052604160045260246000fd5b604052620001d1856200014e565b8152620001e1602086016200014e565b6020820152620001f4604086016200014e565b604082015262000207606086016200014e565b606082015292506200021c608085016200014e565b91506200022c60a085016200014e565b90509250925092565b60805160a05160c05160e05161010051610120516140c7620002e76000396000818161027d0152612a430152600081816102b701528181611a1f01528181611d110152612667015260006101d80152600081816103b0015281816112850152818161137601528181611f4f015281816120480152818161216e015281816124ce0152612ad90152600081816103290152818161041201526108ce015260008181610363015261256001526140c76000f3fe608060405234801561001057600080fd5b506004361061016c5760003560e01c8063a5b04d45116100cd578063e572040411610081578063f0ebdc8311610066578063f0ebdc83146103ab578063f1ac0fd5146103d2578063fba854e0146103e557600080fd5b8063e572040414610385578063e8fb5c9b1461039857600080fd5b8063b95ddb52116100b2578063b95ddb5214610324578063bc12fcca1461034b578063d2faf8b01461035e57600080fd5b8063a5b04d45146102fc578063b6efd29d1461031157600080fd5b806368a4f071116101245780637448c568116101095780637448c5681461029f57806376a4b13b146102b257806377379d94146102d957600080fd5b806368a4f07114610265578063743fee4a1461027857600080fd5b80634fcbd213116101555780634fcbd213146101b357806351e06b90146101d3578063562573a91461021f57600080fd5b806332ee6813146101715780634fa4467c146101ab575b600080fd5b6101987fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81565b6040519081526020015b60405180910390f35b610198600a81565b6101c66101c1366004612fcb565b6103f8565b6040516101a2919061309e565b6101fa7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101a2565b61025861022d3660046130b1565b73ffffffffffffffffffffffffffffffffffffffff1660009081526005602052604090205460ff1690565b6040516101a29190613111565b6101c661027336600461312c565b610480565b6101fa7f000000000000000000000000000000000000000000000000000000000000000081565b6101986102ad366004613161565b61065b565b6101fa7f000000000000000000000000000000000000000000000000000000000000000081565b6102ec6102e736600461318d565b610671565b60405190151581526020016101a2565b61030f61030a3660046131cf565b6106a9565b005b6101c661031f366004613255565b6108b4565b6101fa7f000000000000000000000000000000000000000000000000000000000000000081565b610198610359366004613161565b610a19565b6101fa7f000000000000000000000000000000000000000000000000000000000000000081565b6101fa61039336600461312c565b610a25565b6101986103a636600461318d565b610b1d565b6101fa7f000000000000000000000000000000000000000000000000000000000000000081565b6101c66103e0366004613314565b610b32565b61030f6103f3366004613369565b610c54565b60603373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610469576040517f72823b5400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61047585858585610e32565b90505b949350505050565b6060600061048e8585610eb4565b805480602002602001604051908101604052809291908181526020016000905b8282101561055a5783829060005260206000200180546104cd90613408565b80601f01602080910402602001604051908101604052809291908181526020018280546104f990613408565b80156105465780601f1061051b57610100808354040283529160200191610546565b820191906000526020600020905b81548152906001019060200180831161052957829003601f168201915b5050505050815260200190600101906104ae565b505050509050805183106105a2576040517f9c7692bf000000000000000000000000000000000000000000000000000000008152600481018490526024015b60405180910390fd5b6105ac8585610eb4565b83815481106105bd576105bd61345b565b9060005260206000200180546105d290613408565b80601f01602080910402602001604051908101604052809291908181526020018280546105fe90613408565b801561064b5780601f106106205761010080835404028352916020019161064b565b820191906000526020600020905b81548152906001019060200180831161062e57829003601f168201915b50505050509150505b9392505050565b60006106678383610ef6565b5490505b92915050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61069f858585610b1d565b1415949350505050565b8173ffffffffffffffffffffffffffffffffffffffff81166106f7576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610742573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610766919061348a565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146107ca576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008460018111156107de576107de6130ce565b1480156107f8575060008281526020819052604090205415155b1561083057600082815260208190526040812061081491612eb1565b600082815260026020526040812061082b91612ed2565b610872565b6000828152600160205260409020541561087257600082815260016020526040812061085b91612eb1565b600082815260036020526040812061087291612ed2565b81846001811115610885576108856130ce565b6040517f1fe48a4ec69671720d8bdd8f8a6853d16f486c0bb91fcaf5b8ffc4932b8bc9f490600090a350505050565b60603373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610925576040517f72823b5400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fff5c818c3a09617e24e0ba5e97a8b336e42589e94d6f586a74a28d768ee2c8cb6109538686600084610f38565b6109ae5760405173ffffffffffffffffffffffffffffffffffffffff8a16907fa1e5a8c0fde3fa4d7320c3f9de0ab0a2c1ee6e891e6a513ca0811ddcf768b59490600090a25050604080516020810190915260008152610a0d565b6109ba8a8a8a8a6111b2565b91506109c98484600184610f38565b5060405173ffffffffffffffffffffffffffffffffffffffff8a16907f4ec4635a4d1f6ebe9ee3a059f74fc5d802e04d2d115c4090337a34e3b137c98a90600090a2505b98975050505050505050565b60006106678383610eb4565b600080610a328585610ef6565b805480602002602001604051908101604052809291908181526020018280548015610a9357602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610a68575b5050505050905080518310610ad7576040517f9c7692bf00000000000000000000000000000000000000000000000000000000815260048101849052602401610599565b610ae18585610ef6565b8381548110610af257610af261345b565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1695945050505050565b6000610478610b2c8585610ef6565b83611434565b6060600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610bb485858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506114ce92505050565b81526020019081526020016000208054610bcd90613408565b80601f0160208091040260200160405190810160405280929190818152602001828054610bf990613408565b8015610c465780601f10610c1b57610100808354040283529160200191610c46565b820191906000526020600020905b815481529060010190602001808311610c2957829003601f168201915b505050505090509392505050565b8573ffffffffffffffffffffffffffffffffffffffff8116610ca2576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ced573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d11919061348a565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d75576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d808888886106a9565b610ddc610d8d8988610ef6565b610d978a89610eb4565b878780806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250610dd79250889150899050613631565b611525565b85886001811115610def57610def6130ce565b7f5e140eb5bed8bcb1664a04c0be4aa419e0d2dbf1277a4a6770882a0beb3b91b28787604051610e209291906136a5565b60405180910390a35050505050505050565b6060600080610e4384860186613700565b915091507f8b21f20183a523515c357db6dba25c92b138630b63988ca3e60a6be86c8da0458203610e8257610e7987878361182b565b92505050610478565b6040517f96bb42f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080836001811115610ec957610ec96130ce565b03610ee25750600081815260026020526040902061066b565b50600081815260036020526040902061066b565b600080836001811115610f0b57610f0b6130ce565b03610f245750600081815260208190526040902061066b565b50600081815260016020526040902061066b565b600080610f458484610ef6565b805480602002602001604051908101604052809291908181526020018280548015610fa657602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610f7b575b505050505090506000610fb98585610eb4565b805480602002602001604051908101604052809291908181526020016000905b82821015611085578382906000526020600020018054610ff890613408565b80601f016020809104026020016040519081016040528092919081815260200182805461102490613408565b80156110715780601f1061104657610100808354040283529160200191611071565b820191906000526020600020905b81548152906001019060200180831161105457829003601f168201915b505050505081526020019060010190610fd9565b5050845192935050508681146110df578560018111156110a7576110a76130ce565b6040517f3171c36f00000000000000000000000000000000000000000000000000000000815260ff9091166004820152602401610599565b60005b818110156111a357611180878583815181106111005761110061345b565b602002602001015185848151811061111a5761111a61345b565b60200260200101518c8c868181106111345761113461345b565b90506020028101906111469190613747565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611de092505050565b611191576000945050505050610478565b8061119b816137ac565b9150506110e2565b50600198975050505050505050565b60606000806111c384860186613700565b915091507f3f92a83f1dd77188c62fa393a54ccf9854be836ca6c243397d0acbbce047238782036111f957610e79878783611edc565b7f5281374dd3fc2bb7839f50fddfb6a14a666cb4d23b20d6aecf9b9950d103b33682036112fd57600081806020019051810190611236919061380b565b6040517f1f09e4e50000000000000000000000000000000000000000000000000000000081526004810182905273ffffffffffffffffffffffffffffffffffffffff89811660248301529192507f000000000000000000000000000000000000000000000000000000000000000090911690631f09e4e590604401600060405180830381600087803b1580156112cb57600080fd5b505af11580156112df573d6000803e3d6000fd5b50505050604051806020016040528060008152509350505050610478565b7f29def77ab981c01a6b53c58b23dd89ac4447095f721298424063ed3f16962ac68203611402576000808280602001905181019061133b9190613824565b6040517f71e074dd000000000000000000000000000000000000000000000000000000008152600481018390526024810182905291935091507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906371e074dd90604401600060405180830381600087803b1580156113cf57600080fd5b505af11580156113e3573d6000803e3d6000fd5b5050505060405180602001604052806000815250945050505050610478565b6040517f8c3cdde800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8154600090815b818110156114a4578373ffffffffffffffffffffffffffffffffffffffff1685828154811061146c5761146c61345b565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff160361149c57915061066b9050565b60010161143b565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff949350505050565b600080829050601f8151111561151257826040517f305a27a9000000000000000000000000000000000000000000000000000000008152600401610599919061309e565b805161151d82613848565b179392505050565b8151600a811115611562576040517f760fb4ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8082511461159c576040517f3021beb200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b8181101561182357600073ffffffffffffffffffffffffffffffffffffffff168482815181106115d1576115d161345b565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1603611626576040517f7d4de38200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008111801561169657508360018203815181106116465761164661345b565b602002602001015173ffffffffffffffffffffffffffffffffffffffff168482815181106116765761167661345b565b602002602001015173ffffffffffffffffffffffffffffffffffffffff16145b156116cd576040517fd696c40800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8381815181106116df576116df61345b565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1663a913b8818483815181106117145761171461345b565b60200260200101516040518263ffffffff1660e01b8152600401611738919061309e565b60006040518083038186803b15801561175057600080fd5b505afa158015611764573d6000803e3d6000fd5b505050508584828151811061177b5761177b61345b565b60209081029190910181015182546001810184556000938452919092200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909216919091179055825185908490839081106117f1576117f161345b565b6020908102919091018101518254600181018455600093845291909220019061181a90826138d5565b5060010161159f565b505050505050565b60608273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561188f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118b3919061348a565b73ffffffffffffffffffffffffffffffffffffffff1614611900576040517f679dd15600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000828060200190518101906119169190613b15565b9050600081604001516002811115611930576119306130ce565b03611967576040517fbe53f1bf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff821660009081526005602052604090205460ff1660028111156119a4576119a46130ce565b146119db576040517f58d7c9ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815160208301516040517f912871c800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169263912871c892611a5292600401613c2a565b602060405180830381865afa158015611a6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a939190613c58565b611ac9576040517f3d43105700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408083015173ffffffffffffffffffffffffffffffffffffffff8316600090815260056020529190912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001836002811115611b2c57611b2c6130ce565b0217905550815173ffffffffffffffffffffffffffffffffffffffff8216600090815260066020526040902090611b6390826138d5565b5073ffffffffffffffffffffffffffffffffffffffff811660009081526004602090815260408220908401515190915b81811015611ca95784602001518181518110611bb157611bb161345b565b60200260200101516020015183600087602001518481518110611bd657611bd661345b565b60200260200101516000015181526020019081526020016000209081611bfc91906138d5565b508373ffffffffffffffffffffffffffffffffffffffff167fa4e47a4c0e1b636bd11cfbec15cad6ae0d34947d00219bb1bab5ee309dc79c5f611c5f87602001518481518110611c4e57611c4e61345b565b60200260200101516000015161233e565b87602001518481518110611c7557611c7561345b565b602002602001015160200151604051611c8f929190613c7a565b60405180910390a280611ca1816137ac565b915050611b93565b5083516040517feae376e300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff808616927fffedbcce1b94ebe928a55b7ca34c76074cbe7f467d561b9c0589d5d985b39be39290917f0000000000000000000000000000000000000000000000000000000000000000169063eae376e390611d4690849060040161309e565b600060405180830381865afa158015611d63573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052611da99190810190613c9f565b8760400151604051611dbd93929190613cd4565b60405180910390a250506040805160208101909152600081529695505050505050565b600080604051806040016040528085815260200184815250905060008573ffffffffffffffffffffffffffffffffffffffff166334e5d29f83604051602001611e299190613d09565b6040516020818303038152906040526040518263ffffffff1660e01b8152600401611e54919061309e565b6000604051808303816000875af1158015611e73573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052611eb99190810190613d60565b5090506001816001811115611ed057611ed06130ce565b14979650505050505050565b6060600082806020019051810190611ef49190613da7565b90506000611f0c86868460200151856040015161237d565b905081602001516000146120055760208201516040517fe705c2b800000000000000000000000000000000000000000000000000000000815260048101919091527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063e705c2b890602401602060405180830381865afa158015611fab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fcf9190613c58565b612005576040517f37efd03900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020820151158015906120c8575060208201516040517f3c06e1dc00000000000000000000000000000000000000000000000000000000815260048101919091527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690633c06e1dc90602401602060405180830381865afa1580156120a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120c89190613c58565b156122055781515115612107576040517f4af02eb800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602082015160408084015190517fd09d894e000000000000000000000000000000000000000000000000000000008152600481019290925273ffffffffffffffffffffffffffffffffffffffff8381166024840152878116604484015260648301919091527f0000000000000000000000000000000000000000000000000000000000000000169063d09d894e906084016020604051808303816000875af11580156121b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121db919061380b565b6040516020016121ed91815260200190565b60405160208183030381529060405292505050610654565b8473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461226a576040517f2d05516900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6121db86868385600660008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080546122bb90613408565b80601f01602080910402602001604051908101604052809291908181526020018280546122e790613408565b80156123345780601f1061230957610100808354040283529160200191612334565b820191906000526020600020905b81548152906001019060200180831161231757829003601f168201915b5050505050612621565b6060600061234b83612b89565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b73ffffffffffffffffffffffffffffffffffffffff841660009081526005602052604081205460ff16818160028111156123b9576123b96130ce565b036123f0576040517f8c17640800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816002811115612404576124046130ce565b03612480578573ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612454573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612478919061348a565b915050610478565b6002816002811115612494576124946130ce565b036125ef57831561252b576040517f6352211e000000000000000000000000000000000000000000000000000000008152600481018590527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690636352211e906024015b602060405180830381865afa158015612454573d6000803e3d6000fd5b82156125a4576040517f299d1cf6000000000000000000000000000000000000000000000000000000008152600481018490527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063299d1cf69060240161250e565b8573ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612454573d6000803e3d6000fd5b6040517fbe53f1bf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8151516040517fe75afa5500000000000000000000000000000000000000000000000000000000815260009190829073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169063e75afa559061269c90879060040161309e565b600060405180830381865afa1580156126b9573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526126ff9190810190613e2b565b805190915060008167ffffffffffffffff81111561271f5761271f6134a7565b60405190808252806020026020018201604052801561276557816020015b60408051808201909152600081526060602082015281526020019060019003908161273d5790505b5073ffffffffffffffffffffffffffffffffffffffff8b166000908152600460205260408120919250908190815b85811015612a195760008782815181106127af576127af61345b565b6020026020010151905060008360008360000151815260200190815260200160002080546127dc90613408565b80601f016020809104026020016040519081016040528092919081815260200182805461280890613408565b80156128555780601f1061282a57610100808354040283529160200191612855565b820191906000526020600020905b81548152906001019060200180831161283857829003601f168201915b50505050509050606060005b8b8110156128bf5760008f6000015182815181106128815761288161345b565b6020026020010151905061289c816000015186600001511490565b156128ac576020015191506128bf565b50806128b7816137ac565b915050612861565b5060006128d182848660200151612bca565b9050604051806040016040528085600001518152602001828152508986815181106128fe576128fe61345b565b60200260200101819052507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708180519060200120036129405750505050612a07565b61298384600001516040518060400160405280601e81526020017f44657269766174697665732d5265636970726f63616c2d4c6963656e73650000815250612c5b565b156129a3578080602001905181019061299c9190613c58565b9750612a02565b6129e684600001516040518060400160405280601981526020017f44657269766174697665732d576974682d417070726f76616c00000000000000815250612c5b565b15612a0257808060200190518101906129ff9190613c58565b96505b505050505b80612a11816137ac565b915050612793565b506040805161012081019091526000908060018152602001851515815260200184151581526020017f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1681526020018d73ffffffffffffffffffffffffffffffffffffffff1681526020018f73ffffffffffffffffffffffffffffffffffffffff168152602001612abe8c6114ce565b81526020018c6040015181526020018c6020015181525090507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663c7647215828f886040518463ffffffff1660e01b8152600401612b3493929190613ef0565b6020604051808303816000875af1158015612b53573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b77919061380b565b9e9d5050505050505050505050505050565b600060ff8216601f81111561066b576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b825160609015612c5457825115612c0d576040517f42445ce000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612c178285612c6e565b612c4d576040517f5bcde08d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5082610654565b5081610654565b600061065483612c6a846114ce565b1490565b60007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470828051906020012003612ca65750600161066b565b6000836004811115612cba57612cba6130ce565b03612cdd5781806020019051810190612cd39190613c58565b506001905061066b565b6001836004811115612cf157612cf16130ce565b03612d1e5781806020019051810190612d0a919061380b565b600003612d195750600061066b565b612ea8565b6002836004811115612d3257612d326130ce565b03612d8657600073ffffffffffffffffffffffffffffffffffffffff1682806020019051810190612d63919061348a565b73ffffffffffffffffffffffffffffffffffffffff1603612d195750600061066b565b6003836004811115612d9a57612d9a6130ce565b03612e625781806020019051810190612db39190613c9f565b50604051602001612df59060208082526001908201527f2000000000000000000000000000000000000000000000000000000000000000604082015260600190565b6040516020818303038152906040528051906020012082805190602001201480612e555750604051602001612e3590602080825260009082015260400190565b604051602081830303815290604052805190602001208280519060200120145b15612d195750600061066b565b6004836004811115612e7657612e766130ce565b03612ea857600082806020019051810190612e91919061400b565b90508051600003612ea657600091505061066b565b505b50600192915050565b5080546000825590600052602060002090810190612ecf9190612ef0565b50565b5080546000825590600052602060002090810190612ecf9190612f09565b5b80821115612f055760008155600101612ef1565b5090565b80821115612f05576000612f1d8282612f26565b50600101612f09565b508054612f3290613408565b6000825580601f10612f42575050565b601f016020900490600052602060002090810190612ecf9190612ef0565b73ffffffffffffffffffffffffffffffffffffffff81168114612ecf57600080fd5b60008083601f840112612f9457600080fd5b50813567ffffffffffffffff811115612fac57600080fd5b602083019150836020828501011115612fc457600080fd5b9250929050565b60008060008060608587031215612fe157600080fd5b8435612fec81612f60565b93506020850135612ffc81612f60565b9250604085013567ffffffffffffffff81111561301857600080fd5b61302487828801612f82565b95989497509550505050565b60005b8381101561304b578181015183820152602001613033565b50506000910152565b6000815180845261306c816020860160208601613030565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006106546020830184613054565b6000602082840312156130c357600080fd5b813561065481612f60565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6003811061310d5761310d6130ce565b9052565b6020810161066b82846130fd565b60028110612ecf57600080fd5b60008060006060848603121561314157600080fd5b833561314c8161311f565b95602085013595506040909401359392505050565b6000806040838503121561317457600080fd5b823561317f8161311f565b946020939093013593505050565b6000806000606084860312156131a257600080fd5b83356131ad8161311f565b92506020840135915060408401356131c481612f60565b809150509250925092565b6000806000606084860312156131e457600080fd5b83356131ef8161311f565b925060208401356131ff81612f60565b929592945050506040919091013590565b60008083601f84011261322257600080fd5b50813567ffffffffffffffff81111561323a57600080fd5b6020830191508360208260051b8501011115612fc457600080fd5b60008060008060008060008060a0898b03121561327157600080fd5b883561327c81612f60565b9750602089013561328c81612f60565b9650604089013567ffffffffffffffff808211156132a957600080fd5b6132b58c838d01612f82565b909850965060608b01359150808211156132ce57600080fd5b6132da8c838d01613210565b909650945060808b01359150808211156132f357600080fd5b506133008b828c01613210565b999c989b5096995094979396929594505050565b60008060006040848603121561332957600080fd5b833561333481612f60565b9250602084013567ffffffffffffffff81111561335057600080fd5b61335c86828701612f82565b9497909650939450505050565b600080600080600080600060a0888a03121561338457600080fd5b873561338f8161311f565b9650602088013561339f81612f60565b955060408801359450606088013567ffffffffffffffff808211156133c357600080fd5b6133cf8b838c01613210565b909650945060808a01359150808211156133e857600080fd5b506133f58a828b01613210565b989b979a50959850939692959293505050565b600181811c9082168061341c57607f821691505b602082108103613455577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006020828403121561349c57600080fd5b815161065481612f60565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156134f9576134f96134a7565b60405290565b6040516060810167ffffffffffffffff811182821017156134f9576134f96134a7565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715613569576135696134a7565b604052919050565b600067ffffffffffffffff82111561358b5761358b6134a7565b5060051b60200190565b600067ffffffffffffffff8211156135af576135af6134a7565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f8301126135ec57600080fd5b81356135ff6135fa82613595565b613522565b81815284602083860101111561361457600080fd5b816020850160208301376000918101602001919091529392505050565b600061363f6135fa84613571565b80848252602080830192508560051b85013681111561365d57600080fd5b855b8181101561369957803567ffffffffffffffff81111561367f5760008081fd5b61368b36828a016135db565b86525093820193820161365f565b50919695505050505050565b60208082528181018390526000908460408401835b868110156136f55782356136cd81612f60565b73ffffffffffffffffffffffffffffffffffffffff16825291830191908301906001016136ba565b509695505050505050565b6000806040838503121561371357600080fd5b82359150602083013567ffffffffffffffff81111561373157600080fd5b61373d858286016135db565b9150509250929050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261377c57600080fd5b83018035915067ffffffffffffffff82111561379757600080fd5b602001915036819003821315612fc457600080fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613804577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b60006020828403121561381d57600080fd5b5051919050565b6000806040838503121561383757600080fd5b505080516020909101519092909150565b80516020808301519190811015613455577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60209190910360031b1b16919050565b601f8211156138d057600081815260208120601f850160051c810160208610156138b15750805b601f850160051c820191505b81811015611823578281556001016138bd565b505050565b815167ffffffffffffffff8111156138ef576138ef6134a7565b613903816138fd8454613408565b8461388a565b602080601f83116001811461395657600084156139205750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555611823565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156139a357888601518255948401946001909101908401613984565b50858210156139df57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600082601f830112613a0057600080fd5b8151613a0e6135fa82613595565b818152846020838601011115613a2357600080fd5b610478826020830160208701613030565b600082601f830112613a4557600080fd5b81516020613a556135fa83613571565b82815260059290921b84018101918181019086841115613a7457600080fd5b8286015b848110156136f557805167ffffffffffffffff80821115613a995760008081fd5b81890191506040807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0848d03011215613ad25760008081fd5b613ada6134d6565b838801518152908301519082821115613af35760008081fd5b613b018c89848701016139ef565b818901528652505050918301918301613a78565b600060208284031215613b2757600080fd5b815167ffffffffffffffff80821115613b3f57600080fd5b9083019060608286031215613b5357600080fd5b613b5b6134ff565b825182811115613b6a57600080fd5b613b76878286016139ef565b825250602083015182811115613b8b57600080fd5b613b9787828601613a34565b6020830152506040830151925060038310613bb157600080fd5b6040810192909252509392505050565b600081518084526020808501808196508360051b8101915082860160005b85811015613c1d5782840389528151805185528501516040868601819052613c0981870183613054565b9a87019a9550505090840190600101613bdf565b5091979650505050505050565b604081526000613c3d6040830185613054565b8281036020840152613c4f8185613bc1565b95945050505050565b600060208284031215613c6a57600080fd5b8151801515811461065457600080fd5b604081526000613c8d6040830185613054565b8281036020840152613c4f8185613054565b600060208284031215613cb157600080fd5b815167ffffffffffffffff811115613cc857600080fd5b610478848285016139ef565b606081526000613ce76060830186613054565b8281036020840152613cf98186613054565b91505061047860408301846130fd565b602081526000825160406020840152613d256060840182613054565b905060208401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0848303016040850152613c4f8282613054565b60008060408385031215613d7357600080fd5b8251613d7e8161311f565b602084015190925067ffffffffffffffff811115613d9b57600080fd5b61373d858286016139ef565b600060208284031215613db957600080fd5b815167ffffffffffffffff80821115613dd157600080fd5b9083019060608286031215613de557600080fd5b613ded6134ff565b825182811115613dfc57600080fd5b613e0887828601613a34565b825250602083015160208201526040830151604082015280935050505092915050565b60006020808385031215613e3e57600080fd5b825167ffffffffffffffff811115613e5557600080fd5b8301601f81018513613e6657600080fd5b8051613e746135fa82613571565b81815260069190911b82018301908381019087831115613e9357600080fd5b928401925b82841015613ee55760408489031215613eb15760008081fd5b613eb96134d6565b845181528585015160058110613ecf5760008081fd5b8187015282526040939093019290840190613e98565b979650505050505050565b6000610160855160048110613f0757613f076130ce565b808452506020860151613f1e602085018215159052565b506040860151613f32604085018215159052565b506060860151613f5a606085018273ffffffffffffffffffffffffffffffffffffffff169052565b506080860151613f82608085018273ffffffffffffffffffffffffffffffffffffffff169052565b5060a0860151613faa60a085018273ffffffffffffffffffffffffffffffffffffffff169052565b5060c086015160c084015260e086015160e0840152610100808701518185015250613fee61012084018673ffffffffffffffffffffffffffffffffffffffff169052565b8061014084015261400181840185613bc1565b9695505050505050565b6000602080838503121561401e57600080fd5b825167ffffffffffffffff81111561403557600080fd5b8301601f8101851361404657600080fd5b80516140546135fa82613571565b81815260059190911b8201830190838101908783111561407357600080fd5b928401925b82841015613ee55783518252928401929084019061407856fea2646970667358221220062f5c75542050cd9bd2cbfd21dc127d90d821d9275002a728e7843bea209b5664736f6c63430008130033000000000000000000000000ad2377c8f9f0ca6382fef166b08aede8318fe49c000000000000000000000000edbd4907a7f98de932e635e9076b4e0c36d0e797000000000000000000000000cd28eb9d0d2afcf4354f2c93de5ce9bbf88257ae000000000000000000000000e3c522921a16c692e664d06d53a251f91323a06b000000000000000000000000a30bb959bc298e244ace0402b5c0609cc8745134000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "nonce": "0x606", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x95ea5d1ed711248ea3d4ca9a79541f30a843636aa27768fb1fef906c473f3ba6", + "transactionType": "CREATE", + "contractName": "TokenGatedHook", + "contractAddress": "0x1fDD8955a6D70c84A71Ebb69dE88f3Ad0AAc50d6", + "function": null, + "arguments": [ + "0x7EDacD4d53b5A626471c6728f04D92125CcF647F" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x108989", + "value": "0x0", + "data": "0x60806040523480156200001157600080fd5b5060405162000f8838038062000f888339810160408190526200003491620001d1565b808080620000536001600160a01b038216637965db0b60e01b620000e5565b62000096576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b038316908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a250505050620001fc565b6000620000f2836200010d565b801562000106575062000106838362000146565b9392505050565b600062000122826301ffc9a760e01b62000146565b80156200014057506200013e826001600160e01b031962000146565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d91506000519050828015620001b9575060208210155b8015620001c65750600081115b979650505050505050565b600060208284031215620001e457600080fd5b81516001600160a01b03811681146200010657600080fd5b610d7c806200020c6000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806319129e5a1461005157806334e5d29f146100665780635260a98c14610090578063a913b881146100b2575b600080fd5b61006461005f3660046108c2565b6100c5565b005b610079610074366004610928565b610229565b604051610087929190610a09565b60405180910390f35b6100a361009e366004610a31565b610328565b60405161008793929190610a88565b6100646100c0366004610928565b6103ca565b60006100d1813361040d565b610115576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b61015573ffffffffffffffffffffffffffffffffffffffff83167f7965db0b000000000000000000000000000000000000000000000000000000006104b0565b6101bb576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c000000000000000000000000000000000000604482015260640161010c565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050565b600060607f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db610258813361040d565b610297576040517f75000dc00000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440161010c565b60006102a585870187610b92565b90506102b481600001516104cc565b6102c6816000015182602001516105df565b600194509250833073ffffffffffffffffffffffffffffffffffffffff167fdfd1fe8825f45c847f436243dea4246c2ed6c29b2ee09d385de7a3049566b69788888760405161031793929190610c39565b60405180910390a350509250929050565b6000606060007f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db610359813361040d565b610398576040517f75000dc00000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440161010c565b6040517fcce14c2300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61040982828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506104cc92505050565b5050565b600080546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff8481166024830152909116906391d1485490604401602060405180830381865afa158015610485573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a99190610c9f565b9392505050565b60006104bb83610769565b80156104a957506104a983836107ce565b6000818060200190518101906104e29190610d11565b805190915073ffffffffffffffffffffffffffffffffffffffff8116610534576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61057473ffffffffffffffffffffffffffffffffffffffff82167f80ac58cd000000000000000000000000000000000000000000000000000000006104b0565b6105da576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f4945524337323100000000000000000000000000000000000000000000000000604482015260640161010c565b505050565b60606000838060200190518101906105f79190610d11565b905060008380602001905181019061060f9190610d11565b805190915073ffffffffffffffffffffffffffffffffffffffff16610660576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815181516040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91821660048201529116906370a0823190602401602060405180830381865afa1580156106d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f49190610d2d565b60000361075157815181516040517fe9dee8af00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff92831660048201529116602482015260440161010c565b50506040805160208101909152600081529392505050565b6000610795827f01ffc9a7000000000000000000000000000000000000000000000000000000006107ce565b80156107c857506107c6827fffffffff000000000000000000000000000000000000000000000000000000006107ce565b155b92915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015610886575060208210155b80156108925750600081115b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff811681146108bf57600080fd5b50565b6000602082840312156108d457600080fd5b81356104a98161089d565b60008083601f8401126108f157600080fd5b50813567ffffffffffffffff81111561090957600080fd5b60208301915083602082850101111561092157600080fd5b9250929050565b6000806020838503121561093b57600080fd5b823567ffffffffffffffff81111561095257600080fd5b61095e858286016108df565b90969095509350505050565b600281106109a1577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b6000815180845260005b818110156109cb576020818501810151868301820152016109af565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b610a13818461096a565b604060208201526000610a2960408301846109a5565b949350505050565b600080600060408486031215610a4657600080fd5b833567ffffffffffffffff811115610a5d57600080fd5b610a69868287016108df565b9094509250506020840135610a7d8161089d565b809150509250925092565b610a92818561096a565b606060208201526000610aa860608301856109a5565b9050826040830152949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112610af857600080fd5b813567ffffffffffffffff80821115610b1357610b13610ab8565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715610b5957610b59610ab8565b81604052838152866020858801011115610b7257600080fd5b836020870160208301376000602085830101528094505050505092915050565b600060208284031215610ba457600080fd5b813567ffffffffffffffff80821115610bbc57600080fd5b9083019060408286031215610bd057600080fd5b604051604081018181108382111715610beb57610beb610ab8565b604052823582811115610bfd57600080fd5b610c0987828601610ae7565b825250602083013582811115610c1e57600080fd5b610c2a87828601610ae7565b60208301525095945050505050565b604081528260408201528284606083013760006060848301015260007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011682016060838203016020840152610c9560608201856109a5565b9695505050505050565b600060208284031215610cb157600080fd5b815180151581146104a957600080fd5b600060208284031215610cd357600080fd5b6040516020810181811067ffffffffffffffff82111715610cf657610cf6610ab8565b80604052508091508251610d098161089d565b905292915050565b600060208284031215610d2357600080fd5b6104a98383610cc1565b600060208284031215610d3f57600080fd5b505191905056fea26469706673582212209e1a3ebc8bfbd50413ac4957ae8e29399c2a00875d0ca234e77b022e29ed9c7064736f6c634300081300330000000000000000000000007edacd4d53b5a626471c6728f04d92125ccf647f", + "nonce": "0x607", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x1e40c1fb1e572f5629d98fba6201fc8a433a442dff07204b4814b03b03c3a9c3", + "transactionType": "CREATE", + "contractName": "MockERC721", + "contractAddress": "0x9F9772cd93715A0cb512b3Eb997088a0D0b4a5A3", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x1edc92", + "value": "0x0", + "data": "0x60806040523480156200001157600080fd5b506040518060400160405280600a8152602001694d6f636b45524337323160b01b815250604051806040016040528060048152602001634d37323160e01b815250816000908162000063919062000120565b50600162000072828262000120565b505050620001ec565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000a657607f821691505b602082108103620000c757634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200011b57600081815260208120601f850160051c81016020861015620000f65750805b601f850160051c820191505b81811015620001175782815560010162000102565b5050505b505050565b81516001600160401b038111156200013c576200013c6200007b565b62000154816200014d845462000091565b84620000cd565b602080601f8311600181146200018c5760008415620001735750858301515b600019600386901b1c1916600185901b17855562000117565b600085815260208120601f198616915b82811015620001bd578886015182559484019460019091019084016200019c565b5085821015620001dc5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b611a7980620001fc6000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80636352211e1161008c578063a22cb46511610066578063a22cb465146101ee578063b88d4fde14610201578063c87b56dd14610214578063e985e9c51461022757600080fd5b80636352211e146101b257806370a08231146101c557806395d89b41146101e657600080fd5b8063095ea7b3116100c8578063095ea7b31461016457806323b872dd1461017957806340c10f191461018c57806342842e0e1461019f57600080fd5b806301ffc9a7146100ef57806306fdde0314610117578063081812fc1461012c575b600080fd5b6101026100fd366004611662565b610270565b60405190151581526020015b60405180910390f35b61011f610355565b60405161010e91906116ed565b61013f61013a366004611700565b6103e7565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161010e565b610177610172366004611742565b61041b565b005b61017761018736600461176c565b6105ac565b61017761019a366004611742565b61064d565b6101776101ad36600461176c565b61065b565b61013f6101c0366004611700565b610676565b6101d86101d33660046117a8565b610702565b60405190815260200161010e565b61011f6107d0565b6101776101fc3660046117c3565b6107df565b61017761020f36600461182e565b6107ea565b61011f610222366004611700565b610892565b610102610235366004611928565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260056020908152604080832093909416825291909152205460ff1690565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061030357507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b8061034f57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6060600080546103649061195b565b80601f01602080910402602001604051908101604052809291908181526020018280546103909061195b565b80156103dd5780601f106103b2576101008083540402835291602001916103dd565b820191906000526020600020905b8154815290600101906020018083116103c057829003601f168201915b5050505050905090565b60006103f282610906565b5060009081526004602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b600061042682610676565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036104e8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff8216148061051157506105118133610235565b61059d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c00000060648201526084016104df565b6105a78383610994565b505050565b6105b63382610a34565b610642576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f7665640000000000000000000000000000000000000060648201526084016104df565b6105a7838383610af4565b6106578282610def565b5050565b6105a7838383604051806020016040528060008152506107ea565b60008181526002602052604081205473ffffffffffffffffffffffffffffffffffffffff168061034f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e204944000000000000000060448201526064016104df565b600073ffffffffffffffffffffffffffffffffffffffff82166107a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e6572000000000000000000000000000000000000000000000060648201526084016104df565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526003602052604090205490565b6060600180546103649061195b565b610657338383610e09565b6107f43383610a34565b610880576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f7665640000000000000000000000000000000000000060648201526084016104df565b61088c84848484610f36565b50505050565b606061089d82610906565b60006108b460408051602081019091526000815290565b905060008151116108d457604051806020016040528060008152506108ff565b806108de84610fd9565b6040516020016108ef9291906119ae565b6040516020818303038152906040525b9392505050565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff16610991576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e204944000000000000000060448201526064016104df565b50565b600081815260046020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811790915581906109ee82610676565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080610a4083610676565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480610aae575073ffffffffffffffffffffffffffffffffffffffff80821660009081526005602090815260408083209388168352929052205460ff165b80610aec57508373ffffffffffffffffffffffffffffffffffffffff16610ad4846103e7565b73ffffffffffffffffffffffffffffffffffffffff16145b949350505050565b8273ffffffffffffffffffffffffffffffffffffffff16610b1482610676565b73ffffffffffffffffffffffffffffffffffffffff1614610bb7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e657200000000000000000000000000000000000000000000000000000060648201526084016104df565b73ffffffffffffffffffffffffffffffffffffffff8216610c59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016104df565b8273ffffffffffffffffffffffffffffffffffffffff16610c7982610676565b73ffffffffffffffffffffffffffffffffffffffff1614610d1c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e657200000000000000000000000000000000000000000000000000000060648201526084016104df565b600081815260046020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff8781168086526003855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b610657828260405180602001604052806000815250611097565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610e9e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016104df565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526005602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b610f41848484610af4565b610f4d8484848461113a565b61088c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016104df565b60606000610fe68361132d565b600101905060008167ffffffffffffffff811115611006576110066117ff565b6040519080825280601f01601f191660200182016040528015611030576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a850494508461103a57509392505050565b6110a1838361140f565b6110ae600084848461113a565b6105a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016104df565b600073ffffffffffffffffffffffffffffffffffffffff84163b15611322576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a02906111b19033908990889088906004016119dd565b6020604051808303816000875af192505050801561120a575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261120791810190611a26565b60015b6112d7573d808015611238576040519150601f19603f3d011682016040523d82523d6000602084013e61123d565b606091505b5080516000036112cf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016104df565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050610aec565b506001949350505050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611376577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef810000000083106113a2576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106113c057662386f26fc10000830492506010015b6305f5e10083106113d8576305f5e100830492506008015b61271083106113ec57612710830492506004015b606483106113fe576064830492506002015b600a831061034f5760010192915050565b73ffffffffffffffffffffffffffffffffffffffff821661148c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016104df565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1615611518576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016104df565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff16156115a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016104df565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260036020908152604080832080546001019055848352600290915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b7fffffffff000000000000000000000000000000000000000000000000000000008116811461099157600080fd5b60006020828403121561167457600080fd5b81356108ff81611634565b60005b8381101561169a578181015183820152602001611682565b50506000910152565b600081518084526116bb81602086016020860161167f565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006108ff60208301846116a3565b60006020828403121561171257600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461173d57600080fd5b919050565b6000806040838503121561175557600080fd5b61175e83611719565b946020939093013593505050565b60008060006060848603121561178157600080fd5b61178a84611719565b925061179860208501611719565b9150604084013590509250925092565b6000602082840312156117ba57600080fd5b6108ff82611719565b600080604083850312156117d657600080fd5b6117df83611719565b9150602083013580151581146117f457600080fd5b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000806000806080858703121561184457600080fd5b61184d85611719565b935061185b60208601611719565b925060408501359150606085013567ffffffffffffffff8082111561187f57600080fd5b818701915087601f83011261189357600080fd5b8135818111156118a5576118a56117ff565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156118eb576118eb6117ff565b816040528281528a602084870101111561190457600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b6000806040838503121561193b57600080fd5b61194483611719565b915061195260208401611719565b90509250929050565b600181811c9082168061196f57607f821691505b6020821081036119a8577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b600083516119c081846020880161167f565b8351908301906119d481836020880161167f565b01949350505050565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525083604083015260806060830152611a1c60808301846116a3565b9695505050505050565b600060208284031215611a3857600080fd5b81516108ff8161163456fea2646970667358221220d673ef7c8f1def245d3be39f8336c1275d8505ccfbf91acc7ee1bdd6cae4c30264736f6c63430008130033", + "nonce": "0x608", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xad1c28e4b20c412d5153116517ea3a0590a6853e24f3629a89d2d092f30bd400", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0x7EDacD4d53b5A626471c6728f04D92125CcF647F", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x7edacd4d53b5a626471c6728f04d92125ccf647f", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15d189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "nonce": "0x609", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xe571eafdce4968ea9f1ef3c1507fe1fa2f7e6f7d78892987eb17b816c91e39cf", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0x7EDacD4d53b5A626471c6728f04D92125CcF647F", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x7edacd4d53b5a626471c6728f04d92125ccf647f", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15d637821dcee84aabec9c8cf4f6f643013a24ad27fd41511ffd937aea80d8619a9000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "nonce": "0x60a", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x96f03a95e41c76ecbbe45445e94b61c64bffd67e9e946ccf130e1d23031d4935", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0x7EDacD4d53b5A626471c6728f04D92125CcF647F", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x7edacd4d53b5a626471c6728f04d92125ccf647f", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15da8b84e71bc3552b48fea3678097679554a90f0e2c12c536a8bd697c05041e279000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "nonce": "0x60b", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x626138062505a835a234c0b32e6a7bd03ddd5507d18cdcf814eb2021bdfce65a", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0x7EDacD4d53b5A626471c6728f04D92125CcF647F", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x7edacd4d53b5a626471c6728f04d92125ccf647f", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15d256895704541e78004f0fd55953a8bcc54c628755b14fbf53afdc556473f9bd0000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "nonce": "0x60c", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x2cf0e0cdccd756b305c60d89509bfd48a85571e4bc26a84d37ee8bde88779681", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0x7EDacD4d53b5A626471c6728f04D92125CcF647F", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x7edacd4d53b5a626471c6728f04d92125ccf647f", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15d02f7fd2cb4d8e8ad75bab0a56a6f1ed7091336a83e11ccacc4e51f915215ab4c000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "nonce": "0x60d", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x60864387111b8d8baedf5c313d770fa857d980a8119aae305c6e8634fe69f93a", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0x7EDacD4d53b5A626471c6728f04D92125CcF647F", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x7edacd4d53b5a626471c6728f04d92125ccf647f", + "gas": "0x140e3", + "value": "0x0", + "data": "0x2f2ff15dc9a6ce5d86bdc06f8d57f20091bf09bf611e57d0626b65aa9ebb3c9179ba650f000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "nonce": "0x60e", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x208318107e5571b6c14ef0c13e782301965fbc501a878ffe349b3371c65294b4", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0x7EDacD4d53b5A626471c6728f04D92125CcF647F", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x7edacd4d53b5a626471c6728f04d92125ccf647f", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15de4a10d29decbd34c09a62a511d4fd993a7d8cbbf58d7d4278711c29c9148b8f7000000000000000000000000336bc9128fffb7869381e2d0c4a156981ca5d240", + "nonce": "0x60f", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xd5c2854b93fe8663e4b728e419a4f7a9ef1b0fea0f6fd9700a8f8bfa92119a29", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0x7EDacD4d53b5A626471c6728f04D92125CcF647F", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x7edacd4d53b5a626471c6728f04d92125ccf647f", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15de4a10d29decbd34c09a62a511d4fd993a7d8cbbf58d7d4278711c29c9148b8f7000000000000000000000000e3c522921a16c692e664d06d53a251f91323a06b", + "nonce": "0x610", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xb199d0a1bceb4c22f4f978052977c206039bb3fa50478346d71915126cb95c94", + "transactionType": "CALL", + "contractName": "ModuleRegistry", + "contractAddress": "0xedBd4907A7F98de932e635e9076B4E0C36D0E797", + "function": "registerProtocolModule(string,address)", + "arguments": [ + "REGISTRATION_MODULE", + "0xfb45e1274D9f0A2DF5C0851a705EEB0665171C5B" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xedbd4907a7f98de932e635e9076b4e0c36d0e797", + "gas": "0x1445d", + "value": "0x0", + "data": "0xd08906d60000000000000000000000000000000000000000000000000000000000000040000000000000000000000000fb45e1274d9f0a2df5c0851a705eeb0665171c5b0000000000000000000000000000000000000000000000000000000000000013524547495354524154494f4e5f4d4f44554c4500000000000000000000000000", + "nonce": "0x611", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x16f0f71ee24e9103cde147f2941f6888b7cb5459bfa4bef964657fd24f68bcdc", + "transactionType": "CALL", + "contractName": "ModuleRegistry", + "contractAddress": "0xedBd4907A7F98de932e635e9076B4E0C36D0E797", + "function": "registerProtocolModule(string,address)", + "arguments": [ + "RELATIONSHIP_MODULE", + "0xf7081c5ff418ddB6C68A3cCc3CC68A4c21803460" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xedbd4907a7f98de932e635e9076b4e0c36d0e797", + "gas": "0x1445d", + "value": "0x0", + "data": "0xd08906d60000000000000000000000000000000000000000000000000000000000000040000000000000000000000000f7081c5ff418ddb6c68a3ccc3cc68a4c21803460000000000000000000000000000000000000000000000000000000000000001352454c4154494f4e534849505f4d4f44554c4500000000000000000000000000", + "nonce": "0x612", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x42a1945247d947ff98954fd66b6a04c6aa9bbe92e1c7b38d61cd5be7ff94abf8", + "transactionType": "CALL", + "contractName": "ModuleRegistry", + "contractAddress": "0xedBd4907A7F98de932e635e9076B4E0C36D0E797", + "function": "registerProtocolModule(string,address)", + "arguments": [ + "LICENSING_MODULE", + "0x6a3E5eB4CE11aE3B063903AB6530c34D6daf9Dc0" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xedbd4907a7f98de932e635e9076b4e0c36d0e797", + "gas": "0x1573d", + "value": "0x0", + "data": "0xd08906d600000000000000000000000000000000000000000000000000000000000000400000000000000000000000006a3e5eb4ce11ae3b063903ab6530c34d6daf9dc000000000000000000000000000000000000000000000000000000000000000104c4943454e53494e475f4d4f44554c4500000000000000000000000000000000", + "nonce": "0x613", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xe2a6f1fc8661c82685ed86a12ac72554d54a5d5bfd9348045a3cbe3c8f36cce6", + "transactionType": "CALL", + "contractName": "StoryProtocol", + "contractAddress": "0x336BC9128fFFb7869381E2D0c4A156981cA5d240", + "function": "registerIpOrg(address,string,string,string[]):(address)", + "arguments": [ + "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "Sample IP Org", + "SIPO", + "[STORY, CHARACTER]" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x336bc9128fffb7869381e2d0c4a156981ca5d240", + "gas": "0x676d2", + "value": "0x0", + "data": "0x98e8e6ea000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000d53616d706c65204950204f72670000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000045349504f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000553544f525900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000094348415241435445520000000000000000000000000000000000000000000000", + "nonce": "0x614", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0x09d6377058555bE9d09bf7F6E4864eA202FD083f", + "initCode": "3d602d80600a3d3981f3363d3d373d3d3d363d731781678b3f076017e8c45f8c6515f9cf57f393c05af43d82803e903d91602b57fd5bf3" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0xd632a5d19f0d63edb2ef743712dec042fae0ce5c4253373fc60e6b8bdcf0fd5f", + "transactionType": "CALL", + "contractName": "RegistrationModule", + "contractAddress": "0xfb45e1274D9f0A2DF5C0851a705EEB0665171C5B", + "function": "registerHooks(uint8,address,address[],bytes[])", + "arguments": [ + "0", + "0x09d6377058555bE9d09bf7F6E4864eA202FD083f", + "[0x1fDD8955a6D70c84A71Ebb69dE88f3Ad0AAc50d6]", + "[0x0000000000000000000000009f9772cd93715a0cb512b3eb997088a0d0b4a5a3]" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xfb45e1274d9f0a2df5c0851a705eeb0665171c5b", + "gas": "0x3b218", + "value": "0x0", + "data": "0x8591b11b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009d6377058555be9d09bf7f6e4864ea202fd083f000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000010000000000000000000000001fdd8955a6d70c84a71ebb69de88f3ad0aac50d60000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000009f9772cd93715a0cb512b3eb997088a0d0b4a5a3", + "nonce": "0x615", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xb13b538f55ff3a42ffce3a951fb68e203c600ff1dc3481254ef3ac4db1cdd0f5", + "transactionType": "CALL", + "contractName": "LicensingFrameworkRepo", + "contractAddress": "0xA30bB959Bc298e244aCE0402B5c0609CC8745134", + "function": "addFramework((string,string,(bytes32,uint8)[]))", + "arguments": [ + "(SPIPL-1.0, https://arweave.net/Hjz_d7t4kMEFrZrthVHwMIVPpGze_0J6zXGhi7kEi0cs, [(0x4368616e6e656c732d4f662d446973747269627574696f6e0000000000000018, 4), (0x4174747269627574696f6e00000000000000000000000000000000000000000b, 0), (0x44657269766174697665732d576974682d4174747269627574696f6e0000001c, 0), (0x44657269766174697665732d576974682d417070726f76616c00000000000019, 0), (0x44657269766174697665732d5265636970726f63616c2d4c6963656e7365001e, 0)])" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xa30bb959bc298e244ace0402b5c0609cc8745134", + "gas": "0xcc3be", + "value": "0x0", + "data": "0x42f6d0990000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000009535049504c2d312e300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004068747470733a2f2f617277656176652e6e65742f486a7a5f643774346b4d4546725a7274685648774d49565070477a655f304a367a58476869376b456930637300000000000000000000000000000000000000000000000000000000000000054368616e6e656c732d4f662d446973747269627574696f6e000000000000001800000000000000000000000000000000000000000000000000000000000000044174747269627574696f6e00000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000000044657269766174697665732d576974682d4174747269627574696f6e0000001c000000000000000000000000000000000000000000000000000000000000000044657269766174697665732d576974682d417070726f76616c00000000000019000000000000000000000000000000000000000000000000000000000000000044657269766174697665732d5265636970726f63616c2d4c6963656e7365001e0000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x616", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x49b64e330c3f9bd442ebe154a1426591253d2f4f887b3a24c39a14d6e50b78b1", + "0xaaf7df4b0f53c65c69a83d1f5c34b2864a62be0cb6f712311a603fb349599444", + "0x032a743da017dcc3de3766692bc8a2853afdc8212cf67e5dadd953a8ecedfe34", + "0xca1fe1cec4d95f2ab31fc12c1c2af517115b57522c4984cefbcce4d4d03e66eb", + "0x1367afaa266f809c9cdbbd18c0f42f48f10e70b997cf7984eee88d985ba95055", + "0x576f73c4d6629a4135060cf2cf6c6141e13297b7c25bc3e386ab7c1dcef25164", + "0x4121adb96d0f4aecacb104198678db90f838be01f174a0a26fe2049d575a041d", + "0x3d44962832e990d1583408044eaadec41ad18ad9b45ca42dd82bd4045011f9c3", + "0xb6b928dfb6f15cd841ef750552d914f6bb91b1e7eb3f160482d02780b14ea627", + "0x64eb802bac6a3135074c475cb2ebec299c846cc717a561be60c83b69ec47550a", + "0x34ed35a98e276f7f8739306d58ab5dc6be1fb24091451d2c7d13edd9a18cf982", + "0xb0acaa085d5482b98b3a6a658c2bd9a7d97cbd13ff1976adbaf5e39b7d5d986b", + "0x95ea5d1ed711248ea3d4ca9a79541f30a843636aa27768fb1fef906c473f3ba6", + "0x1e40c1fb1e572f5629d98fba6201fc8a433a442dff07204b4814b03b03c3a9c3", + "0xad1c28e4b20c412d5153116517ea3a0590a6853e24f3629a89d2d092f30bd400", + "0xe571eafdce4968ea9f1ef3c1507fe1fa2f7e6f7d78892987eb17b816c91e39cf", + "0x96f03a95e41c76ecbbe45445e94b61c64bffd67e9e946ccf130e1d23031d4935", + "0x626138062505a835a234c0b32e6a7bd03ddd5507d18cdcf814eb2021bdfce65a", + "0x2cf0e0cdccd756b305c60d89509bfd48a85571e4bc26a84d37ee8bde88779681", + "0x60864387111b8d8baedf5c313d770fa857d980a8119aae305c6e8634fe69f93a", + "0x208318107e5571b6c14ef0c13e782301965fbc501a878ffe349b3371c65294b4", + "0xd5c2854b93fe8663e4b728e419a4f7a9ef1b0fea0f6fd9700a8f8bfa92119a29", + "0xb199d0a1bceb4c22f4f978052977c206039bb3fa50478346d71915126cb95c94", + "0x16f0f71ee24e9103cde147f2941f6888b7cb5459bfa4bef964657fd24f68bcdc", + "0x42a1945247d947ff98954fd66b6a04c6aa9bbe92e1c7b38d61cd5be7ff94abf8", + "0xe2a6f1fc8661c82685ed86a12ac72554d54a5d5bfd9348045a3cbe3c8f36cce6", + "0xd632a5d19f0d63edb2ef743712dec042fae0ce5c4253373fc60e6b8bdcf0fd5f", + "0xb13b538f55ff3a42ffce3a951fb68e203c600ff1dc3481254ef3ac4db1cdd0f5" + ], + "path": "/Users/drmanhattan/Workspace/StoryProtocol/protocol-contracts/broadcast/Main.s.sol/11155111/run-latest.json", + "returns": {}, + "timestamp": 1701936223, + "chain": 11155111, + "multi": false, + "commit": "e7d0775" +} \ No newline at end of file diff --git a/broadcast/Main.s.sol/11155111/run-1701936255.json b/broadcast/Main.s.sol/11155111/run-1701936255.json new file mode 100644 index 00000000..44716226 --- /dev/null +++ b/broadcast/Main.s.sol/11155111/run-1701936255.json @@ -0,0 +1,1612 @@ +{ + "transactions": [ + { + "hash": "0x49b64e330c3f9bd442ebe154a1426591253d2f4f887b3a24c39a14d6e50b78b1", + "transactionType": "CREATE", + "contractName": "AccessControlSingleton", + "contractAddress": "0x4Dc9653D6A21A44ca322474f81B41Dc964a422DD", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x2138be", + "value": "0x0", + "data": "0x60a06040523060805234801561001457600080fd5b50608051611d9061004c600039600081816104d101528181610581015281816106d60152818161078601526108cb0152611d906000f3fe6080604052600436106100dd5760003560e01c806352d1902d1161007f578063a217fddf11610059578063a217fddf146102a8578063ac9650d8146102bd578063c4d66de8146102ea578063d547741f1461030a57600080fd5b806352d1902d146101ea57806354fd4d50146101ff57806391d148541461025557600080fd5b80632f2ff15d116100bb5780632f2ff15d1461017757806336568abe146101975780633659cfe6146101b75780634f1ef286146101d757600080fd5b806301ffc9a7146100e25780631e4e009114610117578063248a9ca314610139575b600080fd5b3480156100ee57600080fd5b506101026100fd3660046117aa565b61032a565b60405190151581526020015b60405180910390f35b34801561012357600080fd5b506101376101323660046117ec565b6103c3565b005b34801561014557600080fd5b5061016961015436600461180e565b60009081526065602052604090206001015490565b60405190815260200161010e565b34801561018357600080fd5b50610137610192366004611850565b6103dd565b3480156101a357600080fd5b506101376101b2366004611850565b610402565b3480156101c357600080fd5b506101376101d236600461187c565b6104ba565b6101376101e53660046118c6565b6106bf565b3480156101f657600080fd5b506101696108b1565b34801561020b57600080fd5b506102486040518060400160405280600581526020017f302e312e3000000000000000000000000000000000000000000000000000000081525081565b60405161010e9190611a14565b34801561026157600080fd5b50610102610270366004611850565b600091825260656020908152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b3480156102b457600080fd5b50610169600081565b3480156102c957600080fd5b506102dd6102d8366004611a27565b61099d565b60405161010e9190611a9c565b3480156102f657600080fd5b5061013761030536600461187c565b610a92565b34801561031657600080fd5b50610137610325366004611850565b610c84565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806103bd57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60006103ce81610ca9565b6103d88383610cb3565b505050565b6000828152606560205260409020600101546103f881610ca9565b6103d88383610cfe565b73ffffffffffffffffffffffffffffffffffffffff811633146104ac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b6104b68282610df2565b5050565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016300361057f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016104a3565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166105f47f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610697576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016104a3565b6106a081610ead565b604080516000808252602082019092526106bc91839190610ed7565b50565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610784576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016104a3565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166107f97f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff161461089c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016104a3565b6108a582610ead565b6104b682826001610ed7565b60003073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610978576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016104a3565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b60608167ffffffffffffffff8111156109b8576109b8611897565b6040519080825280602002602001820160405280156109eb57816020015b60608152602001906001900390816109d65790505b50905060005b82811015610a8b57610a5b30858584818110610a0f57610a0f611b1c565b9050602002810190610a219190611b4b565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506110d692505050565b828281518110610a6d57610a6d611b1c565b60200260200101819052508080610a8390611be6565b9150506109f1565b5092915050565b600054610100900460ff1615808015610ab25750600054600160ff909116105b80610acc5750303b158015610acc575060005460ff166001145b610b58576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016104a3565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610bb657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b73ffffffffffffffffffffffffffffffffffffffff8216610c03576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c0b611102565b610c13611102565b610c1e600083610cfe565b80156104b657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b600082815260656020526040902060010154610c9f81610ca9565b6103d88383610df2565b6106bc813361119b565b600082815260656020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff166104b657600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff85168452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055610d943390565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16156104b657600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e36104b681610ca9565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610f0a576103d883611255565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610f8f575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252610f8c91810190611c1e565b60015b61101b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016104a3565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81146110ca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016104a3565b506103d883838361135f565b60606110fb8383604051806060016040528060278152602001611d346027913961138a565b9392505050565b600054610100900460ff16611199576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016104a3565b565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff166104b6576111db8161140f565b6111e683602061142e565b6040516020016111f7929190611c37565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a00000000000000000000000000000000000000000000000000000000082526104a391600401611a14565b73ffffffffffffffffffffffffffffffffffffffff81163b6112f9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016104a3565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61136883611671565b6000825111806113755750805b156103d85761138483836110d6565b50505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516113b49190611cb8565b600060405180830381855af49150503d80600081146113ef576040519150601f19603f3d011682016040523d82523d6000602084013e6113f4565b606091505b5091509150611405868383876116be565b9695505050505050565b60606103bd73ffffffffffffffffffffffffffffffffffffffff831660145b6060600061143d836002611cd4565b611448906002611ceb565b67ffffffffffffffff81111561146057611460611897565b6040519080825280601f01601f19166020018201604052801561148a576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106114c1576114c1611b1c565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061152457611524611b1c565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000611560846002611cd4565b61156b906001611ceb565b90505b6001811115611608577f303132333435363738396162636465660000000000000000000000000000000085600f16601081106115ac576115ac611b1c565b1a60f81b8282815181106115c2576115c2611b1c565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c9361160181611cfe565b905061156e565b5083156110fb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016104a3565b61167a81611255565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060831561175457825160000361174d5773ffffffffffffffffffffffffffffffffffffffff85163b61174d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016104a3565b508161175e565b61175e8383611766565b949350505050565b8151156117765781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104a39190611a14565b6000602082840312156117bc57600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146110fb57600080fd5b600080604083850312156117ff57600080fd5b50508035926020909101359150565b60006020828403121561182057600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461184b57600080fd5b919050565b6000806040838503121561186357600080fd5b8235915061187360208401611827565b90509250929050565b60006020828403121561188e57600080fd5b6110fb82611827565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080604083850312156118d957600080fd5b6118e283611827565b9150602083013567ffffffffffffffff808211156118ff57600080fd5b818501915085601f83011261191357600080fd5b81358181111561192557611925611897565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561196b5761196b611897565b8160405282815288602084870101111561198457600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b838110156119c15781810151838201526020016119a9565b50506000910152565b600081518084526119e28160208601602086016119a6565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006110fb60208301846119ca565b60008060208385031215611a3a57600080fd5b823567ffffffffffffffff80821115611a5257600080fd5b818501915085601f830112611a6657600080fd5b813581811115611a7557600080fd5b8660208260051b8501011115611a8a57600080fd5b60209290920196919550909350505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015611b0f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452611afd8583516119ca565b94509285019290850190600101611ac3565b5092979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611b8057600080fd5b83018035915067ffffffffffffffff821115611b9b57600080fd5b602001915036819003821315611bb057600080fd5b9250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611c1757611c17611bb7565b5060010190565b600060208284031215611c3057600080fd5b5051919050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351611c6f8160178501602088016119a6565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351611cac8160288401602088016119a6565b01602801949350505050565b60008251611cca8184602087016119a6565b9190910192915050565b80820281158282048414176103bd576103bd611bb7565b808201808211156103bd576103bd611bb7565b600081611d0d57611d0d611bb7565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122035b12ac6102814ae28fecd9f91e4fde7763c03447061ccbdc0e04f5c7addea0e64736f6c63430008130033", + "nonce": "0x5fb", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xaaf7df4b0f53c65c69a83d1f5c34b2864a62be0cb6f712311a603fb349599444", + "transactionType": "CREATE", + "contractName": "ERC1967Proxy", + "contractAddress": "0x7EDacD4d53b5A626471c6728f04D92125CcF647F", + "function": null, + "arguments": [ + "0x4Dc9653D6A21A44ca322474f81B41Dc964a422DD", + "0xc4d66de8000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x3bece", + "value": "0x0", + "data": "0x60806040526040516104ee3803806104ee833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c760279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60be806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea264697066735822122091c81c9b8ac755a7e1e08c0e9f65600d21e642457fb84c7f9e0d0a65b62d269064736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c65640000000000000000000000004dc9653d6a21a44ca322474f81b41dc964a422dd00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de8000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab00000000000000000000000000000000000000000000000000000000", + "nonce": "0x5fc", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x032a743da017dcc3de3766692bc8a2853afdc8212cf67e5dadd953a8ecedfe34", + "transactionType": "CREATE", + "contractName": "LicensingFrameworkRepo", + "contractAddress": "0xA30bB959Bc298e244aCE0402B5c0609CC8745134", + "function": null, + "arguments": [ + "0x7EDacD4d53b5A626471c6728f04D92125CcF647F" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x2222ae", + "value": "0x0", + "data": "0x60806040523480156200001157600080fd5b5060405162001f9538038062001f958339810160408190526200003491620001cd565b80620000516001600160a01b038216637965db0b60e01b620000e1565b62000094576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b038316908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050620001f8565b6000620000ee8362000109565b801562000102575062000102838362000142565b9392505050565b60006200011e826301ffc9a760e01b62000142565b80156200013c57506200013a826001600160e01b031962000142565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d91506000519050828015620001b5575060208210155b8015620001c25750600081115b979650505050505050565b600060208284031215620001e057600080fd5b81516001600160a01b03811681146200010257600080fd5b611d8d80620002086000396000f3fe608060405234801561001057600080fd5b50600436106100a35760003560e01c8063912871c811610076578063ac9650d81161005b578063ac9650d81461015d578063e75afa551461017d578063eae376e31461019d57600080fd5b8063912871c81461011a5780639faddd201461013d57600080fd5b80631013cbca146100a857806319129e5a146100d157806342f6d099146100e65780637859a97e146100f9575b600080fd5b6100bb6100b6366004611228565b6101bd565b6040516100c8919061126a565b60405180910390f35b6100e46100df3660046112d3565b6101f3565b005b6100e46100f43660046112f0565b610357565b61010c610107366004611228565b610544565b6040519081526020016100c8565b61012d610128366004611370565b610571565b60405190151581526020016100c8565b61015061014b3660046113dc565b6106b6565b6040516100c891906114ad565b61017061016b3660046114bb565b610744565b6040516100c8919061155f565b61019061018b366004611228565b610839565b6040516100c891906115df565b6101b06101ab366004611228565b6108ff565b6040516100c8919061162c565b60606101ea600184846040516101d492919061163f565b90815260200160405180910390206001016109b3565b90505b92915050565b60006101ff81336109c7565b610243576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b61028373ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000610a63565b6102e9576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c000000000000000000000000000000000000604482015260640161023a565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050565b7f256895704541e78004f0fd55953a8bcc54c628755b14fbf53afdc556473f9bd061038281336109c7565b6103c1576040517f75000dc00000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440161023a565b600060016103cf848061164f565b6040516103dd92919061163f565b9081526020016040518091039020905060006103fb82600101610a7f565b1115610433576040517f7e5d56bb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061044260408501856116b4565b9150506096811115610480576040517fb6cb3c0400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b818110156104d2576104c0610498868061164f565b6104a560408901896116b4565b858181106104b5576104b561171c565b905060400201610a89565b806104ca8161174b565b915050610483565b506104e0602085018561164f565b83916104ed91908361187a565b507fcc3b4b42d496457f15f49a410f201fdb906b09fbff771f240a8dc8418abe68be610519858061164f565b610526602088018861164f565b60405161053694939291906119de565b60405180910390a150505050565b60006101ea6001848460405161055b92919061163f565b9081526020016040518091039020600101610a7f565b6000806001868660405161058692919061163f565b90815260405190819003602001902090508260968111156105ac576000925050506106ae565b60005b818110156106a65760008686838181106105cb576105cb61171c565b90506020028101906105dd9190611a05565b3590506105ed6001850182610bdb565b6105fe5760009450505050506106ae565b60008181526003850160205260409020546106829060ff168888858181106106285761062861171c565b905060200281019061063a9190611a05565b61064890602081019061164f565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610bf392505050565b6106935760009450505050506106ae565b508061069e8161174b565b9150506105af565b506001925050505b949350505050565b60408051808201909152600080825260208201526000600185856040516106de92919061163f565b908152604051908190036020019020905060006106fe6001830185610e36565b604080518082018252828152600083815260038601602090815292902054929350919082019060ff16600481111561073857610738611428565b90529695505050505050565b60608167ffffffffffffffff81111561075f5761075f6117aa565b60405190808252806020026020018201604052801561079257816020015b606081526020019060019003908161077d5790505b50905060005b8281101561083257610802308585848181106107b6576107b661171c565b90506020028101906107c8919061164f565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610e4292505050565b8282815181106108145761081461171c565b6020026020010181905250808061082a9061174b565b915050610798565b5092915050565b60606001838360405161084d92919061163f565b9081526020016040518091039020600401805480602002602001604051908101604052809291908181526020016000905b828210156108f35783829060005260206000209060020201604051806040016040529081600082015481526020016001820160009054906101000a900460ff1660048111156108cf576108cf611428565b60048111156108e0576108e0611428565b815250508152602001906001019061087e565b50505050905092915050565b60606001838360405161091392919061163f565b908152604051908190036020019020805461092d906117d9565b80601f0160208091040260200160405190810160405280929190818152602001828054610959906117d9565b80156109a65780601f1061097b576101008083540402835291602001916109a6565b820191906000526020600020905b81548152906001019060200180831161098957829003601f168201915b5050505050905092915050565b606060006109c083610e67565b9392505050565b600080546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff8481166024830152909116906391d1485490604401602060405180830381865afa158015610a3f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101ea9190611a43565b6000610a6e83610ec3565b80156101ea57506101ea8383610f27565b60006101ed825490565b600060018484604051610a9d92919061163f565b90815260405190819003602001902090508135610abd6001830182610bdb565b15610af4576040517f982f2a2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b016001830182610ff6565b50610b126040840160208501611a72565b6000828152600384016020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001836004811115610b5a57610b5a611428565b021790555060048201805460018101825560009182526020909120849160020201610b858282611a8f565b507ff93d3176a8dc9cb9dbaf25cf82679a837e82137f65a2eaef630b92178c3fb85d9050858583610bbc6040880160208901611a72565b604051610bcc9493929190611b0f565b60405180910390a15050505050565b600081815260018301602052604081205415156101ea565b60007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470828051906020012003610c2b575060016101ed565b6000836004811115610c3f57610c3f611428565b03610c625781806020019051810190610c589190611a43565b50600190506101ed565b6001836004811115610c7657610c76611428565b03610ca35781806020019051810190610c8f9190611b41565b600003610c9e575060006101ed565b610e2d565b6002836004811115610cb757610cb7611428565b03610d0b57600073ffffffffffffffffffffffffffffffffffffffff1682806020019051810190610ce89190611b5a565b73ffffffffffffffffffffffffffffffffffffffff1603610c9e575060006101ed565b6003836004811115610d1f57610d1f611428565b03610de75781806020019051810190610d389190611bc6565b50604051602001610d7a9060208082526001908201527f2000000000000000000000000000000000000000000000000000000000000000604082015260600190565b6040516020818303038152906040528051906020012082805190602001201480610dda5750604051602001610dba90602080825260009082015260400190565b604051602081830303815290604052805190602001208280519060200120145b15610c9e575060006101ed565b6004836004811115610dfb57610dfb611428565b03610e2d57600082806020019051810190610e169190611c78565b90508051600003610e2b5760009150506101ed565b505b50600192915050565b60006101ea8383611002565b60606101ea8383604051806060016040528060278152602001611d316027913961102c565b606081600001805480602002602001604051908101604052809291908181526020018280548015610eb757602002820191906000526020600020905b815481526020019060010190808311610ea3575b50505050509050919050565b6000610eef827f01ffc9a700000000000000000000000000000000000000000000000000000000610f27565b80156101ed5750610f20827fffffffff00000000000000000000000000000000000000000000000000000000610f27565b1592915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015610fdf575060208210155b8015610feb5750600081115b979650505050505050565b60006101ea83836110b1565b60008260000182815481106110195761101961171c565b9060005260206000200154905092915050565b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516110569190611d1e565b600060405180830381855af49150503d8060008114611091576040519150601f19603f3d011682016040523d82523d6000602084013e611096565b606091505b50915091506110a786838387611100565b9695505050505050565b60008181526001830160205260408120546110f8575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556101ed565b5060006101ed565b6060831561119657825160000361118f5773ffffffffffffffffffffffffffffffffffffffff85163b61118f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161023a565b50816106ae565b6106ae83838151156111ab5781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161023a919061162c565b60008083601f8401126111f157600080fd5b50813567ffffffffffffffff81111561120957600080fd5b60208301915083602082850101111561122157600080fd5b9250929050565b6000806020838503121561123b57600080fd5b823567ffffffffffffffff81111561125257600080fd5b61125e858286016111df565b90969095509350505050565b6020808252825182820181905260009190848201906040850190845b818110156112a257835183529284019291840191600101611286565b50909695505050505050565b73ffffffffffffffffffffffffffffffffffffffff811681146112d057600080fd5b50565b6000602082840312156112e557600080fd5b81356109c0816112ae565b60006020828403121561130257600080fd5b813567ffffffffffffffff81111561131957600080fd5b8201606081850312156109c057600080fd5b60008083601f84011261133d57600080fd5b50813567ffffffffffffffff81111561135557600080fd5b6020830191508360208260051b850101111561122157600080fd5b6000806000806040858703121561138657600080fd5b843567ffffffffffffffff8082111561139e57600080fd5b6113aa888389016111df565b909650945060208701359150808211156113c357600080fd5b506113d08782880161132b565b95989497509550505050565b6000806000604084860312156113f157600080fd5b833567ffffffffffffffff81111561140857600080fd5b611414868287016111df565b909790965060209590950135949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6005811061148e577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b8051825260208101516114a86020840182611457565b505050565b604081016101ed8284611492565b600080602083850312156114ce57600080fd5b823567ffffffffffffffff8111156114e557600080fd5b61125e8582860161132b565b60005b8381101561150c5781810151838201526020016114f4565b50506000910152565b6000815180845261152d8160208601602086016114f1565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156115d2577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08886030184526115c0858351611515565b94509285019290850190600101611586565b5092979650505050505050565b602080825282518282018190526000919060409081850190868401855b8281101561161f5761160f848351611492565b92840192908501906001016115fc565b5091979650505050505050565b6020815260006101ea6020830184611515565b8183823760009101908152919050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261168457600080fd5b83018035915067ffffffffffffffff82111561169f57600080fd5b60200191503681900382131561122157600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126116e957600080fd5b83018035915067ffffffffffffffff82111561170457600080fd5b6020019150600681901b360382131561122157600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036117a3577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600181811c908216806117ed57607f821691505b602082108103611826577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f8211156114a857600081815260208120601f850160051c810160208610156118535750805b601f850160051c820191505b818110156118725782815560010161185f565b505050505050565b67ffffffffffffffff831115611892576118926117aa565b6118a6836118a083546117d9565b8361182c565b6000601f8411600181146118f857600085156118c25750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b17835561198e565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b828110156119475786850135825560209485019460019092019101611927565b5086821015611982577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6040815260006119f2604083018688611995565b8281036020840152610feb818587611995565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1833603018112611a3957600080fd5b9190910192915050565b600060208284031215611a5557600080fd5b815180151581146109c057600080fd5b600581106112d057600080fd5b600060208284031215611a8457600080fd5b81356109c081611a65565b81358155600181016020830135611aa581611a65565b60058110611adc577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0082541660ff8216811783555050505050565b606081526000611b23606083018688611995565b9050836020830152611b386040830184611457565b95945050505050565b600060208284031215611b5357600080fd5b5051919050565b600060208284031215611b6c57600080fd5b81516109c0816112ae565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715611bbe57611bbe6117aa565b604052919050565b600060208284031215611bd857600080fd5b815167ffffffffffffffff80821115611bf057600080fd5b818401915084601f830112611c0457600080fd5b815181811115611c1657611c166117aa565b611c4760207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601611b77565b9150808252856020828501011115611c5e57600080fd5b611c6f8160208401602086016114f1565b50949350505050565b60006020808385031215611c8b57600080fd5b825167ffffffffffffffff80821115611ca357600080fd5b818501915085601f830112611cb757600080fd5b815181811115611cc957611cc96117aa565b8060051b9150611cda848301611b77565b8181529183018401918481019088841115611cf457600080fd5b938501935b83851015611d1257845182529385019390850190611cf9565b98975050505050505050565b60008251611a398184602087016114f156fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220e7cdeb2ebe80f70a7655b1be23982831348c44fd66f6a38f976d909d8444034064736f6c634300081300330000000000000000000000007edacd4d53b5a626471c6728f04d92125ccf647f", + "nonce": "0x5fd", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xca1fe1cec4d95f2ab31fc12c1c2af517115b57522c4984cefbcce4d4d03e66eb", + "transactionType": "CREATE", + "contractName": "ModuleRegistry", + "contractAddress": "0xedBd4907A7F98de932e635e9076B4E0C36D0E797", + "function": null, + "arguments": [ + "0x7EDacD4d53b5A626471c6728f04D92125CcF647F" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x1fbd14", + "value": "0x0", + "data": "0x60806040523480156200001157600080fd5b5060405162001d6838038062001d688339810160408190526200003491620001cd565b80620000516001600160a01b038216637965db0b60e01b620000e1565b62000094576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b038316908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050620001f8565b6000620000ee8362000109565b801562000102575062000102838362000142565b9392505050565b60006200011e826301ffc9a760e01b62000142565b80156200013c57506200013a826001600160e01b031962000142565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d91506000519050828015620001b5575060208210155b8015620001c25750600081115b979650505050505050565b600060208284031215620001e057600080fd5b81516001600160a01b03811681146200010257600080fd5b611b6080620002086000396000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c8063ac9650d811610081578063d08906d61161005b578063d08906d6146101c0578063e1fc45ce146101d3578063eca53519146101e657600080fd5b8063ac9650d81461018d578063b38609e8146101ad578063c7bdcb8a1461017a57600080fd5b80633af83c18116100b25780633af83c181461012a5780635c7a980b1461014d578063869450941461017a57600080fd5b806319129e5a146100d957806320b76ffc146100ee57806337e22bd414610101575b600080fd5b6100ec6100e73660046110d1565b6101f9565b005b6100ec6100fc366004611137565b61035d565b61011461010f366004611379565b610373565b60405161012191906114a7565b60405180910390f35b61013d6101383660046114ba565b61038d565b6040519015158152602001610121565b610155600081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610121565b610155610188366004611511565b6103e8565b6101a061019b366004611598565b61042a565b6040516101219190611644565b6101146101bb366004611657565b61051f565b6100ec6101ce3660046114ba565b610637565b6101146101e136600461173f565b610795565b6100ec6101f4366004611511565b61081b565b600061020581336109db565b610249576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b61028973ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000610a7e565b6102ef576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c0000000000000000000000000000000000006044820152606401610240565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050565b61036b853386868686610a9a565b505050505050565b6060610383863387878787610c48565b9695505050505050565b60008173ffffffffffffffffffffffffffffffffffffffff16600185856040516103b89291906117d4565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff161490509392505050565b6000600183836040516103fc9291906117d4565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff16905092915050565b60608167ffffffffffffffff811115610445576104456111ba565b60405190808252806020026020018201604052801561047857816020015b60608152602001906001900390816104635790505b50905060005b82811015610518576104e83085858481811061049c5761049c6117e4565b90506020028101906104ae9190611813565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610de192505050565b8282815181106104fa576104fa6117e4565b6020026020010181905250808061051090611878565b91505061047e565b5092915050565b60607fe4a10d29decbd34c09a62a511d4fd993a7d8cbbf58d7d4278711c29c9148b8f761054c81336109db565b61058b576040517f75000dc000000000000000000000000000000000000000000000000000000000815260048101829052336024820152604401610240565b6106278c8c8c8c8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061061892508c91508d90506118d7565b610622898b6118d7565b610c48565b9c9b505050505050505050505050565b7fc9a6ce5d86bdc06f8d57f20091bf09bf611e57d0626b65aa9ebb3c9179ba650f61066281336109db565b6106a1576040517f75000dc000000000000000000000000000000000000000000000000000000000815260048101829052336024820152604401610240565b73ffffffffffffffffffffffffffffffffffffffff82166106ee576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81600185856040516107019291906117d4565b908152604051908190036020018120805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff0000000000000000000000000000000000000000909116179055908316906000907f14d77cb3ef4c75b9a031527cf63890f47708121a75c8b9c9cddbacc19defd12290610787908890889061192d565b60405180910390a350505050565b60607fe4a10d29decbd34c09a62a511d4fd993a7d8cbbf58d7d4278711c29c9148b8f76107c281336109db565b610801576040517f75000dc000000000000000000000000000000000000000000000000000000000815260048101829052336024820152604401610240565b61080f888888888888610a9a565b98975050505050505050565b7fc9a6ce5d86bdc06f8d57f20091bf09bf611e57d0626b65aa9ebb3c9179ba650f61084681336109db565b610885576040517f75000dc000000000000000000000000000000000000000000000000000000000815260048101829052336024820152604401610240565b600073ffffffffffffffffffffffffffffffffffffffff16600184846040516108af9291906117d4565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff16036109105782826040517f97385f5100000000000000000000000000000000000000000000000000000000815260040161024092919061192d565b6000600184846040516109249291906117d4565b9081526040519081900360200181205473ffffffffffffffffffffffffffffffffffffffff16915060019061095c90869086906117d4565b90815260405190819003602001812080547fffffffffffffffffffffffff000000000000000000000000000000000000000016905573ffffffffffffffffffffffffffffffffffffffff8216906000907f335f1d2bb0046b3a423088788bb8d6350f8a36ff7d554592f91d8102ea0ce4d790610787908890889061192d565b600080546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff8481166024830152909116906391d1485490604401602060405180830381865afa158015610a53573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a779190611941565b9392505050565b6000610a8983610e06565b8015610a775750610a778383610e6b565b6060600060018686604051610ab09291906117d4565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff16905080610b135785856040517f97385f5100000000000000000000000000000000000000000000000000000000815260040161024092919061192d565b6040517f4fcbd21300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821690634fcbd21390610b6b908b908b9089908990600401611963565b6000604051808303816000875af1158015610b8a573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610bd0919081019061199d565b91508673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167f48786003f3d30e41bfa4ee09afdeb9bfb04b7e06e2f74f3177da393a793bbc3388888888604051610c359493929190611a14565b60405180910390a3509695505050505050565b60606000600186604051610c5c9190611a3b565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff16905080610cbd57856040517f97385f5100000000000000000000000000000000000000000000000000000000815260040161024091906114a7565b6040517fb6efd29d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82169063b6efd29d90610d17908b908b908a908a908a90600401611a57565b6000604051808303816000875af1158015610d36573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610d7c919081019061199d565b91508673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fc370e2f187a6d9446aca617bbcd60f84f24a0020a0c55dbc4ff5c8a3ce87abb588888888604051610c359493929190611ab6565b6060610a778383604051806060016040528060278152602001611b0460279139610f3a565b6000610e32827f01ffc9a700000000000000000000000000000000000000000000000000000000610e6b565b8015610e655750610e63827fffffffff00000000000000000000000000000000000000000000000000000000610e6b565b155b92915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015610f23575060208210155b8015610f2f5750600081115b979650505050505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051610f649190611a3b565b600060405180830381855af49150503d8060008114610f9f576040519150601f19603f3d011682016040523d82523d6000602084013e610fa4565b606091505b5091509150610383868383876060831561104657825160000361103f5773ffffffffffffffffffffffffffffffffffffffff85163b61103f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610240565b5081611050565b6110508383611058565b949350505050565b8151156110685781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161024091906114a7565b73ffffffffffffffffffffffffffffffffffffffff811681146110be57600080fd5b50565b80356110cc8161109c565b919050565b6000602082840312156110e357600080fd5b8135610a778161109c565b60008083601f84011261110057600080fd5b50813567ffffffffffffffff81111561111857600080fd5b60208301915083602082850101111561113057600080fd5b9250929050565b60008060008060006060868803121561114f57600080fd5b853561115a8161109c565b9450602086013567ffffffffffffffff8082111561117757600080fd5b61118389838a016110ee565b9096509450604088013591508082111561119c57600080fd5b506111a9888289016110ee565b969995985093965092949392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715611230576112306111ba565b604052919050565b600067ffffffffffffffff821115611252576112526111ba565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f83011261128f57600080fd5b81356112a261129d82611238565b6111e9565b8181528460208386010111156112b757600080fd5b816020850160208301376000918101602001919091529392505050565b600067ffffffffffffffff808411156112ef576112ef6111ba565b8360051b60206113008183016111e9565b8681529350908401908084018783111561131957600080fd5b855b8381101561134d578035858111156113335760008081fd5b61133f8a828a0161127e565b83525090820190820161131b565b50505050509392505050565b600082601f83011261136a57600080fd5b610a77838335602085016112d4565b600080600080600060a0868803121561139157600080fd5b853561139c8161109c565b9450602086013567ffffffffffffffff808211156113b957600080fd5b6113c589838a0161127e565b955060408801359150808211156113db57600080fd5b6113e789838a0161127e565b945060608801359150808211156113fd57600080fd5b61140989838a01611359565b9350608088013591508082111561141f57600080fd5b5061142c88828901611359565b9150509295509295909350565b60005b8381101561145457818101518382015260200161143c565b50506000910152565b60008151808452611475816020860160208601611439565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610a77602083018461145d565b6000806000604084860312156114cf57600080fd5b833567ffffffffffffffff8111156114e657600080fd5b6114f2868287016110ee565b90945092505060208401356115068161109c565b809150509250925092565b6000806020838503121561152457600080fd5b823567ffffffffffffffff81111561153b57600080fd5b611547858286016110ee565b90969095509350505050565b60008083601f84011261156557600080fd5b50813567ffffffffffffffff81111561157d57600080fd5b6020830191508360208260051b850101111561113057600080fd5b600080602083850312156115ab57600080fd5b823567ffffffffffffffff8111156115c257600080fd5b61154785828601611553565b600082825180855260208086019550808260051b84010181860160005b84811015611637577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe086840301895261162583835161145d565b988401989250908301906001016115eb565b5090979650505050505050565b602081526000610a7760208301846115ce565b60008060008060008060008060008060c08b8d03121561167657600080fd5b61167f8b6110c1565b995061168d60208c016110c1565b985060408b013567ffffffffffffffff808211156116aa57600080fd5b6116b68e838f016110ee565b909a50985060608d01359150808211156116cf57600080fd5b6116db8e838f016110ee565b909850965060808d01359150808211156116f457600080fd5b6117008e838f01611553565b909650945060a08d013591508082111561171957600080fd5b506117268d828e01611553565b915080935050809150509295989b9194979a5092959850565b6000806000806000806080878903121561175857600080fd5b86356117638161109c565b955060208701356117738161109c565b9450604087013567ffffffffffffffff8082111561179057600080fd5b61179c8a838b016110ee565b909650945060608901359150808211156117b557600080fd5b506117c289828a016110ee565b979a9699509497509295939492505050565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261184857600080fd5b83018035915067ffffffffffffffff82111561186357600080fd5b60200191503681900382131561113057600080fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036118d0577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b6000610a773684846112d4565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6020815260006110506020830184866118e4565b60006020828403121561195357600080fd5b81518015158114610a7757600080fd5b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250606060408301526103836060830184866118e4565b6000602082840312156119af57600080fd5b815167ffffffffffffffff8111156119c657600080fd5b8201601f810184136119d757600080fd5b80516119e561129d82611238565b8181528560208385010111156119fa57600080fd5b611a0b826020830160208601611439565b95945050505050565b604081526000611a286040830186886118e4565b8281036020840152610f2f8185876118e4565b60008251611a4d818460208701611439565b9190910192915050565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525060a06040830152611a9060a083018661145d565b8281036060840152611aa281866115ce565b9050828103608084015261080f81856115ce565b608081526000611ac9608083018761145d565b8281036020840152611adb818761145d565b90508281036040840152611aef81866115ce565b90508281036060840152610f2f81856115ce56fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122041f1a0f24893d222413a264b74757e6f2c2172550bb05d81a811b529e638d83164736f6c634300081300330000000000000000000000007edacd4d53b5a626471c6728f04d92125ccf647f", + "nonce": "0x5fe", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x1367afaa266f809c9cdbbd18c0f42f48f10e70b997cf7984eee88d985ba95055", + "transactionType": "CREATE", + "contractName": "IPAssetRegistry", + "contractAddress": "0xaD2377c8f9f0ca6382fEf166b08aeDe8318fE49C", + "function": null, + "arguments": [ + "0xedBd4907A7F98de932e635e9076B4E0C36D0E797" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x132c3f", + "value": "0x0", + "data": "0x60a0604052600060015534801561001557600080fd5b5060405161113e38038061113e83398101604081905261003491610045565b6001600160a01b0316608052610075565b60006020828403121561005757600080fd5b81516001600160a01b038116811461006e57600080fd5b9392505050565b6080516110926100ac6000396000818161018e0152818161023f0152818161040f0152818161057c01526106af01526110926000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806387cb967a1161005b57806387cb967a14610150578063b95ddb5214610189578063c47f8bfa146101b0578063d896dd64146101d057600080fd5b8063251fe79c1461008d578063299d1cf6146100a257806342d21ef7146100df578063601a924c1461012f575b600080fd5b6100a061009b366004610b62565b6101e3565b005b6100b56100b0366004610b92565b61039b565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61011d6100ed366004610b92565b60009081526020819052604090206001015474010000000000000000000000000000000000000000900460ff1690565b60405160ff90911681526020016100d6565b61014261013d366004610bda565b61051d565b6040519081526020016100d6565b6100b561015e366004610b92565b60009081526020819052604090206002015473ffffffffffffffffffffffffffffffffffffffff1690565b6100b57f000000000000000000000000000000000000000000000000000000000000000081565b6101c36101be366004610b92565b610951565b6040516100d69190610d3a565b6100a06101de366004610dbd565b610aa0565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815233917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a9161028791600401610de8565b602060405180830381865afa1580156102a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102c89190610dfb565b73ffffffffffffffffffffffffffffffffffffffff1614610315576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008281526020819052604080822060020180547fffffffffffffffffffffffff0000000000000000000000000000000000000000811673ffffffffffffffffffffffffffffffffffffffff8681169182179093559251911692839186917f147c62691502c52a4a793c136ab712d9695053acdd62d44170a823bc377a59f591a4505050565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a000000000000000000000000000000000000000000000000000000008152600091829173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a916104439190600401610de8565b602060405180830381865afa158015610460573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104849190610dfb565b6040517f6352211e0000000000000000000000000000000000000000000000000000000081526004810185905290915073ffffffffffffffffffffffffffffffffffffffff821690636352211e90602401602060405180830381865afa1580156104f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105169190610dfb565b9392505050565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260009133917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a916105c59190600401610de8565b602060405180830381865afa1580156105e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106069190610dfb565b73ffffffffffffffffffffffffffffffffffffffff1614610653576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815233917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a916106f791600401610de8565b602060405180830381865afa158015610714573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107389190610dfb565b73ffffffffffffffffffffffffffffffffffffffff1614610785576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016000815461079490610e18565b91829055506040805160c08101825285815273ffffffffffffffffffffffffffffffffffffffff8781166020808401919091526001838501529089166060830152608082018690524267ffffffffffffffff811660a084015260008581529182905292902081519394509192909190819061080f9082610f19565b50602082015160018201805460408086015160ff1674010000000000000000000000000000000000000000027fffffffffffffffffffffff00000000000000000000000000000000000000000090921673ffffffffffffffffffffffffffffffffffffffff948516179190911790915560608401516002840180549184167fffffffffffffffffffffffff0000000000000000000000000000000000000000929092169190911790556080840151600384015560a0909301516004909201805467ffffffffffffffff9093167fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909316929092179091559051868216918816907f964ceb922535d169779e716f1dea5a577aeef2427e753bdb9eace345bca56b929061094090869089908990611033565b60405180910390a350949350505050565b6040805160c081018252606080825260006020830181905292820183905281018290526080810182905260a081019190915260008281526020819052604090819020815160c081019092528054829082906109ab90610e77565b80601f01602080910402602001604051908101604052809291908181526020018280546109d790610e77565b8015610a245780601f106109f957610100808354040283529160200191610a24565b820191906000526020600020905b815481529060010190602001808311610a0757829003601f168201915b5050509183525050600182015473ffffffffffffffffffffffffffffffffffffffff80821660208401527401000000000000000000000000000000000000000090910460ff16604083015260028301541660608201526003820154608082015260049091015467ffffffffffffffff1660a09091015292915050565b60008281526020818152604091829020600101805460ff858116740100000000000000000000000000000000000000008181027fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff8516179094558551939092041680835292820152849283917fd98efe2dd5b76c52df27ca251c889b2339e9f49fdd2e02e72abbae1136a1f014910160405180910390a250505050565b73ffffffffffffffffffffffffffffffffffffffff81168114610b5f57600080fd5b50565b60008060408385031215610b7557600080fd5b823591506020830135610b8781610b3d565b809150509250929050565b600060208284031215610ba457600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060008060808587031215610bf057600080fd5b8435610bfb81610b3d565b93506020850135610c0b81610b3d565b9250604085013567ffffffffffffffff80821115610c2857600080fd5b818701915087601f830112610c3c57600080fd5b813581811115610c4e57610c4e610bab565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715610c9457610c94610bab565b816040528281528a6020848701011115610cad57600080fd5b826020860160208301376000928101602001929092525095989497509495606001359450505050565b6000815180845260005b81811015610cfc57602081850181015186830182015201610ce0565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081526000825160c06020840152610d5660e0840182610cd6565b9050602084015173ffffffffffffffffffffffffffffffffffffffff808216604086015260ff60408701511660608601528060608701511660808601525050608084015160a084015267ffffffffffffffff60a08501511660c08401528091505092915050565b60008060408385031215610dd057600080fd5b82359150602083013560ff81168114610b8757600080fd5b6020815260006105166020830184610cd6565b600060208284031215610e0d57600080fd5b815161051681610b3d565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610e70577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b600181811c90821680610e8b57607f821691505b602082108103610ec4577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f821115610f1457600081815260208120601f850160051c81016020861015610ef15750805b601f850160051c820191505b81811015610f1057828155600101610efd565b5050505b505050565b815167ffffffffffffffff811115610f3357610f33610bab565b610f4781610f418454610e77565b84610eca565b602080601f831160018114610f9a5760008415610f645750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610f10565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015610fe757888601518255948401946001909101908401610fc8565b508582101561102357878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b83815260606020820152600061104c6060830185610cd6565b905082604083015294935050505056fea26469706673582212206759a7cfd471cb174f63e8a93a86f039d8968418e57264c2bc8e8fae94ff11fd64736f6c63430008130033000000000000000000000000edbd4907a7f98de932e635e9076b4e0c36d0e797", + "nonce": "0x5ff", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x576f73c4d6629a4135060cf2cf6c6141e13297b7c25bc3e386ab7c1dcef25164", + "transactionType": "CREATE", + "contractName": "LicenseRegistry", + "contractAddress": "0xCD28eb9D0D2AFcf4354F2c93dE5ce9Bbf88257ae", + "function": null, + "arguments": [ + "0xaD2377c8f9f0ca6382fEf166b08aeDe8318fE49C", + "0xedBd4907A7F98de932e635e9076B4E0C36D0E797", + "0xA30bB959Bc298e244aCE0402B5c0609CC8745134" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x3d645a", + "value": "0x0", + "data": "0x60e06040523480156200001157600080fd5b50604051620039d0380380620039d0833981016040819052620000349162000160565b6040518060400160405280601a81526020017f53746f72792050726f746f636f6c204c6963656e7365204e4654000000000000815250604051806040016040528060048152602001631313919560e21b81525081600090816200009891906200024f565b506001620000a782826200024f565b5050506001600160a01b038316620000d25760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b038084166080528216620001005760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0380831660a05281166200012e5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b031660c052506200031b9050565b80516001600160a01b03811681146200015b57600080fd5b919050565b6000806000606084860312156200017657600080fd5b620001818462000143565b9250620001916020850162000143565b9150620001a16040850162000143565b90509250925092565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620001d557607f821691505b602082108103620001f657634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200024a57600081815260208120601f850160051c81016020861015620002255750805b601f850160051c820191505b81811015620002465782815560010162000231565b5050505b505050565b81516001600160401b038111156200026b576200026b620001aa565b62000283816200027c8454620001c0565b84620001fc565b602080601f831160018114620002bb5760008415620002a25750858301515b600019600386901b1c1916600185901b17855562000246565b600085815260208120601f198616915b82811015620002ec57888601518255948401946001909101908401620002cb565b50858210156200030b5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60805160a05160c0516136626200036e600039600061043201526000818161048701528181610ad80152818161104c01528181611278015261165701526000818161053201526121a801526136626000f3fe608060405234801561001057600080fd5b506004361061020b5760003560e01c806370a082311161012a578063c87b56dd116100bd578063d7f9ab8b1161008c578063e58efef611610071578063e58efef61461058a578063e705c2b8146105c3578063e985e9c5146105d657600080fd5b8063d7f9ab8b14610554578063e006e5a71461057757600080fd5b8063c87b56dd146104bc578063c8c0eb87146104dd578063d09d894e1461051a578063d2faf8b01461052d57600080fd5b8063a22cb465116100f9578063a22cb4651461045c578063b88d4fde1461046f578063b95ddb5214610482578063c7647215146104a957600080fd5b806370a082311461040757806371e074dd1461041a57806376a4b13b1461042d57806395d89b411461045457600080fd5b8063357a595a116101a2578063439d4b5c11610171578063439d4b5c1461039057806356227341146103a35780636103b2ce146103d45780636352211e146103f457600080fd5b8063357a595a1461031957806337f8ebfb1461032c5780633c06e1dc1461035557806342842e0e1461037d57600080fd5b806308a4f072116101de57806308a4f072146102be578063095ea7b3146102de5780631f09e4e5146102f357806323b872dd1461030657600080fd5b806301ffc9a714610210578063056569af1461023857806306fdde0314610296578063081812fc146102ab575b600080fd5b61022361021e3660046129dd565b61061f565b60405190151581526020015b60405180910390f35b610271610246366004612a01565b60009081526006602052604090206001015473ffffffffffffffffffffffffffffffffffffffff1690565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161022f565b61029e610704565b60405161022f9190612a7e565b6102716102b9366004612a01565b610796565b6102d16102cc366004612a01565b6107ca565b60405161022f9190612a91565b6102f16102ec366004612b4c565b6108d8565b005b6102f1610301366004612b76565b610a69565b6102f1610314366004612ba2565b610b93565b6102f1610327366004612a01565b610c34565b61022361033a366004612a01565b60009081526006602052604090205462010000900460ff1690565b610223610363366004612a01565b600090815260066020526040902054610100900460ff1690565b6102f161038b366004612ba2565b610c41565b6102f161039e366004612a01565b610c5c565b6103c66103b1366004612a01565b60009081526006602052604090206005015490565b60405190815260200161022f565b6103e76103e2366004612a01565b610d21565b60405161022f9190612c0d565b610271610402366004612a01565b610e81565b6103c6610415366004612d16565b610f0d565b6102f1610428366004612d31565b610fdb565b6102717f000000000000000000000000000000000000000000000000000000000000000081565b61029e611144565b6102f161046a366004612d6c565b611153565b6102f161047d366004612efc565b61115e565b6102717f000000000000000000000000000000000000000000000000000000000000000081565b6103c66104b736600461306e565b611206565b61029e6104ca366004612a01565b5060408051602081019091526000815290565b6102716104eb366004612a01565b6000908152600660205260409020546301000000900473ffffffffffffffffffffffffffffffffffffffff1690565b6103c6610528366004613162565b6115e5565b6102717f000000000000000000000000000000000000000000000000000000000000000081565b6103c6610562366004612a01565b60009081526006602052604090206004015490565b610271610585366004612a01565b611a36565b610271610598366004612a01565b60009081526006602052604090206002015473ffffffffffffffffffffffffffffffffffffffff1690565b6102236105d1366004612a01565b611a41565b6102236105e43660046131a6565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260056020908152604080832093909416825291909152205460ff1690565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd0000000000000000000000000000000000000000000000000000000014806106b257507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b806106fe57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b606060008054610713906131d0565b80601f016020809104026020016040519081016040528092919081815260200182805461073f906131d0565b801561078c5780601f106107615761010080835404028352916020019161078c565b820191906000526020600020905b81548152906001019060200180831161076f57829003601f168201915b5050505050905090565b60006107a182611b05565b5060009081526004602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b606060076000838152602001908152602001600020805480602002602001604051908101604052809291908181526020016000905b828210156108cd57838290600052602060002090600202016040518060400160405290816000820154815260200160018201805461083c906131d0565b80601f0160208091040260200160405190810160405280929190818152602001828054610868906131d0565b80156108b55780601f1061088a576101008083540402835291602001916108b5565b820191906000526020600020905b81548152906001019060200180831161089857829003601f168201915b505050505081525050815260200190600101906107ff565b505050509050919050565b60006108e382610e81565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036109a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff821614806109ce57506109ce81336105e4565b610a5a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000606482015260840161099c565b610a648383611b90565b505050565b604080518082018252601081527f4c4943454e53494e475f4d4f44554c4500000000000000000000000000000000602082015290517f3af83c1800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001691633af83c1891610b0e91903390600401613223565b602060405180830381865afa158015610b2b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4f919061325b565b610b85576040517f039cb0ee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b8f8282611c30565b5050565b610b9d3382611d7f565b610c29576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f76656400000000000000000000000000000000000000606482015260840161099c565b610a64838383611e3e565b610c3e8133611c30565b50565b610a648383836040518060200160405280600081525061115e565b6000818152600660205260409020546301000000900473ffffffffffffffffffffffffffffffffffffffff163314610cc0576040517f95e4a90e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008181526006602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660031790555182917ff8ecc300d4504a2b49692052f138b7e697df679cf0580522720ce405bd01be5591a250565b6040805161012081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810191909152600082815260066020526040812090815460ff166003811115610d8f57610d8f612bde565b03610dc6576040517fc28093d700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408051610120810190915281548290829060ff166003811115610dec57610dec612bde565b6003811115610dfd57610dfd612bde565b8152815461010080820460ff908116151560208501526201000083041615156040840152630100000090910473ffffffffffffffffffffffffffffffffffffffff908116606084015260018401548116608084015260028401541660a0830152600383015460c0830152600483015460e08301526005909201549101529392505050565b60008181526002602052604081205473ffffffffffffffffffffffffffffffffffffffff16806106fe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e2049440000000000000000604482015260640161099c565b600073ffffffffffffffffffffffffffffffffffffffff8216610fb2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e65720000000000000000000000000000000000000000000000606482015260840161099c565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526003602052604090205490565b604080518082018252601081527f4c4943454e53494e475f4d4f44554c4500000000000000000000000000000000602082015290517f3af83c18000000000000000000000000000000000000000000000000000000008152839173ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001691633af83c1891611081913390600401613223565b602060405180830381865afa15801561109e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110c2919061325b565b15801561110357506110d381610e81565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b1561113a576040517fc1b4742400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a648383612139565b606060018054610713906131d0565b610b8f3383836122f0565b6111683383611d7f565b6111f4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f76656400000000000000000000000000000000000000606482015260840161099c565b6112008484848461241d565b50505050565b604080518082018252601081527f4c4943454e53494e475f4d4f44554c4500000000000000000000000000000000602082015290517f3af83c1800000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001691633af83c18916112ad913390600401613223565b602060405180830381865afa1580156112ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112ee919061325b565b611324576040517f039cb0ee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8351600181600381111561133a5761133a612bde565b1415801561135a5750600281600381111561135757611357612bde565b14155b15611391576040517f92439ccc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006008600081546113a290613278565b9182905550600081815260066020526040902087518154929350889282907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660018360038111156113f6576113f6612bde565b02179055506020820151815460408085015160608601517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000ff90931661010094151585027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff16176201000091151591909102177fffffffffffffffffff0000000000000000000000000000000000000000ffffff16630100000073ffffffffffffffffffffffffffffffffffffffff9384160217845560808501516001850180547fffffffffffffffffffffffff000000000000000000000000000000000000000090811692851692909217905560a086015160028601805490921693169290921790915560c0840151600384015560e084015160048401559201516005909101555181907ffa538431a8d5829af24905451de4c43e40cc50ea0716dac651047b78e3d6f02b90611547908990612c0d565b60405180910390a261155985826124c0565b83516000828152600760205260408120905b828110156115d85781878281518110611586576115866132d7565b60209081029190910181015182546001818101855560009485529383902082516002909202019081559181015190928201906115c29082613354565b50505080806115d090613278565b91505061156b565b5091979650505050505050565b604080518082018252601081527f4c4943454e53494e475f4d4f44554c4500000000000000000000000000000000602082015290517f3af83c1800000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001691633af83c189161168c913390600401613223565b602060405180830381865afa1580156116a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116cd919061325b565b611703576040517f039cb0ee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61170c85611a41565b611742576040517f72b0a52c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600085815260066020526040808220815161012081019092528054829060ff16600381111561177357611773612bde565b600381111561178457611784612bde565b8152815461010080820460ff908116151560208501526201000083041615156040840152630100000090910473ffffffffffffffffffffffffffffffffffffffff908116606084015260018401548116608084015260028401541660a0830152600383015460c0830152600483015460e083015260059092015491015260088054919250600091829061181690613278565b9182905550610100830188905273ffffffffffffffffffffffffffffffffffffffff8716608084015260e0830185905260408301519091501561185857600282525b6000878152600760205260408082208383529120815461187892906128d5565b506000818152600660205260409020825181548492919082907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660018360038111156118c7576118c7612bde565b02179055506020820151815460408085015160608601517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000ff90931661010094151585027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff16176201000091151591909102177fffffffffffffffffff0000000000000000000000000000000000000000ffffff16630100000073ffffffffffffffffffffffffffffffffffffffff9384160217845560808501516001850180547fffffffffffffffffffffffff000000000000000000000000000000000000000090811692851692909217905560a086015160028601805490921693169290921790915560c0840151600384015560e084015160048401559201516005909101555181907ffa538431a8d5829af24905451de4c43e40cc50ea0716dac651047b78e3d6f02b90611a18908590612c0d565b60405180910390a2611a2a85826124c0565b9150505b949350505050565b60006106fe82610e81565b600081600003611a5357506000919050565b8115611afd57600260008381526006602052604090205460ff166003811115611a7e57611a7e612bde565b1480611aaa575060008281526006602052604081205460ff166003811115611aa857611aa8612bde565b145b80611ad75750600360008381526006602052604090205460ff166003811115611ad557611ad5612bde565b145b15611ae457506000919050565b6000918252600660205260409091206005015490611a53565b506001919050565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff16610c3e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e2049440000000000000000604482015260640161099c565b600081815260046020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091558190611bea82610e81565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000828152600660205260409020600181015473ffffffffffffffffffffffffffffffffffffffff838116911614611c94576040517f54c26a8800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002815460ff166003811115611cac57611cac612bde565b14611ce3576040517ff40190f500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611cf08160050154611a41565b611d26576040517f72b0a52c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117815560405183907fa3ada00687872cb827044ee48684890eeb5caffc2d7abf015ea327c7d7d06b8490600090a2505050565b600080611d8b83610e81565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611df9575073ffffffffffffffffffffffffffffffffffffffff80821660009081526005602090815260408083209388168352929052205460ff165b80611a2e57508373ffffffffffffffffffffffffffffffffffffffff16611e1f84610796565b73ffffffffffffffffffffffffffffffffffffffff1614949350505050565b8273ffffffffffffffffffffffffffffffffffffffff16611e5e82610e81565b73ffffffffffffffffffffffffffffffffffffffff1614611f01576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e6572000000000000000000000000000000000000000000000000000000606482015260840161099c565b73ffffffffffffffffffffffffffffffffffffffff8216611fa3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161099c565b8273ffffffffffffffffffffffffffffffffffffffff16611fc382610e81565b73ffffffffffffffffffffffffffffffffffffffff1614612066576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e6572000000000000000000000000000000000000000000000000000000606482015260840161099c565b600081815260046020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff8781168086526003855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b8161214381611a41565b612179576040517fa15e441100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f42d21ef7000000000000000000000000000000000000000000000000000000008152600481018390527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906342d21ef790602401602060405180830381865afa158015612204573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612228919061346e565b60ff16600114612264576040517f32a7f99e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600083815260066020526040902060040154156122ad576040517fed035e9700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008381526006602052604080822060040184905551839185917f9d2bbd85f58e2a13e5a13a8d77b039e02a44b601338e36691ab827a547b2353e9190a3505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612385576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161099c565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526005602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b612428848484611e3e565b612434848484846126e5565b611200576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e7465720000000000000000000000000000606482015260840161099c565b73ffffffffffffffffffffffffffffffffffffffff821661253d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161099c565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff16156125c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161099c565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1615612655576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161099c565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260036020908152604080832080546001019055848352600290915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b600073ffffffffffffffffffffffffffffffffffffffff84163b156128cd576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a029061275c903390899088908890600401613491565b6020604051808303816000875af19250505080156127b5575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526127b2918101906134da565b60015b612882573d8080156127e3576040519150601f19603f3d011682016040523d82523d6000602084013e6127e8565b606091505b50805160000361287a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e7465720000000000000000000000000000606482015260840161099c565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050611a2e565b506001611a2e565b8280548282559060005260206000209060020281019282156129325760005260206000209160020282015b8281111561293257825482558282600180820190612920908401826134f7565b50505091600201919060020190612900565b5061293e929150612942565b5090565b8082111561293e57600080825561295c6001830182612965565b50600201612942565b508054612971906131d0565b6000825580601f10612981575050565b601f016020900490600052602060002090810190610c3e91905b8082111561293e576000815560010161299b565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610c3e57600080fd5b6000602082840312156129ef57600080fd5b81356129fa816129af565b9392505050565b600060208284031215612a1357600080fd5b5035919050565b6000815180845260005b81811015612a4057602081850181015186830182015201612a24565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b6020815260006129fa6020830184612a1a565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015612b15578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0018552815180518452870151878401879052612b0287850182612a1a565b9588019593505090860190600101612ab8565b509098975050505050505050565b803573ffffffffffffffffffffffffffffffffffffffff81168114612b4757600080fd5b919050565b60008060408385031215612b5f57600080fd5b612b6883612b23565b946020939093013593505050565b60008060408385031215612b8957600080fd5b82359150612b9960208401612b23565b90509250929050565b600080600060608486031215612bb757600080fd5b612bc084612b23565b9250612bce60208501612b23565b9150604084013590509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b815161012082019060048110612c4c577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b808352506020830151612c63602084018215159052565b506040830151612c77604084018215159052565b506060830151612c9f606084018273ffffffffffffffffffffffffffffffffffffffff169052565b506080830151612cc7608084018273ffffffffffffffffffffffffffffffffffffffff169052565b5060a0830151612cef60a084018273ffffffffffffffffffffffffffffffffffffffff169052565b5060c083015160c083015260e083015160e083015261010080840151818401525092915050565b600060208284031215612d2857600080fd5b6129fa82612b23565b60008060408385031215612d4457600080fd5b50508035926020909101359150565b8015158114610c3e57600080fd5b8035612b4781612d53565b60008060408385031215612d7f57600080fd5b612d8883612b23565b91506020830135612d9881612d53565b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715612df557612df5612da3565b60405290565b604051610120810167ffffffffffffffff81118282101715612df557612df5612da3565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715612e6657612e66612da3565b604052919050565b600082601f830112612e7f57600080fd5b813567ffffffffffffffff811115612e9957612e99612da3565b612eca60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601612e1f565b818152846020838601011115612edf57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060808587031215612f1257600080fd5b612f1b85612b23565b9350612f2960208601612b23565b925060408501359150606085013567ffffffffffffffff811115612f4c57600080fd5b612f5887828801612e6e565b91505092959194509250565b803560048110612b4757600080fd5b600082601f830112612f8457600080fd5b8135602067ffffffffffffffff80831115612fa157612fa1612da3565b8260051b612fb0838201612e1f565b9384528581018301938381019088861115612fca57600080fd5b84880192505b8583101561306257823584811115612fe85760008081fd5b88016040818b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00181131561301e5760008081fd5b613026612dd2565b82880135815290820135908682111561303f5760008081fd5b61304d8c8984860101612e6e565b81890152845250509184019190840190612fd0565b98975050505050505050565b600080600083850361016081121561308557600080fd5b6101208082121561309557600080fd5b61309d612dfb565b91506130a886612f64565b82526130b660208701612d61565b60208301526130c760408701612d61565b60408301526130d860608701612b23565b60608301526130e960808701612b23565b60808301526130fa60a08701612b23565b60a083015260c086013560c083015260e086013560e083015261010080870135818401525081945061312d818701612b23565b9350505061014084013567ffffffffffffffff81111561314c57600080fd5b61315886828701612f73565b9150509250925092565b6000806000806080858703121561317857600080fd5b8435935061318860208601612b23565b925061319660408601612b23565b9396929550929360600135925050565b600080604083850312156131b957600080fd5b6131c283612b23565b9150612b9960208401612b23565b600181811c908216806131e457607f821691505b60208210810361321d577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b6040815260006132366040830185612a1a565b905073ffffffffffffffffffffffffffffffffffffffff831660208301529392505050565b60006020828403121561326d57600080fd5b81516129fa81612d53565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036132d0577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b601f821115610a6457600081815260208120601f850160051c8101602086101561332d5750805b601f850160051c820191505b8181101561334c57828155600101613339565b505050505050565b815167ffffffffffffffff81111561336e5761336e612da3565b6133828161337c84546131d0565b84613306565b602080601f8311600181146133d5576000841561339f5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b17855561334c565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b8281101561342257888601518255948401946001909101908401613403565b508582101561345e57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121561348057600080fd5b815160ff811681146129fa57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250836040830152608060608301526134d06080830184612a1a565b9695505050505050565b6000602082840312156134ec57600080fd5b81516129fa816129af565b818103613502575050565b61350c82546131d0565b67ffffffffffffffff81111561352457613524612da3565b6135328161337c84546131d0565b6000601f821160018114613584576000831561354e5750848201545b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600385901b1c1916600184901b178455613625565b6000858152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0841690600086815260209020845b838110156135dc57828601548255600195860195909101906020016135bc565b508583101561361857818501547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b50505060018360011b0184555b505050505056fea2646970667358221220558549297c9dd36c91b46154bd5f4bf90f2c9d86f8f2a5fd6a33d4ff94f4785464736f6c63430008130033000000000000000000000000ad2377c8f9f0ca6382fef166b08aede8318fe49c000000000000000000000000edbd4907a7f98de932e635e9076b4e0c36d0e797000000000000000000000000a30bb959bc298e244ace0402b5c0609cc8745134", + "nonce": "0x600", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x4121adb96d0f4aecacb104198678db90f838be01f174a0a26fe2049d575a041d", + "transactionType": "CREATE", + "contractName": "IPOrgController", + "contractAddress": "0xdc4A589eB82A7a7dDF026F3713da3338cFa59465", + "function": null, + "arguments": [ + "0xedBd4907A7F98de932e635e9076B4E0C36D0E797" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x5e864f", + "value": "0x0", + "data": "0x60c0604052306080523480156200001557600080fd5b50604051620056d6380380620056d683398101604081905262000038916200004a565b6001600160a01b031660a0526200007c565b6000602082840312156200005d57600080fd5b81516001600160a01b03811681146200007557600080fd5b9392505050565b60805160a05161560a620000cc6000396000818161028b01528181610e88015261121b0152600081816106ae01528181610760015281816108bc0152818161096e0152610abe015261560a6000f3fe608060405260043610620000fb5760003560e01c806398e8e6ea1162000095578063caae51b81162000060578063caae51b814620002d2578063d8b67cc214620002f7578063eb3dcb7c146200031c578063fc1dad81146200035257600080fd5b806398e8e6ea146200022d578063a0f336f81462000252578063b95ddb521462000277578063c4d66de814620002ad57600080fd5b80633659cfe611620000d65780633659cfe6146200019b57806349403c8e14620001c05780634f1ef28614620001ef57806352d1902d146200020657600080fd5b806314afd79e146200010057806319129e5a146200014f57806331678cf61462000176575b600080fd5b3480156200010d57600080fd5b50620001256200011f366004620021c5565b6200039e565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b3480156200015c57600080fd5b50620001746200016e366004620021c5565b620003cf565b005b3480156200018357600080fd5b506200017462000195366004620021e3565b6200055b565b348015620001a857600080fd5b5062000174620001ba366004620021c5565b62000697565b348015620001cd57600080fd5b50606554620001259073ffffffffffffffffffffffffffffffffffffffff1681565b6200017462000200366004620022e5565b620008a5565b3480156200021357600080fd5b506200021e62000aa4565b60405190815260200162000146565b3480156200023a57600080fd5b50620001256200024c366004620023cc565b62000b92565b3480156200025f57600080fd5b506200017462000271366004620021c5565b62000f81565b3480156200028457600080fd5b50620001257f000000000000000000000000000000000000000000000000000000000000000081565b348015620002ba57600080fd5b5062000174620002cc366004620021c5565b620010ee565b348015620002df57600080fd5b5062000125620002f1366004620021c5565b6200134c565b3480156200030457600080fd5b506200017462000316366004620021c5565b6200137b565b3480156200032957600080fd5b50620003416200033b366004620021c5565b620014aa565b604051901515815260200162000146565b3480156200035f57600080fd5b507f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b65473ffffffffffffffffffffffffffffffffffffffff1662000125565b600080620003ac83620014e7565b54610100900473ffffffffffffffffffffffffffffffffffffffff169392505050565b6000620003dd813362001561565b62000422576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b6200046473ffffffffffffffffffffffffffffffffffffffff83167f7965db0b000000000000000000000000000000000000000000000000000000006200162e565b620004cc576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c000000000000000000000000000000000000604482015260640162000419565b7f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811782556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a2505050565b60006200056883620014e7565b8054909150610100900473ffffffffffffffffffffffffffffffffffffffff163314620005c1576040517f14d325a600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff82166200060f576040517f19f28cd700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84811691821790925560408051928616835260208301919091527f9d1eed91033af603ca90974d7f9dcffdc1a38de6e354262a1cd59243e6997f6091015b60405180910390a1505050565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630036200075e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c0000000000000000000000000000000000000000606482015260840162000419565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16620007d47f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff161462000879576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f78790000000000000000000000000000000000000000606482015260840162000419565b620008848162001656565b60408051600080825260208201909252620008a291839190620016c4565b50565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630036200096c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c0000000000000000000000000000000000000000606482015260840162000419565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16620009e27f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff161462000a87576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f78790000000000000000000000000000000000000000606482015260840162000419565b62000a928262001656565b62000aa082826001620016c4565b5050565b60003073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161462000b6d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c0000000000000000606482015260840162000419565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b600073ffffffffffffffffffffffffffffffffffffffff881662000be2576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60655462000c069073ffffffffffffffffffffffffffffffffffffffff16620018d4565b6040517f4cd88b7600000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff821690634cd88b769062000c63908a908a908a908a90600401620024fd565b600060405180830381600087803b15801562000c7e57600080fd5b505af115801562000c93573d6000803e3d6000fd5b50505050600062000ca36200199e565b60408051606081018252600180825273ffffffffffffffffffffffffffffffffffffffff8d8116602080850191825260008587018181528a851682528883528782209651875494517fffffffffffffffffffffff0000000000000000000000000000000000000000009095169015157fffffffffffffffffffffff0000000000000000000000000000000000000000ff16176101009486169490940293909317865591519490930180547fffffffffffffffffffffffff000000000000000000000000000000000000000016949092169390931790559151929350917f9aeb830ec91a14c97a5446cc7c86a42f73a78f37f9a77afa238b5d11520ddfbc9162000db1918891889101620025df565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905262000def929160200162002667565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181528282018252601383527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602084015290517fe1fc45ce00000000000000000000000000000000000000000000000000000000815290925073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163e1fc45ce9162000ec4918791309190879060040162002682565b6000604051808303816000875af115801562000ee4573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405262000f2c9190810190620026d1565b507f81e084d978860accc83df39f75b801d9019e40d18643b9b39f4cd2a70ca35adb8a848b8b8b8b8b8b60405162000f6c98979695949392919062002751565b60405180910390a15050979650505050505050565b600062000f8e82620014e7565b600181015490915073ffffffffffffffffffffffffffffffffffffffff16331462000fe5576040517f14d325a600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80546001820180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055336101009081027fffffffffffffffffffffff0000000000000000000000000000000000000000ff83161783556040805173ffffffffffffffffffffffffffffffffffffffff86811682526000602083015292909304909116917f9d1eed91033af603ca90974d7f9dcffdc1a38de6e354262a1cd59243e6997f60910160405180910390a16040805173ffffffffffffffffffffffffffffffffffffffff80861682528316602082015233918101919091527fa32ba34dcc7e0ace14cb99fb86f246e799dc1c9f82f03fc23290320b958e4af7906060016200068a565b600054610100900460ff16158080156200110f5750600054600160ff909116105b806200112b5750303b1580156200112b575060005460ff166001145b620011b9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840162000419565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156200121857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b307f0000000000000000000000000000000000000000000000000000000000000000604051620012489062002192565b73ffffffffffffffffffffffffffffffffffffffff928316815291166020820152604001604051809103906000f08015801562001289573d6000803e3d6000fd5b50606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055620012d9620019ce565b620012e48262001a69565b801562000aa057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15050565b6000806200135a83620014e7565b6001015473ffffffffffffffffffffffffffffffffffffffff169392505050565b60006200138882620014e7565b8054909150610100900473ffffffffffffffffffffffffffffffffffffffff163314620013e1576040517f14d325a600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600181015473ffffffffffffffffffffffffffffffffffffffff1662001433576040517f82fcfdf400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001690556040805173ffffffffffffffffffffffffffffffffffffffff84168152600060208201527f9d1eed91033af603ca90974d7f9dcffdc1a38de6e354262a1cd59243e6997f60910162001340565b600080620014b76200199e565b73ffffffffffffffffffffffffffffffffffffffff90931660009081526020939093525050604090205460ff1690565b600080620014f46200199e565b73ffffffffffffffffffffffffffffffffffffffff84166000908152602082905260409020805490935090915060ff166200155b576040517ff8e2020300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50919050565b6000807f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810187905273ffffffffffffffffffffffffffffffffffffffff86811660248301529293509116906391d1485490604401602060405180830381865afa158015620015fe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620016249190620027c8565b9150505b92915050565b60006200163b8362001d29565b80156200164f57506200164f838362001d92565b9392505050565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e362001683813362001561565b62000aa0576040517f75000dc00000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440162000419565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615620016ff57620016fa8362001e63565b505050565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562001787575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526200178491810190620027ec565b60015b62001815576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f742055555053000000000000000000000000000000000000606482015260840162000419565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114620018c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c65555549440000000000000000000000000000000000000000000000606482015260840162000419565b50620016fa83838362001f6f565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008260601b60e81c176000526e5af43d82803e903d91602b57fd5bf38260781b17602052603760096000f0905073ffffffffffffffffffffffffffffffffffffffff811662001999576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f455243313136373a20637265617465206661696c656400000000000000000000604482015260640162000419565b919050565b6000806200162860017f8d6a35d81367c6224789d71f67c0286162ba180a6bdb769f04c214735cdb8ce162002806565b600054610100900460ff1662001a67576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840162000419565b565b600054610100900460ff161580801562001a8a5750600054600160ff909116105b8062001aa65750303b15801562001aa6575060005460ff166001145b62001b34576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840162000419565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801562001b9357600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b62001bd573ffffffffffffffffffffffffffffffffffffffff83167f7965db0b000000000000000000000000000000000000000000000000000000006200162e565b62001c3d576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c000000000000000000000000000000000000604482015260640162000419565b7f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811782556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a250801562000aa057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200162001340565b600062001d57827f01ffc9a70000000000000000000000000000000000000000000000000000000062001d92565b801562001628575062001d8b827fffffffff0000000000000000000000000000000000000000000000000000000062001d92565b1592915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d9150600051905082801562001e4b575060208210155b801562001e585750600081115b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff81163b62001f09576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e747261637400000000000000000000000000000000000000606482015260840162000419565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b62001f7a8362001fa0565b60008251118062001f885750805b15620016fa5762001f9a838362001fef565b50505050565b62001fab8162001e63565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606200164f8383604051806060016040528060278152602001620055ae6027913960606000808573ffffffffffffffffffffffffffffffffffffffff16856040516200203d919062002841565b600060405180830381855af49150503d80600081146200207a576040519150601f19603f3d011682016040523d82523d6000602084013e6200207f565b606091505b509150915062002092868383876200209c565b9695505050505050565b60608315620021375782516000036200212f5773ffffffffffffffffffffffffffffffffffffffff85163b6200212f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640162000419565b508162002143565b6200214383836200214b565b949350505050565b8151156200215c5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200041991906200285f565b612d39806200287583390190565b803573ffffffffffffffffffffffffffffffffffffffff811681146200199957600080fd5b600060208284031215620021d857600080fd5b6200164f82620021a0565b60008060408385031215620021f757600080fd5b6200220283620021a0565b91506200221260208401620021a0565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156200229457620022946200221b565b604052919050565b600067ffffffffffffffff821115620022b957620022b96200221b565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60008060408385031215620022f957600080fd5b6200230483620021a0565b9150602083013567ffffffffffffffff8111156200232157600080fd5b8301601f810185136200233357600080fd5b80356200234a62002344826200229c565b6200224a565b8181528660208385010111156200236057600080fd5b816020840160208301376000602083830101528093505050509250929050565b60008083601f8401126200239357600080fd5b50813567ffffffffffffffff811115620023ac57600080fd5b602083019150836020828501011115620023c557600080fd5b9250929050565b60008060008060008060006080888a031215620023e857600080fd5b620023f388620021a0565b9650602088013567ffffffffffffffff808211156200241157600080fd5b6200241f8b838c0162002380565b909850965060408a01359150808211156200243957600080fd5b620024478b838c0162002380565b909650945060608a01359150808211156200246157600080fd5b818a0191508a601f8301126200247657600080fd5b8135818111156200248657600080fd5b8b60208260051b85010111156200249c57600080fd5b60208301945080935050505092959891949750929550565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60408152600062002513604083018688620024b4565b828103602084015262001e58818587620024b4565b81835260006020808501808196508560051b810191508460005b87811015620025d257828403895281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18836030181126200258357600080fd5b8701858101903567ffffffffffffffff811115620025a057600080fd5b803603821315620025b057600080fd5b620025bd868284620024b4565b9a87019a955050509084019060010162002542565b5091979650505050505050565b6020815260006200214360208301848662002528565b60005b8381101562002612578181015183820152602001620025f8565b50506000910152565b6000815180845262002635816020860160208601620025f5565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b8281526040602082015260006200214360408301846200261b565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525060806040830152620026bd60808301856200261b565b828103606084015262001e5881856200261b565b600060208284031215620026e457600080fd5b815167ffffffffffffffff811115620026fc57600080fd5b8201601f810184136200270e57600080fd5b80516200271f62002344826200229c565b8181528560208385010111156200273557600080fd5b62002748826020830160208601620025f5565b95945050505050565b600073ffffffffffffffffffffffffffffffffffffffff808b168352808a1660208401525060a060408301526200278d60a08301888a620024b4565b8281036060840152620027a2818789620024b4565b90508281036080840152620027b981858762002528565b9b9a5050505050505050505050565b600060208284031215620027db57600080fd5b815180151581146200164f57600080fd5b600060208284031215620027ff57600080fd5b5051919050565b8181038181111562001628577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000825162002855818460208701620025f5565b9190910192915050565b6020815260006200164f60208301846200261b56fe60c06040523480156200001157600080fd5b5060405162002d3938038062002d3983398101604081905262000034916200017d565b600054610100900460ff1615808015620000555750600054600160ff909116105b80620000715750303b15801562000071575060005460ff166001145b620000d95760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b6000805460ff191660011790558015620000fd576000805461ff0019166101001790555b6001600160a01b0380841660a0528216608052801562000157576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050620001b5565b80516001600160a01b03811681146200017857600080fd5b919050565b600080604083850312156200019157600080fd5b6200019c8362000160565b9150620001ac6020840162000160565b90509250929050565b60805160a051612b2662000213600039600081816103c101528181610b0f015261107b01526000818161031101528181610784015281816108dc01528181610cb701528181610e37015281816112ac015261147e0152612b266000f3fe608060405234801561001057600080fd5b50600436106101985760003560e01c806370a08231116100e3578063c3cc244a1161008c578063e985e9c511610066578063e985e9c514610373578063ee0fc121146103bc578063f3f6f0d7146103e357600080fd5b8063c3cc244a14610333578063c87b56dd14610358578063e8a3d4851461036b57600080fd5b8063a22cb465116100bd578063a22cb465146102e6578063b88d4fde146102f9578063b95ddb521461030c57600080fd5b806370a08231146102c35780638da5cb5b146102d657806395d89b41146102de57600080fd5b806342842e0e11610145578063626273a11161011f578063626273a11461028a5780636352211e1461029d578063691562a0146102b057600080fd5b806342842e0e1461025157806342966c68146102645780634cd88b761461027757600080fd5b8063095ea7b311610176578063095ea7b31461021257806318160ddd1461022757806323b872dd1461023e57600080fd5b806301ffc9a71461019d57806306fdde03146101c5578063081812fc146101da575b600080fd5b6101b06101ab36600461235b565b6103ec565b60405190151581526020015b60405180910390f35b6101cd6104d1565b6040516101bc91906123e6565b6101ed6101e83660046123f9565b610563565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101bc565b610225610220366004612434565b610597565b005b61023060985481565b6040519081526020016101bc565b61022561024c366004612460565b610728565b61022561025f366004612460565b610865565b6102256102723660046123f9565b610880565b6102256102853660046124ea565b6109d3565b6102306102983660046123f9565b610c43565b6101ed6102ab3660046123f9565b610dcd565b6102306102be366004612556565b610dd8565b6102306102d1366004612595565b610f7c565b6101ed61104a565b6101cd611100565b6102256102f43660046125b2565b61110f565b6102256103073660046126a9565b61111e565b6101ed7f000000000000000000000000000000000000000000000000000000000000000081565b6103466103413660046123f9565b6111c6565b60405160ff90911681526020016101bc565b6101cd6103663660046123f9565b611237565b6101cd611409565b6101b0610381366004612758565b73ffffffffffffffffffffffffffffffffffffffff9182166000908152606a6020908152604080832093909416825291909152205460ff1690565b6101ed7f000000000000000000000000000000000000000000000000000000000000000081565b61023060975481565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061047f57507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b806104cb57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6060606580546104e090612786565b80601f016020809104026020016040519081016040528092919081815260200182805461050c90612786565b80156105595780601f1061052e57610100808354040283529160200191610559565b820191906000526020600020905b81548152906001019060200180831161053c57829003601f168201915b5050505050905090565b600061056e826115aa565b5060009081526069602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60006105a282611635565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610664576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff8216148061068d575061068d8133610381565b610719576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000606482015260840161065b565b61072383836116c1565b505050565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815233917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a916107cc916004016123e6565b602060405180830381865afa1580156107e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061080d91906127d9565b73ffffffffffffffffffffffffffffffffffffffff161461085a576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610723838383611761565b6107238383836040518060200160405280600081525061111e565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815233917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a91610924916004016123e6565b602060405180830381865afa158015610941573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061096591906127d9565b73ffffffffffffffffffffffffffffffffffffffff16146109b2576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b609880549060006109c283612825565b91905055506109d081611a5c565b50565b600054610100900460ff16158080156109f35750600054600160ff909116105b80610a0d5750303b158015610a0d575060005460ff166001145b610a99576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840161065b565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610af757600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610b66576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610bd985858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f89018190048102820181019092528781529250879150869081908401838280828437600092019190915250611b3492505050565b8015610c3c57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a000000000000000000000000000000000000000000000000000000008152600091829173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a91610ceb91906004016123e6565b602060405180830381865afa158015610d08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d2c91906127d9565b6040517f5f32b4300000000000000000000000000000000000000000000000000000000081523060048201526024810185905290915073ffffffffffffffffffffffffffffffffffffffff821690635f32b430906044016020604051808303816000875af1158015610da2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dc6919061285a565b9392505050565b60006104cb82611635565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260009133917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a91610e8091906004016123e6565b602060405180830381865afa158015610e9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec191906127d9565b73ffffffffffffffffffffffffffffffffffffffff1614610f0e576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60988054906000610f1e83612873565b9190505550609760008154610f3290612873565b9182905550600081815260996020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff851617905590506104cb8382611bd5565b600073ffffffffffffffffffffffffffffffffffffffff8216611021576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e65720000000000000000000000000000000000000000000000606482015260840161065b565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526068602052604090205490565b6040517f14afd79e0000000000000000000000000000000000000000000000000000000081523060048201526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906314afd79e90602401602060405180830381865afa1580156110d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110fb91906127d9565b905090565b6060606680546104e090612786565b61111a338383611dfa565b5050565b6111283383611f27565b6111b4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f76656400000000000000000000000000000000000000606482015260840161065b565b6111c084848484611fe7565b50505050565b60008181526067602052604081205473ffffffffffffffffffffffffffffffffffffffff16611221576040517f6831df8d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060009081526099602052604090205460ff1690565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260609160009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a916112e091906004016123e6565b602060405180830381865afa1580156112fd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061132191906127d9565b90508073ffffffffffffffffffffffffffffffffffffffff1663e8d72654308561134a876111c6565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815273ffffffffffffffffffffffffffffffffffffffff9093166004840152602483019190915260ff166044820152606401600060405180830381865afa1580156113c3573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610dc691908101906128ab565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260609160009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a916114b291906004016123e6565b602060405180830381865afa1580156114cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114f391906127d9565b6040517e844d1300000000000000000000000000000000000000000000000000000000815230600482015290915073ffffffffffffffffffffffffffffffffffffffff82169062844d1390602401600060405180830381865afa15801561155e573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526115a491908101906128ab565b91505090565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff166109d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e2049440000000000000000604482015260640161065b565b60008181526067602052604081205473ffffffffffffffffffffffffffffffffffffffff16806104cb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e2049440000000000000000604482015260640161065b565b600081815260696020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117909155819061171b82611635565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b8273ffffffffffffffffffffffffffffffffffffffff1661178182611635565b73ffffffffffffffffffffffffffffffffffffffff1614611824576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e6572000000000000000000000000000000000000000000000000000000606482015260840161065b565b73ffffffffffffffffffffffffffffffffffffffff82166118c6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161065b565b8273ffffffffffffffffffffffffffffffffffffffff166118e682611635565b73ffffffffffffffffffffffffffffffffffffffff1614611989576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e6572000000000000000000000000000000000000000000000000000000606482015260840161065b565b600081815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff8781168086526068855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905590871680865283862080546001019055868652606790945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6000611a6782611635565b9050611a7282611635565b600083815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff85168085526068845282852080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190558785526067909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b600054610100900460ff16611bcb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161065b565b61111a828261208a565b73ffffffffffffffffffffffffffffffffffffffff8216611c52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161065b565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff1615611cde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161065b565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff1615611d6a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161065b565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260686020908152604080832080546001019055848352606790915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611e8f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161065b565b73ffffffffffffffffffffffffffffffffffffffff8381166000818152606a602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b600080611f3383611635565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611fa1575073ffffffffffffffffffffffffffffffffffffffff8082166000908152606a602090815260408083209388168352929052205460ff165b80611fdf57508373ffffffffffffffffffffffffffffffffffffffff16611fc784610563565b73ffffffffffffffffffffffffffffffffffffffff16145b949350505050565b611ff2848484611761565b611ffe8484848461213a565b6111c0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e7465720000000000000000000000000000606482015260840161065b565b600054610100900460ff16612121576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161065b565b606561212d8382612970565b5060666107238282612970565b600073ffffffffffffffffffffffffffffffffffffffff84163b15612322576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a02906121b1903390899088908890600401612a8a565b6020604051808303816000875af192505050801561220a575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261220791810190612ad3565b60015b6122d7573d808015612238576040519150601f19603f3d011682016040523d82523d6000602084013e61223d565b606091505b5080516000036122cf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e7465720000000000000000000000000000606482015260840161065b565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050611fdf565b506001949350505050565b7fffffffff00000000000000000000000000000000000000000000000000000000811681146109d057600080fd5b60006020828403121561236d57600080fd5b8135610dc68161232d565b60005b8381101561239357818101518382015260200161237b565b50506000910152565b600081518084526123b4816020860160208601612378565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610dc6602083018461239c565b60006020828403121561240b57600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff811681146109d057600080fd5b6000806040838503121561244757600080fd5b823561245281612412565b946020939093013593505050565b60008060006060848603121561247557600080fd5b833561248081612412565b9250602084013561249081612412565b929592945050506040919091013590565b60008083601f8401126124b357600080fd5b50813567ffffffffffffffff8111156124cb57600080fd5b6020830191508360208285010111156124e357600080fd5b9250929050565b6000806000806040858703121561250057600080fd5b843567ffffffffffffffff8082111561251857600080fd5b612524888389016124a1565b9096509450602087013591508082111561253d57600080fd5b5061254a878288016124a1565b95989497509550505050565b6000806040838503121561256957600080fd5b823561257481612412565b9150602083013560ff8116811461258a57600080fd5b809150509250929050565b6000602082840312156125a757600080fd5b8135610dc681612412565b600080604083850312156125c557600080fd5b82356125d081612412565b91506020830135801515811461258a57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561265b5761265b6125e5565b604052919050565b600067ffffffffffffffff82111561267d5761267d6125e5565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600080600080608085870312156126bf57600080fd5b84356126ca81612412565b935060208501356126da81612412565b925060408501359150606085013567ffffffffffffffff8111156126fd57600080fd5b8501601f8101871361270e57600080fd5b803561272161271c82612663565b612614565b81815288602083850101111561273657600080fd5b8160208401602083013760006020838301015280935050505092959194509250565b6000806040838503121561276b57600080fd5b823561277681612412565b9150602083013561258a81612412565b600181811c9082168061279a57607f821691505b6020821081036127d3577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b6000602082840312156127eb57600080fd5b8151610dc681612412565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600081612834576128346127f6565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b60006020828403121561286c57600080fd5b5051919050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036128a4576128a46127f6565b5060010190565b6000602082840312156128bd57600080fd5b815167ffffffffffffffff8111156128d457600080fd5b8201601f810184136128e557600080fd5b80516128f361271c82612663565b81815285602083850101111561290857600080fd5b612919826020830160208601612378565b95945050505050565b601f82111561072357600081815260208120601f850160051c810160208610156129495750805b601f850160051c820191505b8181101561296857828155600101612955565b505050505050565b815167ffffffffffffffff81111561298a5761298a6125e5565b61299e816129988454612786565b84612922565b602080601f8311600181146129f157600084156129bb5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555612968565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015612a3e57888601518255948401946001909101908401612a1f565b5085821015612a7a57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525083604083015260806060830152612ac9608083018461239c565b9695505050505050565b600060208284031215612ae557600080fd5b8151610dc68161232d56fea2646970667358221220c0659b44328283ad33ae5a9790d8391f248300d0b1b75dcaa75512f8ce49bff364736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212203f2ec79f2bd9ca4908a6d653b2fe841a8389de261a356d4516f12b1a0ebf005864736f6c63430008130033000000000000000000000000edbd4907a7f98de932e635e9076b4e0c36d0e797", + "nonce": "0x601", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x3d44962832e990d1583408044eaadec41ad18ad9b45ca42dd82bd4045011f9c3", + "transactionType": "CREATE", + "contractName": "ERC1967Proxy", + "contractAddress": "0xE3C522921A16c692E664D06d53a251f91323a06B", + "function": null, + "arguments": [ + "0xdc4A589eB82A7a7dDF026F3713da3338cFa59465", + "0xc4d66de80000000000000000000000007edacd4d53b5a626471c6728f04d92125ccf647f" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x316ce5", + "value": "0x0", + "data": "0x60806040526040516104ee3803806104ee833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c760279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60be806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea264697066735822122091c81c9b8ac755a7e1e08c0e9f65600d21e642457fb84c7f9e0d0a65b62d269064736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564000000000000000000000000dc4a589eb82a7a7ddf026f3713da3338cfa5946500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de80000000000000000000000007edacd4d53b5a626471c6728f04d92125ccf647f00000000000000000000000000000000000000000000000000000000", + "nonce": "0x602", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0x1781678b3F076017E8c45F8c6515f9cf57f393C0", + "initCode": "60c06040523480156200001157600080fd5b5060405162002d3938038062002d3983398101604081905262000034916200017d565b600054610100900460ff1615808015620000555750600054600160ff909116105b80620000715750303b15801562000071575060005460ff166001145b620000d95760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b6000805460ff191660011790558015620000fd576000805461ff0019166101001790555b6001600160a01b0380841660a0528216608052801562000157576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050620001b5565b80516001600160a01b03811681146200017857600080fd5b919050565b600080604083850312156200019157600080fd5b6200019c8362000160565b9150620001ac6020840162000160565b90509250929050565b60805160a051612b2662000213600039600081816103c101528181610b0f015261107b01526000818161031101528181610784015281816108dc01528181610cb701528181610e37015281816112ac015261147e0152612b266000f3fe608060405234801561001057600080fd5b50600436106101985760003560e01c806370a08231116100e3578063c3cc244a1161008c578063e985e9c511610066578063e985e9c514610373578063ee0fc121146103bc578063f3f6f0d7146103e357600080fd5b8063c3cc244a14610333578063c87b56dd14610358578063e8a3d4851461036b57600080fd5b8063a22cb465116100bd578063a22cb465146102e6578063b88d4fde146102f9578063b95ddb521461030c57600080fd5b806370a08231146102c35780638da5cb5b146102d657806395d89b41146102de57600080fd5b806342842e0e11610145578063626273a11161011f578063626273a11461028a5780636352211e1461029d578063691562a0146102b057600080fd5b806342842e0e1461025157806342966c68146102645780634cd88b761461027757600080fd5b8063095ea7b311610176578063095ea7b31461021257806318160ddd1461022757806323b872dd1461023e57600080fd5b806301ffc9a71461019d57806306fdde03146101c5578063081812fc146101da575b600080fd5b6101b06101ab36600461235b565b6103ec565b60405190151581526020015b60405180910390f35b6101cd6104d1565b6040516101bc91906123e6565b6101ed6101e83660046123f9565b610563565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101bc565b610225610220366004612434565b610597565b005b61023060985481565b6040519081526020016101bc565b61022561024c366004612460565b610728565b61022561025f366004612460565b610865565b6102256102723660046123f9565b610880565b6102256102853660046124ea565b6109d3565b6102306102983660046123f9565b610c43565b6101ed6102ab3660046123f9565b610dcd565b6102306102be366004612556565b610dd8565b6102306102d1366004612595565b610f7c565b6101ed61104a565b6101cd611100565b6102256102f43660046125b2565b61110f565b6102256103073660046126a9565b61111e565b6101ed7f000000000000000000000000000000000000000000000000000000000000000081565b6103466103413660046123f9565b6111c6565b60405160ff90911681526020016101bc565b6101cd6103663660046123f9565b611237565b6101cd611409565b6101b0610381366004612758565b73ffffffffffffffffffffffffffffffffffffffff9182166000908152606a6020908152604080832093909416825291909152205460ff1690565b6101ed7f000000000000000000000000000000000000000000000000000000000000000081565b61023060975481565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061047f57507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b806104cb57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6060606580546104e090612786565b80601f016020809104026020016040519081016040528092919081815260200182805461050c90612786565b80156105595780601f1061052e57610100808354040283529160200191610559565b820191906000526020600020905b81548152906001019060200180831161053c57829003601f168201915b5050505050905090565b600061056e826115aa565b5060009081526069602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60006105a282611635565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610664576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff8216148061068d575061068d8133610381565b610719576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000606482015260840161065b565b61072383836116c1565b505050565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815233917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a916107cc916004016123e6565b602060405180830381865afa1580156107e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061080d91906127d9565b73ffffffffffffffffffffffffffffffffffffffff161461085a576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610723838383611761565b6107238383836040518060200160405280600081525061111e565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815233917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a91610924916004016123e6565b602060405180830381865afa158015610941573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061096591906127d9565b73ffffffffffffffffffffffffffffffffffffffff16146109b2576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b609880549060006109c283612825565b91905055506109d081611a5c565b50565b600054610100900460ff16158080156109f35750600054600160ff909116105b80610a0d5750303b158015610a0d575060005460ff166001145b610a99576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840161065b565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610af757600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610b66576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610bd985858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f89018190048102820181019092528781529250879150869081908401838280828437600092019190915250611b3492505050565b8015610c3c57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a000000000000000000000000000000000000000000000000000000008152600091829173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a91610ceb91906004016123e6565b602060405180830381865afa158015610d08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d2c91906127d9565b6040517f5f32b4300000000000000000000000000000000000000000000000000000000081523060048201526024810185905290915073ffffffffffffffffffffffffffffffffffffffff821690635f32b430906044016020604051808303816000875af1158015610da2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dc6919061285a565b9392505050565b60006104cb82611635565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260009133917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a91610e8091906004016123e6565b602060405180830381865afa158015610e9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec191906127d9565b73ffffffffffffffffffffffffffffffffffffffff1614610f0e576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60988054906000610f1e83612873565b9190505550609760008154610f3290612873565b9182905550600081815260996020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff851617905590506104cb8382611bd5565b600073ffffffffffffffffffffffffffffffffffffffff8216611021576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e65720000000000000000000000000000000000000000000000606482015260840161065b565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526068602052604090205490565b6040517f14afd79e0000000000000000000000000000000000000000000000000000000081523060048201526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906314afd79e90602401602060405180830381865afa1580156110d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110fb91906127d9565b905090565b6060606680546104e090612786565b61111a338383611dfa565b5050565b6111283383611f27565b6111b4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f76656400000000000000000000000000000000000000606482015260840161065b565b6111c084848484611fe7565b50505050565b60008181526067602052604081205473ffffffffffffffffffffffffffffffffffffffff16611221576040517f6831df8d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060009081526099602052604090205460ff1690565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260609160009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a916112e091906004016123e6565b602060405180830381865afa1580156112fd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061132191906127d9565b90508073ffffffffffffffffffffffffffffffffffffffff1663e8d72654308561134a876111c6565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815273ffffffffffffffffffffffffffffffffffffffff9093166004840152602483019190915260ff166044820152606401600060405180830381865afa1580156113c3573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610dc691908101906128ab565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260609160009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a916114b291906004016123e6565b602060405180830381865afa1580156114cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114f391906127d9565b6040517e844d1300000000000000000000000000000000000000000000000000000000815230600482015290915073ffffffffffffffffffffffffffffffffffffffff82169062844d1390602401600060405180830381865afa15801561155e573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526115a491908101906128ab565b91505090565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff166109d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e2049440000000000000000604482015260640161065b565b60008181526067602052604081205473ffffffffffffffffffffffffffffffffffffffff16806104cb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e2049440000000000000000604482015260640161065b565b600081815260696020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117909155819061171b82611635565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b8273ffffffffffffffffffffffffffffffffffffffff1661178182611635565b73ffffffffffffffffffffffffffffffffffffffff1614611824576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e6572000000000000000000000000000000000000000000000000000000606482015260840161065b565b73ffffffffffffffffffffffffffffffffffffffff82166118c6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161065b565b8273ffffffffffffffffffffffffffffffffffffffff166118e682611635565b73ffffffffffffffffffffffffffffffffffffffff1614611989576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e6572000000000000000000000000000000000000000000000000000000606482015260840161065b565b600081815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff8781168086526068855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905590871680865283862080546001019055868652606790945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6000611a6782611635565b9050611a7282611635565b600083815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff85168085526068845282852080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190558785526067909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b600054610100900460ff16611bcb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161065b565b61111a828261208a565b73ffffffffffffffffffffffffffffffffffffffff8216611c52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161065b565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff1615611cde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161065b565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff1615611d6a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161065b565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260686020908152604080832080546001019055848352606790915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611e8f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161065b565b73ffffffffffffffffffffffffffffffffffffffff8381166000818152606a602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b600080611f3383611635565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611fa1575073ffffffffffffffffffffffffffffffffffffffff8082166000908152606a602090815260408083209388168352929052205460ff165b80611fdf57508373ffffffffffffffffffffffffffffffffffffffff16611fc784610563565b73ffffffffffffffffffffffffffffffffffffffff16145b949350505050565b611ff2848484611761565b611ffe8484848461213a565b6111c0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e7465720000000000000000000000000000606482015260840161065b565b600054610100900460ff16612121576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161065b565b606561212d8382612970565b5060666107238282612970565b600073ffffffffffffffffffffffffffffffffffffffff84163b15612322576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a02906121b1903390899088908890600401612a8a565b6020604051808303816000875af192505050801561220a575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261220791810190612ad3565b60015b6122d7573d808015612238576040519150601f19603f3d011682016040523d82523d6000602084013e61223d565b606091505b5080516000036122cf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e7465720000000000000000000000000000606482015260840161065b565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050611fdf565b506001949350505050565b7fffffffff00000000000000000000000000000000000000000000000000000000811681146109d057600080fd5b60006020828403121561236d57600080fd5b8135610dc68161232d565b60005b8381101561239357818101518382015260200161237b565b50506000910152565b600081518084526123b4816020860160208601612378565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610dc6602083018461239c565b60006020828403121561240b57600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff811681146109d057600080fd5b6000806040838503121561244757600080fd5b823561245281612412565b946020939093013593505050565b60008060006060848603121561247557600080fd5b833561248081612412565b9250602084013561249081612412565b929592945050506040919091013590565b60008083601f8401126124b357600080fd5b50813567ffffffffffffffff8111156124cb57600080fd5b6020830191508360208285010111156124e357600080fd5b9250929050565b6000806000806040858703121561250057600080fd5b843567ffffffffffffffff8082111561251857600080fd5b612524888389016124a1565b9096509450602087013591508082111561253d57600080fd5b5061254a878288016124a1565b95989497509550505050565b6000806040838503121561256957600080fd5b823561257481612412565b9150602083013560ff8116811461258a57600080fd5b809150509250929050565b6000602082840312156125a757600080fd5b8135610dc681612412565b600080604083850312156125c557600080fd5b82356125d081612412565b91506020830135801515811461258a57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561265b5761265b6125e5565b604052919050565b600067ffffffffffffffff82111561267d5761267d6125e5565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600080600080608085870312156126bf57600080fd5b84356126ca81612412565b935060208501356126da81612412565b925060408501359150606085013567ffffffffffffffff8111156126fd57600080fd5b8501601f8101871361270e57600080fd5b803561272161271c82612663565b612614565b81815288602083850101111561273657600080fd5b8160208401602083013760006020838301015280935050505092959194509250565b6000806040838503121561276b57600080fd5b823561277681612412565b9150602083013561258a81612412565b600181811c9082168061279a57607f821691505b6020821081036127d3577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b6000602082840312156127eb57600080fd5b8151610dc681612412565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600081612834576128346127f6565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b60006020828403121561286c57600080fd5b5051919050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036128a4576128a46127f6565b5060010190565b6000602082840312156128bd57600080fd5b815167ffffffffffffffff8111156128d457600080fd5b8201601f810184136128e557600080fd5b80516128f361271c82612663565b81815285602083850101111561290857600080fd5b612919826020830160208601612378565b95945050505050565b601f82111561072357600081815260208120601f850160051c810160208610156129495750805b601f850160051c820191505b8181101561296857828155600101612955565b505050505050565b815167ffffffffffffffff81111561298a5761298a6125e5565b61299e816129988454612786565b84612922565b602080601f8311600181146129f157600084156129bb5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555612968565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015612a3e57888601518255948401946001909101908401612a1f565b5085821015612a7a57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525083604083015260806060830152612ac9608083018461239c565b9695505050505050565b600060208284031215612ae557600080fd5b8151610dc68161232d56fea2646970667358221220c0659b44328283ad33ae5a9790d8391f248300d0b1b75dcaa75512f8ce49bff364736f6c63430008130033000000000000000000000000e3c522921a16c692e664d06d53a251f91323a06b000000000000000000000000edbd4907a7f98de932e635e9076b4e0c36d0e797" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0xb6b928dfb6f15cd841ef750552d914f6bb91b1e7eb3f160482d02780b14ea627", + "transactionType": "CREATE", + "contractName": "StoryProtocol", + "contractAddress": "0x336BC9128fFFb7869381E2D0c4A156981cA5d240", + "function": null, + "arguments": [ + "0xE3C522921A16c692E664D06d53a251f91323a06B", + "0xedBd4907A7F98de932e635e9076B4E0C36D0E797" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x297bbe", + "value": "0x0", + "data": "0x60c06040523480156200001157600080fd5b506040516200264f3803806200264f8339810160408190526200003491620000a2565b6001600160a01b03821615806200005257506001600160a01b038116155b15620000715760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b039182166080521660a052620000e1565b6001600160a01b03811681146200009f57600080fd5b50565b60008060408385031215620000b657600080fd5b8251620000c38162000089565b6020840151909250620000d68162000089565b809150509250929050565b60805160a0516124f46200015b600039600081816102530152818161036e0152818161043401528181610592015281816106d90152818161093b015281816109c501528181610bd901528181610ddc01528181610f680152818161105a015261127d0152600081816101750152610b4401526124f46000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c806398e8e6ea11610097578063b108e1c611610066578063b108e1c61461023b578063b95ddb521461024e578063ce75e7fc14610275578063eb3b0cba1461028857600080fd5b806398e8e6ea146101e2578063a3a0428f146101f5578063a5823a3714610208578063ac9650d81461021b57600080fd5b80634d343a45116100d35780634d343a451461015d57806351e06b90146101705780635a5173bd146101bc5780637a103e33146101cf57600080fd5b806317031df1146100fa5780632d26ff3e146101275780633d20e00d1461013c575b600080fd5b61010d610108366004611532565b61029b565b604080519283526020830191909152015b60405180910390f35b61013a6101353660046115d9565b61041d565b005b61014f61014a366004611626565b610569565b60405190815260200161011e565b61013a61016b366004611673565b6106d7565b6101977f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161011e565b61013a6101ca36600461169f565b61086c565b61013a6101dd366004611736565b6109c3565b6101976101f036600461177e565b610b04565b61014f610203366004611532565b610bd4565b61013a61021636600461182b565b610cef565b61022e6102293660046118dc565b610e71565b60405161011e91906119c3565b61013a6102493660046119d6565b610f66565b6101977f000000000000000000000000000000000000000000000000000000000000000081565b61013a610283366004611a26565b611058565b61013a610296366004611a5b565b6111aa565b60008060007fe761f303268b55a3dc96719551acb95ca3bd1ebeef4b720be68dd92563627a3f886040516020016102d29190611b83565b60408051601f19818403018152908290526102f09291602001611c18565b60408051601f198184030181528282018252601383527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602084015290517fb38609e800000000000000000000000000000000000000000000000000000000815290925060009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163b38609e8916103af918e91339188908f908f908f908f90600401611c81565b6000604051808303816000875af11580156103ce573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103f69190810190611d34565b90508080602001905181019061040c9190611de1565b935093505050965096945050505050565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001663e1fc45ce6104696040840160208501611e05565b336040518060400160405280601381526020017f52454c4154494f4e534849505f4d4f44554c45000000000000000000000000008152507f99bf0fbd60208ca164accd299e2c0a8b4475c1a2df53c2d7160870f682536528866040516020016104d29190611f14565b60408051601f19818403018152908290526104f09291602001611c18565b6040516020818303038152906040526040518563ffffffff1660e01b815260040161051e9493929190611fe7565b6000604051808303816000875af115801561053d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105659190810190611d34565b5050565b6000808660405160200161057d91906120d6565b604051602081830303815290604052905060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663b38609e88a336040518060400160405280601081526020017f4c4943454e53494e475f4d4f44554c45000000000000000000000000000000008152507f3f92a83f1dd77188c62fa393a54ccf9854be836ca6c243397d0acbbce047238787604051602001610637929190611c18565b6040516020818303038152906040528c8c8c8c6040518963ffffffff1660e01b815260040161066d989796959493929190611c81565b6000604051808303816000875af115801561068c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106b49190810190611d34565b9050808060200190518101906106ca919061211c565b9998505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663b38609e883336040518060400160405280601081526020017f4c4943454e53494e475f4d4f44554c45000000000000000000000000000000008152507f5281374dd3fc2bb7839f50fddfb6a14a666cb4d23b20d6aecf9b9950d103b3368660405160200161077f91815260200190565b60408051601f198184030181529082905261079d9291602001611c18565b60408051808303601f1901815260008084526020840190925291906107d2565b60608152602001906001900390816107bd5790505b5060408051600080825260208201909252906107fe565b60608152602001906001900390816107e95790505b506040518763ffffffff1660e01b815260040161082096959493929190612135565b6000604051808303816000875af115801561083f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108679190810190611d34565b505050565b60007f9aeb830ec91a14c97a5446cc7c86a42f73a78f37f9a77afa238b5d11520ddfbc83836040516020016108a29291906121a8565b60408051601f19818403018152908290526108c09291602001611c18565b60408051601f198184030181528282018252601383527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602084015290517fe1fc45ce00000000000000000000000000000000000000000000000000000000815290925073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163e1fc45ce916109759188913391908790600401611fe7565b6000604051808303816000875af1158015610994573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109bc9190810190611d34565b5050505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e1fc45ce84336040518060400160405280601381526020017f52454c4154494f4e534849505f4d4f44554c45000000000000000000000000008152507fe5801b46183bd353d44247232707bb62253655a0580ade69a754ba7157ddf8fd8787604051602001610a6b9291906121bc565b60408051601f1981840301815290829052610a899291602001611c18565b6040516020818303038152906040526040518563ffffffff1660e01b8152600401610ab79493929190611fe7565b6000604051808303816000875af1158015610ad6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610afe9190810190611d34565b50505050565b6040517f98e8e6ea00000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906398e8e6ea90610b85908b908b908b908b908b908b908b906004016121d0565b6020604051808303816000875af1158015610ba4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc89190612236565b98975050505050505050565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663b38609e889336040518060400160405280601381526020017f52454c4154494f4e534849505f4d4f44554c45000000000000000000000000008152508b604051602001610c5c9190612253565b6040516020818303038152906040528b8b8b8b6040518963ffffffff1660e01b8152600401610c92989796959493929190611c81565b6000604051808303816000875af1158015610cb1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610cd99190810190611d34565b905080806020019051810190610bc8919061211c565b6040805173ffffffffffffffffffffffffffffffffffffffff898116602083015288168183015260608082018890528251808303909101815260808201909252600091610d61917fbc42750dbe73870bbe102106b22fd8bdfa53c7247eca196d8bb7da9527f0c1e5919060a001611c18565b60408051601f198184030181528282018252601383527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602084015290517fb38609e800000000000000000000000000000000000000000000000000000000815290925073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163b38609e891610e1e918d9133919087908c908c908c908c90600401611c81565b6000604051808303816000875af1158015610e3d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e659190810190611d34565b50505050505050505050565b60608167ffffffffffffffff811115610e8c57610e8c611d05565b604051908082528060200260200182016040528015610ebf57816020015b6060815260200190600190039081610eaa5790505b50905060005b82811015610f5f57610f2f30858584818110610ee357610ee36122dc565b9050602002810190610ef5919061230b565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061130792505050565b828281518110610f4157610f416122dc565b60200260200101819052508080610f5790612370565b915050610ec5565b5092915050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e1fc45ce83336040518060400160405280601081526020017f4c4943454e53494e475f4d4f44554c45000000000000000000000000000000008152507f8b21f20183a523515c357db6dba25c92b138630b63988ca3e60a6be86c8da0458660405160200161100c91906123cf565b60408051601f198184030181529082905261102a9291602001611c18565b6040516020818303038152906040526040518563ffffffff1660e01b81526004016108209493929190611fe7565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663b38609e884336040518060400160405280601081526020017f4c4943454e53494e475f4d4f44554c45000000000000000000000000000000008152507f29def77ab981c01a6b53c58b23dd89ac4447095f721298424063ed3f16962ac68787604051602001611109929190918252602082015260400190565b60408051601f19818403018152908290526111279291602001611c18565b60408051808303601f19018152600080845260208401909252919061115c565b60608152602001906001900390816111475790505b506040805160008082526020820190925290611188565b60608152602001906001900390816111735790505b506040518763ffffffff1660e01b8152600401610ab796959493929190612135565b60007f88fae8356076de6f233fd00b30fad913df2329364a9e9242abdc96adccc3bfc9858585856040516020016111e49493929190612441565b60408051601f19818403018152908290526112029291602001611c18565b60408051601f198184030181528282018252601383527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602084015290517fe1fc45ce00000000000000000000000000000000000000000000000000000000815290925073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163e1fc45ce916112b7918a913391908790600401611fe7565b6000604051808303816000875af11580156112d6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526112fe9190810190611d34565b50505050505050565b606061132c838360405180606001604052806027815260200161249860279139611333565b9392505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff168560405161135d9190612468565b600060405180830381855af49150503d8060008114611398576040519150601f19603f3d011682016040523d82523d6000602084013e61139d565b606091505b50915091506113ae868383876113b8565b9695505050505050565b6060831561145357825160000361144c5773ffffffffffffffffffffffffffffffffffffffff85163b61144c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064015b60405180910390fd5b508161145d565b61145d8383611465565b949350505050565b8151156114755781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114439190612484565b73ffffffffffffffffffffffffffffffffffffffff811681146114cb57600080fd5b50565b600060a082840312156114e057600080fd5b50919050565b60008083601f8401126114f857600080fd5b50813567ffffffffffffffff81111561151057600080fd5b6020830191508360208260051b850101111561152b57600080fd5b9250929050565b6000806000806000806080878903121561154b57600080fd5b8635611556816114a9565b9550602087013567ffffffffffffffff8082111561157357600080fd5b61157f8a838b016114ce565b9650604089013591508082111561159557600080fd5b6115a18a838b016114e6565b909650945060608901359150808211156115ba57600080fd5b506115c789828a016114e6565b979a9699509497509295939492505050565b6000602082840312156115eb57600080fd5b813567ffffffffffffffff81111561160257600080fd5b820160c0818503121561132c57600080fd5b6000606082840312156114e057600080fd5b6000806000806000806080878903121561163f57600080fd5b863561164a816114a9565b9550602087013567ffffffffffffffff8082111561166757600080fd5b61157f8a838b01611614565b6000806040838503121561168657600080fd5b8235611691816114a9565b946020939093013593505050565b6000806000604084860312156116b457600080fd5b83356116bf816114a9565b9250602084013567ffffffffffffffff8111156116db57600080fd5b6116e7868287016114e6565b9497909650939450505050565b60008083601f84011261170657600080fd5b50813567ffffffffffffffff81111561171e57600080fd5b60208301915083602082850101111561152b57600080fd5b60008060006040848603121561174b57600080fd5b8335611756816114a9565b9250602084013567ffffffffffffffff81111561177257600080fd5b6116e7868287016116f4565b60008060008060008060006080888a03121561179957600080fd5b87356117a4816114a9565b9650602088013567ffffffffffffffff808211156117c157600080fd5b6117cd8b838c016116f4565b909850965060408a01359150808211156117e657600080fd5b6117f28b838c016116f4565b909650945060608a013591508082111561180b57600080fd5b506118188a828b016114e6565b989b979a50959850939692959293505050565b60008060008060008060008060c0898b03121561184757600080fd5b8835611852816114a9565b97506020890135611862816114a9565b96506040890135611872816114a9565b955060608901359450608089013567ffffffffffffffff8082111561189657600080fd5b6118a28c838d016114e6565b909650945060a08b01359150808211156118bb57600080fd5b506118c88b828c016114e6565b999c989b5096995094979396929594505050565b600080602083850312156118ef57600080fd5b823567ffffffffffffffff81111561190657600080fd5b611912858286016114e6565b90969095509350505050565b60005b83811015611939578181015183820152602001611921565b50506000910152565b6000815180845261195a81602086016020860161191e565b601f01601f19169290920160200192915050565b600081518084526020808501808196508360051b8101915082860160005b858110156119b65782840389526119a4848351611942565b9885019893509084019060010161198c565b5091979650505050505050565b60208152600061132c602083018461196e565b600080604083850312156119e957600080fd5b82356119f4816114a9565b9150602083013567ffffffffffffffff811115611a1057600080fd5b611a1c85828601611614565b9150509250929050565b600080600060608486031215611a3b57600080fd5b8335611a46816114a9565b95602085013595506040909401359392505050565b600080600080600060608688031215611a7357600080fd5b8535611a7e816114a9565b9450602086013567ffffffffffffffff80821115611a9b57600080fd5b611aa789838a016116f4565b90965094506040880135915080821115611ac057600080fd5b50611acd888289016116f4565b969995985093965092949392505050565b803560ff81168114611aef57600080fd5b919050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611b2957600080fd5b830160208101925035905067ffffffffffffffff811115611b4957600080fd5b80360382131561152b57600080fd5b818352818160208501375060006020828401015260006020601f19601f840116840101905092915050565b6020815260008235611b94816114a9565b73ffffffffffffffffffffffffffffffffffffffff811660208401525060ff611bbf60208501611ade565b166040830152611bd26040840184611af4565b60a06060850152611be760c085018284611b58565b91505060608401356080840152611c016080850185611af4565b601f198584030160a08601526113ae838284611b58565b82815260406020820152600061145d6040830184611942565b81835260006020808501808196508560051b810191508460005b878110156119b6578284038952611c628288611af4565b611c6d868284611b58565b9a87019a9550505090840190600101611c4b565b600073ffffffffffffffffffffffffffffffffffffffff808b168352808a1660208401525060c06040830152611cba60c0830189611942565b8281036060840152611ccc8189611942565b90508281036080840152611ce1818789611c31565b905082810360a0840152611cf6818587611c31565b9b9a5050505050505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600060208284031215611d4657600080fd5b815167ffffffffffffffff80821115611d5e57600080fd5b818401915084601f830112611d7257600080fd5b815181811115611d8457611d84611d05565b604051601f8201601f19908116603f01168101908382118183101715611dac57611dac611d05565b81604052828152876020848701011115611dc557600080fd5b611dd683602083016020880161191e565b979650505050505050565b60008060408385031215611df457600080fd5b505080516020909101519092909150565b600060208284031215611e1757600080fd5b813561132c816114a9565b803560068110611aef57600080fd5b60068110611e68577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611ea157600080fd5b830160208101925035905067ffffffffffffffff811115611ec157600080fd5b8060051b360382131561152b57600080fd5b8183526000602080850194508260005b85811015611f095760ff611ef683611ade565b1687529582019590820190600101611ee3565b509495945050505050565b602081526000611f248384611af4565b60c06020850152611f3960e085018284611b58565b9150506020840135611f4a816114a9565b73ffffffffffffffffffffffffffffffffffffffff8116604085015250611f7f60608401611f7a60408701611e22565b611e31565b611f8b60608501611e22565b611f986080850182611e31565b50611fa66080850185611e6c565b601f19808685030160a0870152611fbe848385611ed3565b9350611fcd60a0880188611e6c565b93509150808685030160c0870152506113ae838383611ed3565b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250608060408301526120206080830185611942565b8281036060840152611dd68185611942565b81835260006020808501808196508560051b81019150846000805b888110156120c8578385038a5282357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc189360301811261208b578283fd5b880180358652604061209f88830183611af4565b925081898901526120b38289018483611b58565b9c89019c97505050928601925060010161204d565b509298975050505050505050565b6020815260006120e68384611e6c565b606060208501526120fb608085018284612032565b91505060208401356040840152604084013560608401528091505092915050565b60006020828403121561212e57600080fd5b5051919050565b600073ffffffffffffffffffffffffffffffffffffffff808916835280881660208401525060c0604083015261216e60c0830187611942565b82810360608401526121808187611942565b90508281036080840152612194818661196e565b905082810360a08401526106ca818561196e565b60208152600061145d602083018486611c31565b60208152600061145d602083018486611b58565b73ffffffffffffffffffffffffffffffffffffffff8816815260806020820152600061220060808301888a611b58565b8281036040840152612213818789611b58565b90508281036060840152612228818587611c31565b9a9950505050505050505050565b60006020828403121561224857600080fd5b815161132c816114a9565b6020815260006122638384611af4565b60a0602085015261227860c085018284611b58565b9150506020840135612289816114a9565b73ffffffffffffffffffffffffffffffffffffffff808216604086015260408601356060860152606086013591506122c0826114a9565b16608084810191909152939093013560a0909201919091525090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261234057600080fd5b83018035915067ffffffffffffffff82111561235b57600080fd5b60200191503681900382131561152b57600080fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036123c8577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b6020815260006123df8384611af4565b606060208501526123f4608085018284611b58565b9150506124046020850185611e6c565b601f1985840301604086015261241b838284612032565b9250505060408401356003811061243157600080fd5b6060939093019290925250919050565b604081526000612455604083018688611b58565b8281036020840152611dd6818587611b58565b6000825161247a81846020870161191e565b9190910192915050565b60208152600061132c602083018461194256fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212206fe895e27d983fcf1f05a521573ee32357d83c10ed1b1831f8770b97c49bea0a64736f6c63430008130033000000000000000000000000e3c522921a16c692e664d06d53a251f91323a06b000000000000000000000000edbd4907a7f98de932e635e9076b4e0c36d0e797", + "nonce": "0x603", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x64eb802bac6a3135074c475cb2ebec299c846cc717a561be60c83b69ec47550a", + "transactionType": "CREATE", + "contractName": "RegistrationModule", + "contractAddress": "0xfb45e1274D9f0A2DF5C0851a705EEB0665171C5B", + "function": null, + "arguments": [ + "(0xaD2377c8f9f0ca6382fEf166b08aeDe8318fE49C, 0xedBd4907A7F98de932e635e9076B4E0C36D0E797, 0xCD28eb9D0D2AFcf4354F2c93dE5ce9Bbf88257ae, 0xE3C522921A16c692E664D06d53a251f91323a06B)", + "0x7EDacD4d53b5A626471c6728f04D92125CcF647F" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x557b3a", + "value": "0x0", + "data": "0x6101006040523480156200001257600080fd5b50604051620050343803806200503483398101604081905262000035916200029c565b8151819083906001600160a01b03166200006257604051636028d8f760e01b815260040160405180910390fd5b80516001600160a01b039081166080526020820151166200009657604051637e2fee8960e11b815260040160405180910390fd5b60208101516001600160a01b0390811660a052604082015116620000cd57604051635a70c46160e11b815260040160405180910390fd5b60408101516001600160a01b0390811660c052606090910151811660e05262000100908216637965db0b60e01b62000193565b62000143576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600480546001600160a01b0319166001600160a01b0383169081179091556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a250505062000354565b6000620001a083620001bb565b8015620001b45750620001b48383620001f4565b9392505050565b6000620001d0826301ffc9a760e01b620001f4565b8015620001ee5750620001ec826001600160e01b0319620001f4565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801562000267575060208210155b8015620002745750600081115b979650505050505050565b80516001600160a01b03811681146200029757600080fd5b919050565b60008082840360a0811215620002b157600080fd5b6080811215620002c057600080fd5b50604051608081016001600160401b0381118282101715620002f257634e487b7160e01b600052604160045260246000fd5b60405262000300846200027f565b815262000310602085016200027f565b602082015262000323604085016200027f565b604082015262000336606085016200027f565b606082015291506200034b608084016200027f565b90509250929050565b60805160a05160c05160e051614c83620003b16000396000818161024d0152612d31015260006104680152600081816103ce015281816107160152610fe6015260008181610408015281816116cf015261317c0152614c836000f3fe608060405234801561001057600080fd5b50600436106101ad5760003560e01c80638a8cb0b4116100ee578063bc12fcca11610097578063e8d7265411610071578063e8d726541461043d578063e8fb5c9b14610450578063f0ebdc8314610463578063fba854e01461048a57600080fd5b8063bc12fcca146103f0578063d2faf8b014610403578063e57204041461042a57600080fd5b8063a6829872116100c8578063a6829872146103a3578063b6efd29d146103b6578063b95ddb52146103c957600080fd5b80638a8cb0b41461032e5780639b72220214610370578063a5b04d451461039057600080fd5b806351e06b901161015b57806368a4f0711161013557806368a4f071146102d25780637448c568146102e557806377379d94146102f85780638591b11b1461031b57600080fd5b806351e06b90146102485780635f32b430146102945780636352211e146102bf57600080fd5b806332ee68131161018c57806332ee6813146102065780634fa4467c1461022d5780634fcbd2131461023557600080fd5b8062844d13146101b257806302a8df91146101db57806319129e5a146101f1575b600080fd5b6101c56101c03660046135b9565b61049d565b6040516101d29190613644565b60405180910390f35b6101e360ff81565b6040519081526020016101d2565b6102046101ff3660046135b9565b610596565b005b6101e37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81565b6101e3600a81565b6101c56102433660046136a0565b6106fc565b61026f7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101d2565b6101e36102a2366004613705565b600760209081526000928352604080842090915290825290205481565b61026f6102cd366004613731565b610784565b6101c56102e0366004613757565b610843565b6101e36102f336600461378c565b610a18565b61030b6103063660046137aa565b610a2c565b60405190151581526020016101d2565b610204610329366004613831565b610a64565b61030b61033c3660046138d5565b73ffffffffffffffffffffffffffffffffffffffff821660009081526006602052604090206002015460ff82161092915050565b61038361037e3660046135b9565b610c1d565b6040516101d2919061390e565b61020461039e36600461398e565b610d1c565b6101c56103b1366004613705565b610f27565b6101c56103c43660046139cf565b610fcc565b61026f7f000000000000000000000000000000000000000000000000000000000000000081565b6101e36103fe36600461378c565b61112c565b61026f7f000000000000000000000000000000000000000000000000000000000000000081565b61026f610438366004613757565b611138565b6101c561044b366004613a8e565b611230565b6101e361045e3660046137aa565b61190b565b61026f7f000000000000000000000000000000000000000000000000000000000000000081565b610204610498366004613ac5565b611920565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600660205260408120600101805460609291906104d590613b64565b80601f016020809104026020016040519081016040528092919081815260200182805461050190613b64565b801561054e5780601f106105235761010080835404028352916020019161054e565b820191906000526020600020905b81548152906001019060200180831161053157829003601f168201915b505050505090508051600003610590576040517f87dc059f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b92915050565b60006105a28133611afe565b6105e6576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b61062673ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000611b9b565b61068c576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c00000000000000000000000000000000000060448201526064016105dd565b600480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a25050565b60603373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461076d576040517f72823b5400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61077985858585611bb7565b90505b949350505050565b600081815260056020908152604080832081518083018352815473ffffffffffffffffffffffffffffffffffffffff1680825260019092015493810184905291517f6352211e00000000000000000000000000000000000000000000000000000000815260048101939093529091636352211e90602401602060405180830381865afa158015610818573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083c9190613bb7565b9392505050565b606060006108518585611cc5565b805480602002602001604051908101604052809291908181526020016000905b8282101561091d57838290600052602060002001805461089090613b64565b80601f01602080910402602001604051908101604052809291908181526020018280546108bc90613b64565b80156109095780601f106108de57610100808354040283529160200191610909565b820191906000526020600020905b8154815290600101906020018083116108ec57829003601f168201915b505050505081526020019060010190610871565b50505050905080518310610960576040517f9c7692bf000000000000000000000000000000000000000000000000000000008152600481018490526024016105dd565b61096a8585611cc5565b838154811061097b5761097b613bd4565b90600052602060002001805461099090613b64565b80601f01602080910402602001604051908101604052809291908181526020018280546109bc90613b64565b8015610a095780601f106109de57610100808354040283529160200191610a09565b820191906000526020600020905b8154815290600101906020018083116109ec57829003601f168201915b50505050509150509392505050565b6000610a248383611d07565b549392505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610a5a85858561190b565b1415949350505050565b8473ffffffffffffffffffffffffffffffffffffffff8116610ab2576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610afd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b219190613bb7565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b85576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610c02876040805173ffffffffffffffffffffffffffffffffffffffff8316602082015280820191909152600c60608201527f524547495354524154494f4e0000000000000000000000000000000000000000608082015260009060a001604051602081830303815290604052805190602001209050919050565b9050610c1388888389898989611920565b5050505050505050565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600660209081526040808320600201805482518185028101850190935280835260609492939192909184015b82821015610d11578382906000526020600020018054610c8490613b64565b80601f0160208091040260200160405190810160405280929190818152602001828054610cb090613b64565b8015610cfd5780601f10610cd257610100808354040283529160200191610cfd565b820191906000526020600020905b815481529060010190602001808311610ce057829003601f168201915b505050505081526020019060010190610c65565b505050509050919050565b8173ffffffffffffffffffffffffffffffffffffffff8116610d6a576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610db5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dd99190613bb7565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e3d576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000846001811115610e5157610e51613c03565b148015610e6b575060008281526020819052604090205415155b15610ea3576000828152602081905260408120610e87916134e8565b6000828152600260205260408120610e9e91613509565b610ee5565b60008281526001602052604090205415610ee5576000828152600160205260408120610ece916134e8565b6000828152600360205260408120610ee591613509565b81846001811115610ef857610ef8613c03565b6040517f1fe48a4ec69671720d8bdd8f8a6853d16f486c0bb91fcaf5b8ffc4932b8bc9f490600090a350505050565b600860209081526000928352604080842090915290825290208054610f4b90613b64565b80601f0160208091040260200160405190810160405280929190818152602001828054610f7790613b64565b8015610fc45780601f10610f9957610100808354040283529160200191610fc4565b820191906000526020600020905b815481529060010190602001808311610fa757829003601f168201915b505050505081565b60603373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461103d576040517f72823b5400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61104989898989611d49565b60006110578a8a8a8a611f46565b90506110668686600084611fc3565b6110c15760405173ffffffffffffffffffffffffffffffffffffffff8a16907fa1e5a8c0fde3fa4d7320c3f9de0ab0a2c1ee6e891e6a513ca0811ddcf768b59490600090a25050604080516020810190915260008152611120565b6110cd8a8a8a8a61223d565b91506110dc8484600184611fc3565b5060405173ffffffffffffffffffffffffffffffffffffffff8a16907f4ec4635a4d1f6ebe9ee3a059f74fc5d802e04d2d115c4090337a34e3b137c98a90600090a2505b98975050505050505050565b6000610a248383611cc5565b6000806111458585611d07565b8054806020026020016040519081016040528092919081815260200182805480156111a657602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff16815260019091019060200180831161117b575b50505050509050805183106111ea576040517f9c7692bf000000000000000000000000000000000000000000000000000000008152600481018490526024016105dd565b6111f48585611d07565b838154811061120557611205613bd4565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1695945050505050565b73ffffffffffffffffffffffffffffffffffffffff831660008181526007602090815260408083208684529091528082205490517f6352211e0000000000000000000000000000000000000000000000000000000081526004810186905260609391929190636352211e90602401602060405180830381865afa1580156112bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112df9190613bb7565b905073ffffffffffffffffffffffffffffffffffffffff811661132e576040517f85a9692000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff861660009081526008602090815260408083208884529091528120805461136990613b64565b905011156114335773ffffffffffffffffffffffffffffffffffffffff86166000908152600860209081526040808320888452909152902080546113ac90613b64565b80601f01602080910402602001604051908101604052809291908181526020018280546113d890613b64565b80156114255780601f106113fa57610100808354040283529160200191611425565b820191906000526020600020905b81548152906001019060200180831161140857829003601f168201915b50505050509250505061083c565b73ffffffffffffffffffffffffffffffffffffffff861660009081526006602052604080822081516060810190925280548290829061147190613b64565b80601f016020809104026020016040519081016040528092919081815260200182805461149d90613b64565b80156114ea5780601f106114bf576101008083540402835291602001916114ea565b820191906000526020600020905b8154815290600101906020018083116114cd57829003601f168201915b5050505050815260200160018201805461150390613b64565b80601f016020809104026020016040519081016040528092919081815260200182805461152f90613b64565b801561157c5780601f106115515761010080835404028352916020019161157c565b820191906000526020600020905b81548152906001019060200180831161155f57829003601f168201915b5050505050815260200160028201805480602002602001604051908101604052809291908181526020016000905b828210156116565783829060005260206000200180546115c990613b64565b80601f01602080910402602001604051908101604052809291908181526020018280546115f590613b64565b80156116425780601f1061161757610100808354040283529160200191611642565b820191906000526020600020905b81548152906001019060200180831161162557829003601f168201915b5050505050815260200190600101906115aa565b505050915250508051519091501561169d57805161167384612354565b604051602001611684929190613c4e565b604051602081830303815290604052935050505061083c565b6040517fc47f8bfa000000000000000000000000000000000000000000000000000000008152600481018490526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063c47f8bfa90602401600060405180830381865afa15801561172b573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526117719190810190613dff565b9050600061177e85612354565b8251604051611791929190602001613ec9565b604051602081830303815290604052905060006117c9836060015173ffffffffffffffffffffffffffffffffffffffff166014612412565b6117ea8673ffffffffffffffffffffffffffffffffffffffff166014612412565b6040516020016117fb92919061400c565b60405160208183030381529060405290506000611833846020015173ffffffffffffffffffffffffffffffffffffffff166014612412565b85604001518a60ff168151811061184c5761184c613bd4565b6020026020010151611864866040015160ff16612354565b6080870151611874906020612412565b61188b8860a0015167ffffffffffffffff16612354565b60405160200161189f959493929190614108565b60405160208183030381529060405290506118dc8383836040516020016118c893929190614361565b604051602081830303815290604052612655565b6040516020016118ec91906143cc565b6040516020818303038152906040529750505050505050509392505050565b600061077c61191a8585611d07565b836127a8565b8573ffffffffffffffffffffffffffffffffffffffff811661196e576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119dd9190613bb7565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611a41576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611a4c888888610d1c565b611aa8611a598988611d07565b611a638a89611cc5565b878780806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250611aa39250889150899050614486565b612842565b85886001811115611abb57611abb613c03565b7f5e140eb5bed8bcb1664a04c0be4aa419e0d2dbf1277a4a6770882a0beb3b91b28787604051611aec9291906144fa565b60405180910390a35050505050505050565b600480546040517f91d1485400000000000000000000000000000000000000000000000000000000815291820184905273ffffffffffffffffffffffffffffffffffffffff83811660248401526000929116906391d1485490604401602060405180830381865afa158015611b77573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083c9190614555565b6000611ba683612b40565b801561083c575061083c8383612ba4565b6060611bc38585612c73565b600080611bd284860186614577565b915091507f88fae8356076de6f233fd00b30fad913df2329364a9e9242abdc96adccc3bfc98203611c2a5760008082806020019051810190611c1491906145be565b91509150611c23898383612da4565b5050611cab565b7f9aeb830ec91a14c97a5446cc7c86a42f73a78f37f9a77afa238b5d11520ddfbc8203611c7957600081806020019051810190611c679190614618565b9050611c738882612e3a565b50611cab565b6040517f04e4b46900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505060408051602081019091526000815295945050505050565b600080836001811115611cda57611cda613c03565b03611cf357506000818152600260205260409020610590565b506000818152600360205260409020610590565b600080836001811115611d1c57611d1c613c03565b03611d3557506000818152602081905260409020610590565b506000818152600160205260409020610590565b600080611d5883850185614577565b915091507fbc42750dbe73870bbe102106b22fd8bdfa53c7247eca196d8bb7da9527f0c1e58203611e5057600080600083806020019051810190611d9c91906146c9565b9250925092508273ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff16141580611e1157508773ffffffffffffffffffffffffffffffffffffffff16611df882610784565b73ffffffffffffffffffffffffffffffffffffffff1614155b15611e48576040517f7e833cd700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050611f3e565b7fe761f303268b55a3dc96719551acb95ca3bd1ebeef4b720be68dd92563627a3f8203611f0c57600081806020019051810190611e8d919061470c565b90508573ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff1614611ef8576040517f7e833cd700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611f06878260200151612eff565b50611f3e565b6040517f9ca9add400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050505050565b6000610779856040805173ffffffffffffffffffffffffffffffffffffffff8316602082015280820191909152600c60608201527f524547495354524154494f4e0000000000000000000000000000000000000000608082015260009060a001604051602081830303815290604052805190602001209050919050565b600080611fd08484611d07565b80548060200260200160405190810160405280929190818152602001828054801561203157602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311612006575b5050505050905060006120448585611cc5565b805480602002602001604051908101604052809291908181526020016000905b8282101561211057838290600052602060002001805461208390613b64565b80601f01602080910402602001604051908101604052809291908181526020018280546120af90613b64565b80156120fc5780601f106120d1576101008083540402835291602001916120fc565b820191906000526020600020905b8154815290600101906020018083116120df57829003601f168201915b505050505081526020019060010190612064565b50508451929350505086811461216a5785600181111561213257612132613c03565b6040517f3171c36f00000000000000000000000000000000000000000000000000000000815260ff90911660048201526024016105dd565b60005b8181101561222e5761220b8785838151811061218b5761218b613bd4565b60200260200101518584815181106121a5576121a5613bd4565b60200260200101518c8c868181106121bf576121bf613bd4565b90506020028101906121d191906147cd565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612f6c92505050565b61221c57600094505050505061077c565b8061222681614861565b91505061216d565b50600198975050505050505050565b606060008061224e84860186614577565b915091507fbc42750dbe73870bbe102106b22fd8bdfa53c7247eca196d8bb7da9527f0c1e582036122c05760008060008380602001905181019061229291906146c9565b9250925092506122a48a828585613068565b604051806020016040528060008152509550505050505061077c565b7fe761f303268b55a3dc96719551acb95ca3bd1ebeef4b720be68dd92563627a3f8203611cab576000818060200190518101906122fd919061470c565b90506000806123248a84600001518560400151866020015187606001518860800151613177565b6040805160208101939093528281019190915280518083038201815260609092019052955061077c945050505050565b6060600061236183613406565b600101905060008167ffffffffffffffff81111561238157612381613c7d565b6040519080825280601f01601f1916602001820160405280156123ab576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85049450846123b557509392505050565b60606000612421836002614899565b61242c9060026148b0565b67ffffffffffffffff81111561244457612444613c7d565b6040519080825280601f01601f19166020018201604052801561246e576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106124a5576124a5613bd4565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061250857612508613bd4565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000612544846002614899565b61254f9060016148b0565b90505b60018111156125ec577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061259057612590613bd4565b1a60f81b8282815181106125a6576125a6613bd4565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c936125e5816148c3565b9050612552565b50831561083c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016105dd565b6060815160000361267457505060408051602081019091526000815290565b6000604051806060016040528060408152602001614c0e60409139905060006003845160026126a391906148b0565b6126ad91906148f8565b6126b8906004614899565b67ffffffffffffffff8111156126d0576126d0613c7d565b6040519080825280601f01601f1916602001820160405280156126fa576020820181803683370190505b509050600182016020820185865187015b80821015612766576003820191508151603f8160121c168501518453600184019350603f81600c1c168501518453600184019350603f8160061c168501518453600184019350603f811685015184535060018301925061270b565b505060038651066001811461278257600281146127955761279d565b603d6001830353603d600283035361279d565b603d60018303535b509195945050505050565b8154600090815b81811015612818578373ffffffffffffffffffffffffffffffffffffffff168582815481106127e0576127e0613bd4565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16036128105791506105909050565b6001016127af565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff949350505050565b8151600a81111561287f576040517f760fb4ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b808251146128b9576040517f3021beb200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b81811015611f3e57600073ffffffffffffffffffffffffffffffffffffffff168482815181106128ee576128ee613bd4565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1603612943576040517f7d4de38200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000811180156129b3575083600182038151811061296357612963613bd4565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1684828151811061299357612993613bd4565b602002602001015173ffffffffffffffffffffffffffffffffffffffff16145b156129ea576040517fd696c40800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8381815181106129fc576129fc613bd4565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1663a913b881848381518110612a3157612a31613bd4565b60200260200101516040518263ffffffff1660e01b8152600401612a559190613644565b60006040518083038186803b158015612a6d57600080fd5b505afa158015612a81573d6000803e3d6000fd5b5050505085848281518110612a9857612a98613bd4565b60209081029190910181015182546001810184556000938452919092200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90921691909117905582518590849083908110612b0e57612b0e613bd4565b60209081029190910181015182546001810184556000938452919092200190612b379082614979565b506001016128bc565b6000612b6c827f01ffc9a700000000000000000000000000000000000000000000000000000000612ba4565b80156105905750612b9d827fffffffff00000000000000000000000000000000000000000000000000000000612ba4565b1592915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015612c5c575060208210155b8015612c685750600081115b979650505050505050565b8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612cd5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cf99190613bb7565b73ffffffffffffffffffffffffffffffffffffffff1614158015612d6957508073ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1614155b15612da0576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260066020526040902080612dd48482614979565b5060018101612de38382614979565b508373ffffffffffffffffffffffffffffffffffffffff167f6c1850fce35387a891e82ca88e975790ab6f0709e9ed6842e01397f296012a7e8484604051612e2c929190614a93565b60405180910390a250505050565b805160ff811115612e77576040517f1c17d63a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff83166000908152600660205260408120905b82811015612ef85781600201848281518110612ebc57612ebc613bd4565b60209081029190910181015182546001810184556000938452919092200190612ee59082614979565b5080612ef081614861565b915050612e9e565b5050505050565b73ffffffffffffffffffffffffffffffffffffffff821660009081526006602052604090206002015460ff80821690831610612f67576040517f12d7e46c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b600080604051806040016040528085815260200184815250905060008573ffffffffffffffffffffffffffffffffffffffff166334e5d29f83604051602001612fb59190614ac1565b6040516020818303038152906040526040518263ffffffff1660e01b8152600401612fe09190613644565b6000604051808303816000875af1158015612fff573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526130459190810190614b18565b509050600181600181111561305c5761305c613c03565b14979650505050505050565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301528281166024830152604482018590528516906323b872dd90606401600060405180830381600087803b1580156130e057600080fd5b505af11580156130f4573d6000803e3d6000fd5b5050505073ffffffffffffffffffffffffffffffffffffffff84811660008181526007602090815260408083208884528252918290205482518881528786169281019290925293851681830152905183917f0480e159be1c15e0022dfbc6d236db58db83a033908eca4876f796f60ed871b9919081900360600190a35050505050565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663601a924c898989886040518563ffffffff1660e01b81526004016131d99493929190614b73565b6020604051808303816000875af11580156131f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061321c9190614bbd565b6040517f691562a000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff898116600483015260ff881660248301529193509089169063691562a0906044016020604051808303816000875af1158015613297573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132bb9190614bbd565b73ffffffffffffffffffffffffffffffffffffffff89811660008181526007602090815260408083208684528252808320889055805180820182529384528382018681528884526005909252909120825181547fffffffffffffffffffffffff000000000000000000000000000000000000000016941693909317835551600190920191909155845191925090156133895773ffffffffffffffffffffffffffffffffffffffff8916600090815260086020908152604080832085845290915290206133878582614979565b505b8560ff168873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff167fd051b12b5a18291aec9a26b17774a4be2d10dce167cbdc5944c7942c78f901c186868c8b8b6040516133f2959493929190614bd6565b60405180910390a450965096945050505050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000831061344f577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef8100000000831061347b576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061349957662386f26fc10000830492506010015b6305f5e10083106134b1576305f5e100830492506008015b61271083106134c557612710830492506004015b606483106134d7576064830492506002015b600a83106105905760010192915050565b50805460008255906000526020600020908101906135069190613527565b50565b50805460008255906000526020600020908101906135069190613540565b5b8082111561353c5760008155600101613528565b5090565b8082111561353c576000613554828261355d565b50600101613540565b50805461356990613b64565b6000825580601f10613579575050565b601f0160209004906000526020600020908101906135069190613527565b73ffffffffffffffffffffffffffffffffffffffff8116811461350657600080fd5b6000602082840312156135cb57600080fd5b813561083c81613597565b60005b838110156135f15781810151838201526020016135d9565b50506000910152565b600081518084526136128160208601602086016135d6565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061083c60208301846135fa565b60008083601f84011261366957600080fd5b50813567ffffffffffffffff81111561368157600080fd5b60208301915083602082850101111561369957600080fd5b9250929050565b600080600080606085870312156136b657600080fd5b84356136c181613597565b935060208501356136d181613597565b9250604085013567ffffffffffffffff8111156136ed57600080fd5b6136f987828801613657565b95989497509550505050565b6000806040838503121561371857600080fd5b823561372381613597565b946020939093013593505050565b60006020828403121561374357600080fd5b5035919050565b6002811061350657600080fd5b60008060006060848603121561376c57600080fd5b83356137778161374a565b95602085013595506040909401359392505050565b6000806040838503121561379f57600080fd5b82356137238161374a565b6000806000606084860312156137bf57600080fd5b83356137ca8161374a565b92506020840135915060408401356137e181613597565b809150509250925092565b60008083601f8401126137fe57600080fd5b50813567ffffffffffffffff81111561381657600080fd5b6020830191508360208260051b850101111561369957600080fd5b6000806000806000806080878903121561384a57600080fd5b86356138558161374a565b9550602087013561386581613597565b9450604087013567ffffffffffffffff8082111561388257600080fd5b61388e8a838b016137ec565b909650945060608901359150808211156138a757600080fd5b506138b489828a016137ec565b979a9699509497509295939492505050565b60ff8116811461350657600080fd5b600080604083850312156138e857600080fd5b82356138f381613597565b91506020830135613903816138c6565b809150509250929050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015613981577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc088860301845261396f8583516135fa565b94509285019290850190600101613935565b5092979650505050505050565b6000806000606084860312156139a357600080fd5b83356139ae8161374a565b925060208401356139be81613597565b929592945050506040919091013590565b60008060008060008060008060a0898b0312156139eb57600080fd5b88356139f681613597565b97506020890135613a0681613597565b9650604089013567ffffffffffffffff80821115613a2357600080fd5b613a2f8c838d01613657565b909850965060608b0135915080821115613a4857600080fd5b613a548c838d016137ec565b909650945060808b0135915080821115613a6d57600080fd5b50613a7a8b828c016137ec565b999c989b5096995094979396929594505050565b600080600060608486031215613aa357600080fd5b8335613aae81613597565b92506020840135915060408401356137e1816138c6565b600080600080600080600060a0888a031215613ae057600080fd5b8735613aeb8161374a565b96506020880135613afb81613597565b955060408801359450606088013567ffffffffffffffff80821115613b1f57600080fd5b613b2b8b838c016137ec565b909650945060808a0135915080821115613b4457600080fd5b50613b518a828b016137ec565b989b979a50959850939692959293505050565b600181811c90821680613b7857607f821691505b602082108103613bb1577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b600060208284031215613bc957600080fd5b815161083c81613597565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60008151613c448185602086016135d6565b9290920192915050565b60008351613c608184602088016135d6565b835190830190613c748183602088016135d6565b01949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715613ccf57613ccf613c7d565b60405290565b60405160a0810167ffffffffffffffff81118282101715613ccf57613ccf613c7d565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715613d3f57613d3f613c7d565b604052919050565b600067ffffffffffffffff821115613d6157613d61613c7d565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b6000613da0613d9b84613d47565b613cf8565b9050828152838383011115613db457600080fd5b61083c8360208301846135d6565b600082601f830112613dd357600080fd5b61083c83835160208501613d8d565b805167ffffffffffffffff81168114613dfa57600080fd5b919050565b600060208284031215613e1157600080fd5b815167ffffffffffffffff80821115613e2957600080fd5b9083019060c08286031215613e3d57600080fd5b613e45613cac565b825182811115613e5457600080fd5b613e6087828601613dc2565b82525060208301519150613e7382613597565b81602082015260408301519150613e89826138c6565b81604082015260608301519150613e9f82613597565b81606082015260808301516080820152613ebb60a08401613de2565b60a082015295945050505050565b7f7b226e616d65223a2022476c6f62616c20495020417373657420230000000000815260008351613f0181601b8501602088016135d6565b7f222c20226465736372697074696f6e223a20224950204f726720417373657420601b918401918201527f526567697374726174696f6e2044657461696c73222c20226174747269627574603b8201527f6573223a205b0000000000000000000000000000000000000000000000000000605b8201527f7b2274726169745f74797065223a20224e616d65222c202276616c7565223a2060618201527f220000000000000000000000000000000000000000000000000000000000000060818201528351613fd68160828401602088016135d6565b7f227d2c000000000000000000000000000000000000000000000000000000000060829290910191820152608501949350505050565b7f7b2274726169745f74797065223a20224950204f7267222c202276616c75652281527f3a2022000000000000000000000000000000000000000000000000000000000060208201526000835161406a8160238501602088016135d6565b80830190507f227d2c00000000000000000000000000000000000000000000000000000000008060238301527f7b2274726169745f74797065223a202243757272656e74204950204f776e657260268301527f222c202276616c7565223a202200000000000000000000000000000000000000604683015284516140f58160538501602089016135d6565b6053920191820152605601949350505050565b7f7b2274726169745f74797065223a2022496e697469616c20526567697374726181527f6e74222c202276616c7565223a2022000000000000000000000000000000000060208201526000865161416681602f850160208b016135d6565b80830190507f227d2c000000000000000000000000000000000000000000000000000000000080602f8301527f7b2274726169745f74797065223a20224950204f72672041737365742054797060328301527f65222c202276616c7565223a2022000000000000000000000000000000000000605283015287516141f1816060850160208c016135d6565b60609201918201527f7b2274726169745f74797065223a2022537461747573222c202276616c75652260638201527f3a2022000000000000000000000000000000000000000000000000000000000060838201526111206143386143326142e36142656142dd61428e82608689018e613c32565b7f227d2c0000000000000000000000000000000000000000000000000000000000815260030190565b7f7b2274726169745f74797065223a202248617368222c202276616c7565223a2081527f2200000000000000000000000000000000000000000000000000000000000000602082015260210190565b8a613c32565b7f7b2274726169745f74797065223a2022526567697374726174696f6e2044617481527f65222c202276616c7565223a20220000000000000000000000000000000000006020820152602e0190565b86613c32565b7f227d000000000000000000000000000000000000000000000000000000000000815260020190565b600084516143738184602089016135d6565b8451908301906143878183602089016135d6565b845191019061439a8183602088016135d6565b7f5d7d000000000000000000000000000000000000000000000000000000000000910190815260020195945050505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c00000081526000825161440481601d8501602087016135d6565b91909101601d0192915050565b600067ffffffffffffffff82111561442b5761442b613c7d565b5060051b60200190565b600082601f83011261444657600080fd5b8135614454613d9b82613d47565b81815284602083860101111561446957600080fd5b816020850160208301376000918101602001919091529392505050565b6000614494613d9b84614411565b80848252602080830192508560051b8501368111156144b257600080fd5b855b818110156144ee57803567ffffffffffffffff8111156144d45760008081fd5b6144e036828a01614435565b8652509382019382016144b4565b50919695505050505050565b60208082528181018390526000908460408401835b8681101561454a57823561452281613597565b73ffffffffffffffffffffffffffffffffffffffff168252918301919083019060010161450f565b509695505050505050565b60006020828403121561456757600080fd5b8151801515811461083c57600080fd5b6000806040838503121561458a57600080fd5b82359150602083013567ffffffffffffffff8111156145a857600080fd5b6145b485828601614435565b9150509250929050565b600080604083850312156145d157600080fd5b825167ffffffffffffffff808211156145e957600080fd5b6145f586838701613dc2565b9350602085015191508082111561460b57600080fd5b506145b485828601613dc2565b6000602080838503121561462b57600080fd5b825167ffffffffffffffff8082111561464357600080fd5b818501915085601f83011261465757600080fd5b8151614665613d9b82614411565b81815260059190911b8301840190848101908883111561468457600080fd5b8585015b838110156146bc578051858111156146a05760008081fd5b6146ae8b89838a0101613dc2565b845250918601918601614688565b5098975050505050505050565b6000806000606084860312156146de57600080fd5b83516146e981613597565b60208501519093506146fa81613597565b80925050604084015190509250925092565b60006020828403121561471e57600080fd5b815167ffffffffffffffff8082111561473657600080fd5b9083019060a0828603121561474a57600080fd5b614752613cd5565b825161475d81613597565b8152602083015161476d816138c6565b602082015260408301518281111561478457600080fd5b61479087828601613dc2565b604083015250606083015160608201526080830151828111156147b257600080fd5b6147be87828601613dc2565b60808301525095945050505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261480257600080fd5b83018035915067ffffffffffffffff82111561481d57600080fd5b60200191503681900382131561369957600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361489257614892614832565b5060010190565b808202811582820484141761059057610590614832565b8082018082111561059057610590614832565b6000816148d2576148d2614832565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b60008261492e577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b601f821115612f6757600081815260208120601f850160051c8101602086101561495a5750805b601f850160051c820191505b81811015611f3e57828155600101614966565b815167ffffffffffffffff81111561499357614993613c7d565b6149a7816149a18454613b64565b84614933565b602080601f8311600181146149fa57600084156149c45750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555611f3e565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015614a4757888601518255948401946001909101908401614a28565b5085821015614a8357878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b604081526000614aa660408301856135fa565b8281036020840152614ab881856135fa565b95945050505050565b602081526000825160406020840152614add60608401826135fa565b905060208401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0848303016040850152614ab882826135fa565b60008060408385031215614b2b57600080fd5b8251614b368161374a565b602084015190925067ffffffffffffffff811115614b5357600080fd5b8301601f81018513614b6457600080fd5b6145b485825160208401613d8d565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525060806040830152614bac60808301856135fa565b905082606083015295945050505050565b600060208284031215614bcf57600080fd5b5051919050565b85815284602082015260a060408201526000614bf560a08301866135fa565b846060840152828103608084015261112081856135fa56fe4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2fa264697066735822122070b8b352cbaea84f80aeb32a53add59c65bfa664d27de4fe2c720d195737907664736f6c63430008130033000000000000000000000000ad2377c8f9f0ca6382fef166b08aede8318fe49c000000000000000000000000edbd4907a7f98de932e635e9076b4e0c36d0e797000000000000000000000000cd28eb9d0d2afcf4354f2c93de5ce9bbf88257ae000000000000000000000000e3c522921a16c692e664d06d53a251f91323a06b0000000000000000000000007edacd4d53b5a626471c6728f04d92125ccf647f", + "nonce": "0x604", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x34ed35a98e276f7f8739306d58ab5dc6be1fb24091451d2c7d13edd9a18cf982", + "transactionType": "CREATE", + "contractName": "RelationshipModule", + "contractAddress": "0xf7081c5ff418ddB6C68A3cCc3CC68A4c21803460", + "function": null, + "arguments": [ + "(0xaD2377c8f9f0ca6382fEf166b08aeDe8318fE49C, 0xedBd4907A7F98de932e635e9076B4E0C36D0E797, 0xCD28eb9D0D2AFcf4354F2c93dE5ce9Bbf88257ae, 0xE3C522921A16c692E664D06d53a251f91323a06B)", + "0x7EDacD4d53b5A626471c6728f04D92125CcF647F" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x483231", + "value": "0x0", + "data": "0x6101006040523480156200001257600080fd5b50604051620044023803806200440283398101604081905262000035916200029c565b8151819083906001600160a01b03166200006257604051636028d8f760e01b815260040160405180910390fd5b80516001600160a01b039081166080526020820151166200009657604051637e2fee8960e11b815260040160405180910390fd5b60208101516001600160a01b0390811660a052604082015116620000cd57604051635a70c46160e11b815260040160405180910390fd5b60408101516001600160a01b0390811660c052606090910151811660e05262000100908216637965db0b60e01b62000193565b62000143576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600480546001600160a01b0319166001600160a01b0383169081179091556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a250505062000354565b6000620001a083620001bb565b8015620001b45750620001b48383620001f4565b9392505050565b6000620001d0826301ffc9a760e01b620001f4565b8015620001ee5750620001ec826001600160e01b0319620001f4565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801562000267575060208210155b8015620002745750600081115b979650505050505050565b80516001600160a01b03811681146200029757600080fd5b919050565b60008082840360a0811215620002b157600080fd5b6080811215620002c057600080fd5b50604051608081016001600160401b0381118282101715620002f257634e487b7160e01b600052604160045260246000fd5b60405262000300846200027f565b815262000310602085016200027f565b602082015262000323604085016200027f565b604082015262000336606085016200027f565b606082015291506200034b608084016200027f565b90509250929050565b60805160a05160c05160e051614051620003b160003960006102360152600081816103fc0152612ad20152600081816103620152818161074401528181610f470152612c1601526000818161039c0152612a0b01526140516000f3fe608060405234801561001057600080fd5b50600436106101825760003560e01c806377379d94116100d8578063d2faf8b01161008c578063e8fb5c9b11610066578063e8fb5c9b146103e4578063f0ebdc83146103f7578063fba854e01461041e57600080fd5b8063d2faf8b014610397578063e5720404146103be578063e7d8e931146103d157600080fd5b8063b6efd29d116100bd578063b6efd29d1461034a578063b95ddb521461035d578063bc12fcca1461038457600080fd5b806377379d9414610314578063a5b04d451461033757600080fd5b80634fcbd2131161013a57806368a4f0711161011457806368a4f071146102905780637448c568146102a357806376ced32d146102b657600080fd5b80634fcbd2131461021157806351e06b90146102315780636191d3561461027d57600080fd5b8063322e41b51161016b578063322e41b5146101c257806332ee6813146101e25780634fa4467c1461020957600080fd5b806319129e5a1461018757806329b2632b1461019c575b600080fd5b61019a610195366004612f09565b610431565b005b6101af6101aa366004612f26565b610597565b6040519081526020015b60405180910390f35b6101d56101d0366004612f61565b6105da565b6040516101b99190612fe8565b6101af7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81565b6101af600a81565b61022461021f36600461309d565b61072a565b6040516101b99190613102565b6102587f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101b9565b61019a61028b366004613167565b6107b2565b61022461029e366004613226565b610932565b6101af6102b136600461325b565b610b08565b6102c96102c43660046133ca565b610b1e565b60408051825173ffffffffffffffffffffffffffffffffffffffff908116825260208085015190830152838301511691810191909152606091820151918101919091526080016101b9565b61032761032236600461341a565b610cea565b60405190151581526020016101b9565b61019a61034536600461345c565b610d22565b61022461035836600461349d565b610f2d565b6102587f000000000000000000000000000000000000000000000000000000000000000081565b6101af61039236600461325b565b61108d565b6102587f000000000000000000000000000000000000000000000000000000000000000081565b6102586103cc366004613226565b611099565b6103276103df366004612f26565b611191565b6101af6103f236600461341a565b6111d8565b6102587f000000000000000000000000000000000000000000000000000000000000000081565b61019a61042c3660046134c4565b6111ed565b600061043d81336113cb565b610481576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b6104c173ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000611468565b610527576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c0000000000000000000000000000000000006044820152606401610478565b600480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a25050565b600060096000836040516020016105ae91906135ac565b604051602081830303815290604052805190602001208152602001908152602001600020549050919050565b6106386040518060a0016040528060608152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081525090565b60008281526008602052604090819020815160a0810190925280548290829061066090613698565b80601f016020809104026020016040519081016040528092919081815260200182805461068c90613698565b80156106d95780601f106106ae576101008083540402835291602001916106d9565b820191906000526020600020905b8154815290600101906020018083116106bc57829003601f168201915b5050509183525050600182015473ffffffffffffffffffffffffffffffffffffffff908116602083015260028301541660408201526003820154606082015260049091015460809091015292915050565b60603373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461079b576040517f72823b5400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6107a785858585611484565b90505b949350505050565b8673ffffffffffffffffffffffffffffffffffffffff8116610800576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561084b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086f91906136f6565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146108d3576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006109158989898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061158692505050565b90506109268a8a83898989896111ed565b50505050505050505050565b6060600061094085856115b9565b805480602002602001604051908101604052809291908181526020016000905b82821015610a0c57838290600052602060002001805461097f90613698565b80601f01602080910402602001604051908101604052809291908181526020018280546109ab90613698565b80156109f85780601f106109cd576101008083540402835291602001916109f8565b820191906000526020600020905b8154815290600101906020018083116109db57829003601f168201915b505050505081526020019060010190610960565b50505050905080518310610a4f576040517f9c7692bf00000000000000000000000000000000000000000000000000000000815260048101849052602401610478565b610a5985856115b9565b8381548110610a6a57610a6a613713565b906000526020600020018054610a7f90613698565b80601f0160208091040260200160405190810160405280929190818152602001828054610aab90613698565b8015610af85780601f10610acd57610100808354040283529160200191610af8565b820191906000526020600020905b815481529060010190602001808311610adb57829003601f168201915b50505050509150505b9392505050565b6000610b1483836115fb565b5490505b92915050565b60408051608081018252600080825260208201819052918101829052606081019190915273ffffffffffffffffffffffffffffffffffffffff8316610bcc57600582604051610b6d9190613742565b908152604080519182900360209081018320608084018352805473ffffffffffffffffffffffffffffffffffffffff90811685526001820154928501929092526002810154909116918301919091526003015460608201529050610c75565b600660008484604051602001610be392919061375e565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291815281516020928301208352828201939093529082016000208251608081018452815473ffffffffffffffffffffffffffffffffffffffff9081168252600183015493820193909352600282015490921692820192909252600390910154606082015290505b805173ffffffffffffffffffffffffffffffffffffffff161580610cb15750604081015173ffffffffffffffffffffffffffffffffffffffff16155b15610b1857816040517fd8952ceb0000000000000000000000000000000000000000000000000000000081526004016104789190613102565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610d188585856111d8565b1415949350505050565b8173ffffffffffffffffffffffffffffffffffffffff8116610d70576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dbb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ddf91906136f6565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e43576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000846001811115610e5757610e5761378d565b148015610e71575060008281526020819052604090205415155b15610ea9576000828152602081905260408120610e8d91612e28565b6000828152600260205260408120610ea491612e49565b610eeb565b60008281526001602052604090205415610eeb576000828152600160205260408120610ed491612e28565b6000828152600360205260408120610eeb91612e49565b81846001811115610efe57610efe61378d565b6040517f1fe48a4ec69671720d8bdd8f8a6853d16f486c0bb91fcaf5b8ffc4932b8bc9f490600090a350505050565b60603373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610f9e576040517f72823b5400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610faa8989898961163d565b6000610fb88a8a8a8a611a03565b9050610fc78686600084611a2c565b6110225760405173ffffffffffffffffffffffffffffffffffffffff8a16907fa1e5a8c0fde3fa4d7320c3f9de0ab0a2c1ee6e891e6a513ca0811ddcf768b59490600090a25050604080516020810190915260008152611081565b61102e8a8a8a8a611ca6565b915061103d8484600184611a2c565b5060405173ffffffffffffffffffffffffffffffffffffffff8a16907f4ec4635a4d1f6ebe9ee3a059f74fc5d802e04d2d115c4090337a34e3b137c98a90600090a2505b98975050505050505050565b6000610b1483836115b9565b6000806110a685856115fb565b80548060200260200160405190810160405280929190818152602001828054801561110757602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116110dc575b505050505090508051831061114b576040517f9c7692bf00000000000000000000000000000000000000000000000000000000815260048101849052602401610478565b61115585856115fb565b838154811061116657611166613713565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1695945050505050565b600060096000836040516020016111a891906135ac565b60405160208183030381529060405280519060200120815260200190815260200160002054600014159050919050565b60006107aa6111e785856115fb565b83611e78565b8573ffffffffffffffffffffffffffffffffffffffff811661123b576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611286573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112aa91906136f6565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461130e576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611319888888610d22565b61137561132689886115fb565b6113308a896115b9565b87878080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061137092508891508990506137e0565b611f12565b858860018111156113885761138861378d565b7f5e140eb5bed8bcb1664a04c0be4aa419e0d2dbf1277a4a6770882a0beb3b91b287876040516113b9929190613854565b60405180910390a35050505050505050565b600480546040517f91d1485400000000000000000000000000000000000000000000000000000000815291820184905273ffffffffffffffffffffffffffffffffffffffff83811660248401526000929116906391d1485490604401602060405180830381865afa158015611444573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0191906138af565b600061147383612210565b8015610b015750610b018383612274565b60606114908585612343565b60008061149f848601866138d1565b915091507f99bf0fbd60208ca164accd299e2c0a8b4475c1a2df53c2d7160870f68253652882036114eb576114e6818060200190518101906114e19190613a32565b6124d3565b61156c565b7fe5801b46183bd353d44247232707bb62253655a0580ade69a754ba7157ddf8fd820361153a576000818060200190518101906115289190613b0a565b90506115348882612796565b5061156c565b6040517f7265e5c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505060408051602081019091526000815295945050505050565b6000828260405160200161159b92919061375e565b60405160208183030381529060405280519060200120905092915050565b6000808360018111156115ce576115ce61378d565b036115e757506000818152600260205260409020610b18565b506000818152600360205260409020610b18565b6000808360018111156116105761161061378d565b0361162957506000818152602081905260409020610b18565b506000818152600160205260409020610b18565b600061164b82840184613b3f565b9050600061165d868360000151610b1e565b602083015190915073ffffffffffffffffffffffffffffffffffffffff166116b1576040517f3489abf600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805173ffffffffffffffffffffffffffffffffffffffff9081161461173d57806000015173ffffffffffffffffffffffffffffffffffffffff16826020015173ffffffffffffffffffffffffffffffffffffffff161461173d576040517f3489abf600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60208101511561182c5760408083015190517fc3cc244a00000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff89169163c3cc244a916117a39160040190815260200190565b602060405180830381865afa1580156117c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117e49190613bef565b6020830151909150600160ff83161b1661182a576040517ff3c6318200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b606082015173ffffffffffffffffffffffffffffffffffffffff1661187d576040517f642321ac00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604081015173ffffffffffffffffffffffffffffffffffffffff9081161461190c57806040015173ffffffffffffffffffffffffffffffffffffffff16826060015173ffffffffffffffffffffffffffffffffffffffff161461190c576040517f642321ac00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6060810151156119fb5760808201516040517fc3cc244a00000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff89169163c3cc244a916119729160040190815260200190565b602060405180830381865afa15801561198f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119b39190613bef565b6060830151909150600160ff83161b166119f9576040517f5a790ab800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b505050505050565b600080611a1283850185613b3f565b9050611a22868260000151611586565b9695505050505050565b600080611a3984846115fb565b805480602002602001604051908101604052809291908181526020018280548015611a9a57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311611a6f575b505050505090506000611aad85856115b9565b805480602002602001604051908101604052809291908181526020016000905b82821015611b79578382906000526020600020018054611aec90613698565b80601f0160208091040260200160405190810160405280929190818152602001828054611b1890613698565b8015611b655780601f10611b3a57610100808354040283529160200191611b65565b820191906000526020600020905b815481529060010190602001808311611b4857829003601f168201915b505050505081526020019060010190611acd565b505084519293505050868114611bd357856001811115611b9b57611b9b61378d565b6040517f3171c36f00000000000000000000000000000000000000000000000000000000815260ff9091166004820152602401610478565b60005b81811015611c9757611c7487858381518110611bf457611bf4613713565b6020026020010151858481518110611c0e57611c0e613713565b60200260200101518c8c86818110611c2857611c28613713565b9050602002810190611c3a9190613c0a565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506128f092505050565b611c855760009450505050506107aa565b80611c8f81613c6f565b915050611bd6565b50600198975050505050505050565b60606000611cb683850185613b3f565b90506000600760008154611cc990613c6f565b91829055506040805160a0810182528451815260208086015173ffffffffffffffffffffffffffffffffffffffff90811682840152606080880151909116838501528684015190830152608080870151908301526000848152600890915291909120815192935090918291908190611d419082613d19565b506020828101516001830180547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff9384161790915560408086015160028601805490931693169290921790556060840151600384015560809093015160049092019190915590518391600991600091611dd491869101612fe8565b60405160208183030381529060405280519060200120815260200190815260200160002081905550817fc1ab5d0231434d664068cd9e5f80a04152484f1844e564dd9fee5c687caa0d7c84600001518560200151866040015187606001518860800151604051611e48959493929190613e33565b60405180910390a26040805160208101849052016040516020818303038152906040529350505050949350505050565b8154600090815b81811015611ee8578373ffffffffffffffffffffffffffffffffffffffff16858281548110611eb057611eb0613713565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1603611ee0579150610b189050565b600101611e7f565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff949350505050565b8151600a811115611f4f576040517f760fb4ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80825114611f89576040517f3021beb200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b818110156119fb57600073ffffffffffffffffffffffffffffffffffffffff16848281518110611fbe57611fbe613713565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1603612013576040517f7d4de38200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600081118015612083575083600182038151811061203357612033613713565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1684828151811061206357612063613713565b602002602001015173ffffffffffffffffffffffffffffffffffffffff16145b156120ba576040517fd696c40800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8381815181106120cc576120cc613713565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1663a913b88184838151811061210157612101613713565b60200260200101516040518263ffffffff1660e01b81526004016121259190613102565b60006040518083038186803b15801561213d57600080fd5b505afa158015612151573d6000803e3d6000fd5b505050508584828151811061216857612168613713565b60209081029190910181015182546001810184556000938452919092200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909216919091179055825185908490839081106121de576121de613713565b602090810291909101810151825460018101845560009384529190922001906122079082613d19565b50600101611f8c565b600061223c827f01ffc9a700000000000000000000000000000000000000000000000000000000612274565b8015610b18575061226d827fffffffff00000000000000000000000000000000000000000000000000000000612274565b1592915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d9150600051905082801561232c575060208210155b80156123385750600081115b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff8216612400576123887f637821dcee84aabec9c8cf4f6f643013a24ad27fd41511ffd937aea80d8619a9826113cb565b6123fc576040517f75000dc00000000000000000000000000000000000000000000000000000000081527f637821dcee84aabec9c8cf4f6f643013a24ad27fd41511ffd937aea80d8619a9600482015273ffffffffffffffffffffffffffffffffffffffff82166024820152604401610478565b5050565b8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612462573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061248691906136f6565b73ffffffffffffffffffffffffffffffffffffffff16146123fc576040517fdc13a9c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000806124f1836040015160000151846020015185606001516129ec565b91509150600080612513856040015160200151866020015187608001516129ec565b91509150600060405180608001604052808673ffffffffffffffffffffffffffffffffffffffff1681526020018581526020018473ffffffffffffffffffffffffffffffffffffffff168152602001838152509050600073ffffffffffffffffffffffffffffffffffffffff16866020015173ffffffffffffffffffffffffffffffffffffffff16036126395780600587600001516040516125b59190613742565b9081526040805160209281900383019020835181547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff9283161783559385015160018301559184015160028201805490941692169190911790915560609091015160039091015561270c565b80600660008860200151896000015160405160200161265992919061375e565b604080518083037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00181529181528151602092830120835282820193909352908201600020835181547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff9283161783559285015160018301559284015160028201805490931693169290921790556060909101516003909101555b856020015173ffffffffffffffffffffffffffffffffffffffff167f5afe4586ed79afd39271a5d07aaa8d60de58e6e9a48ebf10c8f1ce828b592e7587600001518360000151896040015160000151856020015186604001518c604001516020015188606001516040516127869796959493929190613ebc565b60405180910390a2505050505050565b73ffffffffffffffffffffffffffffffffffffffff8216612818576005816040516127c19190613742565b90815260405190819003602001902080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811682556000600183018190556002830180549092169091556003909101556128b3565b60066000838360405160200161282f92919061375e565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152918152815160209283012083529082019290925201600090812080547fffffffffffffffffffffffff00000000000000000000000000000000000000009081168255600182018390556002820180549091169055600301555b7fa1b9abc85838f61f05343c3b5b89fe250131975f2b25b6029a263e253dc0e7fd81836040516128e4929190613f28565b60405180910390a15050565b600080604051806040016040528085815260200184815250905060008573ffffffffffffffffffffffffffffffffffffffff166334e5d29f836040516020016129399190613f60565b6040516020818303038152906040526040518263ffffffff1660e01b81526004016129649190613102565b6000604051808303816000875af1158015612983573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526129c99190810190613fc0565b50905060018160018111156129e0576129e061378d565b14979650505050505050565b6000806001856005811115612a0357612a0361378d565b03612a3357507f000000000000000000000000000000000000000000000000000000000000000090506000612b9c565b6002856005811115612a4757612a4761378d565b03612ab65773ffffffffffffffffffffffffffffffffffffffff8416612a99576040517fe86db48e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612aa38484612ba4565b83612aad84612da2565b91509150612b9c565b6003856005811115612aca57612aca61378d565b03612afa57507f000000000000000000000000000000000000000000000000000000000000000090506000612b9c565b6004856005811115612b0e57612b0e61378d565b03612b32575073ffffffffffffffffffffffffffffffffffffffff90506000612b9c565b6005856005811115612b4657612b4661378d565b03612b6a575073ffffffffffffffffffffffffffffffffffffffff90506000612b9c565b6040517f92c6e29000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b935093915050565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a91612c4991600401613102565b602060405180830381865afa158015612c66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c8a91906136f6565b825190915060005b81811015612d9b578273ffffffffffffffffffffffffffffffffffffffff16638a8cb0b486868481518110612cc957612cc9613713565b60200260200101516040518363ffffffff1660e01b8152600401612d1292919073ffffffffffffffffffffffffffffffffffffffff92909216825260ff16602082015260400190565b602060405180830381865afa158015612d2f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d5391906138af565b612d89576040517fa4ba834600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80612d9381613c6f565b915050612c92565b5050505050565b60008151600003612ddf576040517f0fcfd20b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805b8351811015612e2157838181518110612dfe57612dfe613713565b602002602001015160ff1660ff166001901b821791508080600101915050612de3565b5092915050565b5080546000825590600052602060002090810190612e469190612e67565b50565b5080546000825590600052602060002090810190612e469190612e80565b5b80821115612e7c5760008155600101612e68565b5090565b80821115612e7c576000612e948282612e9d565b50600101612e80565b508054612ea990613698565b6000825580601f10612eb9575050565b601f016020900490600052602060002090810190612e469190612e67565b73ffffffffffffffffffffffffffffffffffffffff81168114612e4657600080fd5b8035612f0481612ed7565b919050565b600060208284031215612f1b57600080fd5b8135610b0181612ed7565b600060208284031215612f3857600080fd5b813567ffffffffffffffff811115612f4f57600080fd5b820160a08185031215610b0157600080fd5b600060208284031215612f7357600080fd5b5035919050565b60005b83811015612f95578181015183820152602001612f7d565b50506000910152565b60008151808452612fb6816020860160208601612f7a565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000825160a0602084015261300460c0840182612f9e565b9050602084015173ffffffffffffffffffffffffffffffffffffffff8082166040860152806040870151166060860152505060608401516080840152608084015160a08401528091505092915050565b60008083601f84011261306657600080fd5b50813567ffffffffffffffff81111561307e57600080fd5b60208301915083602082850101111561309657600080fd5b9250929050565b600080600080606085870312156130b357600080fd5b84356130be81612ed7565b935060208501356130ce81612ed7565b9250604085013567ffffffffffffffff8111156130ea57600080fd5b6130f687828801613054565b95989497509550505050565b602081526000610b016020830184612f9e565b60028110612e4657600080fd5b60008083601f84011261313457600080fd5b50813567ffffffffffffffff81111561314c57600080fd5b6020830191508360208260051b850101111561309657600080fd5b60008060008060008060008060a0898b03121561318357600080fd5b883561318e81613115565b9750602089013561319e81612ed7565b9650604089013567ffffffffffffffff808211156131bb57600080fd5b6131c78c838d01613054565b909850965060608b01359150808211156131e057600080fd5b6131ec8c838d01613122565b909650945060808b013591508082111561320557600080fd5b506132128b828c01613122565b999c989b5096995094979396929594505050565b60008060006060848603121561323b57600080fd5b833561324681613115565b95602085013595506040909401359392505050565b6000806040838503121561326e57600080fd5b823561327981613115565b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160a0810167ffffffffffffffff811182821017156132d9576132d9613287565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561332657613326613287565b604052919050565b600067ffffffffffffffff82111561334857613348613287565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f83011261338557600080fd5b81356133986133938261332e565b6132df565b8181528460208386010111156133ad57600080fd5b816020850160208301376000918101602001919091529392505050565b600080604083850312156133dd57600080fd5b82356133e881612ed7565b9150602083013567ffffffffffffffff81111561340457600080fd5b61341085828601613374565b9150509250929050565b60008060006060848603121561342f57600080fd5b833561343a81613115565b925060208401359150604084013561345181612ed7565b809150509250925092565b60008060006060848603121561347157600080fd5b833561347c81613115565b9250602084013561348c81612ed7565b929592945050506040919091013590565b60008060008060008060008060a0898b0312156134b957600080fd5b883561318e81612ed7565b600080600080600080600060a0888a0312156134df57600080fd5b87356134ea81613115565b965060208801356134fa81612ed7565b955060408801359450606088013567ffffffffffffffff8082111561351e57600080fd5b61352a8b838c01613122565b909650945060808a013591508082111561354357600080fd5b506135508a828b01613122565b989b979a50959850939692959293505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60208152600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126135e457600080fd5b830160208101903567ffffffffffffffff81111561360157600080fd5b80360382131561361057600080fd5b60a0602085015261362560c085018284613563565b91505061363460208501612ef9565b73ffffffffffffffffffffffffffffffffffffffff811660408501525061365d60408501612ef9565b73ffffffffffffffffffffffffffffffffffffffff811660608501525060608401356080840152608084013560a08401528091505092915050565b600181811c908216806136ac57607f821691505b6020821081036136e5577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b8051612f0481612ed7565b60006020828403121561370857600080fd5b8151610b0181612ed7565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008251613754818460208701612f7a565b9190910192915050565b73ffffffffffffffffffffffffffffffffffffffff831681526040602082015260006107aa6040830184612f9e565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600067ffffffffffffffff8211156137d6576137d6613287565b5060051b60200190565b60006137ee613393846137bc565b80848252602080830192508560051b85013681111561380c57600080fd5b855b8181101561384857803567ffffffffffffffff81111561382e5760008081fd5b61383a36828a01613374565b86525093820193820161380e565b50919695505050505050565b60208082528181018390526000908460408401835b868110156138a457823561387c81612ed7565b73ffffffffffffffffffffffffffffffffffffffff1682529183019190830190600101613869565b509695505050505050565b6000602082840312156138c157600080fd5b81518015158114610b0157600080fd5b600080604083850312156138e457600080fd5b82359150602083013567ffffffffffffffff81111561340457600080fd5b60006139106133938461332e565b905082815283838301111561392457600080fd5b610b01836020830184612f7a565b600082601f83011261394357600080fd5b610b0183835160208501613902565b805160068110612f0457600080fd5b60006040828403121561397357600080fd5b6040516040810181811067ffffffffffffffff8211171561399657613996613287565b6040529050806139a583613952565b81526139b360208401613952565b60208201525092915050565b805160ff81168114612f0457600080fd5b600082601f8301126139e157600080fd5b815160206139f1613393836137bc565b82815260059290921b84018101918181019086841115613a1057600080fd5b8286015b848110156138a457613a25816139bf565b8352918301918301613a14565b600060208284031215613a4457600080fd5b815167ffffffffffffffff80821115613a5c57600080fd5b9083019060c08286031215613a7057600080fd5b613a786132b6565b825182811115613a8757600080fd5b613a9387828601613932565b825250613aa2602084016136eb565b6020820152613ab48660408501613961565b6040820152608083015182811115613acb57600080fd5b613ad7878286016139d0565b60608301525060a083015182811115613aef57600080fd5b613afb878286016139d0565b60808301525095945050505050565b600060208284031215613b1c57600080fd5b815167ffffffffffffffff811115613b3357600080fd5b6107aa84828501613932565b600060208284031215613b5157600080fd5b813567ffffffffffffffff80821115613b6957600080fd5b9083019060a08286031215613b7d57600080fd5b613b856132b6565b823582811115613b9457600080fd5b613ba087828601613374565b82525060208301359150613bb382612ed7565b8160208201526040830135604082015260608301359150613bd382612ed7565b8160608201526080830135608082015280935050505092915050565b600060208284031215613c0157600080fd5b610b01826139bf565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112613c3f57600080fd5b83018035915067ffffffffffffffff821115613c5a57600080fd5b60200191503681900382131561309657600080fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613cc7577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b601f821115613d1457600081815260208120601f850160051c81016020861015613cf55750805b601f850160051c820191505b818110156119fb57828155600101613d01565b505050565b815167ffffffffffffffff811115613d3357613d33613287565b613d4781613d418454613698565b84613cce565b602080601f831160018114613d9a5760008415613d645750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b1785556119fb565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015613de757888601518255948401946001909101908401613dc8565b5085821015613e2357878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b60a081526000613e4660a0830188612f9e565b73ffffffffffffffffffffffffffffffffffffffff968716602084015260408301959095525091909316606082015260800191909152919050565b60068110613eb8577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b60e081526000613ecf60e083018a612f9e565b905073ffffffffffffffffffffffffffffffffffffffff8089166020840152613efb6040840189613e81565b6060830187905285166080830152613f1660a0830185613e81565b8260c083015298975050505050505050565b604081526000613f3b6040830185612f9e565b905073ffffffffffffffffffffffffffffffffffffffff831660208301529392505050565b602081526000825160406020840152613f7c6060840182612f9e565b905060208401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0848303016040850152613fb78282612f9e565b95945050505050565b60008060408385031215613fd357600080fd5b8251613fde81613115565b602084015190925067ffffffffffffffff811115613ffb57600080fd5b8301601f8101851361400c57600080fd5b6134108582516020840161390256fea26469706673582212207190e1ba25e661aeef442bbbda8112d09efcacc42e8f5ab6301701d36abe602264736f6c63430008130033000000000000000000000000ad2377c8f9f0ca6382fef166b08aede8318fe49c000000000000000000000000edbd4907a7f98de932e635e9076b4e0c36d0e797000000000000000000000000cd28eb9d0d2afcf4354f2c93de5ce9bbf88257ae000000000000000000000000e3c522921a16c692e664d06d53a251f91323a06b0000000000000000000000007edacd4d53b5a626471c6728f04d92125ccf647f", + "nonce": "0x605", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xb0acaa085d5482b98b3a6a658c2bd9a7d97cbd13ff1976adbaf5e39b7d5d986b", + "transactionType": "CREATE", + "contractName": "LicensingModule", + "contractAddress": "0x6a3E5eB4CE11aE3B063903AB6530c34D6daf9Dc0", + "function": null, + "arguments": [ + "(0xaD2377c8f9f0ca6382fEf166b08aeDe8318fE49C, 0xedBd4907A7F98de932e635e9076B4E0C36D0E797, 0xCD28eb9D0D2AFcf4354F2c93dE5ce9Bbf88257ae, 0xE3C522921A16c692E664D06d53a251f91323a06B)", + "0xA30bB959Bc298e244aCE0402B5c0609CC8745134", + "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x47ef53", + "value": "0x0", + "data": "0x6101406040523480156200001257600080fd5b50604051620043ae380380620043ae83398101604081905262000035916200016b565b825183906001600160a01b03166200006057604051636028d8f760e01b815260040160405180910390fd5b80516001600160a01b039081166080526020820151166200009457604051637e2fee8960e11b815260040160405180910390fd5b60208101516001600160a01b0390811660a052604082015116620000cb57604051635a70c46160e11b815260040160405180910390fd5b60408101516001600160a01b0390811660c052606090910151811660e0528216620001095760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03808316610100528116620001385760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03166101205250620002359050565b80516001600160a01b03811681146200016657600080fd5b919050565b600080600083850360c08112156200018257600080fd5b60808112156200019157600080fd5b50604051608081016001600160401b0381118282101715620001c357634e487b7160e01b600052604160045260246000fd5b604052620001d1856200014e565b8152620001e1602086016200014e565b6020820152620001f4604086016200014e565b604082015262000207606086016200014e565b606082015292506200021c608085016200014e565b91506200022c60a085016200014e565b90509250925092565b60805160a05160c05160e05161010051610120516140c7620002e76000396000818161027d0152612a430152600081816102b701528181611a1f01528181611d110152612667015260006101d80152600081816103b0015281816112850152818161137601528181611f4f015281816120480152818161216e015281816124ce0152612ad90152600081816103290152818161041201526108ce015260008181610363015261256001526140c76000f3fe608060405234801561001057600080fd5b506004361061016c5760003560e01c8063a5b04d45116100cd578063e572040411610081578063f0ebdc8311610066578063f0ebdc83146103ab578063f1ac0fd5146103d2578063fba854e0146103e557600080fd5b8063e572040414610385578063e8fb5c9b1461039857600080fd5b8063b95ddb52116100b2578063b95ddb5214610324578063bc12fcca1461034b578063d2faf8b01461035e57600080fd5b8063a5b04d45146102fc578063b6efd29d1461031157600080fd5b806368a4f071116101245780637448c568116101095780637448c5681461029f57806376a4b13b146102b257806377379d94146102d957600080fd5b806368a4f07114610265578063743fee4a1461027857600080fd5b80634fcbd213116101555780634fcbd213146101b357806351e06b90146101d3578063562573a91461021f57600080fd5b806332ee6813146101715780634fa4467c146101ab575b600080fd5b6101987fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81565b6040519081526020015b60405180910390f35b610198600a81565b6101c66101c1366004612fcb565b6103f8565b6040516101a2919061309e565b6101fa7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101a2565b61025861022d3660046130b1565b73ffffffffffffffffffffffffffffffffffffffff1660009081526005602052604090205460ff1690565b6040516101a29190613111565b6101c661027336600461312c565b610480565b6101fa7f000000000000000000000000000000000000000000000000000000000000000081565b6101986102ad366004613161565b61065b565b6101fa7f000000000000000000000000000000000000000000000000000000000000000081565b6102ec6102e736600461318d565b610671565b60405190151581526020016101a2565b61030f61030a3660046131cf565b6106a9565b005b6101c661031f366004613255565b6108b4565b6101fa7f000000000000000000000000000000000000000000000000000000000000000081565b610198610359366004613161565b610a19565b6101fa7f000000000000000000000000000000000000000000000000000000000000000081565b6101fa61039336600461312c565b610a25565b6101986103a636600461318d565b610b1d565b6101fa7f000000000000000000000000000000000000000000000000000000000000000081565b6101c66103e0366004613314565b610b32565b61030f6103f3366004613369565b610c54565b60603373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610469576040517f72823b5400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61047585858585610e32565b90505b949350505050565b6060600061048e8585610eb4565b805480602002602001604051908101604052809291908181526020016000905b8282101561055a5783829060005260206000200180546104cd90613408565b80601f01602080910402602001604051908101604052809291908181526020018280546104f990613408565b80156105465780601f1061051b57610100808354040283529160200191610546565b820191906000526020600020905b81548152906001019060200180831161052957829003601f168201915b5050505050815260200190600101906104ae565b505050509050805183106105a2576040517f9c7692bf000000000000000000000000000000000000000000000000000000008152600481018490526024015b60405180910390fd5b6105ac8585610eb4565b83815481106105bd576105bd61345b565b9060005260206000200180546105d290613408565b80601f01602080910402602001604051908101604052809291908181526020018280546105fe90613408565b801561064b5780601f106106205761010080835404028352916020019161064b565b820191906000526020600020905b81548152906001019060200180831161062e57829003601f168201915b50505050509150505b9392505050565b60006106678383610ef6565b5490505b92915050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61069f858585610b1d565b1415949350505050565b8173ffffffffffffffffffffffffffffffffffffffff81166106f7576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610742573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610766919061348a565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146107ca576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008460018111156107de576107de6130ce565b1480156107f8575060008281526020819052604090205415155b1561083057600082815260208190526040812061081491612eb1565b600082815260026020526040812061082b91612ed2565b610872565b6000828152600160205260409020541561087257600082815260016020526040812061085b91612eb1565b600082815260036020526040812061087291612ed2565b81846001811115610885576108856130ce565b6040517f1fe48a4ec69671720d8bdd8f8a6853d16f486c0bb91fcaf5b8ffc4932b8bc9f490600090a350505050565b60603373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610925576040517f72823b5400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fff5c818c3a09617e24e0ba5e97a8b336e42589e94d6f586a74a28d768ee2c8cb6109538686600084610f38565b6109ae5760405173ffffffffffffffffffffffffffffffffffffffff8a16907fa1e5a8c0fde3fa4d7320c3f9de0ab0a2c1ee6e891e6a513ca0811ddcf768b59490600090a25050604080516020810190915260008152610a0d565b6109ba8a8a8a8a6111b2565b91506109c98484600184610f38565b5060405173ffffffffffffffffffffffffffffffffffffffff8a16907f4ec4635a4d1f6ebe9ee3a059f74fc5d802e04d2d115c4090337a34e3b137c98a90600090a2505b98975050505050505050565b60006106678383610eb4565b600080610a328585610ef6565b805480602002602001604051908101604052809291908181526020018280548015610a9357602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610a68575b5050505050905080518310610ad7576040517f9c7692bf00000000000000000000000000000000000000000000000000000000815260048101849052602401610599565b610ae18585610ef6565b8381548110610af257610af261345b565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1695945050505050565b6000610478610b2c8585610ef6565b83611434565b6060600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610bb485858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506114ce92505050565b81526020019081526020016000208054610bcd90613408565b80601f0160208091040260200160405190810160405280929190818152602001828054610bf990613408565b8015610c465780601f10610c1b57610100808354040283529160200191610c46565b820191906000526020600020905b815481529060010190602001808311610c2957829003601f168201915b505050505090509392505050565b8573ffffffffffffffffffffffffffffffffffffffff8116610ca2576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ced573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d11919061348a565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d75576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d808888886106a9565b610ddc610d8d8988610ef6565b610d978a89610eb4565b878780806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250610dd79250889150899050613631565b611525565b85886001811115610def57610def6130ce565b7f5e140eb5bed8bcb1664a04c0be4aa419e0d2dbf1277a4a6770882a0beb3b91b28787604051610e209291906136a5565b60405180910390a35050505050505050565b6060600080610e4384860186613700565b915091507f8b21f20183a523515c357db6dba25c92b138630b63988ca3e60a6be86c8da0458203610e8257610e7987878361182b565b92505050610478565b6040517f96bb42f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080836001811115610ec957610ec96130ce565b03610ee25750600081815260026020526040902061066b565b50600081815260036020526040902061066b565b600080836001811115610f0b57610f0b6130ce565b03610f245750600081815260208190526040902061066b565b50600081815260016020526040902061066b565b600080610f458484610ef6565b805480602002602001604051908101604052809291908181526020018280548015610fa657602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610f7b575b505050505090506000610fb98585610eb4565b805480602002602001604051908101604052809291908181526020016000905b82821015611085578382906000526020600020018054610ff890613408565b80601f016020809104026020016040519081016040528092919081815260200182805461102490613408565b80156110715780601f1061104657610100808354040283529160200191611071565b820191906000526020600020905b81548152906001019060200180831161105457829003601f168201915b505050505081526020019060010190610fd9565b5050845192935050508681146110df578560018111156110a7576110a76130ce565b6040517f3171c36f00000000000000000000000000000000000000000000000000000000815260ff9091166004820152602401610599565b60005b818110156111a357611180878583815181106111005761110061345b565b602002602001015185848151811061111a5761111a61345b565b60200260200101518c8c868181106111345761113461345b565b90506020028101906111469190613747565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611de092505050565b611191576000945050505050610478565b8061119b816137ac565b9150506110e2565b50600198975050505050505050565b60606000806111c384860186613700565b915091507f3f92a83f1dd77188c62fa393a54ccf9854be836ca6c243397d0acbbce047238782036111f957610e79878783611edc565b7f5281374dd3fc2bb7839f50fddfb6a14a666cb4d23b20d6aecf9b9950d103b33682036112fd57600081806020019051810190611236919061380b565b6040517f1f09e4e50000000000000000000000000000000000000000000000000000000081526004810182905273ffffffffffffffffffffffffffffffffffffffff89811660248301529192507f000000000000000000000000000000000000000000000000000000000000000090911690631f09e4e590604401600060405180830381600087803b1580156112cb57600080fd5b505af11580156112df573d6000803e3d6000fd5b50505050604051806020016040528060008152509350505050610478565b7f29def77ab981c01a6b53c58b23dd89ac4447095f721298424063ed3f16962ac68203611402576000808280602001905181019061133b9190613824565b6040517f71e074dd000000000000000000000000000000000000000000000000000000008152600481018390526024810182905291935091507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906371e074dd90604401600060405180830381600087803b1580156113cf57600080fd5b505af11580156113e3573d6000803e3d6000fd5b5050505060405180602001604052806000815250945050505050610478565b6040517f8c3cdde800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8154600090815b818110156114a4578373ffffffffffffffffffffffffffffffffffffffff1685828154811061146c5761146c61345b565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff160361149c57915061066b9050565b60010161143b565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff949350505050565b600080829050601f8151111561151257826040517f305a27a9000000000000000000000000000000000000000000000000000000008152600401610599919061309e565b805161151d82613848565b179392505050565b8151600a811115611562576040517f760fb4ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8082511461159c576040517f3021beb200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b8181101561182357600073ffffffffffffffffffffffffffffffffffffffff168482815181106115d1576115d161345b565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1603611626576040517f7d4de38200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008111801561169657508360018203815181106116465761164661345b565b602002602001015173ffffffffffffffffffffffffffffffffffffffff168482815181106116765761167661345b565b602002602001015173ffffffffffffffffffffffffffffffffffffffff16145b156116cd576040517fd696c40800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8381815181106116df576116df61345b565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1663a913b8818483815181106117145761171461345b565b60200260200101516040518263ffffffff1660e01b8152600401611738919061309e565b60006040518083038186803b15801561175057600080fd5b505afa158015611764573d6000803e3d6000fd5b505050508584828151811061177b5761177b61345b565b60209081029190910181015182546001810184556000938452919092200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909216919091179055825185908490839081106117f1576117f161345b565b6020908102919091018101518254600181018455600093845291909220019061181a90826138d5565b5060010161159f565b505050505050565b60608273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561188f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118b3919061348a565b73ffffffffffffffffffffffffffffffffffffffff1614611900576040517f679dd15600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000828060200190518101906119169190613b15565b9050600081604001516002811115611930576119306130ce565b03611967576040517fbe53f1bf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff821660009081526005602052604090205460ff1660028111156119a4576119a46130ce565b146119db576040517f58d7c9ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815160208301516040517f912871c800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169263912871c892611a5292600401613c2a565b602060405180830381865afa158015611a6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a939190613c58565b611ac9576040517f3d43105700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408083015173ffffffffffffffffffffffffffffffffffffffff8316600090815260056020529190912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001836002811115611b2c57611b2c6130ce565b0217905550815173ffffffffffffffffffffffffffffffffffffffff8216600090815260066020526040902090611b6390826138d5565b5073ffffffffffffffffffffffffffffffffffffffff811660009081526004602090815260408220908401515190915b81811015611ca95784602001518181518110611bb157611bb161345b565b60200260200101516020015183600087602001518481518110611bd657611bd661345b565b60200260200101516000015181526020019081526020016000209081611bfc91906138d5565b508373ffffffffffffffffffffffffffffffffffffffff167fa4e47a4c0e1b636bd11cfbec15cad6ae0d34947d00219bb1bab5ee309dc79c5f611c5f87602001518481518110611c4e57611c4e61345b565b60200260200101516000015161233e565b87602001518481518110611c7557611c7561345b565b602002602001015160200151604051611c8f929190613c7a565b60405180910390a280611ca1816137ac565b915050611b93565b5083516040517feae376e300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff808616927fffedbcce1b94ebe928a55b7ca34c76074cbe7f467d561b9c0589d5d985b39be39290917f0000000000000000000000000000000000000000000000000000000000000000169063eae376e390611d4690849060040161309e565b600060405180830381865afa158015611d63573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052611da99190810190613c9f565b8760400151604051611dbd93929190613cd4565b60405180910390a250506040805160208101909152600081529695505050505050565b600080604051806040016040528085815260200184815250905060008573ffffffffffffffffffffffffffffffffffffffff166334e5d29f83604051602001611e299190613d09565b6040516020818303038152906040526040518263ffffffff1660e01b8152600401611e54919061309e565b6000604051808303816000875af1158015611e73573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052611eb99190810190613d60565b5090506001816001811115611ed057611ed06130ce565b14979650505050505050565b6060600082806020019051810190611ef49190613da7565b90506000611f0c86868460200151856040015161237d565b905081602001516000146120055760208201516040517fe705c2b800000000000000000000000000000000000000000000000000000000815260048101919091527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063e705c2b890602401602060405180830381865afa158015611fab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fcf9190613c58565b612005576040517f37efd03900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020820151158015906120c8575060208201516040517f3c06e1dc00000000000000000000000000000000000000000000000000000000815260048101919091527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690633c06e1dc90602401602060405180830381865afa1580156120a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120c89190613c58565b156122055781515115612107576040517f4af02eb800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602082015160408084015190517fd09d894e000000000000000000000000000000000000000000000000000000008152600481019290925273ffffffffffffffffffffffffffffffffffffffff8381166024840152878116604484015260648301919091527f0000000000000000000000000000000000000000000000000000000000000000169063d09d894e906084016020604051808303816000875af11580156121b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121db919061380b565b6040516020016121ed91815260200190565b60405160208183030381529060405292505050610654565b8473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461226a576040517f2d05516900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6121db86868385600660008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080546122bb90613408565b80601f01602080910402602001604051908101604052809291908181526020018280546122e790613408565b80156123345780601f1061230957610100808354040283529160200191612334565b820191906000526020600020905b81548152906001019060200180831161231757829003601f168201915b5050505050612621565b6060600061234b83612b89565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b73ffffffffffffffffffffffffffffffffffffffff841660009081526005602052604081205460ff16818160028111156123b9576123b96130ce565b036123f0576040517f8c17640800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816002811115612404576124046130ce565b03612480578573ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612454573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612478919061348a565b915050610478565b6002816002811115612494576124946130ce565b036125ef57831561252b576040517f6352211e000000000000000000000000000000000000000000000000000000008152600481018590527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690636352211e906024015b602060405180830381865afa158015612454573d6000803e3d6000fd5b82156125a4576040517f299d1cf6000000000000000000000000000000000000000000000000000000008152600481018490527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063299d1cf69060240161250e565b8573ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612454573d6000803e3d6000fd5b6040517fbe53f1bf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8151516040517fe75afa5500000000000000000000000000000000000000000000000000000000815260009190829073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169063e75afa559061269c90879060040161309e565b600060405180830381865afa1580156126b9573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526126ff9190810190613e2b565b805190915060008167ffffffffffffffff81111561271f5761271f6134a7565b60405190808252806020026020018201604052801561276557816020015b60408051808201909152600081526060602082015281526020019060019003908161273d5790505b5073ffffffffffffffffffffffffffffffffffffffff8b166000908152600460205260408120919250908190815b85811015612a195760008782815181106127af576127af61345b565b6020026020010151905060008360008360000151815260200190815260200160002080546127dc90613408565b80601f016020809104026020016040519081016040528092919081815260200182805461280890613408565b80156128555780601f1061282a57610100808354040283529160200191612855565b820191906000526020600020905b81548152906001019060200180831161283857829003601f168201915b50505050509050606060005b8b8110156128bf5760008f6000015182815181106128815761288161345b565b6020026020010151905061289c816000015186600001511490565b156128ac576020015191506128bf565b50806128b7816137ac565b915050612861565b5060006128d182848660200151612bca565b9050604051806040016040528085600001518152602001828152508986815181106128fe576128fe61345b565b60200260200101819052507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708180519060200120036129405750505050612a07565b61298384600001516040518060400160405280601e81526020017f44657269766174697665732d5265636970726f63616c2d4c6963656e73650000815250612c5b565b156129a3578080602001905181019061299c9190613c58565b9750612a02565b6129e684600001516040518060400160405280601981526020017f44657269766174697665732d576974682d417070726f76616c00000000000000815250612c5b565b15612a0257808060200190518101906129ff9190613c58565b96505b505050505b80612a11816137ac565b915050612793565b506040805161012081019091526000908060018152602001851515815260200184151581526020017f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1681526020018d73ffffffffffffffffffffffffffffffffffffffff1681526020018f73ffffffffffffffffffffffffffffffffffffffff168152602001612abe8c6114ce565b81526020018c6040015181526020018c6020015181525090507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663c7647215828f886040518463ffffffff1660e01b8152600401612b3493929190613ef0565b6020604051808303816000875af1158015612b53573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b77919061380b565b9e9d5050505050505050505050505050565b600060ff8216601f81111561066b576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b825160609015612c5457825115612c0d576040517f42445ce000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612c178285612c6e565b612c4d576040517f5bcde08d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5082610654565b5081610654565b600061065483612c6a846114ce565b1490565b60007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470828051906020012003612ca65750600161066b565b6000836004811115612cba57612cba6130ce565b03612cdd5781806020019051810190612cd39190613c58565b506001905061066b565b6001836004811115612cf157612cf16130ce565b03612d1e5781806020019051810190612d0a919061380b565b600003612d195750600061066b565b612ea8565b6002836004811115612d3257612d326130ce565b03612d8657600073ffffffffffffffffffffffffffffffffffffffff1682806020019051810190612d63919061348a565b73ffffffffffffffffffffffffffffffffffffffff1603612d195750600061066b565b6003836004811115612d9a57612d9a6130ce565b03612e625781806020019051810190612db39190613c9f565b50604051602001612df59060208082526001908201527f2000000000000000000000000000000000000000000000000000000000000000604082015260600190565b6040516020818303038152906040528051906020012082805190602001201480612e555750604051602001612e3590602080825260009082015260400190565b604051602081830303815290604052805190602001208280519060200120145b15612d195750600061066b565b6004836004811115612e7657612e766130ce565b03612ea857600082806020019051810190612e91919061400b565b90508051600003612ea657600091505061066b565b505b50600192915050565b5080546000825590600052602060002090810190612ecf9190612ef0565b50565b5080546000825590600052602060002090810190612ecf9190612f09565b5b80821115612f055760008155600101612ef1565b5090565b80821115612f05576000612f1d8282612f26565b50600101612f09565b508054612f3290613408565b6000825580601f10612f42575050565b601f016020900490600052602060002090810190612ecf9190612ef0565b73ffffffffffffffffffffffffffffffffffffffff81168114612ecf57600080fd5b60008083601f840112612f9457600080fd5b50813567ffffffffffffffff811115612fac57600080fd5b602083019150836020828501011115612fc457600080fd5b9250929050565b60008060008060608587031215612fe157600080fd5b8435612fec81612f60565b93506020850135612ffc81612f60565b9250604085013567ffffffffffffffff81111561301857600080fd5b61302487828801612f82565b95989497509550505050565b60005b8381101561304b578181015183820152602001613033565b50506000910152565b6000815180845261306c816020860160208601613030565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006106546020830184613054565b6000602082840312156130c357600080fd5b813561065481612f60565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6003811061310d5761310d6130ce565b9052565b6020810161066b82846130fd565b60028110612ecf57600080fd5b60008060006060848603121561314157600080fd5b833561314c8161311f565b95602085013595506040909401359392505050565b6000806040838503121561317457600080fd5b823561317f8161311f565b946020939093013593505050565b6000806000606084860312156131a257600080fd5b83356131ad8161311f565b92506020840135915060408401356131c481612f60565b809150509250925092565b6000806000606084860312156131e457600080fd5b83356131ef8161311f565b925060208401356131ff81612f60565b929592945050506040919091013590565b60008083601f84011261322257600080fd5b50813567ffffffffffffffff81111561323a57600080fd5b6020830191508360208260051b8501011115612fc457600080fd5b60008060008060008060008060a0898b03121561327157600080fd5b883561327c81612f60565b9750602089013561328c81612f60565b9650604089013567ffffffffffffffff808211156132a957600080fd5b6132b58c838d01612f82565b909850965060608b01359150808211156132ce57600080fd5b6132da8c838d01613210565b909650945060808b01359150808211156132f357600080fd5b506133008b828c01613210565b999c989b5096995094979396929594505050565b60008060006040848603121561332957600080fd5b833561333481612f60565b9250602084013567ffffffffffffffff81111561335057600080fd5b61335c86828701612f82565b9497909650939450505050565b600080600080600080600060a0888a03121561338457600080fd5b873561338f8161311f565b9650602088013561339f81612f60565b955060408801359450606088013567ffffffffffffffff808211156133c357600080fd5b6133cf8b838c01613210565b909650945060808a01359150808211156133e857600080fd5b506133f58a828b01613210565b989b979a50959850939692959293505050565b600181811c9082168061341c57607f821691505b602082108103613455577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006020828403121561349c57600080fd5b815161065481612f60565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156134f9576134f96134a7565b60405290565b6040516060810167ffffffffffffffff811182821017156134f9576134f96134a7565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715613569576135696134a7565b604052919050565b600067ffffffffffffffff82111561358b5761358b6134a7565b5060051b60200190565b600067ffffffffffffffff8211156135af576135af6134a7565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f8301126135ec57600080fd5b81356135ff6135fa82613595565b613522565b81815284602083860101111561361457600080fd5b816020850160208301376000918101602001919091529392505050565b600061363f6135fa84613571565b80848252602080830192508560051b85013681111561365d57600080fd5b855b8181101561369957803567ffffffffffffffff81111561367f5760008081fd5b61368b36828a016135db565b86525093820193820161365f565b50919695505050505050565b60208082528181018390526000908460408401835b868110156136f55782356136cd81612f60565b73ffffffffffffffffffffffffffffffffffffffff16825291830191908301906001016136ba565b509695505050505050565b6000806040838503121561371357600080fd5b82359150602083013567ffffffffffffffff81111561373157600080fd5b61373d858286016135db565b9150509250929050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261377c57600080fd5b83018035915067ffffffffffffffff82111561379757600080fd5b602001915036819003821315612fc457600080fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613804577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b60006020828403121561381d57600080fd5b5051919050565b6000806040838503121561383757600080fd5b505080516020909101519092909150565b80516020808301519190811015613455577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60209190910360031b1b16919050565b601f8211156138d057600081815260208120601f850160051c810160208610156138b15750805b601f850160051c820191505b81811015611823578281556001016138bd565b505050565b815167ffffffffffffffff8111156138ef576138ef6134a7565b613903816138fd8454613408565b8461388a565b602080601f83116001811461395657600084156139205750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555611823565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156139a357888601518255948401946001909101908401613984565b50858210156139df57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600082601f830112613a0057600080fd5b8151613a0e6135fa82613595565b818152846020838601011115613a2357600080fd5b610478826020830160208701613030565b600082601f830112613a4557600080fd5b81516020613a556135fa83613571565b82815260059290921b84018101918181019086841115613a7457600080fd5b8286015b848110156136f557805167ffffffffffffffff80821115613a995760008081fd5b81890191506040807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0848d03011215613ad25760008081fd5b613ada6134d6565b838801518152908301519082821115613af35760008081fd5b613b018c89848701016139ef565b818901528652505050918301918301613a78565b600060208284031215613b2757600080fd5b815167ffffffffffffffff80821115613b3f57600080fd5b9083019060608286031215613b5357600080fd5b613b5b6134ff565b825182811115613b6a57600080fd5b613b76878286016139ef565b825250602083015182811115613b8b57600080fd5b613b9787828601613a34565b6020830152506040830151925060038310613bb157600080fd5b6040810192909252509392505050565b600081518084526020808501808196508360051b8101915082860160005b85811015613c1d5782840389528151805185528501516040868601819052613c0981870183613054565b9a87019a9550505090840190600101613bdf565b5091979650505050505050565b604081526000613c3d6040830185613054565b8281036020840152613c4f8185613bc1565b95945050505050565b600060208284031215613c6a57600080fd5b8151801515811461065457600080fd5b604081526000613c8d6040830185613054565b8281036020840152613c4f8185613054565b600060208284031215613cb157600080fd5b815167ffffffffffffffff811115613cc857600080fd5b610478848285016139ef565b606081526000613ce76060830186613054565b8281036020840152613cf98186613054565b91505061047860408301846130fd565b602081526000825160406020840152613d256060840182613054565b905060208401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0848303016040850152613c4f8282613054565b60008060408385031215613d7357600080fd5b8251613d7e8161311f565b602084015190925067ffffffffffffffff811115613d9b57600080fd5b61373d858286016139ef565b600060208284031215613db957600080fd5b815167ffffffffffffffff80821115613dd157600080fd5b9083019060608286031215613de557600080fd5b613ded6134ff565b825182811115613dfc57600080fd5b613e0887828601613a34565b825250602083015160208201526040830151604082015280935050505092915050565b60006020808385031215613e3e57600080fd5b825167ffffffffffffffff811115613e5557600080fd5b8301601f81018513613e6657600080fd5b8051613e746135fa82613571565b81815260069190911b82018301908381019087831115613e9357600080fd5b928401925b82841015613ee55760408489031215613eb15760008081fd5b613eb96134d6565b845181528585015160058110613ecf5760008081fd5b8187015282526040939093019290840190613e98565b979650505050505050565b6000610160855160048110613f0757613f076130ce565b808452506020860151613f1e602085018215159052565b506040860151613f32604085018215159052565b506060860151613f5a606085018273ffffffffffffffffffffffffffffffffffffffff169052565b506080860151613f82608085018273ffffffffffffffffffffffffffffffffffffffff169052565b5060a0860151613faa60a085018273ffffffffffffffffffffffffffffffffffffffff169052565b5060c086015160c084015260e086015160e0840152610100808701518185015250613fee61012084018673ffffffffffffffffffffffffffffffffffffffff169052565b8061014084015261400181840185613bc1565b9695505050505050565b6000602080838503121561401e57600080fd5b825167ffffffffffffffff81111561403557600080fd5b8301601f8101851361404657600080fd5b80516140546135fa82613571565b81815260059190911b8201830190838101908783111561407357600080fd5b928401925b82841015613ee55783518252928401929084019061407856fea2646970667358221220062f5c75542050cd9bd2cbfd21dc127d90d821d9275002a728e7843bea209b5664736f6c63430008130033000000000000000000000000ad2377c8f9f0ca6382fef166b08aede8318fe49c000000000000000000000000edbd4907a7f98de932e635e9076b4e0c36d0e797000000000000000000000000cd28eb9d0d2afcf4354f2c93de5ce9bbf88257ae000000000000000000000000e3c522921a16c692e664d06d53a251f91323a06b000000000000000000000000a30bb959bc298e244ace0402b5c0609cc8745134000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "nonce": "0x606", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x95ea5d1ed711248ea3d4ca9a79541f30a843636aa27768fb1fef906c473f3ba6", + "transactionType": "CREATE", + "contractName": "TokenGatedHook", + "contractAddress": "0x1fDD8955a6D70c84A71Ebb69dE88f3Ad0AAc50d6", + "function": null, + "arguments": [ + "0x7EDacD4d53b5A626471c6728f04D92125CcF647F" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x108989", + "value": "0x0", + "data": "0x60806040523480156200001157600080fd5b5060405162000f8838038062000f888339810160408190526200003491620001d1565b808080620000536001600160a01b038216637965db0b60e01b620000e5565b62000096576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b038316908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a250505050620001fc565b6000620000f2836200010d565b801562000106575062000106838362000146565b9392505050565b600062000122826301ffc9a760e01b62000146565b80156200014057506200013e826001600160e01b031962000146565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d91506000519050828015620001b9575060208210155b8015620001c65750600081115b979650505050505050565b600060208284031215620001e457600080fd5b81516001600160a01b03811681146200010657600080fd5b610d7c806200020c6000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806319129e5a1461005157806334e5d29f146100665780635260a98c14610090578063a913b881146100b2575b600080fd5b61006461005f3660046108c2565b6100c5565b005b610079610074366004610928565b610229565b604051610087929190610a09565b60405180910390f35b6100a361009e366004610a31565b610328565b60405161008793929190610a88565b6100646100c0366004610928565b6103ca565b60006100d1813361040d565b610115576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b61015573ffffffffffffffffffffffffffffffffffffffff83167f7965db0b000000000000000000000000000000000000000000000000000000006104b0565b6101bb576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c000000000000000000000000000000000000604482015260640161010c565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050565b600060607f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db610258813361040d565b610297576040517f75000dc00000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440161010c565b60006102a585870187610b92565b90506102b481600001516104cc565b6102c6816000015182602001516105df565b600194509250833073ffffffffffffffffffffffffffffffffffffffff167fdfd1fe8825f45c847f436243dea4246c2ed6c29b2ee09d385de7a3049566b69788888760405161031793929190610c39565b60405180910390a350509250929050565b6000606060007f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db610359813361040d565b610398576040517f75000dc00000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440161010c565b6040517fcce14c2300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61040982828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506104cc92505050565b5050565b600080546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff8481166024830152909116906391d1485490604401602060405180830381865afa158015610485573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a99190610c9f565b9392505050565b60006104bb83610769565b80156104a957506104a983836107ce565b6000818060200190518101906104e29190610d11565b805190915073ffffffffffffffffffffffffffffffffffffffff8116610534576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61057473ffffffffffffffffffffffffffffffffffffffff82167f80ac58cd000000000000000000000000000000000000000000000000000000006104b0565b6105da576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f4945524337323100000000000000000000000000000000000000000000000000604482015260640161010c565b505050565b60606000838060200190518101906105f79190610d11565b905060008380602001905181019061060f9190610d11565b805190915073ffffffffffffffffffffffffffffffffffffffff16610660576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815181516040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91821660048201529116906370a0823190602401602060405180830381865afa1580156106d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f49190610d2d565b60000361075157815181516040517fe9dee8af00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff92831660048201529116602482015260440161010c565b50506040805160208101909152600081529392505050565b6000610795827f01ffc9a7000000000000000000000000000000000000000000000000000000006107ce565b80156107c857506107c6827fffffffff000000000000000000000000000000000000000000000000000000006107ce565b155b92915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015610886575060208210155b80156108925750600081115b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff811681146108bf57600080fd5b50565b6000602082840312156108d457600080fd5b81356104a98161089d565b60008083601f8401126108f157600080fd5b50813567ffffffffffffffff81111561090957600080fd5b60208301915083602082850101111561092157600080fd5b9250929050565b6000806020838503121561093b57600080fd5b823567ffffffffffffffff81111561095257600080fd5b61095e858286016108df565b90969095509350505050565b600281106109a1577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b6000815180845260005b818110156109cb576020818501810151868301820152016109af565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b610a13818461096a565b604060208201526000610a2960408301846109a5565b949350505050565b600080600060408486031215610a4657600080fd5b833567ffffffffffffffff811115610a5d57600080fd5b610a69868287016108df565b9094509250506020840135610a7d8161089d565b809150509250925092565b610a92818561096a565b606060208201526000610aa860608301856109a5565b9050826040830152949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112610af857600080fd5b813567ffffffffffffffff80821115610b1357610b13610ab8565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715610b5957610b59610ab8565b81604052838152866020858801011115610b7257600080fd5b836020870160208301376000602085830101528094505050505092915050565b600060208284031215610ba457600080fd5b813567ffffffffffffffff80821115610bbc57600080fd5b9083019060408286031215610bd057600080fd5b604051604081018181108382111715610beb57610beb610ab8565b604052823582811115610bfd57600080fd5b610c0987828601610ae7565b825250602083013582811115610c1e57600080fd5b610c2a87828601610ae7565b60208301525095945050505050565b604081528260408201528284606083013760006060848301015260007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011682016060838203016020840152610c9560608201856109a5565b9695505050505050565b600060208284031215610cb157600080fd5b815180151581146104a957600080fd5b600060208284031215610cd357600080fd5b6040516020810181811067ffffffffffffffff82111715610cf657610cf6610ab8565b80604052508091508251610d098161089d565b905292915050565b600060208284031215610d2357600080fd5b6104a98383610cc1565b600060208284031215610d3f57600080fd5b505191905056fea26469706673582212209e1a3ebc8bfbd50413ac4957ae8e29399c2a00875d0ca234e77b022e29ed9c7064736f6c634300081300330000000000000000000000007edacd4d53b5a626471c6728f04d92125ccf647f", + "nonce": "0x607", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x1e40c1fb1e572f5629d98fba6201fc8a433a442dff07204b4814b03b03c3a9c3", + "transactionType": "CREATE", + "contractName": "MockERC721", + "contractAddress": "0x9F9772cd93715A0cb512b3Eb997088a0D0b4a5A3", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x1edc92", + "value": "0x0", + "data": "0x60806040523480156200001157600080fd5b506040518060400160405280600a8152602001694d6f636b45524337323160b01b815250604051806040016040528060048152602001634d37323160e01b815250816000908162000063919062000120565b50600162000072828262000120565b505050620001ec565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000a657607f821691505b602082108103620000c757634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200011b57600081815260208120601f850160051c81016020861015620000f65750805b601f850160051c820191505b81811015620001175782815560010162000102565b5050505b505050565b81516001600160401b038111156200013c576200013c6200007b565b62000154816200014d845462000091565b84620000cd565b602080601f8311600181146200018c5760008415620001735750858301515b600019600386901b1c1916600185901b17855562000117565b600085815260208120601f198616915b82811015620001bd578886015182559484019460019091019084016200019c565b5085821015620001dc5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b611a7980620001fc6000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80636352211e1161008c578063a22cb46511610066578063a22cb465146101ee578063b88d4fde14610201578063c87b56dd14610214578063e985e9c51461022757600080fd5b80636352211e146101b257806370a08231146101c557806395d89b41146101e657600080fd5b8063095ea7b3116100c8578063095ea7b31461016457806323b872dd1461017957806340c10f191461018c57806342842e0e1461019f57600080fd5b806301ffc9a7146100ef57806306fdde0314610117578063081812fc1461012c575b600080fd5b6101026100fd366004611662565b610270565b60405190151581526020015b60405180910390f35b61011f610355565b60405161010e91906116ed565b61013f61013a366004611700565b6103e7565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161010e565b610177610172366004611742565b61041b565b005b61017761018736600461176c565b6105ac565b61017761019a366004611742565b61064d565b6101776101ad36600461176c565b61065b565b61013f6101c0366004611700565b610676565b6101d86101d33660046117a8565b610702565b60405190815260200161010e565b61011f6107d0565b6101776101fc3660046117c3565b6107df565b61017761020f36600461182e565b6107ea565b61011f610222366004611700565b610892565b610102610235366004611928565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260056020908152604080832093909416825291909152205460ff1690565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061030357507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b8061034f57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6060600080546103649061195b565b80601f01602080910402602001604051908101604052809291908181526020018280546103909061195b565b80156103dd5780601f106103b2576101008083540402835291602001916103dd565b820191906000526020600020905b8154815290600101906020018083116103c057829003601f168201915b5050505050905090565b60006103f282610906565b5060009081526004602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b600061042682610676565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036104e8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff8216148061051157506105118133610235565b61059d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c00000060648201526084016104df565b6105a78383610994565b505050565b6105b63382610a34565b610642576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f7665640000000000000000000000000000000000000060648201526084016104df565b6105a7838383610af4565b6106578282610def565b5050565b6105a7838383604051806020016040528060008152506107ea565b60008181526002602052604081205473ffffffffffffffffffffffffffffffffffffffff168061034f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e204944000000000000000060448201526064016104df565b600073ffffffffffffffffffffffffffffffffffffffff82166107a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e6572000000000000000000000000000000000000000000000060648201526084016104df565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526003602052604090205490565b6060600180546103649061195b565b610657338383610e09565b6107f43383610a34565b610880576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f7665640000000000000000000000000000000000000060648201526084016104df565b61088c84848484610f36565b50505050565b606061089d82610906565b60006108b460408051602081019091526000815290565b905060008151116108d457604051806020016040528060008152506108ff565b806108de84610fd9565b6040516020016108ef9291906119ae565b6040516020818303038152906040525b9392505050565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff16610991576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e204944000000000000000060448201526064016104df565b50565b600081815260046020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811790915581906109ee82610676565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080610a4083610676565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480610aae575073ffffffffffffffffffffffffffffffffffffffff80821660009081526005602090815260408083209388168352929052205460ff165b80610aec57508373ffffffffffffffffffffffffffffffffffffffff16610ad4846103e7565b73ffffffffffffffffffffffffffffffffffffffff16145b949350505050565b8273ffffffffffffffffffffffffffffffffffffffff16610b1482610676565b73ffffffffffffffffffffffffffffffffffffffff1614610bb7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e657200000000000000000000000000000000000000000000000000000060648201526084016104df565b73ffffffffffffffffffffffffffffffffffffffff8216610c59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016104df565b8273ffffffffffffffffffffffffffffffffffffffff16610c7982610676565b73ffffffffffffffffffffffffffffffffffffffff1614610d1c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e657200000000000000000000000000000000000000000000000000000060648201526084016104df565b600081815260046020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff8781168086526003855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b610657828260405180602001604052806000815250611097565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610e9e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016104df565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526005602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b610f41848484610af4565b610f4d8484848461113a565b61088c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016104df565b60606000610fe68361132d565b600101905060008167ffffffffffffffff811115611006576110066117ff565b6040519080825280601f01601f191660200182016040528015611030576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a850494508461103a57509392505050565b6110a1838361140f565b6110ae600084848461113a565b6105a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016104df565b600073ffffffffffffffffffffffffffffffffffffffff84163b15611322576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a02906111b19033908990889088906004016119dd565b6020604051808303816000875af192505050801561120a575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261120791810190611a26565b60015b6112d7573d808015611238576040519150601f19603f3d011682016040523d82523d6000602084013e61123d565b606091505b5080516000036112cf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016104df565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050610aec565b506001949350505050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611376577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef810000000083106113a2576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106113c057662386f26fc10000830492506010015b6305f5e10083106113d8576305f5e100830492506008015b61271083106113ec57612710830492506004015b606483106113fe576064830492506002015b600a831061034f5760010192915050565b73ffffffffffffffffffffffffffffffffffffffff821661148c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016104df565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1615611518576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016104df565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff16156115a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016104df565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260036020908152604080832080546001019055848352600290915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b7fffffffff000000000000000000000000000000000000000000000000000000008116811461099157600080fd5b60006020828403121561167457600080fd5b81356108ff81611634565b60005b8381101561169a578181015183820152602001611682565b50506000910152565b600081518084526116bb81602086016020860161167f565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006108ff60208301846116a3565b60006020828403121561171257600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461173d57600080fd5b919050565b6000806040838503121561175557600080fd5b61175e83611719565b946020939093013593505050565b60008060006060848603121561178157600080fd5b61178a84611719565b925061179860208501611719565b9150604084013590509250925092565b6000602082840312156117ba57600080fd5b6108ff82611719565b600080604083850312156117d657600080fd5b6117df83611719565b9150602083013580151581146117f457600080fd5b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000806000806080858703121561184457600080fd5b61184d85611719565b935061185b60208601611719565b925060408501359150606085013567ffffffffffffffff8082111561187f57600080fd5b818701915087601f83011261189357600080fd5b8135818111156118a5576118a56117ff565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156118eb576118eb6117ff565b816040528281528a602084870101111561190457600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b6000806040838503121561193b57600080fd5b61194483611719565b915061195260208401611719565b90509250929050565b600181811c9082168061196f57607f821691505b6020821081036119a8577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b600083516119c081846020880161167f565b8351908301906119d481836020880161167f565b01949350505050565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525083604083015260806060830152611a1c60808301846116a3565b9695505050505050565b600060208284031215611a3857600080fd5b81516108ff8161163456fea2646970667358221220d673ef7c8f1def245d3be39f8336c1275d8505ccfbf91acc7ee1bdd6cae4c30264736f6c63430008130033", + "nonce": "0x608", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xad1c28e4b20c412d5153116517ea3a0590a6853e24f3629a89d2d092f30bd400", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0x7EDacD4d53b5A626471c6728f04D92125CcF647F", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x7edacd4d53b5a626471c6728f04d92125ccf647f", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15d189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "nonce": "0x609", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xe571eafdce4968ea9f1ef3c1507fe1fa2f7e6f7d78892987eb17b816c91e39cf", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0x7EDacD4d53b5A626471c6728f04D92125CcF647F", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x7edacd4d53b5a626471c6728f04d92125ccf647f", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15d637821dcee84aabec9c8cf4f6f643013a24ad27fd41511ffd937aea80d8619a9000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "nonce": "0x60a", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x96f03a95e41c76ecbbe45445e94b61c64bffd67e9e946ccf130e1d23031d4935", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0x7EDacD4d53b5A626471c6728f04D92125CcF647F", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x7edacd4d53b5a626471c6728f04d92125ccf647f", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15da8b84e71bc3552b48fea3678097679554a90f0e2c12c536a8bd697c05041e279000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "nonce": "0x60b", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x626138062505a835a234c0b32e6a7bd03ddd5507d18cdcf814eb2021bdfce65a", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0x7EDacD4d53b5A626471c6728f04D92125CcF647F", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x7edacd4d53b5a626471c6728f04d92125ccf647f", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15d256895704541e78004f0fd55953a8bcc54c628755b14fbf53afdc556473f9bd0000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "nonce": "0x60c", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x2cf0e0cdccd756b305c60d89509bfd48a85571e4bc26a84d37ee8bde88779681", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0x7EDacD4d53b5A626471c6728f04D92125CcF647F", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x7edacd4d53b5a626471c6728f04d92125ccf647f", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15d02f7fd2cb4d8e8ad75bab0a56a6f1ed7091336a83e11ccacc4e51f915215ab4c000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "nonce": "0x60d", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x60864387111b8d8baedf5c313d770fa857d980a8119aae305c6e8634fe69f93a", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0x7EDacD4d53b5A626471c6728f04D92125CcF647F", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x7edacd4d53b5a626471c6728f04d92125ccf647f", + "gas": "0x140e3", + "value": "0x0", + "data": "0x2f2ff15dc9a6ce5d86bdc06f8d57f20091bf09bf611e57d0626b65aa9ebb3c9179ba650f000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "nonce": "0x60e", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x208318107e5571b6c14ef0c13e782301965fbc501a878ffe349b3371c65294b4", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0x7EDacD4d53b5A626471c6728f04D92125CcF647F", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x7edacd4d53b5a626471c6728f04d92125ccf647f", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15de4a10d29decbd34c09a62a511d4fd993a7d8cbbf58d7d4278711c29c9148b8f7000000000000000000000000336bc9128fffb7869381e2d0c4a156981ca5d240", + "nonce": "0x60f", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xd5c2854b93fe8663e4b728e419a4f7a9ef1b0fea0f6fd9700a8f8bfa92119a29", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0x7EDacD4d53b5A626471c6728f04D92125CcF647F", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x7edacd4d53b5a626471c6728f04d92125ccf647f", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15de4a10d29decbd34c09a62a511d4fd993a7d8cbbf58d7d4278711c29c9148b8f7000000000000000000000000e3c522921a16c692e664d06d53a251f91323a06b", + "nonce": "0x610", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xb199d0a1bceb4c22f4f978052977c206039bb3fa50478346d71915126cb95c94", + "transactionType": "CALL", + "contractName": "ModuleRegistry", + "contractAddress": "0xedBd4907A7F98de932e635e9076B4E0C36D0E797", + "function": "registerProtocolModule(string,address)", + "arguments": [ + "REGISTRATION_MODULE", + "0xfb45e1274D9f0A2DF5C0851a705EEB0665171C5B" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xedbd4907a7f98de932e635e9076b4e0c36d0e797", + "gas": "0x1445d", + "value": "0x0", + "data": "0xd08906d60000000000000000000000000000000000000000000000000000000000000040000000000000000000000000fb45e1274d9f0a2df5c0851a705eeb0665171c5b0000000000000000000000000000000000000000000000000000000000000013524547495354524154494f4e5f4d4f44554c4500000000000000000000000000", + "nonce": "0x611", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x16f0f71ee24e9103cde147f2941f6888b7cb5459bfa4bef964657fd24f68bcdc", + "transactionType": "CALL", + "contractName": "ModuleRegistry", + "contractAddress": "0xedBd4907A7F98de932e635e9076B4E0C36D0E797", + "function": "registerProtocolModule(string,address)", + "arguments": [ + "RELATIONSHIP_MODULE", + "0xf7081c5ff418ddB6C68A3cCc3CC68A4c21803460" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xedbd4907a7f98de932e635e9076b4e0c36d0e797", + "gas": "0x1445d", + "value": "0x0", + "data": "0xd08906d60000000000000000000000000000000000000000000000000000000000000040000000000000000000000000f7081c5ff418ddb6c68a3ccc3cc68a4c21803460000000000000000000000000000000000000000000000000000000000000001352454c4154494f4e534849505f4d4f44554c4500000000000000000000000000", + "nonce": "0x612", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x42a1945247d947ff98954fd66b6a04c6aa9bbe92e1c7b38d61cd5be7ff94abf8", + "transactionType": "CALL", + "contractName": "ModuleRegistry", + "contractAddress": "0xedBd4907A7F98de932e635e9076B4E0C36D0E797", + "function": "registerProtocolModule(string,address)", + "arguments": [ + "LICENSING_MODULE", + "0x6a3E5eB4CE11aE3B063903AB6530c34D6daf9Dc0" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xedbd4907a7f98de932e635e9076b4e0c36d0e797", + "gas": "0x1573d", + "value": "0x0", + "data": "0xd08906d600000000000000000000000000000000000000000000000000000000000000400000000000000000000000006a3e5eb4ce11ae3b063903ab6530c34d6daf9dc000000000000000000000000000000000000000000000000000000000000000104c4943454e53494e475f4d4f44554c4500000000000000000000000000000000", + "nonce": "0x613", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xe2a6f1fc8661c82685ed86a12ac72554d54a5d5bfd9348045a3cbe3c8f36cce6", + "transactionType": "CALL", + "contractName": "StoryProtocol", + "contractAddress": "0x336BC9128fFFb7869381E2D0c4A156981cA5d240", + "function": "registerIpOrg(address,string,string,string[]):(address)", + "arguments": [ + "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "Sample IP Org", + "SIPO", + "[STORY, CHARACTER]" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x336bc9128fffb7869381e2d0c4a156981ca5d240", + "gas": "0x676d2", + "value": "0x0", + "data": "0x98e8e6ea000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000d53616d706c65204950204f72670000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000045349504f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000553544f525900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000094348415241435445520000000000000000000000000000000000000000000000", + "nonce": "0x614", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0x09d6377058555bE9d09bf7F6E4864eA202FD083f", + "initCode": "3d602d80600a3d3981f3363d3d373d3d3d363d731781678b3f076017e8c45f8c6515f9cf57f393c05af43d82803e903d91602b57fd5bf3" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0xd632a5d19f0d63edb2ef743712dec042fae0ce5c4253373fc60e6b8bdcf0fd5f", + "transactionType": "CALL", + "contractName": "RegistrationModule", + "contractAddress": "0xfb45e1274D9f0A2DF5C0851a705EEB0665171C5B", + "function": "registerHooks(uint8,address,address[],bytes[])", + "arguments": [ + "0", + "0x09d6377058555bE9d09bf7F6E4864eA202FD083f", + "[0x1fDD8955a6D70c84A71Ebb69dE88f3Ad0AAc50d6]", + "[0x0000000000000000000000009f9772cd93715a0cb512b3eb997088a0d0b4a5a3]" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xfb45e1274d9f0a2df5c0851a705eeb0665171c5b", + "gas": "0x3b218", + "value": "0x0", + "data": "0x8591b11b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009d6377058555be9d09bf7f6e4864ea202fd083f000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000010000000000000000000000001fdd8955a6d70c84a71ebb69de88f3ad0aac50d60000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000009f9772cd93715a0cb512b3eb997088a0d0b4a5a3", + "nonce": "0x615", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xb13b538f55ff3a42ffce3a951fb68e203c600ff1dc3481254ef3ac4db1cdd0f5", + "transactionType": "CALL", + "contractName": "LicensingFrameworkRepo", + "contractAddress": "0xA30bB959Bc298e244aCE0402B5c0609CC8745134", + "function": "addFramework((string,string,(bytes32,uint8)[]))", + "arguments": [ + "(SPIPL-1.0, https://arweave.net/Hjz_d7t4kMEFrZrthVHwMIVPpGze_0J6zXGhi7kEi0cs, [(0x4368616e6e656c732d4f662d446973747269627574696f6e0000000000000018, 4), (0x4174747269627574696f6e00000000000000000000000000000000000000000b, 0), (0x44657269766174697665732d576974682d4174747269627574696f6e0000001c, 0), (0x44657269766174697665732d576974682d417070726f76616c00000000000019, 0), (0x44657269766174697665732d5265636970726f63616c2d4c6963656e7365001e, 0)])" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xa30bb959bc298e244ace0402b5c0609cc8745134", + "gas": "0xcc3be", + "value": "0x0", + "data": "0x42f6d0990000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000009535049504c2d312e300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004068747470733a2f2f617277656176652e6e65742f486a7a5f643774346b4d4546725a7274685648774d49565070477a655f304a367a58476869376b456930637300000000000000000000000000000000000000000000000000000000000000054368616e6e656c732d4f662d446973747269627574696f6e000000000000001800000000000000000000000000000000000000000000000000000000000000044174747269627574696f6e00000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000000044657269766174697665732d576974682d4174747269627574696f6e0000001c000000000000000000000000000000000000000000000000000000000000000044657269766174697665732d576974682d417070726f76616c00000000000019000000000000000000000000000000000000000000000000000000000000000044657269766174697665732d5265636970726f63616c2d4c6963656e7365001e0000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x616", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x49b64e330c3f9bd442ebe154a1426591253d2f4f887b3a24c39a14d6e50b78b1", + "transactionIndex": "0x2", + "blockHash": "0xf2c785d8ced0d10b9bdb6d123df171ca36db210c4c23f94152cb630801ae9cf8", + "blockNumber": "0x49d61d", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x1ec548", + "gasUsed": "0x198ffa", + "contractAddress": "0x4Dc9653D6A21A44ca322474f81B41Dc964a422DD", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9122c81" + }, + { + "transactionHash": "0xaaf7df4b0f53c65c69a83d1f5c34b2864a62be0cb6f712311a603fb349599444", + "transactionIndex": "0x3", + "blockHash": "0xf2c785d8ced0d10b9bdb6d123df171ca36db210c4c23f94152cb630801ae9cf8", + "blockNumber": "0x49d61d", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x21a72d", + "gasUsed": "0x2e1e5", + "contractAddress": "0x7EDacD4d53b5A626471c6728f04D92125CcF647F", + "logs": [ + { + "address": "0x7EDacD4d53b5A626471c6728f04D92125CcF647F", + "topics": [ + "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", + "0x0000000000000000000000004dc9653d6a21a44ca322474f81b41dc964a422dd" + ], + "data": "0x", + "blockHash": "0xf2c785d8ced0d10b9bdb6d123df171ca36db210c4c23f94152cb630801ae9cf8", + "blockNumber": "0x49d61d", + "transactionHash": "0xaaf7df4b0f53c65c69a83d1f5c34b2864a62be0cb6f712311a603fb349599444", + "transactionIndex": "0x3", + "logIndex": "0x1", + "removed": false + }, + { + "address": "0x7EDacD4d53b5A626471c6728f04D92125CcF647F", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0xf2c785d8ced0d10b9bdb6d123df171ca36db210c4c23f94152cb630801ae9cf8", + "blockNumber": "0x49d61d", + "transactionHash": "0xaaf7df4b0f53c65c69a83d1f5c34b2864a62be0cb6f712311a603fb349599444", + "transactionIndex": "0x3", + "logIndex": "0x2", + "removed": false + }, + { + "address": "0x7EDacD4d53b5A626471c6728f04D92125CcF647F", + "topics": [ + "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xf2c785d8ced0d10b9bdb6d123df171ca36db210c4c23f94152cb630801ae9cf8", + "blockNumber": "0x49d61d", + "transactionHash": "0xaaf7df4b0f53c65c69a83d1f5c34b2864a62be0cb6f712311a603fb349599444", + "transactionIndex": "0x3", + "logIndex": "0x3", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000004000000000000000000000000400000000000000000000000000000000000000000000080000000000000000000000000000000000002000000000000000000000000000800000000000002000000000000020000000004000000000000000000020000000800000000000800000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000001000000000000000040020000000000000000000040000000000008000000100000000000020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9122c81" + }, + { + "transactionHash": "0x032a743da017dcc3de3766692bc8a2853afdc8212cf67e5dadd953a8ecedfe34", + "transactionIndex": "0x4", + "blockHash": "0xf2c785d8ced0d10b9bdb6d123df171ca36db210c4c23f94152cb630801ae9cf8", + "blockNumber": "0x49d61d", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x3beb39", + "gasUsed": "0x1a440c", + "contractAddress": "0xA30bB959Bc298e244aCE0402B5c0609CC8745134", + "logs": [ + { + "address": "0xA30bB959Bc298e244aCE0402B5c0609CC8745134", + "topics": [ + "0xc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da9709", + "0x0000000000000000000000007edacd4d53b5a626471c6728f04d92125ccf647f" + ], + "data": "0x", + "blockHash": "0xf2c785d8ced0d10b9bdb6d123df171ca36db210c4c23f94152cb630801ae9cf8", + "blockNumber": "0x49d61d", + "transactionHash": "0x032a743da017dcc3de3766692bc8a2853afdc8212cf67e5dadd953a8ecedfe34", + "transactionIndex": "0x4", + "logIndex": "0x4", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000800000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000008000000000000000100000000000000000000000000000200000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9122c81" + }, + { + "transactionHash": "0xca1fe1cec4d95f2ab31fc12c1c2af517115b57522c4984cefbcce4d4d03e66eb", + "transactionIndex": "0x5", + "blockHash": "0xf2c785d8ced0d10b9bdb6d123df171ca36db210c4c23f94152cb630801ae9cf8", + "blockNumber": "0x49d61d", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x545723", + "gasUsed": "0x186bea", + "contractAddress": "0xedBd4907A7F98de932e635e9076B4E0C36D0E797", + "logs": [ + { + "address": "0xedBd4907A7F98de932e635e9076B4E0C36D0E797", + "topics": [ + "0xc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da9709", + "0x0000000000000000000000007edacd4d53b5a626471c6728f04d92125ccf647f" + ], + "data": "0x", + "blockHash": "0xf2c785d8ced0d10b9bdb6d123df171ca36db210c4c23f94152cb630801ae9cf8", + "blockNumber": "0x49d61d", + "transactionHash": "0xca1fe1cec4d95f2ab31fc12c1c2af517115b57522c4984cefbcce4d4d03e66eb", + "transactionIndex": "0x5", + "logIndex": "0x5", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x08000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000008000000000000000100000000000000000000000000000200000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9122c81" + }, + { + "transactionHash": "0x1367afaa266f809c9cdbbd18c0f42f48f10e70b997cf7984eee88d985ba95055", + "transactionIndex": "0x6", + "blockHash": "0xf2c785d8ced0d10b9bdb6d123df171ca36db210c4c23f94152cb630801ae9cf8", + "blockNumber": "0x49d61d", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x6317cc", + "gasUsed": "0xec0a9", + "contractAddress": "0xaD2377c8f9f0ca6382fEf166b08aeDe8318fE49C", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9122c81" + }, + { + "transactionHash": "0x576f73c4d6629a4135060cf2cf6c6141e13297b7c25bc3e386ab7c1dcef25164", + "transactionIndex": "0x7", + "blockHash": "0xf2c785d8ced0d10b9bdb6d123df171ca36db210c4c23f94152cb630801ae9cf8", + "blockNumber": "0x49d61d", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x9254f1", + "gasUsed": "0x2f3d25", + "contractAddress": "0xCD28eb9D0D2AFcf4354F2c93dE5ce9Bbf88257ae", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9122c81" + }, + { + "transactionHash": "0x4121adb96d0f4aecacb104198678db90f838be01f174a0a26fe2049d575a041d", + "transactionIndex": "0x8", + "blockHash": "0xf2c785d8ced0d10b9bdb6d123df171ca36db210c4c23f94152cb630801ae9cf8", + "blockNumber": "0x49d61d", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0xdb1077", + "gasUsed": "0x48bb86", + "contractAddress": "0xdc4A589eB82A7a7dDF026F3713da3338cFa59465", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9122c81" + }, + { + "transactionHash": "0x3d44962832e990d1583408044eaadec41ad18ad9b45ca42dd82bd4045011f9c3", + "transactionIndex": "0x9", + "blockHash": "0xf2c785d8ced0d10b9bdb6d123df171ca36db210c4c23f94152cb630801ae9cf8", + "blockNumber": "0x49d61d", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x10118a8", + "gasUsed": "0x260831", + "contractAddress": "0xE3C522921A16c692E664D06d53a251f91323a06B", + "logs": [ + { + "address": "0xE3C522921A16c692E664D06d53a251f91323a06B", + "topics": [ + "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", + "0x000000000000000000000000dc4a589eb82a7a7ddf026f3713da3338cfa59465" + ], + "data": "0x", + "blockHash": "0xf2c785d8ced0d10b9bdb6d123df171ca36db210c4c23f94152cb630801ae9cf8", + "blockNumber": "0x49d61d", + "transactionHash": "0x3d44962832e990d1583408044eaadec41ad18ad9b45ca42dd82bd4045011f9c3", + "transactionIndex": "0x9", + "logIndex": "0x6", + "removed": false + }, + { + "address": "0x1781678b3F076017E8c45F8c6515f9cf57f393C0", + "topics": [ + "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xf2c785d8ced0d10b9bdb6d123df171ca36db210c4c23f94152cb630801ae9cf8", + "blockNumber": "0x49d61d", + "transactionHash": "0x3d44962832e990d1583408044eaadec41ad18ad9b45ca42dd82bd4045011f9c3", + "transactionIndex": "0x9", + "logIndex": "0x7", + "removed": false + }, + { + "address": "0xE3C522921A16c692E664D06d53a251f91323a06B", + "topics": [ + "0xc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da9709", + "0x0000000000000000000000007edacd4d53b5a626471c6728f04d92125ccf647f" + ], + "data": "0x", + "blockHash": "0xf2c785d8ced0d10b9bdb6d123df171ca36db210c4c23f94152cb630801ae9cf8", + "blockNumber": "0x49d61d", + "transactionHash": "0x3d44962832e990d1583408044eaadec41ad18ad9b45ca42dd82bd4045011f9c3", + "transactionIndex": "0x9", + "logIndex": "0x8", + "removed": false + }, + { + "address": "0xE3C522921A16c692E664D06d53a251f91323a06B", + "topics": [ + "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xf2c785d8ced0d10b9bdb6d123df171ca36db210c4c23f94152cb630801ae9cf8", + "blockNumber": "0x49d61d", + "transactionHash": "0x3d44962832e990d1583408044eaadec41ad18ad9b45ca42dd82bd4045011f9c3", + "transactionIndex": "0x9", + "logIndex": "0x9", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000080400000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000200000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000008000000000000000100080080000000000000000000000200000000000000000000400000000010800000000000000009000000000000020000000000000000000040000000000000000000000100000008000000000000000000000000000000000000000000000000010000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9122c81" + }, + { + "transactionHash": "0xb6b928dfb6f15cd841ef750552d914f6bb91b1e7eb3f160482d02780b14ea627", + "transactionIndex": "0xa", + "blockHash": "0xf2c785d8ced0d10b9bdb6d123df171ca36db210c4c23f94152cb630801ae9cf8", + "blockNumber": "0x49d61d", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x121041b", + "gasUsed": "0x1feb73", + "contractAddress": "0x336BC9128fFFb7869381E2D0c4A156981cA5d240", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9122c81" + }, + { + "transactionHash": "0x64eb802bac6a3135074c475cb2ebec299c846cc717a561be60c83b69ec47550a", + "transactionIndex": "0xb", + "blockHash": "0xf2c785d8ced0d10b9bdb6d123df171ca36db210c4c23f94152cb630801ae9cf8", + "blockNumber": "0x49d61d", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x162ca6a", + "gasUsed": "0x41c64f", + "contractAddress": "0xfb45e1274D9f0A2DF5C0851a705EEB0665171C5B", + "logs": [ + { + "address": "0xfb45e1274D9f0A2DF5C0851a705EEB0665171C5B", + "topics": [ + "0xc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da9709", + "0x0000000000000000000000007edacd4d53b5a626471c6728f04d92125ccf647f" + ], + "data": "0x", + "blockHash": "0xf2c785d8ced0d10b9bdb6d123df171ca36db210c4c23f94152cb630801ae9cf8", + "blockNumber": "0x49d61d", + "transactionHash": "0x64eb802bac6a3135074c475cb2ebec299c846cc717a561be60c83b69ec47550a", + "transactionIndex": "0xb", + "logIndex": "0xa", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000100000000000000000000000000000200000000800000000000000000000010000000000000000000000000800000000000000000000000000000000000800000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9122c81" + }, + { + "transactionHash": "0x34ed35a98e276f7f8739306d58ab5dc6be1fb24091451d2c7d13edd9a18cf982", + "transactionIndex": "0xc", + "blockHash": "0xf2c785d8ced0d10b9bdb6d123df171ca36db210c4c23f94152cb630801ae9cf8", + "blockNumber": "0x49d61d", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x19a57c8", + "gasUsed": "0x378d5e", + "contractAddress": "0xf7081c5ff418ddB6C68A3cCc3CC68A4c21803460", + "logs": [ + { + "address": "0xf7081c5ff418ddB6C68A3cCc3CC68A4c21803460", + "topics": [ + "0xc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da9709", + "0x0000000000000000000000007edacd4d53b5a626471c6728f04d92125ccf647f" + ], + "data": "0x", + "blockHash": "0xf2c785d8ced0d10b9bdb6d123df171ca36db210c4c23f94152cb630801ae9cf8", + "blockNumber": "0x49d61d", + "transactionHash": "0x34ed35a98e276f7f8739306d58ab5dc6be1fb24091451d2c7d13edd9a18cf982", + "transactionIndex": "0xc", + "logIndex": "0xb", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000100000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000100000000000000000000000000000200000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9122c81" + }, + { + "transactionHash": "0xb0acaa085d5482b98b3a6a658c2bd9a7d97cbd13ff1976adbaf5e39b7d5d986b", + "transactionIndex": "0x2", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x3a1c1b", + "gasUsed": "0x3759eb", + "contractAddress": "0x6a3E5eB4CE11aE3B063903AB6530c34D6daf9Dc0", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9aa6e98" + }, + { + "transactionHash": "0x95ea5d1ed711248ea3d4ca9a79541f30a843636aa27768fb1fef906c473f3ba6", + "transactionIndex": "0x3", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x46d5a8", + "gasUsed": "0xcb98d", + "contractAddress": "0x1fDD8955a6D70c84A71Ebb69dE88f3Ad0AAc50d6", + "logs": [ + { + "address": "0x1fDD8955a6D70c84A71Ebb69dE88f3Ad0AAc50d6", + "topics": [ + "0xc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da9709", + "0x0000000000000000000000007edacd4d53b5a626471c6728f04d92125ccf647f" + ], + "data": "0x", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "transactionHash": "0x95ea5d1ed711248ea3d4ca9a79541f30a843636aa27768fb1fef906c473f3ba6", + "transactionIndex": "0x3", + "logIndex": "0x2", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000200000000000000100000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000100000000000000000000000000000200000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9aa6e98" + }, + { + "transactionHash": "0x1e40c1fb1e572f5629d98fba6201fc8a433a442dff07204b4814b03b03c3a9c3", + "transactionIndex": "0x4", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x5e94cd", + "gasUsed": "0x17bf25", + "contractAddress": "0x9F9772cd93715A0cb512b3Eb997088a0D0b4a5A3", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9aa6e98" + }, + { + "transactionHash": "0xad1c28e4b20c412d5153116517ea3a0590a6853e24f3629a89d2d092f30bd400", + "transactionIndex": "0x5", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x7EDacD4d53b5A626471c6728f04D92125CcF647F", + "cumulativeGasUsed": "0x5f7042", + "gasUsed": "0xdb75", + "contractAddress": null, + "logs": [ + { + "address": "0x7EDacD4d53b5A626471c6728f04D92125CcF647F", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "transactionHash": "0xad1c28e4b20c412d5153116517ea3a0590a6853e24f3629a89d2d092f30bd400", + "transactionIndex": "0x5", + "logIndex": "0x3", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000004000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000002000000000000000000000000000800000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000040000000000000000000000000000000000008000000100000000000000000080000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9aa6e98" + }, + { + "transactionHash": "0xe571eafdce4968ea9f1ef3c1507fe1fa2f7e6f7d78892987eb17b816c91e39cf", + "transactionIndex": "0x6", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x7EDacD4d53b5A626471c6728f04D92125CcF647F", + "cumulativeGasUsed": "0x604bb7", + "gasUsed": "0xdb75", + "contractAddress": null, + "logs": [ + { + "address": "0x7EDacD4d53b5A626471c6728f04D92125CcF647F", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x637821dcee84aabec9c8cf4f6f643013a24ad27fd41511ffd937aea80d8619a9", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "transactionHash": "0xe571eafdce4968ea9f1ef3c1507fe1fa2f7e6f7d78892987eb17b816c91e39cf", + "transactionIndex": "0x6", + "logIndex": "0x4", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000004008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000010000000000000000000800000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000040000000000000000000000000000000000008000000100000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9aa6e98" + }, + { + "transactionHash": "0x96f03a95e41c76ecbbe45445e94b61c64bffd67e9e946ccf130e1d23031d4935", + "transactionIndex": "0x7", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x7EDacD4d53b5A626471c6728f04D92125CcF647F", + "cumulativeGasUsed": "0x61272c", + "gasUsed": "0xdb75", + "contractAddress": null, + "logs": [ + { + "address": "0x7EDacD4d53b5A626471c6728f04D92125CcF647F", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0xa8b84e71bc3552b48fea3678097679554a90f0e2c12c536a8bd697c05041e279", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "transactionHash": "0x96f03a95e41c76ecbbe45445e94b61c64bffd67e9e946ccf130e1d23031d4935", + "transactionIndex": "0x7", + "logIndex": "0x5", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000004000000000000000000000000000000000000000020000000000000000000000000000000000000000000000002000000000000000002000000000000000000000000010800000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000040000000000000000000000000000000000008000000100000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9aa6e98" + }, + { + "transactionHash": "0x626138062505a835a234c0b32e6a7bd03ddd5507d18cdcf814eb2021bdfce65a", + "transactionIndex": "0x8", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x7EDacD4d53b5A626471c6728f04D92125CcF647F", + "cumulativeGasUsed": "0x6202a1", + "gasUsed": "0xdb75", + "contractAddress": null, + "logs": [ + { + "address": "0x7EDacD4d53b5A626471c6728f04D92125CcF647F", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x256895704541e78004f0fd55953a8bcc54c628755b14fbf53afdc556473f9bd0", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "transactionHash": "0x626138062505a835a234c0b32e6a7bd03ddd5507d18cdcf814eb2021bdfce65a", + "transactionIndex": "0x8", + "logIndex": "0x6", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000004000000000000000000000000000000040000000000000000000000000000000000000000000000000100000000000000000000000002000000000000000000000000000800000000000000000000000000020000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000040000000000000000000000000000000000008000000100000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9aa6e98" + }, + { + "transactionHash": "0x2cf0e0cdccd756b305c60d89509bfd48a85571e4bc26a84d37ee8bde88779681", + "transactionIndex": "0x9", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x7EDacD4d53b5A626471c6728f04D92125CcF647F", + "cumulativeGasUsed": "0x62de16", + "gasUsed": "0xdb75", + "contractAddress": null, + "logs": [ + { + "address": "0x7EDacD4d53b5A626471c6728f04D92125CcF647F", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x02f7fd2cb4d8e8ad75bab0a56a6f1ed7091336a83e11ccacc4e51f915215ab4c", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "transactionHash": "0x2cf0e0cdccd756b305c60d89509bfd48a85571e4bc26a84d37ee8bde88779681", + "transactionIndex": "0x9", + "logIndex": "0x7", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000800000000000000000000000000020000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000001000000000000000040000000000000000000000000000000000008000000100000000000000000000000000000000000000000000000000000000000040000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9aa6e98" + }, + { + "transactionHash": "0x60864387111b8d8baedf5c313d770fa857d980a8119aae305c6e8634fe69f93a", + "transactionIndex": "0xa", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x7EDacD4d53b5A626471c6728f04D92125CcF647F", + "cumulativeGasUsed": "0x63b97f", + "gasUsed": "0xdb69", + "contractAddress": null, + "logs": [ + { + "address": "0x7EDacD4d53b5A626471c6728f04D92125CcF647F", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0xc9a6ce5d86bdc06f8d57f20091bf09bf611e57d0626b65aa9ebb3c9179ba650f", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "transactionHash": "0x60864387111b8d8baedf5c313d770fa857d980a8119aae305c6e8634fe69f93a", + "transactionIndex": "0xa", + "logIndex": "0x8", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000004000000000000000000000000000000000000000000000000000000000000000000008000000000000020000000000000000000000002000000000000000000000000000800000000000000000000000000020000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000040000000000000000000000000000000000008000000100000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9aa6e98" + }, + { + "transactionHash": "0x208318107e5571b6c14ef0c13e782301965fbc501a878ffe349b3371c65294b4", + "transactionIndex": "0xb", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x7EDacD4d53b5A626471c6728f04D92125CcF647F", + "cumulativeGasUsed": "0x6494f4", + "gasUsed": "0xdb75", + "contractAddress": null, + "logs": [ + { + "address": "0x7EDacD4d53b5A626471c6728f04D92125CcF647F", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0xe4a10d29decbd34c09a62a511d4fd993a7d8cbbf58d7d4278711c29c9148b8f7", + "0x000000000000000000000000336bc9128fffb7869381e2d0c4a156981ca5d240", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "transactionHash": "0x208318107e5571b6c14ef0c13e782301965fbc501a878ffe349b3371c65294b4", + "transactionIndex": "0xb", + "logIndex": "0x9", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000104000000000000000000000000000000000000000000000000000004800000000000000000000000000000000000000000000000000002000000000000000000000000000800000000000000020000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001000040000000000040000000000000000000000000000000000008000000100000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9aa6e98" + }, + { + "transactionHash": "0xd5c2854b93fe8663e4b728e419a4f7a9ef1b0fea0f6fd9700a8f8bfa92119a29", + "transactionIndex": "0xc", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x7EDacD4d53b5A626471c6728f04D92125CcF647F", + "cumulativeGasUsed": "0x657069", + "gasUsed": "0xdb75", + "contractAddress": null, + "logs": [ + { + "address": "0x7EDacD4d53b5A626471c6728f04D92125CcF647F", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0xe4a10d29decbd34c09a62a511d4fd993a7d8cbbf58d7d4278711c29c9148b8f7", + "0x000000000000000000000000e3c522921a16c692e664d06d53a251f91323a06b", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "transactionHash": "0xd5c2854b93fe8663e4b728e419a4f7a9ef1b0fea0f6fd9700a8f8bfa92119a29", + "transactionIndex": "0xc", + "logIndex": "0xa", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000104000000000000000000000010000000000000000000000000000005800000000000000000000000000000000000000000000000000002000000000000000000000000000800000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000001000000000000000040000000000000000000000000000000000008000000100000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9aa6e98" + }, + { + "transactionHash": "0xb199d0a1bceb4c22f4f978052977c206039bb3fa50478346d71915126cb95c94", + "transactionIndex": "0xd", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0xedBd4907A7F98de932e635e9076B4E0C36D0E797", + "cumulativeGasUsed": "0x665b3f", + "gasUsed": "0xead6", + "contractAddress": null, + "logs": [ + { + "address": "0xedBd4907A7F98de932e635e9076B4E0C36D0E797", + "topics": [ + "0x14d77cb3ef4c75b9a031527cf63890f47708121a75c8b9c9cddbacc19defd122", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000fb45e1274d9f0a2df5c0851a705eeb0665171c5b" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000013524547495354524154494f4e5f4d4f44554c4500000000000000000000000000", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "transactionHash": "0xb199d0a1bceb4c22f4f978052977c206039bb3fa50478346d71915126cb95c94", + "transactionIndex": "0xd", + "logIndex": "0xb", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x08000000000000000000000000000000000000000000001000100000000000000000000000000000000000000000000000000000000000000000000000000202000000000000000000000000080000000000000000000000000000000000000000000000020000000002000000000800000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9aa6e98" + }, + { + "transactionHash": "0x16f0f71ee24e9103cde147f2941f6888b7cb5459bfa4bef964657fd24f68bcdc", + "transactionIndex": "0xe", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0xedBd4907A7F98de932e635e9076B4E0C36D0E797", + "cumulativeGasUsed": "0x674615", + "gasUsed": "0xead6", + "contractAddress": null, + "logs": [ + { + "address": "0xedBd4907A7F98de932e635e9076B4E0C36D0E797", + "topics": [ + "0x14d77cb3ef4c75b9a031527cf63890f47708121a75c8b9c9cddbacc19defd122", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000f7081c5ff418ddb6c68a3ccc3cc68a4c21803460" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001352454c4154494f4e534849505f4d4f44554c4500000000000000000000000000", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "transactionHash": "0x16f0f71ee24e9103cde147f2941f6888b7cb5459bfa4bef964657fd24f68bcdc", + "transactionIndex": "0xe", + "logIndex": "0xc", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x08000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000001000000020000000042080000000800000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9aa6e98" + }, + { + "transactionHash": "0x42a1945247d947ff98954fd66b6a04c6aa9bbe92e1c7b38d61cd5be7ff94abf8", + "transactionIndex": "0xf", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0xedBd4907A7F98de932e635e9076B4E0C36D0E797", + "cumulativeGasUsed": "0x6830c7", + "gasUsed": "0xeab2", + "contractAddress": null, + "logs": [ + { + "address": "0xedBd4907A7F98de932e635e9076B4E0C36D0E797", + "topics": [ + "0x14d77cb3ef4c75b9a031527cf63890f47708121a75c8b9c9cddbacc19defd122", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000006a3e5eb4ce11ae3b063903ab6530c34d6daf9dc0" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000104c4943454e53494e475f4d4f44554c4500000000000000000000000000000000", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "transactionHash": "0x42a1945247d947ff98954fd66b6a04c6aa9bbe92e1c7b38d61cd5be7ff94abf8", + "transactionIndex": "0xf", + "logIndex": "0xd", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x08000000000000000000000000000000000000000000001000000000001000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000020000000002000000000800000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9aa6e98" + }, + { + "transactionHash": "0xe2a6f1fc8661c82685ed86a12ac72554d54a5d5bfd9348045a3cbe3c8f36cce6", + "transactionIndex": "0x10", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x336BC9128fFFb7869381E2D0c4A156981cA5d240", + "cumulativeGasUsed": "0x6c9c4c", + "gasUsed": "0x46b85", + "contractAddress": null, + "logs": [ + { + "address": "0x09d6377058555bE9d09bf7F6E4864eA202FD083f", + "topics": [ + "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "transactionHash": "0xe2a6f1fc8661c82685ed86a12ac72554d54a5d5bfd9348045a3cbe3c8f36cce6", + "transactionIndex": "0x10", + "logIndex": "0xe", + "removed": false + }, + { + "address": "0xedBd4907A7F98de932e635e9076B4E0C36D0E797", + "topics": [ + "0x48786003f3d30e41bfa4ee09afdeb9bfb04b7e06e2f74f3177da393a793bbc33", + "0x00000000000000000000000009d6377058555be9d09bf7f6e4864ea202fd083f", + "0x000000000000000000000000e3c522921a16c692e664d06d53a251f91323a06b" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000013524547495354524154494f4e5f4d4f44554c450000000000000000000000000000000000000000000000000000000000000000000000000000000000000001609aeb830ec91a14c97a5446cc7c86a42f73a78f37f9a77afa238b5d11520ddfbc000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000553544f525900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000094348415241435445520000000000000000000000000000000000000000000000", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "transactionHash": "0xe2a6f1fc8661c82685ed86a12ac72554d54a5d5bfd9348045a3cbe3c8f36cce6", + "transactionIndex": "0x10", + "logIndex": "0xf", + "removed": false + }, + { + "address": "0xE3C522921A16c692E664D06d53a251f91323a06B", + "topics": [ + "0x81e084d978860accc83df39f75b801d9019e40d18643b9b39f4cd2a70ca35adb" + ], + "data": "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab00000000000000000000000009d6377058555be9d09bf7f6e4864ea202fd083f00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000d53616d706c65204950204f72670000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000045349504f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000553544f525900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000094348415241435445520000000000000000000000000000000000000000000000", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "transactionHash": "0xe2a6f1fc8661c82685ed86a12ac72554d54a5d5bfd9348045a3cbe3c8f36cce6", + "transactionIndex": "0x10", + "logIndex": "0x10", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x08000000000000000000000000000010008000000000001000000000000001000000000000000000000000000000008000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000200000000000000000000000000000000000000000000000082010000000000000000000000000000000000000000000400000000040800000000000000008001400008000000000000000000000000040000000000200000000000000000000002000000000000000000000010000000000000000000000000000100000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9aa6e98" + }, + { + "transactionHash": "0xd632a5d19f0d63edb2ef743712dec042fae0ce5c4253373fc60e6b8bdcf0fd5f", + "transactionIndex": "0x11", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0xfb45e1274D9f0A2DF5C0851a705EEB0665171C5B", + "cumulativeGasUsed": "0x6f4941", + "gasUsed": "0x2acf5", + "contractAddress": null, + "logs": [ + { + "address": "0xfb45e1274D9f0A2DF5C0851a705EEB0665171C5B", + "topics": [ + "0x1fe48a4ec69671720d8bdd8f8a6853d16f486c0bb91fcaf5b8ffc4932b8bc9f4", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x85e6f7de78d374275e35623e5f626d2458565d84ba4696170c57ea2332c43f1d" + ], + "data": "0x", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "transactionHash": "0xd632a5d19f0d63edb2ef743712dec042fae0ce5c4253373fc60e6b8bdcf0fd5f", + "transactionIndex": "0x11", + "logIndex": "0x11", + "removed": false + }, + { + "address": "0xfb45e1274D9f0A2DF5C0851a705EEB0665171C5B", + "topics": [ + "0x5e140eb5bed8bcb1664a04c0be4aa419e0d2dbf1277a4a6770882a0beb3b91b2", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x85e6f7de78d374275e35623e5f626d2458565d84ba4696170c57ea2332c43f1d" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000001fdd8955a6d70c84a71ebb69de88f3ad0aac50d6", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "transactionHash": "0xd632a5d19f0d63edb2ef743712dec042fae0ce5c4253373fc60e6b8bdcf0fd5f", + "transactionIndex": "0x11", + "logIndex": "0x12", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000200000000000004000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000800000002000000000000000001000000000000000000000000000000000000040000000000000001000000000000000000000000000000000800000000000000800000000000000000000000000000000800000000000000000000000000000000000801000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9aa6e98" + }, + { + "transactionHash": "0xb13b538f55ff3a42ffce3a951fb68e203c600ff1dc3481254ef3ac4db1cdd0f5", + "transactionIndex": "0x12", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0xA30bB959Bc298e244aCE0402B5c0609CC8745134", + "cumulativeGasUsed": "0x78039c", + "gasUsed": "0x8ba5b", + "contractAddress": null, + "logs": [ + { + "address": "0xA30bB959Bc298e244aCE0402B5c0609CC8745134", + "topics": [ + "0xf93d3176a8dc9cb9dbaf25cf82679a837e82137f65a2eaef630b92178c3fb85d" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000604368616e6e656c732d4f662d446973747269627574696f6e000000000000001800000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000009535049504c2d312e300000000000000000000000000000000000000000000000", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "transactionHash": "0xb13b538f55ff3a42ffce3a951fb68e203c600ff1dc3481254ef3ac4db1cdd0f5", + "transactionIndex": "0x12", + "logIndex": "0x13", + "removed": false + }, + { + "address": "0xA30bB959Bc298e244aCE0402B5c0609CC8745134", + "topics": [ + "0xf93d3176a8dc9cb9dbaf25cf82679a837e82137f65a2eaef630b92178c3fb85d" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000604174747269627574696f6e00000000000000000000000000000000000000000b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009535049504c2d312e300000000000000000000000000000000000000000000000", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "transactionHash": "0xb13b538f55ff3a42ffce3a951fb68e203c600ff1dc3481254ef3ac4db1cdd0f5", + "transactionIndex": "0x12", + "logIndex": "0x14", + "removed": false + }, + { + "address": "0xA30bB959Bc298e244aCE0402B5c0609CC8745134", + "topics": [ + "0xf93d3176a8dc9cb9dbaf25cf82679a837e82137f65a2eaef630b92178c3fb85d" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000006044657269766174697665732d576974682d4174747269627574696f6e0000001c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009535049504c2d312e300000000000000000000000000000000000000000000000", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "transactionHash": "0xb13b538f55ff3a42ffce3a951fb68e203c600ff1dc3481254ef3ac4db1cdd0f5", + "transactionIndex": "0x12", + "logIndex": "0x15", + "removed": false + }, + { + "address": "0xA30bB959Bc298e244aCE0402B5c0609CC8745134", + "topics": [ + "0xf93d3176a8dc9cb9dbaf25cf82679a837e82137f65a2eaef630b92178c3fb85d" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000006044657269766174697665732d576974682d417070726f76616c0000000000001900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009535049504c2d312e300000000000000000000000000000000000000000000000", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "transactionHash": "0xb13b538f55ff3a42ffce3a951fb68e203c600ff1dc3481254ef3ac4db1cdd0f5", + "transactionIndex": "0x12", + "logIndex": "0x16", + "removed": false + }, + { + "address": "0xA30bB959Bc298e244aCE0402B5c0609CC8745134", + "topics": [ + "0xf93d3176a8dc9cb9dbaf25cf82679a837e82137f65a2eaef630b92178c3fb85d" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000006044657269766174697665732d5265636970726f63616c2d4c6963656e7365001e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009535049504c2d312e300000000000000000000000000000000000000000000000", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "transactionHash": "0xb13b538f55ff3a42ffce3a951fb68e203c600ff1dc3481254ef3ac4db1cdd0f5", + "transactionIndex": "0x12", + "logIndex": "0x17", + "removed": false + }, + { + "address": "0xA30bB959Bc298e244aCE0402B5c0609CC8745134", + "topics": [ + "0xcc3b4b42d496457f15f49a410f201fdb906b09fbff771f240a8dc8418abe68be" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000009535049504c2d312e300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004068747470733a2f2f617277656176652e6e65742f486a7a5f643774346b4d4546725a7274685648774d49565070477a655f304a367a58476869376b4569306373", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "transactionHash": "0xb13b538f55ff3a42ffce3a951fb68e203c600ff1dc3481254ef3ac4db1cdd0f5", + "transactionIndex": "0x12", + "logIndex": "0x18", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000800000000000000000000008000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000080800000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9aa6e98" + } + ], + "libraries": [], + "pending": [], + "path": "/Users/drmanhattan/Workspace/StoryProtocol/protocol-contracts/broadcast/Main.s.sol/11155111/run-latest.json", + "returns": {}, + "timestamp": 1701936255, + "chain": 11155111, + "multi": false, + "commit": "e7d0775" +} \ No newline at end of file diff --git a/broadcast/Main.s.sol/11155111/run-1701936957.json b/broadcast/Main.s.sol/11155111/run-1701936957.json new file mode 100644 index 00000000..813fee35 --- /dev/null +++ b/broadcast/Main.s.sol/11155111/run-1701936957.json @@ -0,0 +1,1612 @@ +{ + "transactions": [ + { + "hash": "0x49b64e330c3f9bd442ebe154a1426591253d2f4f887b3a24c39a14d6e50b78b1", + "transactionType": "CREATE", + "contractName": "AccessControlSingleton", + "contractAddress": "0x4Dc9653D6A21A44ca322474f81B41Dc964a422DD", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x2138be", + "value": "0x0", + "data": "0x60a06040523060805234801561001457600080fd5b50608051611d9061004c600039600081816104d101528181610581015281816106d60152818161078601526108cb0152611d906000f3fe6080604052600436106100dd5760003560e01c806352d1902d1161007f578063a217fddf11610059578063a217fddf146102a8578063ac9650d8146102bd578063c4d66de8146102ea578063d547741f1461030a57600080fd5b806352d1902d146101ea57806354fd4d50146101ff57806391d148541461025557600080fd5b80632f2ff15d116100bb5780632f2ff15d1461017757806336568abe146101975780633659cfe6146101b75780634f1ef286146101d757600080fd5b806301ffc9a7146100e25780631e4e009114610117578063248a9ca314610139575b600080fd5b3480156100ee57600080fd5b506101026100fd3660046117aa565b61032a565b60405190151581526020015b60405180910390f35b34801561012357600080fd5b506101376101323660046117ec565b6103c3565b005b34801561014557600080fd5b5061016961015436600461180e565b60009081526065602052604090206001015490565b60405190815260200161010e565b34801561018357600080fd5b50610137610192366004611850565b6103dd565b3480156101a357600080fd5b506101376101b2366004611850565b610402565b3480156101c357600080fd5b506101376101d236600461187c565b6104ba565b6101376101e53660046118c6565b6106bf565b3480156101f657600080fd5b506101696108b1565b34801561020b57600080fd5b506102486040518060400160405280600581526020017f302e312e3000000000000000000000000000000000000000000000000000000081525081565b60405161010e9190611a14565b34801561026157600080fd5b50610102610270366004611850565b600091825260656020908152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b3480156102b457600080fd5b50610169600081565b3480156102c957600080fd5b506102dd6102d8366004611a27565b61099d565b60405161010e9190611a9c565b3480156102f657600080fd5b5061013761030536600461187c565b610a92565b34801561031657600080fd5b50610137610325366004611850565b610c84565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806103bd57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60006103ce81610ca9565b6103d88383610cb3565b505050565b6000828152606560205260409020600101546103f881610ca9565b6103d88383610cfe565b73ffffffffffffffffffffffffffffffffffffffff811633146104ac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b6104b68282610df2565b5050565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016300361057f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016104a3565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166105f47f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610697576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016104a3565b6106a081610ead565b604080516000808252602082019092526106bc91839190610ed7565b50565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610784576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016104a3565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166107f97f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff161461089c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016104a3565b6108a582610ead565b6104b682826001610ed7565b60003073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610978576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016104a3565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b60608167ffffffffffffffff8111156109b8576109b8611897565b6040519080825280602002602001820160405280156109eb57816020015b60608152602001906001900390816109d65790505b50905060005b82811015610a8b57610a5b30858584818110610a0f57610a0f611b1c565b9050602002810190610a219190611b4b565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506110d692505050565b828281518110610a6d57610a6d611b1c565b60200260200101819052508080610a8390611be6565b9150506109f1565b5092915050565b600054610100900460ff1615808015610ab25750600054600160ff909116105b80610acc5750303b158015610acc575060005460ff166001145b610b58576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016104a3565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610bb657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b73ffffffffffffffffffffffffffffffffffffffff8216610c03576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c0b611102565b610c13611102565b610c1e600083610cfe565b80156104b657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b600082815260656020526040902060010154610c9f81610ca9565b6103d88383610df2565b6106bc813361119b565b600082815260656020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff166104b657600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff85168452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055610d943390565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16156104b657600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e36104b681610ca9565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610f0a576103d883611255565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610f8f575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252610f8c91810190611c1e565b60015b61101b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016104a3565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81146110ca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016104a3565b506103d883838361135f565b60606110fb8383604051806060016040528060278152602001611d346027913961138a565b9392505050565b600054610100900460ff16611199576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016104a3565b565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff166104b6576111db8161140f565b6111e683602061142e565b6040516020016111f7929190611c37565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a00000000000000000000000000000000000000000000000000000000082526104a391600401611a14565b73ffffffffffffffffffffffffffffffffffffffff81163b6112f9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016104a3565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61136883611671565b6000825111806113755750805b156103d85761138483836110d6565b50505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516113b49190611cb8565b600060405180830381855af49150503d80600081146113ef576040519150601f19603f3d011682016040523d82523d6000602084013e6113f4565b606091505b5091509150611405868383876116be565b9695505050505050565b60606103bd73ffffffffffffffffffffffffffffffffffffffff831660145b6060600061143d836002611cd4565b611448906002611ceb565b67ffffffffffffffff81111561146057611460611897565b6040519080825280601f01601f19166020018201604052801561148a576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106114c1576114c1611b1c565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061152457611524611b1c565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000611560846002611cd4565b61156b906001611ceb565b90505b6001811115611608577f303132333435363738396162636465660000000000000000000000000000000085600f16601081106115ac576115ac611b1c565b1a60f81b8282815181106115c2576115c2611b1c565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c9361160181611cfe565b905061156e565b5083156110fb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016104a3565b61167a81611255565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060831561175457825160000361174d5773ffffffffffffffffffffffffffffffffffffffff85163b61174d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016104a3565b508161175e565b61175e8383611766565b949350505050565b8151156117765781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104a39190611a14565b6000602082840312156117bc57600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146110fb57600080fd5b600080604083850312156117ff57600080fd5b50508035926020909101359150565b60006020828403121561182057600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461184b57600080fd5b919050565b6000806040838503121561186357600080fd5b8235915061187360208401611827565b90509250929050565b60006020828403121561188e57600080fd5b6110fb82611827565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080604083850312156118d957600080fd5b6118e283611827565b9150602083013567ffffffffffffffff808211156118ff57600080fd5b818501915085601f83011261191357600080fd5b81358181111561192557611925611897565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561196b5761196b611897565b8160405282815288602084870101111561198457600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b838110156119c15781810151838201526020016119a9565b50506000910152565b600081518084526119e28160208601602086016119a6565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006110fb60208301846119ca565b60008060208385031215611a3a57600080fd5b823567ffffffffffffffff80821115611a5257600080fd5b818501915085601f830112611a6657600080fd5b813581811115611a7557600080fd5b8660208260051b8501011115611a8a57600080fd5b60209290920196919550909350505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015611b0f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452611afd8583516119ca565b94509285019290850190600101611ac3565b5092979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611b8057600080fd5b83018035915067ffffffffffffffff821115611b9b57600080fd5b602001915036819003821315611bb057600080fd5b9250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611c1757611c17611bb7565b5060010190565b600060208284031215611c3057600080fd5b5051919050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351611c6f8160178501602088016119a6565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351611cac8160288401602088016119a6565b01602801949350505050565b60008251611cca8184602087016119a6565b9190910192915050565b80820281158282048414176103bd576103bd611bb7565b808201808211156103bd576103bd611bb7565b600081611d0d57611d0d611bb7565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122035b12ac6102814ae28fecd9f91e4fde7763c03447061ccbdc0e04f5c7addea0e64736f6c63430008130033", + "nonce": "0x5fb", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xaaf7df4b0f53c65c69a83d1f5c34b2864a62be0cb6f712311a603fb349599444", + "transactionType": "CREATE", + "contractName": "ERC1967Proxy", + "contractAddress": "0x7EDacD4d53b5A626471c6728f04D92125CcF647F", + "function": null, + "arguments": [ + "0x4Dc9653D6A21A44ca322474f81B41Dc964a422DD", + "0xc4d66de8000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x3bece", + "value": "0x0", + "data": "0x60806040526040516104ee3803806104ee833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c760279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60be806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea264697066735822122091c81c9b8ac755a7e1e08c0e9f65600d21e642457fb84c7f9e0d0a65b62d269064736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c65640000000000000000000000004dc9653d6a21a44ca322474f81b41dc964a422dd00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de8000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab00000000000000000000000000000000000000000000000000000000", + "nonce": "0x5fc", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x032a743da017dcc3de3766692bc8a2853afdc8212cf67e5dadd953a8ecedfe34", + "transactionType": "CREATE", + "contractName": "LicensingFrameworkRepo", + "contractAddress": "0xA30bB959Bc298e244aCE0402B5c0609CC8745134", + "function": null, + "arguments": [ + "0x7EDacD4d53b5A626471c6728f04D92125CcF647F" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x2222ae", + "value": "0x0", + "data": "0x60806040523480156200001157600080fd5b5060405162001f9538038062001f958339810160408190526200003491620001cd565b80620000516001600160a01b038216637965db0b60e01b620000e1565b62000094576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b038316908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050620001f8565b6000620000ee8362000109565b801562000102575062000102838362000142565b9392505050565b60006200011e826301ffc9a760e01b62000142565b80156200013c57506200013a826001600160e01b031962000142565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d91506000519050828015620001b5575060208210155b8015620001c25750600081115b979650505050505050565b600060208284031215620001e057600080fd5b81516001600160a01b03811681146200010257600080fd5b611d8d80620002086000396000f3fe608060405234801561001057600080fd5b50600436106100a35760003560e01c8063912871c811610076578063ac9650d81161005b578063ac9650d81461015d578063e75afa551461017d578063eae376e31461019d57600080fd5b8063912871c81461011a5780639faddd201461013d57600080fd5b80631013cbca146100a857806319129e5a146100d157806342f6d099146100e65780637859a97e146100f9575b600080fd5b6100bb6100b6366004611228565b6101bd565b6040516100c8919061126a565b60405180910390f35b6100e46100df3660046112d3565b6101f3565b005b6100e46100f43660046112f0565b610357565b61010c610107366004611228565b610544565b6040519081526020016100c8565b61012d610128366004611370565b610571565b60405190151581526020016100c8565b61015061014b3660046113dc565b6106b6565b6040516100c891906114ad565b61017061016b3660046114bb565b610744565b6040516100c8919061155f565b61019061018b366004611228565b610839565b6040516100c891906115df565b6101b06101ab366004611228565b6108ff565b6040516100c8919061162c565b60606101ea600184846040516101d492919061163f565b90815260200160405180910390206001016109b3565b90505b92915050565b60006101ff81336109c7565b610243576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b61028373ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000610a63565b6102e9576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c000000000000000000000000000000000000604482015260640161023a565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050565b7f256895704541e78004f0fd55953a8bcc54c628755b14fbf53afdc556473f9bd061038281336109c7565b6103c1576040517f75000dc00000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440161023a565b600060016103cf848061164f565b6040516103dd92919061163f565b9081526020016040518091039020905060006103fb82600101610a7f565b1115610433576040517f7e5d56bb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061044260408501856116b4565b9150506096811115610480576040517fb6cb3c0400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b818110156104d2576104c0610498868061164f565b6104a560408901896116b4565b858181106104b5576104b561171c565b905060400201610a89565b806104ca8161174b565b915050610483565b506104e0602085018561164f565b83916104ed91908361187a565b507fcc3b4b42d496457f15f49a410f201fdb906b09fbff771f240a8dc8418abe68be610519858061164f565b610526602088018861164f565b60405161053694939291906119de565b60405180910390a150505050565b60006101ea6001848460405161055b92919061163f565b9081526020016040518091039020600101610a7f565b6000806001868660405161058692919061163f565b90815260405190819003602001902090508260968111156105ac576000925050506106ae565b60005b818110156106a65760008686838181106105cb576105cb61171c565b90506020028101906105dd9190611a05565b3590506105ed6001850182610bdb565b6105fe5760009450505050506106ae565b60008181526003850160205260409020546106829060ff168888858181106106285761062861171c565b905060200281019061063a9190611a05565b61064890602081019061164f565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610bf392505050565b6106935760009450505050506106ae565b508061069e8161174b565b9150506105af565b506001925050505b949350505050565b60408051808201909152600080825260208201526000600185856040516106de92919061163f565b908152604051908190036020019020905060006106fe6001830185610e36565b604080518082018252828152600083815260038601602090815292902054929350919082019060ff16600481111561073857610738611428565b90529695505050505050565b60608167ffffffffffffffff81111561075f5761075f6117aa565b60405190808252806020026020018201604052801561079257816020015b606081526020019060019003908161077d5790505b50905060005b8281101561083257610802308585848181106107b6576107b661171c565b90506020028101906107c8919061164f565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610e4292505050565b8282815181106108145761081461171c565b6020026020010181905250808061082a9061174b565b915050610798565b5092915050565b60606001838360405161084d92919061163f565b9081526020016040518091039020600401805480602002602001604051908101604052809291908181526020016000905b828210156108f35783829060005260206000209060020201604051806040016040529081600082015481526020016001820160009054906101000a900460ff1660048111156108cf576108cf611428565b60048111156108e0576108e0611428565b815250508152602001906001019061087e565b50505050905092915050565b60606001838360405161091392919061163f565b908152604051908190036020019020805461092d906117d9565b80601f0160208091040260200160405190810160405280929190818152602001828054610959906117d9565b80156109a65780601f1061097b576101008083540402835291602001916109a6565b820191906000526020600020905b81548152906001019060200180831161098957829003601f168201915b5050505050905092915050565b606060006109c083610e67565b9392505050565b600080546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff8481166024830152909116906391d1485490604401602060405180830381865afa158015610a3f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101ea9190611a43565b6000610a6e83610ec3565b80156101ea57506101ea8383610f27565b60006101ed825490565b600060018484604051610a9d92919061163f565b90815260405190819003602001902090508135610abd6001830182610bdb565b15610af4576040517f982f2a2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b016001830182610ff6565b50610b126040840160208501611a72565b6000828152600384016020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001836004811115610b5a57610b5a611428565b021790555060048201805460018101825560009182526020909120849160020201610b858282611a8f565b507ff93d3176a8dc9cb9dbaf25cf82679a837e82137f65a2eaef630b92178c3fb85d9050858583610bbc6040880160208901611a72565b604051610bcc9493929190611b0f565b60405180910390a15050505050565b600081815260018301602052604081205415156101ea565b60007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470828051906020012003610c2b575060016101ed565b6000836004811115610c3f57610c3f611428565b03610c625781806020019051810190610c589190611a43565b50600190506101ed565b6001836004811115610c7657610c76611428565b03610ca35781806020019051810190610c8f9190611b41565b600003610c9e575060006101ed565b610e2d565b6002836004811115610cb757610cb7611428565b03610d0b57600073ffffffffffffffffffffffffffffffffffffffff1682806020019051810190610ce89190611b5a565b73ffffffffffffffffffffffffffffffffffffffff1603610c9e575060006101ed565b6003836004811115610d1f57610d1f611428565b03610de75781806020019051810190610d389190611bc6565b50604051602001610d7a9060208082526001908201527f2000000000000000000000000000000000000000000000000000000000000000604082015260600190565b6040516020818303038152906040528051906020012082805190602001201480610dda5750604051602001610dba90602080825260009082015260400190565b604051602081830303815290604052805190602001208280519060200120145b15610c9e575060006101ed565b6004836004811115610dfb57610dfb611428565b03610e2d57600082806020019051810190610e169190611c78565b90508051600003610e2b5760009150506101ed565b505b50600192915050565b60006101ea8383611002565b60606101ea8383604051806060016040528060278152602001611d316027913961102c565b606081600001805480602002602001604051908101604052809291908181526020018280548015610eb757602002820191906000526020600020905b815481526020019060010190808311610ea3575b50505050509050919050565b6000610eef827f01ffc9a700000000000000000000000000000000000000000000000000000000610f27565b80156101ed5750610f20827fffffffff00000000000000000000000000000000000000000000000000000000610f27565b1592915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015610fdf575060208210155b8015610feb5750600081115b979650505050505050565b60006101ea83836110b1565b60008260000182815481106110195761101961171c565b9060005260206000200154905092915050565b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516110569190611d1e565b600060405180830381855af49150503d8060008114611091576040519150601f19603f3d011682016040523d82523d6000602084013e611096565b606091505b50915091506110a786838387611100565b9695505050505050565b60008181526001830160205260408120546110f8575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556101ed565b5060006101ed565b6060831561119657825160000361118f5773ffffffffffffffffffffffffffffffffffffffff85163b61118f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161023a565b50816106ae565b6106ae83838151156111ab5781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161023a919061162c565b60008083601f8401126111f157600080fd5b50813567ffffffffffffffff81111561120957600080fd5b60208301915083602082850101111561122157600080fd5b9250929050565b6000806020838503121561123b57600080fd5b823567ffffffffffffffff81111561125257600080fd5b61125e858286016111df565b90969095509350505050565b6020808252825182820181905260009190848201906040850190845b818110156112a257835183529284019291840191600101611286565b50909695505050505050565b73ffffffffffffffffffffffffffffffffffffffff811681146112d057600080fd5b50565b6000602082840312156112e557600080fd5b81356109c0816112ae565b60006020828403121561130257600080fd5b813567ffffffffffffffff81111561131957600080fd5b8201606081850312156109c057600080fd5b60008083601f84011261133d57600080fd5b50813567ffffffffffffffff81111561135557600080fd5b6020830191508360208260051b850101111561122157600080fd5b6000806000806040858703121561138657600080fd5b843567ffffffffffffffff8082111561139e57600080fd5b6113aa888389016111df565b909650945060208701359150808211156113c357600080fd5b506113d08782880161132b565b95989497509550505050565b6000806000604084860312156113f157600080fd5b833567ffffffffffffffff81111561140857600080fd5b611414868287016111df565b909790965060209590950135949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6005811061148e577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b8051825260208101516114a86020840182611457565b505050565b604081016101ed8284611492565b600080602083850312156114ce57600080fd5b823567ffffffffffffffff8111156114e557600080fd5b61125e8582860161132b565b60005b8381101561150c5781810151838201526020016114f4565b50506000910152565b6000815180845261152d8160208601602086016114f1565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156115d2577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08886030184526115c0858351611515565b94509285019290850190600101611586565b5092979650505050505050565b602080825282518282018190526000919060409081850190868401855b8281101561161f5761160f848351611492565b92840192908501906001016115fc565b5091979650505050505050565b6020815260006101ea6020830184611515565b8183823760009101908152919050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261168457600080fd5b83018035915067ffffffffffffffff82111561169f57600080fd5b60200191503681900382131561122157600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126116e957600080fd5b83018035915067ffffffffffffffff82111561170457600080fd5b6020019150600681901b360382131561122157600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036117a3577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600181811c908216806117ed57607f821691505b602082108103611826577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f8211156114a857600081815260208120601f850160051c810160208610156118535750805b601f850160051c820191505b818110156118725782815560010161185f565b505050505050565b67ffffffffffffffff831115611892576118926117aa565b6118a6836118a083546117d9565b8361182c565b6000601f8411600181146118f857600085156118c25750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b17835561198e565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b828110156119475786850135825560209485019460019092019101611927565b5086821015611982577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6040815260006119f2604083018688611995565b8281036020840152610feb818587611995565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1833603018112611a3957600080fd5b9190910192915050565b600060208284031215611a5557600080fd5b815180151581146109c057600080fd5b600581106112d057600080fd5b600060208284031215611a8457600080fd5b81356109c081611a65565b81358155600181016020830135611aa581611a65565b60058110611adc577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0082541660ff8216811783555050505050565b606081526000611b23606083018688611995565b9050836020830152611b386040830184611457565b95945050505050565b600060208284031215611b5357600080fd5b5051919050565b600060208284031215611b6c57600080fd5b81516109c0816112ae565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715611bbe57611bbe6117aa565b604052919050565b600060208284031215611bd857600080fd5b815167ffffffffffffffff80821115611bf057600080fd5b818401915084601f830112611c0457600080fd5b815181811115611c1657611c166117aa565b611c4760207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601611b77565b9150808252856020828501011115611c5e57600080fd5b611c6f8160208401602086016114f1565b50949350505050565b60006020808385031215611c8b57600080fd5b825167ffffffffffffffff80821115611ca357600080fd5b818501915085601f830112611cb757600080fd5b815181811115611cc957611cc96117aa565b8060051b9150611cda848301611b77565b8181529183018401918481019088841115611cf457600080fd5b938501935b83851015611d1257845182529385019390850190611cf9565b98975050505050505050565b60008251611a398184602087016114f156fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220e7cdeb2ebe80f70a7655b1be23982831348c44fd66f6a38f976d909d8444034064736f6c634300081300330000000000000000000000007edacd4d53b5a626471c6728f04d92125ccf647f", + "nonce": "0x5fd", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xca1fe1cec4d95f2ab31fc12c1c2af517115b57522c4984cefbcce4d4d03e66eb", + "transactionType": "CREATE", + "contractName": "ModuleRegistry", + "contractAddress": "0xedBd4907A7F98de932e635e9076B4E0C36D0E797", + "function": null, + "arguments": [ + "0x7EDacD4d53b5A626471c6728f04D92125CcF647F" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x1fbd14", + "value": "0x0", + "data": "0x60806040523480156200001157600080fd5b5060405162001d6838038062001d688339810160408190526200003491620001cd565b80620000516001600160a01b038216637965db0b60e01b620000e1565b62000094576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b038316908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050620001f8565b6000620000ee8362000109565b801562000102575062000102838362000142565b9392505050565b60006200011e826301ffc9a760e01b62000142565b80156200013c57506200013a826001600160e01b031962000142565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d91506000519050828015620001b5575060208210155b8015620001c25750600081115b979650505050505050565b600060208284031215620001e057600080fd5b81516001600160a01b03811681146200010257600080fd5b611b6080620002086000396000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c8063ac9650d811610081578063d08906d61161005b578063d08906d6146101c0578063e1fc45ce146101d3578063eca53519146101e657600080fd5b8063ac9650d81461018d578063b38609e8146101ad578063c7bdcb8a1461017a57600080fd5b80633af83c18116100b25780633af83c181461012a5780635c7a980b1461014d578063869450941461017a57600080fd5b806319129e5a146100d957806320b76ffc146100ee57806337e22bd414610101575b600080fd5b6100ec6100e73660046110d1565b6101f9565b005b6100ec6100fc366004611137565b61035d565b61011461010f366004611379565b610373565b60405161012191906114a7565b60405180910390f35b61013d6101383660046114ba565b61038d565b6040519015158152602001610121565b610155600081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610121565b610155610188366004611511565b6103e8565b6101a061019b366004611598565b61042a565b6040516101219190611644565b6101146101bb366004611657565b61051f565b6100ec6101ce3660046114ba565b610637565b6101146101e136600461173f565b610795565b6100ec6101f4366004611511565b61081b565b600061020581336109db565b610249576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b61028973ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000610a7e565b6102ef576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c0000000000000000000000000000000000006044820152606401610240565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050565b61036b853386868686610a9a565b505050505050565b6060610383863387878787610c48565b9695505050505050565b60008173ffffffffffffffffffffffffffffffffffffffff16600185856040516103b89291906117d4565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff161490509392505050565b6000600183836040516103fc9291906117d4565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff16905092915050565b60608167ffffffffffffffff811115610445576104456111ba565b60405190808252806020026020018201604052801561047857816020015b60608152602001906001900390816104635790505b50905060005b82811015610518576104e83085858481811061049c5761049c6117e4565b90506020028101906104ae9190611813565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610de192505050565b8282815181106104fa576104fa6117e4565b6020026020010181905250808061051090611878565b91505061047e565b5092915050565b60607fe4a10d29decbd34c09a62a511d4fd993a7d8cbbf58d7d4278711c29c9148b8f761054c81336109db565b61058b576040517f75000dc000000000000000000000000000000000000000000000000000000000815260048101829052336024820152604401610240565b6106278c8c8c8c8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061061892508c91508d90506118d7565b610622898b6118d7565b610c48565b9c9b505050505050505050505050565b7fc9a6ce5d86bdc06f8d57f20091bf09bf611e57d0626b65aa9ebb3c9179ba650f61066281336109db565b6106a1576040517f75000dc000000000000000000000000000000000000000000000000000000000815260048101829052336024820152604401610240565b73ffffffffffffffffffffffffffffffffffffffff82166106ee576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81600185856040516107019291906117d4565b908152604051908190036020018120805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff0000000000000000000000000000000000000000909116179055908316906000907f14d77cb3ef4c75b9a031527cf63890f47708121a75c8b9c9cddbacc19defd12290610787908890889061192d565b60405180910390a350505050565b60607fe4a10d29decbd34c09a62a511d4fd993a7d8cbbf58d7d4278711c29c9148b8f76107c281336109db565b610801576040517f75000dc000000000000000000000000000000000000000000000000000000000815260048101829052336024820152604401610240565b61080f888888888888610a9a565b98975050505050505050565b7fc9a6ce5d86bdc06f8d57f20091bf09bf611e57d0626b65aa9ebb3c9179ba650f61084681336109db565b610885576040517f75000dc000000000000000000000000000000000000000000000000000000000815260048101829052336024820152604401610240565b600073ffffffffffffffffffffffffffffffffffffffff16600184846040516108af9291906117d4565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff16036109105782826040517f97385f5100000000000000000000000000000000000000000000000000000000815260040161024092919061192d565b6000600184846040516109249291906117d4565b9081526040519081900360200181205473ffffffffffffffffffffffffffffffffffffffff16915060019061095c90869086906117d4565b90815260405190819003602001812080547fffffffffffffffffffffffff000000000000000000000000000000000000000016905573ffffffffffffffffffffffffffffffffffffffff8216906000907f335f1d2bb0046b3a423088788bb8d6350f8a36ff7d554592f91d8102ea0ce4d790610787908890889061192d565b600080546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff8481166024830152909116906391d1485490604401602060405180830381865afa158015610a53573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a779190611941565b9392505050565b6000610a8983610e06565b8015610a775750610a778383610e6b565b6060600060018686604051610ab09291906117d4565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff16905080610b135785856040517f97385f5100000000000000000000000000000000000000000000000000000000815260040161024092919061192d565b6040517f4fcbd21300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821690634fcbd21390610b6b908b908b9089908990600401611963565b6000604051808303816000875af1158015610b8a573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610bd0919081019061199d565b91508673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167f48786003f3d30e41bfa4ee09afdeb9bfb04b7e06e2f74f3177da393a793bbc3388888888604051610c359493929190611a14565b60405180910390a3509695505050505050565b60606000600186604051610c5c9190611a3b565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff16905080610cbd57856040517f97385f5100000000000000000000000000000000000000000000000000000000815260040161024091906114a7565b6040517fb6efd29d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82169063b6efd29d90610d17908b908b908a908a908a90600401611a57565b6000604051808303816000875af1158015610d36573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610d7c919081019061199d565b91508673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fc370e2f187a6d9446aca617bbcd60f84f24a0020a0c55dbc4ff5c8a3ce87abb588888888604051610c359493929190611ab6565b6060610a778383604051806060016040528060278152602001611b0460279139610f3a565b6000610e32827f01ffc9a700000000000000000000000000000000000000000000000000000000610e6b565b8015610e655750610e63827fffffffff00000000000000000000000000000000000000000000000000000000610e6b565b155b92915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015610f23575060208210155b8015610f2f5750600081115b979650505050505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051610f649190611a3b565b600060405180830381855af49150503d8060008114610f9f576040519150601f19603f3d011682016040523d82523d6000602084013e610fa4565b606091505b5091509150610383868383876060831561104657825160000361103f5773ffffffffffffffffffffffffffffffffffffffff85163b61103f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610240565b5081611050565b6110508383611058565b949350505050565b8151156110685781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161024091906114a7565b73ffffffffffffffffffffffffffffffffffffffff811681146110be57600080fd5b50565b80356110cc8161109c565b919050565b6000602082840312156110e357600080fd5b8135610a778161109c565b60008083601f84011261110057600080fd5b50813567ffffffffffffffff81111561111857600080fd5b60208301915083602082850101111561113057600080fd5b9250929050565b60008060008060006060868803121561114f57600080fd5b853561115a8161109c565b9450602086013567ffffffffffffffff8082111561117757600080fd5b61118389838a016110ee565b9096509450604088013591508082111561119c57600080fd5b506111a9888289016110ee565b969995985093965092949392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715611230576112306111ba565b604052919050565b600067ffffffffffffffff821115611252576112526111ba565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f83011261128f57600080fd5b81356112a261129d82611238565b6111e9565b8181528460208386010111156112b757600080fd5b816020850160208301376000918101602001919091529392505050565b600067ffffffffffffffff808411156112ef576112ef6111ba565b8360051b60206113008183016111e9565b8681529350908401908084018783111561131957600080fd5b855b8381101561134d578035858111156113335760008081fd5b61133f8a828a0161127e565b83525090820190820161131b565b50505050509392505050565b600082601f83011261136a57600080fd5b610a77838335602085016112d4565b600080600080600060a0868803121561139157600080fd5b853561139c8161109c565b9450602086013567ffffffffffffffff808211156113b957600080fd5b6113c589838a0161127e565b955060408801359150808211156113db57600080fd5b6113e789838a0161127e565b945060608801359150808211156113fd57600080fd5b61140989838a01611359565b9350608088013591508082111561141f57600080fd5b5061142c88828901611359565b9150509295509295909350565b60005b8381101561145457818101518382015260200161143c565b50506000910152565b60008151808452611475816020860160208601611439565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610a77602083018461145d565b6000806000604084860312156114cf57600080fd5b833567ffffffffffffffff8111156114e657600080fd5b6114f2868287016110ee565b90945092505060208401356115068161109c565b809150509250925092565b6000806020838503121561152457600080fd5b823567ffffffffffffffff81111561153b57600080fd5b611547858286016110ee565b90969095509350505050565b60008083601f84011261156557600080fd5b50813567ffffffffffffffff81111561157d57600080fd5b6020830191508360208260051b850101111561113057600080fd5b600080602083850312156115ab57600080fd5b823567ffffffffffffffff8111156115c257600080fd5b61154785828601611553565b600082825180855260208086019550808260051b84010181860160005b84811015611637577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe086840301895261162583835161145d565b988401989250908301906001016115eb565b5090979650505050505050565b602081526000610a7760208301846115ce565b60008060008060008060008060008060c08b8d03121561167657600080fd5b61167f8b6110c1565b995061168d60208c016110c1565b985060408b013567ffffffffffffffff808211156116aa57600080fd5b6116b68e838f016110ee565b909a50985060608d01359150808211156116cf57600080fd5b6116db8e838f016110ee565b909850965060808d01359150808211156116f457600080fd5b6117008e838f01611553565b909650945060a08d013591508082111561171957600080fd5b506117268d828e01611553565b915080935050809150509295989b9194979a5092959850565b6000806000806000806080878903121561175857600080fd5b86356117638161109c565b955060208701356117738161109c565b9450604087013567ffffffffffffffff8082111561179057600080fd5b61179c8a838b016110ee565b909650945060608901359150808211156117b557600080fd5b506117c289828a016110ee565b979a9699509497509295939492505050565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261184857600080fd5b83018035915067ffffffffffffffff82111561186357600080fd5b60200191503681900382131561113057600080fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036118d0577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b6000610a773684846112d4565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6020815260006110506020830184866118e4565b60006020828403121561195357600080fd5b81518015158114610a7757600080fd5b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250606060408301526103836060830184866118e4565b6000602082840312156119af57600080fd5b815167ffffffffffffffff8111156119c657600080fd5b8201601f810184136119d757600080fd5b80516119e561129d82611238565b8181528560208385010111156119fa57600080fd5b611a0b826020830160208601611439565b95945050505050565b604081526000611a286040830186886118e4565b8281036020840152610f2f8185876118e4565b60008251611a4d818460208701611439565b9190910192915050565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525060a06040830152611a9060a083018661145d565b8281036060840152611aa281866115ce565b9050828103608084015261080f81856115ce565b608081526000611ac9608083018761145d565b8281036020840152611adb818761145d565b90508281036040840152611aef81866115ce565b90508281036060840152610f2f81856115ce56fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122041f1a0f24893d222413a264b74757e6f2c2172550bb05d81a811b529e638d83164736f6c634300081300330000000000000000000000007edacd4d53b5a626471c6728f04d92125ccf647f", + "nonce": "0x5fe", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x1367afaa266f809c9cdbbd18c0f42f48f10e70b997cf7984eee88d985ba95055", + "transactionType": "CREATE", + "contractName": "IPAssetRegistry", + "contractAddress": "0xaD2377c8f9f0ca6382fEf166b08aeDe8318fE49C", + "function": null, + "arguments": [ + "0xedBd4907A7F98de932e635e9076B4E0C36D0E797" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x132c3f", + "value": "0x0", + "data": "0x60a0604052600060015534801561001557600080fd5b5060405161113e38038061113e83398101604081905261003491610045565b6001600160a01b0316608052610075565b60006020828403121561005757600080fd5b81516001600160a01b038116811461006e57600080fd5b9392505050565b6080516110926100ac6000396000818161018e0152818161023f0152818161040f0152818161057c01526106af01526110926000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806387cb967a1161005b57806387cb967a14610150578063b95ddb5214610189578063c47f8bfa146101b0578063d896dd64146101d057600080fd5b8063251fe79c1461008d578063299d1cf6146100a257806342d21ef7146100df578063601a924c1461012f575b600080fd5b6100a061009b366004610b62565b6101e3565b005b6100b56100b0366004610b92565b61039b565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61011d6100ed366004610b92565b60009081526020819052604090206001015474010000000000000000000000000000000000000000900460ff1690565b60405160ff90911681526020016100d6565b61014261013d366004610bda565b61051d565b6040519081526020016100d6565b6100b561015e366004610b92565b60009081526020819052604090206002015473ffffffffffffffffffffffffffffffffffffffff1690565b6100b57f000000000000000000000000000000000000000000000000000000000000000081565b6101c36101be366004610b92565b610951565b6040516100d69190610d3a565b6100a06101de366004610dbd565b610aa0565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815233917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a9161028791600401610de8565b602060405180830381865afa1580156102a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102c89190610dfb565b73ffffffffffffffffffffffffffffffffffffffff1614610315576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008281526020819052604080822060020180547fffffffffffffffffffffffff0000000000000000000000000000000000000000811673ffffffffffffffffffffffffffffffffffffffff8681169182179093559251911692839186917f147c62691502c52a4a793c136ab712d9695053acdd62d44170a823bc377a59f591a4505050565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a000000000000000000000000000000000000000000000000000000008152600091829173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a916104439190600401610de8565b602060405180830381865afa158015610460573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104849190610dfb565b6040517f6352211e0000000000000000000000000000000000000000000000000000000081526004810185905290915073ffffffffffffffffffffffffffffffffffffffff821690636352211e90602401602060405180830381865afa1580156104f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105169190610dfb565b9392505050565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260009133917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a916105c59190600401610de8565b602060405180830381865afa1580156105e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106069190610dfb565b73ffffffffffffffffffffffffffffffffffffffff1614610653576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815233917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a916106f791600401610de8565b602060405180830381865afa158015610714573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107389190610dfb565b73ffffffffffffffffffffffffffffffffffffffff1614610785576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016000815461079490610e18565b91829055506040805160c08101825285815273ffffffffffffffffffffffffffffffffffffffff8781166020808401919091526001838501529089166060830152608082018690524267ffffffffffffffff811660a084015260008581529182905292902081519394509192909190819061080f9082610f19565b50602082015160018201805460408086015160ff1674010000000000000000000000000000000000000000027fffffffffffffffffffffff00000000000000000000000000000000000000000090921673ffffffffffffffffffffffffffffffffffffffff948516179190911790915560608401516002840180549184167fffffffffffffffffffffffff0000000000000000000000000000000000000000929092169190911790556080840151600384015560a0909301516004909201805467ffffffffffffffff9093167fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909316929092179091559051868216918816907f964ceb922535d169779e716f1dea5a577aeef2427e753bdb9eace345bca56b929061094090869089908990611033565b60405180910390a350949350505050565b6040805160c081018252606080825260006020830181905292820183905281018290526080810182905260a081019190915260008281526020819052604090819020815160c081019092528054829082906109ab90610e77565b80601f01602080910402602001604051908101604052809291908181526020018280546109d790610e77565b8015610a245780601f106109f957610100808354040283529160200191610a24565b820191906000526020600020905b815481529060010190602001808311610a0757829003601f168201915b5050509183525050600182015473ffffffffffffffffffffffffffffffffffffffff80821660208401527401000000000000000000000000000000000000000090910460ff16604083015260028301541660608201526003820154608082015260049091015467ffffffffffffffff1660a09091015292915050565b60008281526020818152604091829020600101805460ff858116740100000000000000000000000000000000000000008181027fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff8516179094558551939092041680835292820152849283917fd98efe2dd5b76c52df27ca251c889b2339e9f49fdd2e02e72abbae1136a1f014910160405180910390a250505050565b73ffffffffffffffffffffffffffffffffffffffff81168114610b5f57600080fd5b50565b60008060408385031215610b7557600080fd5b823591506020830135610b8781610b3d565b809150509250929050565b600060208284031215610ba457600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060008060808587031215610bf057600080fd5b8435610bfb81610b3d565b93506020850135610c0b81610b3d565b9250604085013567ffffffffffffffff80821115610c2857600080fd5b818701915087601f830112610c3c57600080fd5b813581811115610c4e57610c4e610bab565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715610c9457610c94610bab565b816040528281528a6020848701011115610cad57600080fd5b826020860160208301376000928101602001929092525095989497509495606001359450505050565b6000815180845260005b81811015610cfc57602081850181015186830182015201610ce0565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081526000825160c06020840152610d5660e0840182610cd6565b9050602084015173ffffffffffffffffffffffffffffffffffffffff808216604086015260ff60408701511660608601528060608701511660808601525050608084015160a084015267ffffffffffffffff60a08501511660c08401528091505092915050565b60008060408385031215610dd057600080fd5b82359150602083013560ff81168114610b8757600080fd5b6020815260006105166020830184610cd6565b600060208284031215610e0d57600080fd5b815161051681610b3d565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610e70577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b600181811c90821680610e8b57607f821691505b602082108103610ec4577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f821115610f1457600081815260208120601f850160051c81016020861015610ef15750805b601f850160051c820191505b81811015610f1057828155600101610efd565b5050505b505050565b815167ffffffffffffffff811115610f3357610f33610bab565b610f4781610f418454610e77565b84610eca565b602080601f831160018114610f9a5760008415610f645750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610f10565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015610fe757888601518255948401946001909101908401610fc8565b508582101561102357878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b83815260606020820152600061104c6060830185610cd6565b905082604083015294935050505056fea26469706673582212206759a7cfd471cb174f63e8a93a86f039d8968418e57264c2bc8e8fae94ff11fd64736f6c63430008130033000000000000000000000000edbd4907a7f98de932e635e9076b4e0c36d0e797", + "nonce": "0x5ff", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x576f73c4d6629a4135060cf2cf6c6141e13297b7c25bc3e386ab7c1dcef25164", + "transactionType": "CREATE", + "contractName": "LicenseRegistry", + "contractAddress": "0xCD28eb9D0D2AFcf4354F2c93dE5ce9Bbf88257ae", + "function": null, + "arguments": [ + "0xaD2377c8f9f0ca6382fEf166b08aeDe8318fE49C", + "0xedBd4907A7F98de932e635e9076B4E0C36D0E797", + "0xA30bB959Bc298e244aCE0402B5c0609CC8745134" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x3d645a", + "value": "0x0", + "data": "0x60e06040523480156200001157600080fd5b50604051620039d0380380620039d0833981016040819052620000349162000160565b6040518060400160405280601a81526020017f53746f72792050726f746f636f6c204c6963656e7365204e4654000000000000815250604051806040016040528060048152602001631313919560e21b81525081600090816200009891906200024f565b506001620000a782826200024f565b5050506001600160a01b038316620000d25760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b038084166080528216620001005760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0380831660a05281166200012e5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b031660c052506200031b9050565b80516001600160a01b03811681146200015b57600080fd5b919050565b6000806000606084860312156200017657600080fd5b620001818462000143565b9250620001916020850162000143565b9150620001a16040850162000143565b90509250925092565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620001d557607f821691505b602082108103620001f657634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200024a57600081815260208120601f850160051c81016020861015620002255750805b601f850160051c820191505b81811015620002465782815560010162000231565b5050505b505050565b81516001600160401b038111156200026b576200026b620001aa565b62000283816200027c8454620001c0565b84620001fc565b602080601f831160018114620002bb5760008415620002a25750858301515b600019600386901b1c1916600185901b17855562000246565b600085815260208120601f198616915b82811015620002ec57888601518255948401946001909101908401620002cb565b50858210156200030b5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60805160a05160c0516136626200036e600039600061043201526000818161048701528181610ad80152818161104c01528181611278015261165701526000818161053201526121a801526136626000f3fe608060405234801561001057600080fd5b506004361061020b5760003560e01c806370a082311161012a578063c87b56dd116100bd578063d7f9ab8b1161008c578063e58efef611610071578063e58efef61461058a578063e705c2b8146105c3578063e985e9c5146105d657600080fd5b8063d7f9ab8b14610554578063e006e5a71461057757600080fd5b8063c87b56dd146104bc578063c8c0eb87146104dd578063d09d894e1461051a578063d2faf8b01461052d57600080fd5b8063a22cb465116100f9578063a22cb4651461045c578063b88d4fde1461046f578063b95ddb5214610482578063c7647215146104a957600080fd5b806370a082311461040757806371e074dd1461041a57806376a4b13b1461042d57806395d89b411461045457600080fd5b8063357a595a116101a2578063439d4b5c11610171578063439d4b5c1461039057806356227341146103a35780636103b2ce146103d45780636352211e146103f457600080fd5b8063357a595a1461031957806337f8ebfb1461032c5780633c06e1dc1461035557806342842e0e1461037d57600080fd5b806308a4f072116101de57806308a4f072146102be578063095ea7b3146102de5780631f09e4e5146102f357806323b872dd1461030657600080fd5b806301ffc9a714610210578063056569af1461023857806306fdde0314610296578063081812fc146102ab575b600080fd5b61022361021e3660046129dd565b61061f565b60405190151581526020015b60405180910390f35b610271610246366004612a01565b60009081526006602052604090206001015473ffffffffffffffffffffffffffffffffffffffff1690565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161022f565b61029e610704565b60405161022f9190612a7e565b6102716102b9366004612a01565b610796565b6102d16102cc366004612a01565b6107ca565b60405161022f9190612a91565b6102f16102ec366004612b4c565b6108d8565b005b6102f1610301366004612b76565b610a69565b6102f1610314366004612ba2565b610b93565b6102f1610327366004612a01565b610c34565b61022361033a366004612a01565b60009081526006602052604090205462010000900460ff1690565b610223610363366004612a01565b600090815260066020526040902054610100900460ff1690565b6102f161038b366004612ba2565b610c41565b6102f161039e366004612a01565b610c5c565b6103c66103b1366004612a01565b60009081526006602052604090206005015490565b60405190815260200161022f565b6103e76103e2366004612a01565b610d21565b60405161022f9190612c0d565b610271610402366004612a01565b610e81565b6103c6610415366004612d16565b610f0d565b6102f1610428366004612d31565b610fdb565b6102717f000000000000000000000000000000000000000000000000000000000000000081565b61029e611144565b6102f161046a366004612d6c565b611153565b6102f161047d366004612efc565b61115e565b6102717f000000000000000000000000000000000000000000000000000000000000000081565b6103c66104b736600461306e565b611206565b61029e6104ca366004612a01565b5060408051602081019091526000815290565b6102716104eb366004612a01565b6000908152600660205260409020546301000000900473ffffffffffffffffffffffffffffffffffffffff1690565b6103c6610528366004613162565b6115e5565b6102717f000000000000000000000000000000000000000000000000000000000000000081565b6103c6610562366004612a01565b60009081526006602052604090206004015490565b610271610585366004612a01565b611a36565b610271610598366004612a01565b60009081526006602052604090206002015473ffffffffffffffffffffffffffffffffffffffff1690565b6102236105d1366004612a01565b611a41565b6102236105e43660046131a6565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260056020908152604080832093909416825291909152205460ff1690565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd0000000000000000000000000000000000000000000000000000000014806106b257507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b806106fe57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b606060008054610713906131d0565b80601f016020809104026020016040519081016040528092919081815260200182805461073f906131d0565b801561078c5780601f106107615761010080835404028352916020019161078c565b820191906000526020600020905b81548152906001019060200180831161076f57829003601f168201915b5050505050905090565b60006107a182611b05565b5060009081526004602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b606060076000838152602001908152602001600020805480602002602001604051908101604052809291908181526020016000905b828210156108cd57838290600052602060002090600202016040518060400160405290816000820154815260200160018201805461083c906131d0565b80601f0160208091040260200160405190810160405280929190818152602001828054610868906131d0565b80156108b55780601f1061088a576101008083540402835291602001916108b5565b820191906000526020600020905b81548152906001019060200180831161089857829003601f168201915b505050505081525050815260200190600101906107ff565b505050509050919050565b60006108e382610e81565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036109a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff821614806109ce57506109ce81336105e4565b610a5a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000606482015260840161099c565b610a648383611b90565b505050565b604080518082018252601081527f4c4943454e53494e475f4d4f44554c4500000000000000000000000000000000602082015290517f3af83c1800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001691633af83c1891610b0e91903390600401613223565b602060405180830381865afa158015610b2b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4f919061325b565b610b85576040517f039cb0ee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b8f8282611c30565b5050565b610b9d3382611d7f565b610c29576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f76656400000000000000000000000000000000000000606482015260840161099c565b610a64838383611e3e565b610c3e8133611c30565b50565b610a648383836040518060200160405280600081525061115e565b6000818152600660205260409020546301000000900473ffffffffffffffffffffffffffffffffffffffff163314610cc0576040517f95e4a90e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008181526006602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660031790555182917ff8ecc300d4504a2b49692052f138b7e697df679cf0580522720ce405bd01be5591a250565b6040805161012081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810191909152600082815260066020526040812090815460ff166003811115610d8f57610d8f612bde565b03610dc6576040517fc28093d700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408051610120810190915281548290829060ff166003811115610dec57610dec612bde565b6003811115610dfd57610dfd612bde565b8152815461010080820460ff908116151560208501526201000083041615156040840152630100000090910473ffffffffffffffffffffffffffffffffffffffff908116606084015260018401548116608084015260028401541660a0830152600383015460c0830152600483015460e08301526005909201549101529392505050565b60008181526002602052604081205473ffffffffffffffffffffffffffffffffffffffff16806106fe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e2049440000000000000000604482015260640161099c565b600073ffffffffffffffffffffffffffffffffffffffff8216610fb2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e65720000000000000000000000000000000000000000000000606482015260840161099c565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526003602052604090205490565b604080518082018252601081527f4c4943454e53494e475f4d4f44554c4500000000000000000000000000000000602082015290517f3af83c18000000000000000000000000000000000000000000000000000000008152839173ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001691633af83c1891611081913390600401613223565b602060405180830381865afa15801561109e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110c2919061325b565b15801561110357506110d381610e81565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b1561113a576040517fc1b4742400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a648383612139565b606060018054610713906131d0565b610b8f3383836122f0565b6111683383611d7f565b6111f4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f76656400000000000000000000000000000000000000606482015260840161099c565b6112008484848461241d565b50505050565b604080518082018252601081527f4c4943454e53494e475f4d4f44554c4500000000000000000000000000000000602082015290517f3af83c1800000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001691633af83c18916112ad913390600401613223565b602060405180830381865afa1580156112ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112ee919061325b565b611324576040517f039cb0ee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8351600181600381111561133a5761133a612bde565b1415801561135a5750600281600381111561135757611357612bde565b14155b15611391576040517f92439ccc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006008600081546113a290613278565b9182905550600081815260066020526040902087518154929350889282907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660018360038111156113f6576113f6612bde565b02179055506020820151815460408085015160608601517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000ff90931661010094151585027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff16176201000091151591909102177fffffffffffffffffff0000000000000000000000000000000000000000ffffff16630100000073ffffffffffffffffffffffffffffffffffffffff9384160217845560808501516001850180547fffffffffffffffffffffffff000000000000000000000000000000000000000090811692851692909217905560a086015160028601805490921693169290921790915560c0840151600384015560e084015160048401559201516005909101555181907ffa538431a8d5829af24905451de4c43e40cc50ea0716dac651047b78e3d6f02b90611547908990612c0d565b60405180910390a261155985826124c0565b83516000828152600760205260408120905b828110156115d85781878281518110611586576115866132d7565b60209081029190910181015182546001818101855560009485529383902082516002909202019081559181015190928201906115c29082613354565b50505080806115d090613278565b91505061156b565b5091979650505050505050565b604080518082018252601081527f4c4943454e53494e475f4d4f44554c4500000000000000000000000000000000602082015290517f3af83c1800000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001691633af83c189161168c913390600401613223565b602060405180830381865afa1580156116a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116cd919061325b565b611703576040517f039cb0ee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61170c85611a41565b611742576040517f72b0a52c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600085815260066020526040808220815161012081019092528054829060ff16600381111561177357611773612bde565b600381111561178457611784612bde565b8152815461010080820460ff908116151560208501526201000083041615156040840152630100000090910473ffffffffffffffffffffffffffffffffffffffff908116606084015260018401548116608084015260028401541660a0830152600383015460c0830152600483015460e083015260059092015491015260088054919250600091829061181690613278565b9182905550610100830188905273ffffffffffffffffffffffffffffffffffffffff8716608084015260e0830185905260408301519091501561185857600282525b6000878152600760205260408082208383529120815461187892906128d5565b506000818152600660205260409020825181548492919082907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660018360038111156118c7576118c7612bde565b02179055506020820151815460408085015160608601517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000ff90931661010094151585027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff16176201000091151591909102177fffffffffffffffffff0000000000000000000000000000000000000000ffffff16630100000073ffffffffffffffffffffffffffffffffffffffff9384160217845560808501516001850180547fffffffffffffffffffffffff000000000000000000000000000000000000000090811692851692909217905560a086015160028601805490921693169290921790915560c0840151600384015560e084015160048401559201516005909101555181907ffa538431a8d5829af24905451de4c43e40cc50ea0716dac651047b78e3d6f02b90611a18908590612c0d565b60405180910390a2611a2a85826124c0565b9150505b949350505050565b60006106fe82610e81565b600081600003611a5357506000919050565b8115611afd57600260008381526006602052604090205460ff166003811115611a7e57611a7e612bde565b1480611aaa575060008281526006602052604081205460ff166003811115611aa857611aa8612bde565b145b80611ad75750600360008381526006602052604090205460ff166003811115611ad557611ad5612bde565b145b15611ae457506000919050565b6000918252600660205260409091206005015490611a53565b506001919050565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff16610c3e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e2049440000000000000000604482015260640161099c565b600081815260046020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091558190611bea82610e81565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000828152600660205260409020600181015473ffffffffffffffffffffffffffffffffffffffff838116911614611c94576040517f54c26a8800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002815460ff166003811115611cac57611cac612bde565b14611ce3576040517ff40190f500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611cf08160050154611a41565b611d26576040517f72b0a52c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117815560405183907fa3ada00687872cb827044ee48684890eeb5caffc2d7abf015ea327c7d7d06b8490600090a2505050565b600080611d8b83610e81565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611df9575073ffffffffffffffffffffffffffffffffffffffff80821660009081526005602090815260408083209388168352929052205460ff165b80611a2e57508373ffffffffffffffffffffffffffffffffffffffff16611e1f84610796565b73ffffffffffffffffffffffffffffffffffffffff1614949350505050565b8273ffffffffffffffffffffffffffffffffffffffff16611e5e82610e81565b73ffffffffffffffffffffffffffffffffffffffff1614611f01576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e6572000000000000000000000000000000000000000000000000000000606482015260840161099c565b73ffffffffffffffffffffffffffffffffffffffff8216611fa3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161099c565b8273ffffffffffffffffffffffffffffffffffffffff16611fc382610e81565b73ffffffffffffffffffffffffffffffffffffffff1614612066576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e6572000000000000000000000000000000000000000000000000000000606482015260840161099c565b600081815260046020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff8781168086526003855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b8161214381611a41565b612179576040517fa15e441100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f42d21ef7000000000000000000000000000000000000000000000000000000008152600481018390527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906342d21ef790602401602060405180830381865afa158015612204573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612228919061346e565b60ff16600114612264576040517f32a7f99e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600083815260066020526040902060040154156122ad576040517fed035e9700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008381526006602052604080822060040184905551839185917f9d2bbd85f58e2a13e5a13a8d77b039e02a44b601338e36691ab827a547b2353e9190a3505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612385576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161099c565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526005602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b612428848484611e3e565b612434848484846126e5565b611200576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e7465720000000000000000000000000000606482015260840161099c565b73ffffffffffffffffffffffffffffffffffffffff821661253d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161099c565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff16156125c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161099c565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1615612655576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161099c565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260036020908152604080832080546001019055848352600290915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b600073ffffffffffffffffffffffffffffffffffffffff84163b156128cd576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a029061275c903390899088908890600401613491565b6020604051808303816000875af19250505080156127b5575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526127b2918101906134da565b60015b612882573d8080156127e3576040519150601f19603f3d011682016040523d82523d6000602084013e6127e8565b606091505b50805160000361287a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e7465720000000000000000000000000000606482015260840161099c565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050611a2e565b506001611a2e565b8280548282559060005260206000209060020281019282156129325760005260206000209160020282015b8281111561293257825482558282600180820190612920908401826134f7565b50505091600201919060020190612900565b5061293e929150612942565b5090565b8082111561293e57600080825561295c6001830182612965565b50600201612942565b508054612971906131d0565b6000825580601f10612981575050565b601f016020900490600052602060002090810190610c3e91905b8082111561293e576000815560010161299b565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610c3e57600080fd5b6000602082840312156129ef57600080fd5b81356129fa816129af565b9392505050565b600060208284031215612a1357600080fd5b5035919050565b6000815180845260005b81811015612a4057602081850181015186830182015201612a24565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b6020815260006129fa6020830184612a1a565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015612b15578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0018552815180518452870151878401879052612b0287850182612a1a565b9588019593505090860190600101612ab8565b509098975050505050505050565b803573ffffffffffffffffffffffffffffffffffffffff81168114612b4757600080fd5b919050565b60008060408385031215612b5f57600080fd5b612b6883612b23565b946020939093013593505050565b60008060408385031215612b8957600080fd5b82359150612b9960208401612b23565b90509250929050565b600080600060608486031215612bb757600080fd5b612bc084612b23565b9250612bce60208501612b23565b9150604084013590509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b815161012082019060048110612c4c577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b808352506020830151612c63602084018215159052565b506040830151612c77604084018215159052565b506060830151612c9f606084018273ffffffffffffffffffffffffffffffffffffffff169052565b506080830151612cc7608084018273ffffffffffffffffffffffffffffffffffffffff169052565b5060a0830151612cef60a084018273ffffffffffffffffffffffffffffffffffffffff169052565b5060c083015160c083015260e083015160e083015261010080840151818401525092915050565b600060208284031215612d2857600080fd5b6129fa82612b23565b60008060408385031215612d4457600080fd5b50508035926020909101359150565b8015158114610c3e57600080fd5b8035612b4781612d53565b60008060408385031215612d7f57600080fd5b612d8883612b23565b91506020830135612d9881612d53565b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715612df557612df5612da3565b60405290565b604051610120810167ffffffffffffffff81118282101715612df557612df5612da3565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715612e6657612e66612da3565b604052919050565b600082601f830112612e7f57600080fd5b813567ffffffffffffffff811115612e9957612e99612da3565b612eca60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601612e1f565b818152846020838601011115612edf57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060808587031215612f1257600080fd5b612f1b85612b23565b9350612f2960208601612b23565b925060408501359150606085013567ffffffffffffffff811115612f4c57600080fd5b612f5887828801612e6e565b91505092959194509250565b803560048110612b4757600080fd5b600082601f830112612f8457600080fd5b8135602067ffffffffffffffff80831115612fa157612fa1612da3565b8260051b612fb0838201612e1f565b9384528581018301938381019088861115612fca57600080fd5b84880192505b8583101561306257823584811115612fe85760008081fd5b88016040818b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00181131561301e5760008081fd5b613026612dd2565b82880135815290820135908682111561303f5760008081fd5b61304d8c8984860101612e6e565b81890152845250509184019190840190612fd0565b98975050505050505050565b600080600083850361016081121561308557600080fd5b6101208082121561309557600080fd5b61309d612dfb565b91506130a886612f64565b82526130b660208701612d61565b60208301526130c760408701612d61565b60408301526130d860608701612b23565b60608301526130e960808701612b23565b60808301526130fa60a08701612b23565b60a083015260c086013560c083015260e086013560e083015261010080870135818401525081945061312d818701612b23565b9350505061014084013567ffffffffffffffff81111561314c57600080fd5b61315886828701612f73565b9150509250925092565b6000806000806080858703121561317857600080fd5b8435935061318860208601612b23565b925061319660408601612b23565b9396929550929360600135925050565b600080604083850312156131b957600080fd5b6131c283612b23565b9150612b9960208401612b23565b600181811c908216806131e457607f821691505b60208210810361321d577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b6040815260006132366040830185612a1a565b905073ffffffffffffffffffffffffffffffffffffffff831660208301529392505050565b60006020828403121561326d57600080fd5b81516129fa81612d53565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036132d0577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b601f821115610a6457600081815260208120601f850160051c8101602086101561332d5750805b601f850160051c820191505b8181101561334c57828155600101613339565b505050505050565b815167ffffffffffffffff81111561336e5761336e612da3565b6133828161337c84546131d0565b84613306565b602080601f8311600181146133d5576000841561339f5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b17855561334c565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b8281101561342257888601518255948401946001909101908401613403565b508582101561345e57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121561348057600080fd5b815160ff811681146129fa57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250836040830152608060608301526134d06080830184612a1a565b9695505050505050565b6000602082840312156134ec57600080fd5b81516129fa816129af565b818103613502575050565b61350c82546131d0565b67ffffffffffffffff81111561352457613524612da3565b6135328161337c84546131d0565b6000601f821160018114613584576000831561354e5750848201545b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600385901b1c1916600184901b178455613625565b6000858152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0841690600086815260209020845b838110156135dc57828601548255600195860195909101906020016135bc565b508583101561361857818501547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b50505060018360011b0184555b505050505056fea2646970667358221220558549297c9dd36c91b46154bd5f4bf90f2c9d86f8f2a5fd6a33d4ff94f4785464736f6c63430008130033000000000000000000000000ad2377c8f9f0ca6382fef166b08aede8318fe49c000000000000000000000000edbd4907a7f98de932e635e9076b4e0c36d0e797000000000000000000000000a30bb959bc298e244ace0402b5c0609cc8745134", + "nonce": "0x600", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x4121adb96d0f4aecacb104198678db90f838be01f174a0a26fe2049d575a041d", + "transactionType": "CREATE", + "contractName": "IPOrgController", + "contractAddress": "0xdc4A589eB82A7a7dDF026F3713da3338cFa59465", + "function": null, + "arguments": [ + "0xedBd4907A7F98de932e635e9076B4E0C36D0E797" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x5e864f", + "value": "0x0", + "data": "0x60c0604052306080523480156200001557600080fd5b50604051620056d6380380620056d683398101604081905262000038916200004a565b6001600160a01b031660a0526200007c565b6000602082840312156200005d57600080fd5b81516001600160a01b03811681146200007557600080fd5b9392505050565b60805160a05161560a620000cc6000396000818161028b01528181610e88015261121b0152600081816106ae01528181610760015281816108bc0152818161096e0152610abe015261560a6000f3fe608060405260043610620000fb5760003560e01c806398e8e6ea1162000095578063caae51b81162000060578063caae51b814620002d2578063d8b67cc214620002f7578063eb3dcb7c146200031c578063fc1dad81146200035257600080fd5b806398e8e6ea146200022d578063a0f336f81462000252578063b95ddb521462000277578063c4d66de814620002ad57600080fd5b80633659cfe611620000d65780633659cfe6146200019b57806349403c8e14620001c05780634f1ef28614620001ef57806352d1902d146200020657600080fd5b806314afd79e146200010057806319129e5a146200014f57806331678cf61462000176575b600080fd5b3480156200010d57600080fd5b50620001256200011f366004620021c5565b6200039e565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b3480156200015c57600080fd5b50620001746200016e366004620021c5565b620003cf565b005b3480156200018357600080fd5b506200017462000195366004620021e3565b6200055b565b348015620001a857600080fd5b5062000174620001ba366004620021c5565b62000697565b348015620001cd57600080fd5b50606554620001259073ffffffffffffffffffffffffffffffffffffffff1681565b6200017462000200366004620022e5565b620008a5565b3480156200021357600080fd5b506200021e62000aa4565b60405190815260200162000146565b3480156200023a57600080fd5b50620001256200024c366004620023cc565b62000b92565b3480156200025f57600080fd5b506200017462000271366004620021c5565b62000f81565b3480156200028457600080fd5b50620001257f000000000000000000000000000000000000000000000000000000000000000081565b348015620002ba57600080fd5b5062000174620002cc366004620021c5565b620010ee565b348015620002df57600080fd5b5062000125620002f1366004620021c5565b6200134c565b3480156200030457600080fd5b506200017462000316366004620021c5565b6200137b565b3480156200032957600080fd5b50620003416200033b366004620021c5565b620014aa565b604051901515815260200162000146565b3480156200035f57600080fd5b507f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b65473ffffffffffffffffffffffffffffffffffffffff1662000125565b600080620003ac83620014e7565b54610100900473ffffffffffffffffffffffffffffffffffffffff169392505050565b6000620003dd813362001561565b62000422576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b6200046473ffffffffffffffffffffffffffffffffffffffff83167f7965db0b000000000000000000000000000000000000000000000000000000006200162e565b620004cc576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c000000000000000000000000000000000000604482015260640162000419565b7f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811782556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a2505050565b60006200056883620014e7565b8054909150610100900473ffffffffffffffffffffffffffffffffffffffff163314620005c1576040517f14d325a600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff82166200060f576040517f19f28cd700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84811691821790925560408051928616835260208301919091527f9d1eed91033af603ca90974d7f9dcffdc1a38de6e354262a1cd59243e6997f6091015b60405180910390a1505050565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630036200075e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c0000000000000000000000000000000000000000606482015260840162000419565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16620007d47f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff161462000879576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f78790000000000000000000000000000000000000000606482015260840162000419565b620008848162001656565b60408051600080825260208201909252620008a291839190620016c4565b50565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630036200096c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c0000000000000000000000000000000000000000606482015260840162000419565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16620009e27f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff161462000a87576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f78790000000000000000000000000000000000000000606482015260840162000419565b62000a928262001656565b62000aa082826001620016c4565b5050565b60003073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161462000b6d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c0000000000000000606482015260840162000419565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b600073ffffffffffffffffffffffffffffffffffffffff881662000be2576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60655462000c069073ffffffffffffffffffffffffffffffffffffffff16620018d4565b6040517f4cd88b7600000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff821690634cd88b769062000c63908a908a908a908a90600401620024fd565b600060405180830381600087803b15801562000c7e57600080fd5b505af115801562000c93573d6000803e3d6000fd5b50505050600062000ca36200199e565b60408051606081018252600180825273ffffffffffffffffffffffffffffffffffffffff8d8116602080850191825260008587018181528a851682528883528782209651875494517fffffffffffffffffffffff0000000000000000000000000000000000000000009095169015157fffffffffffffffffffffff0000000000000000000000000000000000000000ff16176101009486169490940293909317865591519490930180547fffffffffffffffffffffffff000000000000000000000000000000000000000016949092169390931790559151929350917f9aeb830ec91a14c97a5446cc7c86a42f73a78f37f9a77afa238b5d11520ddfbc9162000db1918891889101620025df565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905262000def929160200162002667565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181528282018252601383527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602084015290517fe1fc45ce00000000000000000000000000000000000000000000000000000000815290925073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163e1fc45ce9162000ec4918791309190879060040162002682565b6000604051808303816000875af115801562000ee4573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405262000f2c9190810190620026d1565b507f81e084d978860accc83df39f75b801d9019e40d18643b9b39f4cd2a70ca35adb8a848b8b8b8b8b8b60405162000f6c98979695949392919062002751565b60405180910390a15050979650505050505050565b600062000f8e82620014e7565b600181015490915073ffffffffffffffffffffffffffffffffffffffff16331462000fe5576040517f14d325a600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80546001820180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055336101009081027fffffffffffffffffffffff0000000000000000000000000000000000000000ff83161783556040805173ffffffffffffffffffffffffffffffffffffffff86811682526000602083015292909304909116917f9d1eed91033af603ca90974d7f9dcffdc1a38de6e354262a1cd59243e6997f60910160405180910390a16040805173ffffffffffffffffffffffffffffffffffffffff80861682528316602082015233918101919091527fa32ba34dcc7e0ace14cb99fb86f246e799dc1c9f82f03fc23290320b958e4af7906060016200068a565b600054610100900460ff16158080156200110f5750600054600160ff909116105b806200112b5750303b1580156200112b575060005460ff166001145b620011b9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840162000419565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156200121857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b307f0000000000000000000000000000000000000000000000000000000000000000604051620012489062002192565b73ffffffffffffffffffffffffffffffffffffffff928316815291166020820152604001604051809103906000f08015801562001289573d6000803e3d6000fd5b50606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055620012d9620019ce565b620012e48262001a69565b801562000aa057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15050565b6000806200135a83620014e7565b6001015473ffffffffffffffffffffffffffffffffffffffff169392505050565b60006200138882620014e7565b8054909150610100900473ffffffffffffffffffffffffffffffffffffffff163314620013e1576040517f14d325a600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600181015473ffffffffffffffffffffffffffffffffffffffff1662001433576040517f82fcfdf400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001690556040805173ffffffffffffffffffffffffffffffffffffffff84168152600060208201527f9d1eed91033af603ca90974d7f9dcffdc1a38de6e354262a1cd59243e6997f60910162001340565b600080620014b76200199e565b73ffffffffffffffffffffffffffffffffffffffff90931660009081526020939093525050604090205460ff1690565b600080620014f46200199e565b73ffffffffffffffffffffffffffffffffffffffff84166000908152602082905260409020805490935090915060ff166200155b576040517ff8e2020300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50919050565b6000807f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810187905273ffffffffffffffffffffffffffffffffffffffff86811660248301529293509116906391d1485490604401602060405180830381865afa158015620015fe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620016249190620027c8565b9150505b92915050565b60006200163b8362001d29565b80156200164f57506200164f838362001d92565b9392505050565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e362001683813362001561565b62000aa0576040517f75000dc00000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440162000419565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615620016ff57620016fa8362001e63565b505050565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562001787575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526200178491810190620027ec565b60015b62001815576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f742055555053000000000000000000000000000000000000606482015260840162000419565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114620018c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c65555549440000000000000000000000000000000000000000000000606482015260840162000419565b50620016fa83838362001f6f565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008260601b60e81c176000526e5af43d82803e903d91602b57fd5bf38260781b17602052603760096000f0905073ffffffffffffffffffffffffffffffffffffffff811662001999576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f455243313136373a20637265617465206661696c656400000000000000000000604482015260640162000419565b919050565b6000806200162860017f8d6a35d81367c6224789d71f67c0286162ba180a6bdb769f04c214735cdb8ce162002806565b600054610100900460ff1662001a67576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840162000419565b565b600054610100900460ff161580801562001a8a5750600054600160ff909116105b8062001aa65750303b15801562001aa6575060005460ff166001145b62001b34576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840162000419565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801562001b9357600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b62001bd573ffffffffffffffffffffffffffffffffffffffff83167f7965db0b000000000000000000000000000000000000000000000000000000006200162e565b62001c3d576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c000000000000000000000000000000000000604482015260640162000419565b7f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811782556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a250801562000aa057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200162001340565b600062001d57827f01ffc9a70000000000000000000000000000000000000000000000000000000062001d92565b801562001628575062001d8b827fffffffff0000000000000000000000000000000000000000000000000000000062001d92565b1592915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d9150600051905082801562001e4b575060208210155b801562001e585750600081115b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff81163b62001f09576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e747261637400000000000000000000000000000000000000606482015260840162000419565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b62001f7a8362001fa0565b60008251118062001f885750805b15620016fa5762001f9a838362001fef565b50505050565b62001fab8162001e63565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606200164f8383604051806060016040528060278152602001620055ae6027913960606000808573ffffffffffffffffffffffffffffffffffffffff16856040516200203d919062002841565b600060405180830381855af49150503d80600081146200207a576040519150601f19603f3d011682016040523d82523d6000602084013e6200207f565b606091505b509150915062002092868383876200209c565b9695505050505050565b60608315620021375782516000036200212f5773ffffffffffffffffffffffffffffffffffffffff85163b6200212f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640162000419565b508162002143565b6200214383836200214b565b949350505050565b8151156200215c5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200041991906200285f565b612d39806200287583390190565b803573ffffffffffffffffffffffffffffffffffffffff811681146200199957600080fd5b600060208284031215620021d857600080fd5b6200164f82620021a0565b60008060408385031215620021f757600080fd5b6200220283620021a0565b91506200221260208401620021a0565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156200229457620022946200221b565b604052919050565b600067ffffffffffffffff821115620022b957620022b96200221b565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60008060408385031215620022f957600080fd5b6200230483620021a0565b9150602083013567ffffffffffffffff8111156200232157600080fd5b8301601f810185136200233357600080fd5b80356200234a62002344826200229c565b6200224a565b8181528660208385010111156200236057600080fd5b816020840160208301376000602083830101528093505050509250929050565b60008083601f8401126200239357600080fd5b50813567ffffffffffffffff811115620023ac57600080fd5b602083019150836020828501011115620023c557600080fd5b9250929050565b60008060008060008060006080888a031215620023e857600080fd5b620023f388620021a0565b9650602088013567ffffffffffffffff808211156200241157600080fd5b6200241f8b838c0162002380565b909850965060408a01359150808211156200243957600080fd5b620024478b838c0162002380565b909650945060608a01359150808211156200246157600080fd5b818a0191508a601f8301126200247657600080fd5b8135818111156200248657600080fd5b8b60208260051b85010111156200249c57600080fd5b60208301945080935050505092959891949750929550565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60408152600062002513604083018688620024b4565b828103602084015262001e58818587620024b4565b81835260006020808501808196508560051b810191508460005b87811015620025d257828403895281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18836030181126200258357600080fd5b8701858101903567ffffffffffffffff811115620025a057600080fd5b803603821315620025b057600080fd5b620025bd868284620024b4565b9a87019a955050509084019060010162002542565b5091979650505050505050565b6020815260006200214360208301848662002528565b60005b8381101562002612578181015183820152602001620025f8565b50506000910152565b6000815180845262002635816020860160208601620025f5565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b8281526040602082015260006200214360408301846200261b565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525060806040830152620026bd60808301856200261b565b828103606084015262001e5881856200261b565b600060208284031215620026e457600080fd5b815167ffffffffffffffff811115620026fc57600080fd5b8201601f810184136200270e57600080fd5b80516200271f62002344826200229c565b8181528560208385010111156200273557600080fd5b62002748826020830160208601620025f5565b95945050505050565b600073ffffffffffffffffffffffffffffffffffffffff808b168352808a1660208401525060a060408301526200278d60a08301888a620024b4565b8281036060840152620027a2818789620024b4565b90508281036080840152620027b981858762002528565b9b9a5050505050505050505050565b600060208284031215620027db57600080fd5b815180151581146200164f57600080fd5b600060208284031215620027ff57600080fd5b5051919050565b8181038181111562001628577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000825162002855818460208701620025f5565b9190910192915050565b6020815260006200164f60208301846200261b56fe60c06040523480156200001157600080fd5b5060405162002d3938038062002d3983398101604081905262000034916200017d565b600054610100900460ff1615808015620000555750600054600160ff909116105b80620000715750303b15801562000071575060005460ff166001145b620000d95760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b6000805460ff191660011790558015620000fd576000805461ff0019166101001790555b6001600160a01b0380841660a0528216608052801562000157576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050620001b5565b80516001600160a01b03811681146200017857600080fd5b919050565b600080604083850312156200019157600080fd5b6200019c8362000160565b9150620001ac6020840162000160565b90509250929050565b60805160a051612b2662000213600039600081816103c101528181610b0f015261107b01526000818161031101528181610784015281816108dc01528181610cb701528181610e37015281816112ac015261147e0152612b266000f3fe608060405234801561001057600080fd5b50600436106101985760003560e01c806370a08231116100e3578063c3cc244a1161008c578063e985e9c511610066578063e985e9c514610373578063ee0fc121146103bc578063f3f6f0d7146103e357600080fd5b8063c3cc244a14610333578063c87b56dd14610358578063e8a3d4851461036b57600080fd5b8063a22cb465116100bd578063a22cb465146102e6578063b88d4fde146102f9578063b95ddb521461030c57600080fd5b806370a08231146102c35780638da5cb5b146102d657806395d89b41146102de57600080fd5b806342842e0e11610145578063626273a11161011f578063626273a11461028a5780636352211e1461029d578063691562a0146102b057600080fd5b806342842e0e1461025157806342966c68146102645780634cd88b761461027757600080fd5b8063095ea7b311610176578063095ea7b31461021257806318160ddd1461022757806323b872dd1461023e57600080fd5b806301ffc9a71461019d57806306fdde03146101c5578063081812fc146101da575b600080fd5b6101b06101ab36600461235b565b6103ec565b60405190151581526020015b60405180910390f35b6101cd6104d1565b6040516101bc91906123e6565b6101ed6101e83660046123f9565b610563565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101bc565b610225610220366004612434565b610597565b005b61023060985481565b6040519081526020016101bc565b61022561024c366004612460565b610728565b61022561025f366004612460565b610865565b6102256102723660046123f9565b610880565b6102256102853660046124ea565b6109d3565b6102306102983660046123f9565b610c43565b6101ed6102ab3660046123f9565b610dcd565b6102306102be366004612556565b610dd8565b6102306102d1366004612595565b610f7c565b6101ed61104a565b6101cd611100565b6102256102f43660046125b2565b61110f565b6102256103073660046126a9565b61111e565b6101ed7f000000000000000000000000000000000000000000000000000000000000000081565b6103466103413660046123f9565b6111c6565b60405160ff90911681526020016101bc565b6101cd6103663660046123f9565b611237565b6101cd611409565b6101b0610381366004612758565b73ffffffffffffffffffffffffffffffffffffffff9182166000908152606a6020908152604080832093909416825291909152205460ff1690565b6101ed7f000000000000000000000000000000000000000000000000000000000000000081565b61023060975481565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061047f57507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b806104cb57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6060606580546104e090612786565b80601f016020809104026020016040519081016040528092919081815260200182805461050c90612786565b80156105595780601f1061052e57610100808354040283529160200191610559565b820191906000526020600020905b81548152906001019060200180831161053c57829003601f168201915b5050505050905090565b600061056e826115aa565b5060009081526069602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60006105a282611635565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610664576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff8216148061068d575061068d8133610381565b610719576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000606482015260840161065b565b61072383836116c1565b505050565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815233917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a916107cc916004016123e6565b602060405180830381865afa1580156107e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061080d91906127d9565b73ffffffffffffffffffffffffffffffffffffffff161461085a576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610723838383611761565b6107238383836040518060200160405280600081525061111e565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815233917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a91610924916004016123e6565b602060405180830381865afa158015610941573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061096591906127d9565b73ffffffffffffffffffffffffffffffffffffffff16146109b2576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b609880549060006109c283612825565b91905055506109d081611a5c565b50565b600054610100900460ff16158080156109f35750600054600160ff909116105b80610a0d5750303b158015610a0d575060005460ff166001145b610a99576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840161065b565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610af757600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610b66576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610bd985858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f89018190048102820181019092528781529250879150869081908401838280828437600092019190915250611b3492505050565b8015610c3c57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a000000000000000000000000000000000000000000000000000000008152600091829173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a91610ceb91906004016123e6565b602060405180830381865afa158015610d08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d2c91906127d9565b6040517f5f32b4300000000000000000000000000000000000000000000000000000000081523060048201526024810185905290915073ffffffffffffffffffffffffffffffffffffffff821690635f32b430906044016020604051808303816000875af1158015610da2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dc6919061285a565b9392505050565b60006104cb82611635565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260009133917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a91610e8091906004016123e6565b602060405180830381865afa158015610e9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec191906127d9565b73ffffffffffffffffffffffffffffffffffffffff1614610f0e576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60988054906000610f1e83612873565b9190505550609760008154610f3290612873565b9182905550600081815260996020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff851617905590506104cb8382611bd5565b600073ffffffffffffffffffffffffffffffffffffffff8216611021576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e65720000000000000000000000000000000000000000000000606482015260840161065b565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526068602052604090205490565b6040517f14afd79e0000000000000000000000000000000000000000000000000000000081523060048201526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906314afd79e90602401602060405180830381865afa1580156110d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110fb91906127d9565b905090565b6060606680546104e090612786565b61111a338383611dfa565b5050565b6111283383611f27565b6111b4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f76656400000000000000000000000000000000000000606482015260840161065b565b6111c084848484611fe7565b50505050565b60008181526067602052604081205473ffffffffffffffffffffffffffffffffffffffff16611221576040517f6831df8d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060009081526099602052604090205460ff1690565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260609160009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a916112e091906004016123e6565b602060405180830381865afa1580156112fd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061132191906127d9565b90508073ffffffffffffffffffffffffffffffffffffffff1663e8d72654308561134a876111c6565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815273ffffffffffffffffffffffffffffffffffffffff9093166004840152602483019190915260ff166044820152606401600060405180830381865afa1580156113c3573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610dc691908101906128ab565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260609160009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a916114b291906004016123e6565b602060405180830381865afa1580156114cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114f391906127d9565b6040517e844d1300000000000000000000000000000000000000000000000000000000815230600482015290915073ffffffffffffffffffffffffffffffffffffffff82169062844d1390602401600060405180830381865afa15801561155e573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526115a491908101906128ab565b91505090565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff166109d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e2049440000000000000000604482015260640161065b565b60008181526067602052604081205473ffffffffffffffffffffffffffffffffffffffff16806104cb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e2049440000000000000000604482015260640161065b565b600081815260696020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117909155819061171b82611635565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b8273ffffffffffffffffffffffffffffffffffffffff1661178182611635565b73ffffffffffffffffffffffffffffffffffffffff1614611824576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e6572000000000000000000000000000000000000000000000000000000606482015260840161065b565b73ffffffffffffffffffffffffffffffffffffffff82166118c6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161065b565b8273ffffffffffffffffffffffffffffffffffffffff166118e682611635565b73ffffffffffffffffffffffffffffffffffffffff1614611989576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e6572000000000000000000000000000000000000000000000000000000606482015260840161065b565b600081815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff8781168086526068855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905590871680865283862080546001019055868652606790945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6000611a6782611635565b9050611a7282611635565b600083815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff85168085526068845282852080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190558785526067909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b600054610100900460ff16611bcb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161065b565b61111a828261208a565b73ffffffffffffffffffffffffffffffffffffffff8216611c52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161065b565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff1615611cde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161065b565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff1615611d6a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161065b565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260686020908152604080832080546001019055848352606790915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611e8f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161065b565b73ffffffffffffffffffffffffffffffffffffffff8381166000818152606a602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b600080611f3383611635565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611fa1575073ffffffffffffffffffffffffffffffffffffffff8082166000908152606a602090815260408083209388168352929052205460ff165b80611fdf57508373ffffffffffffffffffffffffffffffffffffffff16611fc784610563565b73ffffffffffffffffffffffffffffffffffffffff16145b949350505050565b611ff2848484611761565b611ffe8484848461213a565b6111c0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e7465720000000000000000000000000000606482015260840161065b565b600054610100900460ff16612121576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161065b565b606561212d8382612970565b5060666107238282612970565b600073ffffffffffffffffffffffffffffffffffffffff84163b15612322576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a02906121b1903390899088908890600401612a8a565b6020604051808303816000875af192505050801561220a575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261220791810190612ad3565b60015b6122d7573d808015612238576040519150601f19603f3d011682016040523d82523d6000602084013e61223d565b606091505b5080516000036122cf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e7465720000000000000000000000000000606482015260840161065b565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050611fdf565b506001949350505050565b7fffffffff00000000000000000000000000000000000000000000000000000000811681146109d057600080fd5b60006020828403121561236d57600080fd5b8135610dc68161232d565b60005b8381101561239357818101518382015260200161237b565b50506000910152565b600081518084526123b4816020860160208601612378565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610dc6602083018461239c565b60006020828403121561240b57600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff811681146109d057600080fd5b6000806040838503121561244757600080fd5b823561245281612412565b946020939093013593505050565b60008060006060848603121561247557600080fd5b833561248081612412565b9250602084013561249081612412565b929592945050506040919091013590565b60008083601f8401126124b357600080fd5b50813567ffffffffffffffff8111156124cb57600080fd5b6020830191508360208285010111156124e357600080fd5b9250929050565b6000806000806040858703121561250057600080fd5b843567ffffffffffffffff8082111561251857600080fd5b612524888389016124a1565b9096509450602087013591508082111561253d57600080fd5b5061254a878288016124a1565b95989497509550505050565b6000806040838503121561256957600080fd5b823561257481612412565b9150602083013560ff8116811461258a57600080fd5b809150509250929050565b6000602082840312156125a757600080fd5b8135610dc681612412565b600080604083850312156125c557600080fd5b82356125d081612412565b91506020830135801515811461258a57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561265b5761265b6125e5565b604052919050565b600067ffffffffffffffff82111561267d5761267d6125e5565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600080600080608085870312156126bf57600080fd5b84356126ca81612412565b935060208501356126da81612412565b925060408501359150606085013567ffffffffffffffff8111156126fd57600080fd5b8501601f8101871361270e57600080fd5b803561272161271c82612663565b612614565b81815288602083850101111561273657600080fd5b8160208401602083013760006020838301015280935050505092959194509250565b6000806040838503121561276b57600080fd5b823561277681612412565b9150602083013561258a81612412565b600181811c9082168061279a57607f821691505b6020821081036127d3577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b6000602082840312156127eb57600080fd5b8151610dc681612412565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600081612834576128346127f6565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b60006020828403121561286c57600080fd5b5051919050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036128a4576128a46127f6565b5060010190565b6000602082840312156128bd57600080fd5b815167ffffffffffffffff8111156128d457600080fd5b8201601f810184136128e557600080fd5b80516128f361271c82612663565b81815285602083850101111561290857600080fd5b612919826020830160208601612378565b95945050505050565b601f82111561072357600081815260208120601f850160051c810160208610156129495750805b601f850160051c820191505b8181101561296857828155600101612955565b505050505050565b815167ffffffffffffffff81111561298a5761298a6125e5565b61299e816129988454612786565b84612922565b602080601f8311600181146129f157600084156129bb5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555612968565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015612a3e57888601518255948401946001909101908401612a1f565b5085821015612a7a57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525083604083015260806060830152612ac9608083018461239c565b9695505050505050565b600060208284031215612ae557600080fd5b8151610dc68161232d56fea2646970667358221220c0659b44328283ad33ae5a9790d8391f248300d0b1b75dcaa75512f8ce49bff364736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212203f2ec79f2bd9ca4908a6d653b2fe841a8389de261a356d4516f12b1a0ebf005864736f6c63430008130033000000000000000000000000edbd4907a7f98de932e635e9076b4e0c36d0e797", + "nonce": "0x601", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x3d44962832e990d1583408044eaadec41ad18ad9b45ca42dd82bd4045011f9c3", + "transactionType": "CREATE", + "contractName": "ERC1967Proxy", + "contractAddress": "0xE3C522921A16c692E664D06d53a251f91323a06B", + "function": null, + "arguments": [ + "0xdc4A589eB82A7a7dDF026F3713da3338cFa59465", + "0xc4d66de80000000000000000000000007edacd4d53b5a626471c6728f04d92125ccf647f" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x316ce5", + "value": "0x0", + "data": "0x60806040526040516104ee3803806104ee833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c760279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60be806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea264697066735822122091c81c9b8ac755a7e1e08c0e9f65600d21e642457fb84c7f9e0d0a65b62d269064736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564000000000000000000000000dc4a589eb82a7a7ddf026f3713da3338cfa5946500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de80000000000000000000000007edacd4d53b5a626471c6728f04d92125ccf647f00000000000000000000000000000000000000000000000000000000", + "nonce": "0x602", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0x1781678b3F076017E8c45F8c6515f9cf57f393C0", + "initCode": "60c06040523480156200001157600080fd5b5060405162002d3938038062002d3983398101604081905262000034916200017d565b600054610100900460ff1615808015620000555750600054600160ff909116105b80620000715750303b15801562000071575060005460ff166001145b620000d95760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b6000805460ff191660011790558015620000fd576000805461ff0019166101001790555b6001600160a01b0380841660a0528216608052801562000157576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050620001b5565b80516001600160a01b03811681146200017857600080fd5b919050565b600080604083850312156200019157600080fd5b6200019c8362000160565b9150620001ac6020840162000160565b90509250929050565b60805160a051612b2662000213600039600081816103c101528181610b0f015261107b01526000818161031101528181610784015281816108dc01528181610cb701528181610e37015281816112ac015261147e0152612b266000f3fe608060405234801561001057600080fd5b50600436106101985760003560e01c806370a08231116100e3578063c3cc244a1161008c578063e985e9c511610066578063e985e9c514610373578063ee0fc121146103bc578063f3f6f0d7146103e357600080fd5b8063c3cc244a14610333578063c87b56dd14610358578063e8a3d4851461036b57600080fd5b8063a22cb465116100bd578063a22cb465146102e6578063b88d4fde146102f9578063b95ddb521461030c57600080fd5b806370a08231146102c35780638da5cb5b146102d657806395d89b41146102de57600080fd5b806342842e0e11610145578063626273a11161011f578063626273a11461028a5780636352211e1461029d578063691562a0146102b057600080fd5b806342842e0e1461025157806342966c68146102645780634cd88b761461027757600080fd5b8063095ea7b311610176578063095ea7b31461021257806318160ddd1461022757806323b872dd1461023e57600080fd5b806301ffc9a71461019d57806306fdde03146101c5578063081812fc146101da575b600080fd5b6101b06101ab36600461235b565b6103ec565b60405190151581526020015b60405180910390f35b6101cd6104d1565b6040516101bc91906123e6565b6101ed6101e83660046123f9565b610563565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101bc565b610225610220366004612434565b610597565b005b61023060985481565b6040519081526020016101bc565b61022561024c366004612460565b610728565b61022561025f366004612460565b610865565b6102256102723660046123f9565b610880565b6102256102853660046124ea565b6109d3565b6102306102983660046123f9565b610c43565b6101ed6102ab3660046123f9565b610dcd565b6102306102be366004612556565b610dd8565b6102306102d1366004612595565b610f7c565b6101ed61104a565b6101cd611100565b6102256102f43660046125b2565b61110f565b6102256103073660046126a9565b61111e565b6101ed7f000000000000000000000000000000000000000000000000000000000000000081565b6103466103413660046123f9565b6111c6565b60405160ff90911681526020016101bc565b6101cd6103663660046123f9565b611237565b6101cd611409565b6101b0610381366004612758565b73ffffffffffffffffffffffffffffffffffffffff9182166000908152606a6020908152604080832093909416825291909152205460ff1690565b6101ed7f000000000000000000000000000000000000000000000000000000000000000081565b61023060975481565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061047f57507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b806104cb57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6060606580546104e090612786565b80601f016020809104026020016040519081016040528092919081815260200182805461050c90612786565b80156105595780601f1061052e57610100808354040283529160200191610559565b820191906000526020600020905b81548152906001019060200180831161053c57829003601f168201915b5050505050905090565b600061056e826115aa565b5060009081526069602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60006105a282611635565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610664576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff8216148061068d575061068d8133610381565b610719576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000606482015260840161065b565b61072383836116c1565b505050565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815233917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a916107cc916004016123e6565b602060405180830381865afa1580156107e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061080d91906127d9565b73ffffffffffffffffffffffffffffffffffffffff161461085a576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610723838383611761565b6107238383836040518060200160405280600081525061111e565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815233917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a91610924916004016123e6565b602060405180830381865afa158015610941573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061096591906127d9565b73ffffffffffffffffffffffffffffffffffffffff16146109b2576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b609880549060006109c283612825565b91905055506109d081611a5c565b50565b600054610100900460ff16158080156109f35750600054600160ff909116105b80610a0d5750303b158015610a0d575060005460ff166001145b610a99576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840161065b565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610af757600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610b66576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610bd985858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f89018190048102820181019092528781529250879150869081908401838280828437600092019190915250611b3492505050565b8015610c3c57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a000000000000000000000000000000000000000000000000000000008152600091829173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a91610ceb91906004016123e6565b602060405180830381865afa158015610d08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d2c91906127d9565b6040517f5f32b4300000000000000000000000000000000000000000000000000000000081523060048201526024810185905290915073ffffffffffffffffffffffffffffffffffffffff821690635f32b430906044016020604051808303816000875af1158015610da2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dc6919061285a565b9392505050565b60006104cb82611635565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260009133917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a91610e8091906004016123e6565b602060405180830381865afa158015610e9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec191906127d9565b73ffffffffffffffffffffffffffffffffffffffff1614610f0e576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60988054906000610f1e83612873565b9190505550609760008154610f3290612873565b9182905550600081815260996020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff851617905590506104cb8382611bd5565b600073ffffffffffffffffffffffffffffffffffffffff8216611021576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e65720000000000000000000000000000000000000000000000606482015260840161065b565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526068602052604090205490565b6040517f14afd79e0000000000000000000000000000000000000000000000000000000081523060048201526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906314afd79e90602401602060405180830381865afa1580156110d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110fb91906127d9565b905090565b6060606680546104e090612786565b61111a338383611dfa565b5050565b6111283383611f27565b6111b4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f76656400000000000000000000000000000000000000606482015260840161065b565b6111c084848484611fe7565b50505050565b60008181526067602052604081205473ffffffffffffffffffffffffffffffffffffffff16611221576040517f6831df8d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060009081526099602052604090205460ff1690565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260609160009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a916112e091906004016123e6565b602060405180830381865afa1580156112fd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061132191906127d9565b90508073ffffffffffffffffffffffffffffffffffffffff1663e8d72654308561134a876111c6565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815273ffffffffffffffffffffffffffffffffffffffff9093166004840152602483019190915260ff166044820152606401600060405180830381865afa1580156113c3573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610dc691908101906128ab565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260609160009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a916114b291906004016123e6565b602060405180830381865afa1580156114cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114f391906127d9565b6040517e844d1300000000000000000000000000000000000000000000000000000000815230600482015290915073ffffffffffffffffffffffffffffffffffffffff82169062844d1390602401600060405180830381865afa15801561155e573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526115a491908101906128ab565b91505090565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff166109d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e2049440000000000000000604482015260640161065b565b60008181526067602052604081205473ffffffffffffffffffffffffffffffffffffffff16806104cb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e2049440000000000000000604482015260640161065b565b600081815260696020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117909155819061171b82611635565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b8273ffffffffffffffffffffffffffffffffffffffff1661178182611635565b73ffffffffffffffffffffffffffffffffffffffff1614611824576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e6572000000000000000000000000000000000000000000000000000000606482015260840161065b565b73ffffffffffffffffffffffffffffffffffffffff82166118c6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161065b565b8273ffffffffffffffffffffffffffffffffffffffff166118e682611635565b73ffffffffffffffffffffffffffffffffffffffff1614611989576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e6572000000000000000000000000000000000000000000000000000000606482015260840161065b565b600081815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff8781168086526068855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905590871680865283862080546001019055868652606790945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6000611a6782611635565b9050611a7282611635565b600083815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff85168085526068845282852080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190558785526067909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b600054610100900460ff16611bcb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161065b565b61111a828261208a565b73ffffffffffffffffffffffffffffffffffffffff8216611c52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161065b565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff1615611cde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161065b565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff1615611d6a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161065b565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260686020908152604080832080546001019055848352606790915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611e8f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161065b565b73ffffffffffffffffffffffffffffffffffffffff8381166000818152606a602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b600080611f3383611635565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611fa1575073ffffffffffffffffffffffffffffffffffffffff8082166000908152606a602090815260408083209388168352929052205460ff165b80611fdf57508373ffffffffffffffffffffffffffffffffffffffff16611fc784610563565b73ffffffffffffffffffffffffffffffffffffffff16145b949350505050565b611ff2848484611761565b611ffe8484848461213a565b6111c0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e7465720000000000000000000000000000606482015260840161065b565b600054610100900460ff16612121576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161065b565b606561212d8382612970565b5060666107238282612970565b600073ffffffffffffffffffffffffffffffffffffffff84163b15612322576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a02906121b1903390899088908890600401612a8a565b6020604051808303816000875af192505050801561220a575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261220791810190612ad3565b60015b6122d7573d808015612238576040519150601f19603f3d011682016040523d82523d6000602084013e61223d565b606091505b5080516000036122cf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e7465720000000000000000000000000000606482015260840161065b565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050611fdf565b506001949350505050565b7fffffffff00000000000000000000000000000000000000000000000000000000811681146109d057600080fd5b60006020828403121561236d57600080fd5b8135610dc68161232d565b60005b8381101561239357818101518382015260200161237b565b50506000910152565b600081518084526123b4816020860160208601612378565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610dc6602083018461239c565b60006020828403121561240b57600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff811681146109d057600080fd5b6000806040838503121561244757600080fd5b823561245281612412565b946020939093013593505050565b60008060006060848603121561247557600080fd5b833561248081612412565b9250602084013561249081612412565b929592945050506040919091013590565b60008083601f8401126124b357600080fd5b50813567ffffffffffffffff8111156124cb57600080fd5b6020830191508360208285010111156124e357600080fd5b9250929050565b6000806000806040858703121561250057600080fd5b843567ffffffffffffffff8082111561251857600080fd5b612524888389016124a1565b9096509450602087013591508082111561253d57600080fd5b5061254a878288016124a1565b95989497509550505050565b6000806040838503121561256957600080fd5b823561257481612412565b9150602083013560ff8116811461258a57600080fd5b809150509250929050565b6000602082840312156125a757600080fd5b8135610dc681612412565b600080604083850312156125c557600080fd5b82356125d081612412565b91506020830135801515811461258a57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561265b5761265b6125e5565b604052919050565b600067ffffffffffffffff82111561267d5761267d6125e5565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600080600080608085870312156126bf57600080fd5b84356126ca81612412565b935060208501356126da81612412565b925060408501359150606085013567ffffffffffffffff8111156126fd57600080fd5b8501601f8101871361270e57600080fd5b803561272161271c82612663565b612614565b81815288602083850101111561273657600080fd5b8160208401602083013760006020838301015280935050505092959194509250565b6000806040838503121561276b57600080fd5b823561277681612412565b9150602083013561258a81612412565b600181811c9082168061279a57607f821691505b6020821081036127d3577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b6000602082840312156127eb57600080fd5b8151610dc681612412565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600081612834576128346127f6565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b60006020828403121561286c57600080fd5b5051919050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036128a4576128a46127f6565b5060010190565b6000602082840312156128bd57600080fd5b815167ffffffffffffffff8111156128d457600080fd5b8201601f810184136128e557600080fd5b80516128f361271c82612663565b81815285602083850101111561290857600080fd5b612919826020830160208601612378565b95945050505050565b601f82111561072357600081815260208120601f850160051c810160208610156129495750805b601f850160051c820191505b8181101561296857828155600101612955565b505050505050565b815167ffffffffffffffff81111561298a5761298a6125e5565b61299e816129988454612786565b84612922565b602080601f8311600181146129f157600084156129bb5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555612968565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015612a3e57888601518255948401946001909101908401612a1f565b5085821015612a7a57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525083604083015260806060830152612ac9608083018461239c565b9695505050505050565b600060208284031215612ae557600080fd5b8151610dc68161232d56fea2646970667358221220c0659b44328283ad33ae5a9790d8391f248300d0b1b75dcaa75512f8ce49bff364736f6c63430008130033000000000000000000000000e3c522921a16c692e664d06d53a251f91323a06b000000000000000000000000edbd4907a7f98de932e635e9076b4e0c36d0e797" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0xb6b928dfb6f15cd841ef750552d914f6bb91b1e7eb3f160482d02780b14ea627", + "transactionType": "CREATE", + "contractName": "StoryProtocol", + "contractAddress": "0x336BC9128fFFb7869381E2D0c4A156981cA5d240", + "function": null, + "arguments": [ + "0xE3C522921A16c692E664D06d53a251f91323a06B", + "0xedBd4907A7F98de932e635e9076B4E0C36D0E797" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x297bbe", + "value": "0x0", + "data": "0x60c06040523480156200001157600080fd5b506040516200264f3803806200264f8339810160408190526200003491620000a2565b6001600160a01b03821615806200005257506001600160a01b038116155b15620000715760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b039182166080521660a052620000e1565b6001600160a01b03811681146200009f57600080fd5b50565b60008060408385031215620000b657600080fd5b8251620000c38162000089565b6020840151909250620000d68162000089565b809150509250929050565b60805160a0516124f46200015b600039600081816102530152818161036e0152818161043401528181610592015281816106d90152818161093b015281816109c501528181610bd901528181610ddc01528181610f680152818161105a015261127d0152600081816101750152610b4401526124f46000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c806398e8e6ea11610097578063b108e1c611610066578063b108e1c61461023b578063b95ddb521461024e578063ce75e7fc14610275578063eb3b0cba1461028857600080fd5b806398e8e6ea146101e2578063a3a0428f146101f5578063a5823a3714610208578063ac9650d81461021b57600080fd5b80634d343a45116100d35780634d343a451461015d57806351e06b90146101705780635a5173bd146101bc5780637a103e33146101cf57600080fd5b806317031df1146100fa5780632d26ff3e146101275780633d20e00d1461013c575b600080fd5b61010d610108366004611532565b61029b565b604080519283526020830191909152015b60405180910390f35b61013a6101353660046115d9565b61041d565b005b61014f61014a366004611626565b610569565b60405190815260200161011e565b61013a61016b366004611673565b6106d7565b6101977f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161011e565b61013a6101ca36600461169f565b61086c565b61013a6101dd366004611736565b6109c3565b6101976101f036600461177e565b610b04565b61014f610203366004611532565b610bd4565b61013a61021636600461182b565b610cef565b61022e6102293660046118dc565b610e71565b60405161011e91906119c3565b61013a6102493660046119d6565b610f66565b6101977f000000000000000000000000000000000000000000000000000000000000000081565b61013a610283366004611a26565b611058565b61013a610296366004611a5b565b6111aa565b60008060007fe761f303268b55a3dc96719551acb95ca3bd1ebeef4b720be68dd92563627a3f886040516020016102d29190611b83565b60408051601f19818403018152908290526102f09291602001611c18565b60408051601f198184030181528282018252601383527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602084015290517fb38609e800000000000000000000000000000000000000000000000000000000815290925060009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163b38609e8916103af918e91339188908f908f908f908f90600401611c81565b6000604051808303816000875af11580156103ce573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103f69190810190611d34565b90508080602001905181019061040c9190611de1565b935093505050965096945050505050565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001663e1fc45ce6104696040840160208501611e05565b336040518060400160405280601381526020017f52454c4154494f4e534849505f4d4f44554c45000000000000000000000000008152507f99bf0fbd60208ca164accd299e2c0a8b4475c1a2df53c2d7160870f682536528866040516020016104d29190611f14565b60408051601f19818403018152908290526104f09291602001611c18565b6040516020818303038152906040526040518563ffffffff1660e01b815260040161051e9493929190611fe7565b6000604051808303816000875af115801561053d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105659190810190611d34565b5050565b6000808660405160200161057d91906120d6565b604051602081830303815290604052905060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663b38609e88a336040518060400160405280601081526020017f4c4943454e53494e475f4d4f44554c45000000000000000000000000000000008152507f3f92a83f1dd77188c62fa393a54ccf9854be836ca6c243397d0acbbce047238787604051602001610637929190611c18565b6040516020818303038152906040528c8c8c8c6040518963ffffffff1660e01b815260040161066d989796959493929190611c81565b6000604051808303816000875af115801561068c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106b49190810190611d34565b9050808060200190518101906106ca919061211c565b9998505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663b38609e883336040518060400160405280601081526020017f4c4943454e53494e475f4d4f44554c45000000000000000000000000000000008152507f5281374dd3fc2bb7839f50fddfb6a14a666cb4d23b20d6aecf9b9950d103b3368660405160200161077f91815260200190565b60408051601f198184030181529082905261079d9291602001611c18565b60408051808303601f1901815260008084526020840190925291906107d2565b60608152602001906001900390816107bd5790505b5060408051600080825260208201909252906107fe565b60608152602001906001900390816107e95790505b506040518763ffffffff1660e01b815260040161082096959493929190612135565b6000604051808303816000875af115801561083f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108679190810190611d34565b505050565b60007f9aeb830ec91a14c97a5446cc7c86a42f73a78f37f9a77afa238b5d11520ddfbc83836040516020016108a29291906121a8565b60408051601f19818403018152908290526108c09291602001611c18565b60408051601f198184030181528282018252601383527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602084015290517fe1fc45ce00000000000000000000000000000000000000000000000000000000815290925073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163e1fc45ce916109759188913391908790600401611fe7565b6000604051808303816000875af1158015610994573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109bc9190810190611d34565b5050505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e1fc45ce84336040518060400160405280601381526020017f52454c4154494f4e534849505f4d4f44554c45000000000000000000000000008152507fe5801b46183bd353d44247232707bb62253655a0580ade69a754ba7157ddf8fd8787604051602001610a6b9291906121bc565b60408051601f1981840301815290829052610a899291602001611c18565b6040516020818303038152906040526040518563ffffffff1660e01b8152600401610ab79493929190611fe7565b6000604051808303816000875af1158015610ad6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610afe9190810190611d34565b50505050565b6040517f98e8e6ea00000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906398e8e6ea90610b85908b908b908b908b908b908b908b906004016121d0565b6020604051808303816000875af1158015610ba4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc89190612236565b98975050505050505050565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663b38609e889336040518060400160405280601381526020017f52454c4154494f4e534849505f4d4f44554c45000000000000000000000000008152508b604051602001610c5c9190612253565b6040516020818303038152906040528b8b8b8b6040518963ffffffff1660e01b8152600401610c92989796959493929190611c81565b6000604051808303816000875af1158015610cb1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610cd99190810190611d34565b905080806020019051810190610bc8919061211c565b6040805173ffffffffffffffffffffffffffffffffffffffff898116602083015288168183015260608082018890528251808303909101815260808201909252600091610d61917fbc42750dbe73870bbe102106b22fd8bdfa53c7247eca196d8bb7da9527f0c1e5919060a001611c18565b60408051601f198184030181528282018252601383527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602084015290517fb38609e800000000000000000000000000000000000000000000000000000000815290925073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163b38609e891610e1e918d9133919087908c908c908c908c90600401611c81565b6000604051808303816000875af1158015610e3d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e659190810190611d34565b50505050505050505050565b60608167ffffffffffffffff811115610e8c57610e8c611d05565b604051908082528060200260200182016040528015610ebf57816020015b6060815260200190600190039081610eaa5790505b50905060005b82811015610f5f57610f2f30858584818110610ee357610ee36122dc565b9050602002810190610ef5919061230b565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061130792505050565b828281518110610f4157610f416122dc565b60200260200101819052508080610f5790612370565b915050610ec5565b5092915050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e1fc45ce83336040518060400160405280601081526020017f4c4943454e53494e475f4d4f44554c45000000000000000000000000000000008152507f8b21f20183a523515c357db6dba25c92b138630b63988ca3e60a6be86c8da0458660405160200161100c91906123cf565b60408051601f198184030181529082905261102a9291602001611c18565b6040516020818303038152906040526040518563ffffffff1660e01b81526004016108209493929190611fe7565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663b38609e884336040518060400160405280601081526020017f4c4943454e53494e475f4d4f44554c45000000000000000000000000000000008152507f29def77ab981c01a6b53c58b23dd89ac4447095f721298424063ed3f16962ac68787604051602001611109929190918252602082015260400190565b60408051601f19818403018152908290526111279291602001611c18565b60408051808303601f19018152600080845260208401909252919061115c565b60608152602001906001900390816111475790505b506040805160008082526020820190925290611188565b60608152602001906001900390816111735790505b506040518763ffffffff1660e01b8152600401610ab796959493929190612135565b60007f88fae8356076de6f233fd00b30fad913df2329364a9e9242abdc96adccc3bfc9858585856040516020016111e49493929190612441565b60408051601f19818403018152908290526112029291602001611c18565b60408051601f198184030181528282018252601383527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602084015290517fe1fc45ce00000000000000000000000000000000000000000000000000000000815290925073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163e1fc45ce916112b7918a913391908790600401611fe7565b6000604051808303816000875af11580156112d6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526112fe9190810190611d34565b50505050505050565b606061132c838360405180606001604052806027815260200161249860279139611333565b9392505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff168560405161135d9190612468565b600060405180830381855af49150503d8060008114611398576040519150601f19603f3d011682016040523d82523d6000602084013e61139d565b606091505b50915091506113ae868383876113b8565b9695505050505050565b6060831561145357825160000361144c5773ffffffffffffffffffffffffffffffffffffffff85163b61144c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064015b60405180910390fd5b508161145d565b61145d8383611465565b949350505050565b8151156114755781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114439190612484565b73ffffffffffffffffffffffffffffffffffffffff811681146114cb57600080fd5b50565b600060a082840312156114e057600080fd5b50919050565b60008083601f8401126114f857600080fd5b50813567ffffffffffffffff81111561151057600080fd5b6020830191508360208260051b850101111561152b57600080fd5b9250929050565b6000806000806000806080878903121561154b57600080fd5b8635611556816114a9565b9550602087013567ffffffffffffffff8082111561157357600080fd5b61157f8a838b016114ce565b9650604089013591508082111561159557600080fd5b6115a18a838b016114e6565b909650945060608901359150808211156115ba57600080fd5b506115c789828a016114e6565b979a9699509497509295939492505050565b6000602082840312156115eb57600080fd5b813567ffffffffffffffff81111561160257600080fd5b820160c0818503121561132c57600080fd5b6000606082840312156114e057600080fd5b6000806000806000806080878903121561163f57600080fd5b863561164a816114a9565b9550602087013567ffffffffffffffff8082111561166757600080fd5b61157f8a838b01611614565b6000806040838503121561168657600080fd5b8235611691816114a9565b946020939093013593505050565b6000806000604084860312156116b457600080fd5b83356116bf816114a9565b9250602084013567ffffffffffffffff8111156116db57600080fd5b6116e7868287016114e6565b9497909650939450505050565b60008083601f84011261170657600080fd5b50813567ffffffffffffffff81111561171e57600080fd5b60208301915083602082850101111561152b57600080fd5b60008060006040848603121561174b57600080fd5b8335611756816114a9565b9250602084013567ffffffffffffffff81111561177257600080fd5b6116e7868287016116f4565b60008060008060008060006080888a03121561179957600080fd5b87356117a4816114a9565b9650602088013567ffffffffffffffff808211156117c157600080fd5b6117cd8b838c016116f4565b909850965060408a01359150808211156117e657600080fd5b6117f28b838c016116f4565b909650945060608a013591508082111561180b57600080fd5b506118188a828b016114e6565b989b979a50959850939692959293505050565b60008060008060008060008060c0898b03121561184757600080fd5b8835611852816114a9565b97506020890135611862816114a9565b96506040890135611872816114a9565b955060608901359450608089013567ffffffffffffffff8082111561189657600080fd5b6118a28c838d016114e6565b909650945060a08b01359150808211156118bb57600080fd5b506118c88b828c016114e6565b999c989b5096995094979396929594505050565b600080602083850312156118ef57600080fd5b823567ffffffffffffffff81111561190657600080fd5b611912858286016114e6565b90969095509350505050565b60005b83811015611939578181015183820152602001611921565b50506000910152565b6000815180845261195a81602086016020860161191e565b601f01601f19169290920160200192915050565b600081518084526020808501808196508360051b8101915082860160005b858110156119b65782840389526119a4848351611942565b9885019893509084019060010161198c565b5091979650505050505050565b60208152600061132c602083018461196e565b600080604083850312156119e957600080fd5b82356119f4816114a9565b9150602083013567ffffffffffffffff811115611a1057600080fd5b611a1c85828601611614565b9150509250929050565b600080600060608486031215611a3b57600080fd5b8335611a46816114a9565b95602085013595506040909401359392505050565b600080600080600060608688031215611a7357600080fd5b8535611a7e816114a9565b9450602086013567ffffffffffffffff80821115611a9b57600080fd5b611aa789838a016116f4565b90965094506040880135915080821115611ac057600080fd5b50611acd888289016116f4565b969995985093965092949392505050565b803560ff81168114611aef57600080fd5b919050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611b2957600080fd5b830160208101925035905067ffffffffffffffff811115611b4957600080fd5b80360382131561152b57600080fd5b818352818160208501375060006020828401015260006020601f19601f840116840101905092915050565b6020815260008235611b94816114a9565b73ffffffffffffffffffffffffffffffffffffffff811660208401525060ff611bbf60208501611ade565b166040830152611bd26040840184611af4565b60a06060850152611be760c085018284611b58565b91505060608401356080840152611c016080850185611af4565b601f198584030160a08601526113ae838284611b58565b82815260406020820152600061145d6040830184611942565b81835260006020808501808196508560051b810191508460005b878110156119b6578284038952611c628288611af4565b611c6d868284611b58565b9a87019a9550505090840190600101611c4b565b600073ffffffffffffffffffffffffffffffffffffffff808b168352808a1660208401525060c06040830152611cba60c0830189611942565b8281036060840152611ccc8189611942565b90508281036080840152611ce1818789611c31565b905082810360a0840152611cf6818587611c31565b9b9a5050505050505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600060208284031215611d4657600080fd5b815167ffffffffffffffff80821115611d5e57600080fd5b818401915084601f830112611d7257600080fd5b815181811115611d8457611d84611d05565b604051601f8201601f19908116603f01168101908382118183101715611dac57611dac611d05565b81604052828152876020848701011115611dc557600080fd5b611dd683602083016020880161191e565b979650505050505050565b60008060408385031215611df457600080fd5b505080516020909101519092909150565b600060208284031215611e1757600080fd5b813561132c816114a9565b803560068110611aef57600080fd5b60068110611e68577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611ea157600080fd5b830160208101925035905067ffffffffffffffff811115611ec157600080fd5b8060051b360382131561152b57600080fd5b8183526000602080850194508260005b85811015611f095760ff611ef683611ade565b1687529582019590820190600101611ee3565b509495945050505050565b602081526000611f248384611af4565b60c06020850152611f3960e085018284611b58565b9150506020840135611f4a816114a9565b73ffffffffffffffffffffffffffffffffffffffff8116604085015250611f7f60608401611f7a60408701611e22565b611e31565b611f8b60608501611e22565b611f986080850182611e31565b50611fa66080850185611e6c565b601f19808685030160a0870152611fbe848385611ed3565b9350611fcd60a0880188611e6c565b93509150808685030160c0870152506113ae838383611ed3565b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250608060408301526120206080830185611942565b8281036060840152611dd68185611942565b81835260006020808501808196508560051b81019150846000805b888110156120c8578385038a5282357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc189360301811261208b578283fd5b880180358652604061209f88830183611af4565b925081898901526120b38289018483611b58565b9c89019c97505050928601925060010161204d565b509298975050505050505050565b6020815260006120e68384611e6c565b606060208501526120fb608085018284612032565b91505060208401356040840152604084013560608401528091505092915050565b60006020828403121561212e57600080fd5b5051919050565b600073ffffffffffffffffffffffffffffffffffffffff808916835280881660208401525060c0604083015261216e60c0830187611942565b82810360608401526121808187611942565b90508281036080840152612194818661196e565b905082810360a08401526106ca818561196e565b60208152600061145d602083018486611c31565b60208152600061145d602083018486611b58565b73ffffffffffffffffffffffffffffffffffffffff8816815260806020820152600061220060808301888a611b58565b8281036040840152612213818789611b58565b90508281036060840152612228818587611c31565b9a9950505050505050505050565b60006020828403121561224857600080fd5b815161132c816114a9565b6020815260006122638384611af4565b60a0602085015261227860c085018284611b58565b9150506020840135612289816114a9565b73ffffffffffffffffffffffffffffffffffffffff808216604086015260408601356060860152606086013591506122c0826114a9565b16608084810191909152939093013560a0909201919091525090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261234057600080fd5b83018035915067ffffffffffffffff82111561235b57600080fd5b60200191503681900382131561152b57600080fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036123c8577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b6020815260006123df8384611af4565b606060208501526123f4608085018284611b58565b9150506124046020850185611e6c565b601f1985840301604086015261241b838284612032565b9250505060408401356003811061243157600080fd5b6060939093019290925250919050565b604081526000612455604083018688611b58565b8281036020840152611dd6818587611b58565b6000825161247a81846020870161191e565b9190910192915050565b60208152600061132c602083018461194256fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212206fe895e27d983fcf1f05a521573ee32357d83c10ed1b1831f8770b97c49bea0a64736f6c63430008130033000000000000000000000000e3c522921a16c692e664d06d53a251f91323a06b000000000000000000000000edbd4907a7f98de932e635e9076b4e0c36d0e797", + "nonce": "0x603", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x64eb802bac6a3135074c475cb2ebec299c846cc717a561be60c83b69ec47550a", + "transactionType": "CREATE", + "contractName": "RegistrationModule", + "contractAddress": "0xfb45e1274D9f0A2DF5C0851a705EEB0665171C5B", + "function": null, + "arguments": [ + "(0xaD2377c8f9f0ca6382fEf166b08aeDe8318fE49C, 0xedBd4907A7F98de932e635e9076B4E0C36D0E797, 0xCD28eb9D0D2AFcf4354F2c93dE5ce9Bbf88257ae, 0xE3C522921A16c692E664D06d53a251f91323a06B)", + "0x7EDacD4d53b5A626471c6728f04D92125CcF647F" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x557b3a", + "value": "0x0", + "data": "0x6101006040523480156200001257600080fd5b50604051620050343803806200503483398101604081905262000035916200029c565b8151819083906001600160a01b03166200006257604051636028d8f760e01b815260040160405180910390fd5b80516001600160a01b039081166080526020820151166200009657604051637e2fee8960e11b815260040160405180910390fd5b60208101516001600160a01b0390811660a052604082015116620000cd57604051635a70c46160e11b815260040160405180910390fd5b60408101516001600160a01b0390811660c052606090910151811660e05262000100908216637965db0b60e01b62000193565b62000143576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600480546001600160a01b0319166001600160a01b0383169081179091556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a250505062000354565b6000620001a083620001bb565b8015620001b45750620001b48383620001f4565b9392505050565b6000620001d0826301ffc9a760e01b620001f4565b8015620001ee5750620001ec826001600160e01b0319620001f4565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801562000267575060208210155b8015620002745750600081115b979650505050505050565b80516001600160a01b03811681146200029757600080fd5b919050565b60008082840360a0811215620002b157600080fd5b6080811215620002c057600080fd5b50604051608081016001600160401b0381118282101715620002f257634e487b7160e01b600052604160045260246000fd5b60405262000300846200027f565b815262000310602085016200027f565b602082015262000323604085016200027f565b604082015262000336606085016200027f565b606082015291506200034b608084016200027f565b90509250929050565b60805160a05160c05160e051614c83620003b16000396000818161024d0152612d31015260006104680152600081816103ce015281816107160152610fe6015260008181610408015281816116cf015261317c0152614c836000f3fe608060405234801561001057600080fd5b50600436106101ad5760003560e01c80638a8cb0b4116100ee578063bc12fcca11610097578063e8d7265411610071578063e8d726541461043d578063e8fb5c9b14610450578063f0ebdc8314610463578063fba854e01461048a57600080fd5b8063bc12fcca146103f0578063d2faf8b014610403578063e57204041461042a57600080fd5b8063a6829872116100c8578063a6829872146103a3578063b6efd29d146103b6578063b95ddb52146103c957600080fd5b80638a8cb0b41461032e5780639b72220214610370578063a5b04d451461039057600080fd5b806351e06b901161015b57806368a4f0711161013557806368a4f071146102d25780637448c568146102e557806377379d94146102f85780638591b11b1461031b57600080fd5b806351e06b90146102485780635f32b430146102945780636352211e146102bf57600080fd5b806332ee68131161018c57806332ee6813146102065780634fa4467c1461022d5780634fcbd2131461023557600080fd5b8062844d13146101b257806302a8df91146101db57806319129e5a146101f1575b600080fd5b6101c56101c03660046135b9565b61049d565b6040516101d29190613644565b60405180910390f35b6101e360ff81565b6040519081526020016101d2565b6102046101ff3660046135b9565b610596565b005b6101e37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81565b6101e3600a81565b6101c56102433660046136a0565b6106fc565b61026f7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101d2565b6101e36102a2366004613705565b600760209081526000928352604080842090915290825290205481565b61026f6102cd366004613731565b610784565b6101c56102e0366004613757565b610843565b6101e36102f336600461378c565b610a18565b61030b6103063660046137aa565b610a2c565b60405190151581526020016101d2565b610204610329366004613831565b610a64565b61030b61033c3660046138d5565b73ffffffffffffffffffffffffffffffffffffffff821660009081526006602052604090206002015460ff82161092915050565b61038361037e3660046135b9565b610c1d565b6040516101d2919061390e565b61020461039e36600461398e565b610d1c565b6101c56103b1366004613705565b610f27565b6101c56103c43660046139cf565b610fcc565b61026f7f000000000000000000000000000000000000000000000000000000000000000081565b6101e36103fe36600461378c565b61112c565b61026f7f000000000000000000000000000000000000000000000000000000000000000081565b61026f610438366004613757565b611138565b6101c561044b366004613a8e565b611230565b6101e361045e3660046137aa565b61190b565b61026f7f000000000000000000000000000000000000000000000000000000000000000081565b610204610498366004613ac5565b611920565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600660205260408120600101805460609291906104d590613b64565b80601f016020809104026020016040519081016040528092919081815260200182805461050190613b64565b801561054e5780601f106105235761010080835404028352916020019161054e565b820191906000526020600020905b81548152906001019060200180831161053157829003601f168201915b505050505090508051600003610590576040517f87dc059f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b92915050565b60006105a28133611afe565b6105e6576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b61062673ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000611b9b565b61068c576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c00000000000000000000000000000000000060448201526064016105dd565b600480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a25050565b60603373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461076d576040517f72823b5400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61077985858585611bb7565b90505b949350505050565b600081815260056020908152604080832081518083018352815473ffffffffffffffffffffffffffffffffffffffff1680825260019092015493810184905291517f6352211e00000000000000000000000000000000000000000000000000000000815260048101939093529091636352211e90602401602060405180830381865afa158015610818573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083c9190613bb7565b9392505050565b606060006108518585611cc5565b805480602002602001604051908101604052809291908181526020016000905b8282101561091d57838290600052602060002001805461089090613b64565b80601f01602080910402602001604051908101604052809291908181526020018280546108bc90613b64565b80156109095780601f106108de57610100808354040283529160200191610909565b820191906000526020600020905b8154815290600101906020018083116108ec57829003601f168201915b505050505081526020019060010190610871565b50505050905080518310610960576040517f9c7692bf000000000000000000000000000000000000000000000000000000008152600481018490526024016105dd565b61096a8585611cc5565b838154811061097b5761097b613bd4565b90600052602060002001805461099090613b64565b80601f01602080910402602001604051908101604052809291908181526020018280546109bc90613b64565b8015610a095780601f106109de57610100808354040283529160200191610a09565b820191906000526020600020905b8154815290600101906020018083116109ec57829003601f168201915b50505050509150509392505050565b6000610a248383611d07565b549392505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610a5a85858561190b565b1415949350505050565b8473ffffffffffffffffffffffffffffffffffffffff8116610ab2576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610afd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b219190613bb7565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b85576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610c02876040805173ffffffffffffffffffffffffffffffffffffffff8316602082015280820191909152600c60608201527f524547495354524154494f4e0000000000000000000000000000000000000000608082015260009060a001604051602081830303815290604052805190602001209050919050565b9050610c1388888389898989611920565b5050505050505050565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600660209081526040808320600201805482518185028101850190935280835260609492939192909184015b82821015610d11578382906000526020600020018054610c8490613b64565b80601f0160208091040260200160405190810160405280929190818152602001828054610cb090613b64565b8015610cfd5780601f10610cd257610100808354040283529160200191610cfd565b820191906000526020600020905b815481529060010190602001808311610ce057829003601f168201915b505050505081526020019060010190610c65565b505050509050919050565b8173ffffffffffffffffffffffffffffffffffffffff8116610d6a576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610db5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dd99190613bb7565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e3d576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000846001811115610e5157610e51613c03565b148015610e6b575060008281526020819052604090205415155b15610ea3576000828152602081905260408120610e87916134e8565b6000828152600260205260408120610e9e91613509565b610ee5565b60008281526001602052604090205415610ee5576000828152600160205260408120610ece916134e8565b6000828152600360205260408120610ee591613509565b81846001811115610ef857610ef8613c03565b6040517f1fe48a4ec69671720d8bdd8f8a6853d16f486c0bb91fcaf5b8ffc4932b8bc9f490600090a350505050565b600860209081526000928352604080842090915290825290208054610f4b90613b64565b80601f0160208091040260200160405190810160405280929190818152602001828054610f7790613b64565b8015610fc45780601f10610f9957610100808354040283529160200191610fc4565b820191906000526020600020905b815481529060010190602001808311610fa757829003601f168201915b505050505081565b60603373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461103d576040517f72823b5400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61104989898989611d49565b60006110578a8a8a8a611f46565b90506110668686600084611fc3565b6110c15760405173ffffffffffffffffffffffffffffffffffffffff8a16907fa1e5a8c0fde3fa4d7320c3f9de0ab0a2c1ee6e891e6a513ca0811ddcf768b59490600090a25050604080516020810190915260008152611120565b6110cd8a8a8a8a61223d565b91506110dc8484600184611fc3565b5060405173ffffffffffffffffffffffffffffffffffffffff8a16907f4ec4635a4d1f6ebe9ee3a059f74fc5d802e04d2d115c4090337a34e3b137c98a90600090a2505b98975050505050505050565b6000610a248383611cc5565b6000806111458585611d07565b8054806020026020016040519081016040528092919081815260200182805480156111a657602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff16815260019091019060200180831161117b575b50505050509050805183106111ea576040517f9c7692bf000000000000000000000000000000000000000000000000000000008152600481018490526024016105dd565b6111f48585611d07565b838154811061120557611205613bd4565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1695945050505050565b73ffffffffffffffffffffffffffffffffffffffff831660008181526007602090815260408083208684529091528082205490517f6352211e0000000000000000000000000000000000000000000000000000000081526004810186905260609391929190636352211e90602401602060405180830381865afa1580156112bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112df9190613bb7565b905073ffffffffffffffffffffffffffffffffffffffff811661132e576040517f85a9692000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff861660009081526008602090815260408083208884529091528120805461136990613b64565b905011156114335773ffffffffffffffffffffffffffffffffffffffff86166000908152600860209081526040808320888452909152902080546113ac90613b64565b80601f01602080910402602001604051908101604052809291908181526020018280546113d890613b64565b80156114255780601f106113fa57610100808354040283529160200191611425565b820191906000526020600020905b81548152906001019060200180831161140857829003601f168201915b50505050509250505061083c565b73ffffffffffffffffffffffffffffffffffffffff861660009081526006602052604080822081516060810190925280548290829061147190613b64565b80601f016020809104026020016040519081016040528092919081815260200182805461149d90613b64565b80156114ea5780601f106114bf576101008083540402835291602001916114ea565b820191906000526020600020905b8154815290600101906020018083116114cd57829003601f168201915b5050505050815260200160018201805461150390613b64565b80601f016020809104026020016040519081016040528092919081815260200182805461152f90613b64565b801561157c5780601f106115515761010080835404028352916020019161157c565b820191906000526020600020905b81548152906001019060200180831161155f57829003601f168201915b5050505050815260200160028201805480602002602001604051908101604052809291908181526020016000905b828210156116565783829060005260206000200180546115c990613b64565b80601f01602080910402602001604051908101604052809291908181526020018280546115f590613b64565b80156116425780601f1061161757610100808354040283529160200191611642565b820191906000526020600020905b81548152906001019060200180831161162557829003601f168201915b5050505050815260200190600101906115aa565b505050915250508051519091501561169d57805161167384612354565b604051602001611684929190613c4e565b604051602081830303815290604052935050505061083c565b6040517fc47f8bfa000000000000000000000000000000000000000000000000000000008152600481018490526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063c47f8bfa90602401600060405180830381865afa15801561172b573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526117719190810190613dff565b9050600061177e85612354565b8251604051611791929190602001613ec9565b604051602081830303815290604052905060006117c9836060015173ffffffffffffffffffffffffffffffffffffffff166014612412565b6117ea8673ffffffffffffffffffffffffffffffffffffffff166014612412565b6040516020016117fb92919061400c565b60405160208183030381529060405290506000611833846020015173ffffffffffffffffffffffffffffffffffffffff166014612412565b85604001518a60ff168151811061184c5761184c613bd4565b6020026020010151611864866040015160ff16612354565b6080870151611874906020612412565b61188b8860a0015167ffffffffffffffff16612354565b60405160200161189f959493929190614108565b60405160208183030381529060405290506118dc8383836040516020016118c893929190614361565b604051602081830303815290604052612655565b6040516020016118ec91906143cc565b6040516020818303038152906040529750505050505050509392505050565b600061077c61191a8585611d07565b836127a8565b8573ffffffffffffffffffffffffffffffffffffffff811661196e576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119dd9190613bb7565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611a41576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611a4c888888610d1c565b611aa8611a598988611d07565b611a638a89611cc5565b878780806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250611aa39250889150899050614486565b612842565b85886001811115611abb57611abb613c03565b7f5e140eb5bed8bcb1664a04c0be4aa419e0d2dbf1277a4a6770882a0beb3b91b28787604051611aec9291906144fa565b60405180910390a35050505050505050565b600480546040517f91d1485400000000000000000000000000000000000000000000000000000000815291820184905273ffffffffffffffffffffffffffffffffffffffff83811660248401526000929116906391d1485490604401602060405180830381865afa158015611b77573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083c9190614555565b6000611ba683612b40565b801561083c575061083c8383612ba4565b6060611bc38585612c73565b600080611bd284860186614577565b915091507f88fae8356076de6f233fd00b30fad913df2329364a9e9242abdc96adccc3bfc98203611c2a5760008082806020019051810190611c1491906145be565b91509150611c23898383612da4565b5050611cab565b7f9aeb830ec91a14c97a5446cc7c86a42f73a78f37f9a77afa238b5d11520ddfbc8203611c7957600081806020019051810190611c679190614618565b9050611c738882612e3a565b50611cab565b6040517f04e4b46900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505060408051602081019091526000815295945050505050565b600080836001811115611cda57611cda613c03565b03611cf357506000818152600260205260409020610590565b506000818152600360205260409020610590565b600080836001811115611d1c57611d1c613c03565b03611d3557506000818152602081905260409020610590565b506000818152600160205260409020610590565b600080611d5883850185614577565b915091507fbc42750dbe73870bbe102106b22fd8bdfa53c7247eca196d8bb7da9527f0c1e58203611e5057600080600083806020019051810190611d9c91906146c9565b9250925092508273ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff16141580611e1157508773ffffffffffffffffffffffffffffffffffffffff16611df882610784565b73ffffffffffffffffffffffffffffffffffffffff1614155b15611e48576040517f7e833cd700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050611f3e565b7fe761f303268b55a3dc96719551acb95ca3bd1ebeef4b720be68dd92563627a3f8203611f0c57600081806020019051810190611e8d919061470c565b90508573ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff1614611ef8576040517f7e833cd700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611f06878260200151612eff565b50611f3e565b6040517f9ca9add400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050505050565b6000610779856040805173ffffffffffffffffffffffffffffffffffffffff8316602082015280820191909152600c60608201527f524547495354524154494f4e0000000000000000000000000000000000000000608082015260009060a001604051602081830303815290604052805190602001209050919050565b600080611fd08484611d07565b80548060200260200160405190810160405280929190818152602001828054801561203157602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311612006575b5050505050905060006120448585611cc5565b805480602002602001604051908101604052809291908181526020016000905b8282101561211057838290600052602060002001805461208390613b64565b80601f01602080910402602001604051908101604052809291908181526020018280546120af90613b64565b80156120fc5780601f106120d1576101008083540402835291602001916120fc565b820191906000526020600020905b8154815290600101906020018083116120df57829003601f168201915b505050505081526020019060010190612064565b50508451929350505086811461216a5785600181111561213257612132613c03565b6040517f3171c36f00000000000000000000000000000000000000000000000000000000815260ff90911660048201526024016105dd565b60005b8181101561222e5761220b8785838151811061218b5761218b613bd4565b60200260200101518584815181106121a5576121a5613bd4565b60200260200101518c8c868181106121bf576121bf613bd4565b90506020028101906121d191906147cd565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612f6c92505050565b61221c57600094505050505061077c565b8061222681614861565b91505061216d565b50600198975050505050505050565b606060008061224e84860186614577565b915091507fbc42750dbe73870bbe102106b22fd8bdfa53c7247eca196d8bb7da9527f0c1e582036122c05760008060008380602001905181019061229291906146c9565b9250925092506122a48a828585613068565b604051806020016040528060008152509550505050505061077c565b7fe761f303268b55a3dc96719551acb95ca3bd1ebeef4b720be68dd92563627a3f8203611cab576000818060200190518101906122fd919061470c565b90506000806123248a84600001518560400151866020015187606001518860800151613177565b6040805160208101939093528281019190915280518083038201815260609092019052955061077c945050505050565b6060600061236183613406565b600101905060008167ffffffffffffffff81111561238157612381613c7d565b6040519080825280601f01601f1916602001820160405280156123ab576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85049450846123b557509392505050565b60606000612421836002614899565b61242c9060026148b0565b67ffffffffffffffff81111561244457612444613c7d565b6040519080825280601f01601f19166020018201604052801561246e576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106124a5576124a5613bd4565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061250857612508613bd4565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000612544846002614899565b61254f9060016148b0565b90505b60018111156125ec577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061259057612590613bd4565b1a60f81b8282815181106125a6576125a6613bd4565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c936125e5816148c3565b9050612552565b50831561083c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016105dd565b6060815160000361267457505060408051602081019091526000815290565b6000604051806060016040528060408152602001614c0e60409139905060006003845160026126a391906148b0565b6126ad91906148f8565b6126b8906004614899565b67ffffffffffffffff8111156126d0576126d0613c7d565b6040519080825280601f01601f1916602001820160405280156126fa576020820181803683370190505b509050600182016020820185865187015b80821015612766576003820191508151603f8160121c168501518453600184019350603f81600c1c168501518453600184019350603f8160061c168501518453600184019350603f811685015184535060018301925061270b565b505060038651066001811461278257600281146127955761279d565b603d6001830353603d600283035361279d565b603d60018303535b509195945050505050565b8154600090815b81811015612818578373ffffffffffffffffffffffffffffffffffffffff168582815481106127e0576127e0613bd4565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16036128105791506105909050565b6001016127af565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff949350505050565b8151600a81111561287f576040517f760fb4ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b808251146128b9576040517f3021beb200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b81811015611f3e57600073ffffffffffffffffffffffffffffffffffffffff168482815181106128ee576128ee613bd4565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1603612943576040517f7d4de38200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000811180156129b3575083600182038151811061296357612963613bd4565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1684828151811061299357612993613bd4565b602002602001015173ffffffffffffffffffffffffffffffffffffffff16145b156129ea576040517fd696c40800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8381815181106129fc576129fc613bd4565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1663a913b881848381518110612a3157612a31613bd4565b60200260200101516040518263ffffffff1660e01b8152600401612a559190613644565b60006040518083038186803b158015612a6d57600080fd5b505afa158015612a81573d6000803e3d6000fd5b5050505085848281518110612a9857612a98613bd4565b60209081029190910181015182546001810184556000938452919092200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90921691909117905582518590849083908110612b0e57612b0e613bd4565b60209081029190910181015182546001810184556000938452919092200190612b379082614979565b506001016128bc565b6000612b6c827f01ffc9a700000000000000000000000000000000000000000000000000000000612ba4565b80156105905750612b9d827fffffffff00000000000000000000000000000000000000000000000000000000612ba4565b1592915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015612c5c575060208210155b8015612c685750600081115b979650505050505050565b8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612cd5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cf99190613bb7565b73ffffffffffffffffffffffffffffffffffffffff1614158015612d6957508073ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1614155b15612da0576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260066020526040902080612dd48482614979565b5060018101612de38382614979565b508373ffffffffffffffffffffffffffffffffffffffff167f6c1850fce35387a891e82ca88e975790ab6f0709e9ed6842e01397f296012a7e8484604051612e2c929190614a93565b60405180910390a250505050565b805160ff811115612e77576040517f1c17d63a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff83166000908152600660205260408120905b82811015612ef85781600201848281518110612ebc57612ebc613bd4565b60209081029190910181015182546001810184556000938452919092200190612ee59082614979565b5080612ef081614861565b915050612e9e565b5050505050565b73ffffffffffffffffffffffffffffffffffffffff821660009081526006602052604090206002015460ff80821690831610612f67576040517f12d7e46c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b600080604051806040016040528085815260200184815250905060008573ffffffffffffffffffffffffffffffffffffffff166334e5d29f83604051602001612fb59190614ac1565b6040516020818303038152906040526040518263ffffffff1660e01b8152600401612fe09190613644565b6000604051808303816000875af1158015612fff573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526130459190810190614b18565b509050600181600181111561305c5761305c613c03565b14979650505050505050565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301528281166024830152604482018590528516906323b872dd90606401600060405180830381600087803b1580156130e057600080fd5b505af11580156130f4573d6000803e3d6000fd5b5050505073ffffffffffffffffffffffffffffffffffffffff84811660008181526007602090815260408083208884528252918290205482518881528786169281019290925293851681830152905183917f0480e159be1c15e0022dfbc6d236db58db83a033908eca4876f796f60ed871b9919081900360600190a35050505050565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663601a924c898989886040518563ffffffff1660e01b81526004016131d99493929190614b73565b6020604051808303816000875af11580156131f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061321c9190614bbd565b6040517f691562a000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff898116600483015260ff881660248301529193509089169063691562a0906044016020604051808303816000875af1158015613297573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132bb9190614bbd565b73ffffffffffffffffffffffffffffffffffffffff89811660008181526007602090815260408083208684528252808320889055805180820182529384528382018681528884526005909252909120825181547fffffffffffffffffffffffff000000000000000000000000000000000000000016941693909317835551600190920191909155845191925090156133895773ffffffffffffffffffffffffffffffffffffffff8916600090815260086020908152604080832085845290915290206133878582614979565b505b8560ff168873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff167fd051b12b5a18291aec9a26b17774a4be2d10dce167cbdc5944c7942c78f901c186868c8b8b6040516133f2959493929190614bd6565b60405180910390a450965096945050505050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000831061344f577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef8100000000831061347b576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061349957662386f26fc10000830492506010015b6305f5e10083106134b1576305f5e100830492506008015b61271083106134c557612710830492506004015b606483106134d7576064830492506002015b600a83106105905760010192915050565b50805460008255906000526020600020908101906135069190613527565b50565b50805460008255906000526020600020908101906135069190613540565b5b8082111561353c5760008155600101613528565b5090565b8082111561353c576000613554828261355d565b50600101613540565b50805461356990613b64565b6000825580601f10613579575050565b601f0160209004906000526020600020908101906135069190613527565b73ffffffffffffffffffffffffffffffffffffffff8116811461350657600080fd5b6000602082840312156135cb57600080fd5b813561083c81613597565b60005b838110156135f15781810151838201526020016135d9565b50506000910152565b600081518084526136128160208601602086016135d6565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061083c60208301846135fa565b60008083601f84011261366957600080fd5b50813567ffffffffffffffff81111561368157600080fd5b60208301915083602082850101111561369957600080fd5b9250929050565b600080600080606085870312156136b657600080fd5b84356136c181613597565b935060208501356136d181613597565b9250604085013567ffffffffffffffff8111156136ed57600080fd5b6136f987828801613657565b95989497509550505050565b6000806040838503121561371857600080fd5b823561372381613597565b946020939093013593505050565b60006020828403121561374357600080fd5b5035919050565b6002811061350657600080fd5b60008060006060848603121561376c57600080fd5b83356137778161374a565b95602085013595506040909401359392505050565b6000806040838503121561379f57600080fd5b82356137238161374a565b6000806000606084860312156137bf57600080fd5b83356137ca8161374a565b92506020840135915060408401356137e181613597565b809150509250925092565b60008083601f8401126137fe57600080fd5b50813567ffffffffffffffff81111561381657600080fd5b6020830191508360208260051b850101111561369957600080fd5b6000806000806000806080878903121561384a57600080fd5b86356138558161374a565b9550602087013561386581613597565b9450604087013567ffffffffffffffff8082111561388257600080fd5b61388e8a838b016137ec565b909650945060608901359150808211156138a757600080fd5b506138b489828a016137ec565b979a9699509497509295939492505050565b60ff8116811461350657600080fd5b600080604083850312156138e857600080fd5b82356138f381613597565b91506020830135613903816138c6565b809150509250929050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015613981577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc088860301845261396f8583516135fa565b94509285019290850190600101613935565b5092979650505050505050565b6000806000606084860312156139a357600080fd5b83356139ae8161374a565b925060208401356139be81613597565b929592945050506040919091013590565b60008060008060008060008060a0898b0312156139eb57600080fd5b88356139f681613597565b97506020890135613a0681613597565b9650604089013567ffffffffffffffff80821115613a2357600080fd5b613a2f8c838d01613657565b909850965060608b0135915080821115613a4857600080fd5b613a548c838d016137ec565b909650945060808b0135915080821115613a6d57600080fd5b50613a7a8b828c016137ec565b999c989b5096995094979396929594505050565b600080600060608486031215613aa357600080fd5b8335613aae81613597565b92506020840135915060408401356137e1816138c6565b600080600080600080600060a0888a031215613ae057600080fd5b8735613aeb8161374a565b96506020880135613afb81613597565b955060408801359450606088013567ffffffffffffffff80821115613b1f57600080fd5b613b2b8b838c016137ec565b909650945060808a0135915080821115613b4457600080fd5b50613b518a828b016137ec565b989b979a50959850939692959293505050565b600181811c90821680613b7857607f821691505b602082108103613bb1577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b600060208284031215613bc957600080fd5b815161083c81613597565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60008151613c448185602086016135d6565b9290920192915050565b60008351613c608184602088016135d6565b835190830190613c748183602088016135d6565b01949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715613ccf57613ccf613c7d565b60405290565b60405160a0810167ffffffffffffffff81118282101715613ccf57613ccf613c7d565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715613d3f57613d3f613c7d565b604052919050565b600067ffffffffffffffff821115613d6157613d61613c7d565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b6000613da0613d9b84613d47565b613cf8565b9050828152838383011115613db457600080fd5b61083c8360208301846135d6565b600082601f830112613dd357600080fd5b61083c83835160208501613d8d565b805167ffffffffffffffff81168114613dfa57600080fd5b919050565b600060208284031215613e1157600080fd5b815167ffffffffffffffff80821115613e2957600080fd5b9083019060c08286031215613e3d57600080fd5b613e45613cac565b825182811115613e5457600080fd5b613e6087828601613dc2565b82525060208301519150613e7382613597565b81602082015260408301519150613e89826138c6565b81604082015260608301519150613e9f82613597565b81606082015260808301516080820152613ebb60a08401613de2565b60a082015295945050505050565b7f7b226e616d65223a2022476c6f62616c20495020417373657420230000000000815260008351613f0181601b8501602088016135d6565b7f222c20226465736372697074696f6e223a20224950204f726720417373657420601b918401918201527f526567697374726174696f6e2044657461696c73222c20226174747269627574603b8201527f6573223a205b0000000000000000000000000000000000000000000000000000605b8201527f7b2274726169745f74797065223a20224e616d65222c202276616c7565223a2060618201527f220000000000000000000000000000000000000000000000000000000000000060818201528351613fd68160828401602088016135d6565b7f227d2c000000000000000000000000000000000000000000000000000000000060829290910191820152608501949350505050565b7f7b2274726169745f74797065223a20224950204f7267222c202276616c75652281527f3a2022000000000000000000000000000000000000000000000000000000000060208201526000835161406a8160238501602088016135d6565b80830190507f227d2c00000000000000000000000000000000000000000000000000000000008060238301527f7b2274726169745f74797065223a202243757272656e74204950204f776e657260268301527f222c202276616c7565223a202200000000000000000000000000000000000000604683015284516140f58160538501602089016135d6565b6053920191820152605601949350505050565b7f7b2274726169745f74797065223a2022496e697469616c20526567697374726181527f6e74222c202276616c7565223a2022000000000000000000000000000000000060208201526000865161416681602f850160208b016135d6565b80830190507f227d2c000000000000000000000000000000000000000000000000000000000080602f8301527f7b2274726169745f74797065223a20224950204f72672041737365742054797060328301527f65222c202276616c7565223a2022000000000000000000000000000000000000605283015287516141f1816060850160208c016135d6565b60609201918201527f7b2274726169745f74797065223a2022537461747573222c202276616c75652260638201527f3a2022000000000000000000000000000000000000000000000000000000000060838201526111206143386143326142e36142656142dd61428e82608689018e613c32565b7f227d2c0000000000000000000000000000000000000000000000000000000000815260030190565b7f7b2274726169745f74797065223a202248617368222c202276616c7565223a2081527f2200000000000000000000000000000000000000000000000000000000000000602082015260210190565b8a613c32565b7f7b2274726169745f74797065223a2022526567697374726174696f6e2044617481527f65222c202276616c7565223a20220000000000000000000000000000000000006020820152602e0190565b86613c32565b7f227d000000000000000000000000000000000000000000000000000000000000815260020190565b600084516143738184602089016135d6565b8451908301906143878183602089016135d6565b845191019061439a8183602088016135d6565b7f5d7d000000000000000000000000000000000000000000000000000000000000910190815260020195945050505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c00000081526000825161440481601d8501602087016135d6565b91909101601d0192915050565b600067ffffffffffffffff82111561442b5761442b613c7d565b5060051b60200190565b600082601f83011261444657600080fd5b8135614454613d9b82613d47565b81815284602083860101111561446957600080fd5b816020850160208301376000918101602001919091529392505050565b6000614494613d9b84614411565b80848252602080830192508560051b8501368111156144b257600080fd5b855b818110156144ee57803567ffffffffffffffff8111156144d45760008081fd5b6144e036828a01614435565b8652509382019382016144b4565b50919695505050505050565b60208082528181018390526000908460408401835b8681101561454a57823561452281613597565b73ffffffffffffffffffffffffffffffffffffffff168252918301919083019060010161450f565b509695505050505050565b60006020828403121561456757600080fd5b8151801515811461083c57600080fd5b6000806040838503121561458a57600080fd5b82359150602083013567ffffffffffffffff8111156145a857600080fd5b6145b485828601614435565b9150509250929050565b600080604083850312156145d157600080fd5b825167ffffffffffffffff808211156145e957600080fd5b6145f586838701613dc2565b9350602085015191508082111561460b57600080fd5b506145b485828601613dc2565b6000602080838503121561462b57600080fd5b825167ffffffffffffffff8082111561464357600080fd5b818501915085601f83011261465757600080fd5b8151614665613d9b82614411565b81815260059190911b8301840190848101908883111561468457600080fd5b8585015b838110156146bc578051858111156146a05760008081fd5b6146ae8b89838a0101613dc2565b845250918601918601614688565b5098975050505050505050565b6000806000606084860312156146de57600080fd5b83516146e981613597565b60208501519093506146fa81613597565b80925050604084015190509250925092565b60006020828403121561471e57600080fd5b815167ffffffffffffffff8082111561473657600080fd5b9083019060a0828603121561474a57600080fd5b614752613cd5565b825161475d81613597565b8152602083015161476d816138c6565b602082015260408301518281111561478457600080fd5b61479087828601613dc2565b604083015250606083015160608201526080830151828111156147b257600080fd5b6147be87828601613dc2565b60808301525095945050505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261480257600080fd5b83018035915067ffffffffffffffff82111561481d57600080fd5b60200191503681900382131561369957600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361489257614892614832565b5060010190565b808202811582820484141761059057610590614832565b8082018082111561059057610590614832565b6000816148d2576148d2614832565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b60008261492e577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b601f821115612f6757600081815260208120601f850160051c8101602086101561495a5750805b601f850160051c820191505b81811015611f3e57828155600101614966565b815167ffffffffffffffff81111561499357614993613c7d565b6149a7816149a18454613b64565b84614933565b602080601f8311600181146149fa57600084156149c45750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555611f3e565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015614a4757888601518255948401946001909101908401614a28565b5085821015614a8357878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b604081526000614aa660408301856135fa565b8281036020840152614ab881856135fa565b95945050505050565b602081526000825160406020840152614add60608401826135fa565b905060208401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0848303016040850152614ab882826135fa565b60008060408385031215614b2b57600080fd5b8251614b368161374a565b602084015190925067ffffffffffffffff811115614b5357600080fd5b8301601f81018513614b6457600080fd5b6145b485825160208401613d8d565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525060806040830152614bac60808301856135fa565b905082606083015295945050505050565b600060208284031215614bcf57600080fd5b5051919050565b85815284602082015260a060408201526000614bf560a08301866135fa565b846060840152828103608084015261112081856135fa56fe4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2fa264697066735822122070b8b352cbaea84f80aeb32a53add59c65bfa664d27de4fe2c720d195737907664736f6c63430008130033000000000000000000000000ad2377c8f9f0ca6382fef166b08aede8318fe49c000000000000000000000000edbd4907a7f98de932e635e9076b4e0c36d0e797000000000000000000000000cd28eb9d0d2afcf4354f2c93de5ce9bbf88257ae000000000000000000000000e3c522921a16c692e664d06d53a251f91323a06b0000000000000000000000007edacd4d53b5a626471c6728f04d92125ccf647f", + "nonce": "0x604", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x34ed35a98e276f7f8739306d58ab5dc6be1fb24091451d2c7d13edd9a18cf982", + "transactionType": "CREATE", + "contractName": "RelationshipModule", + "contractAddress": "0xf7081c5ff418ddB6C68A3cCc3CC68A4c21803460", + "function": null, + "arguments": [ + "(0xaD2377c8f9f0ca6382fEf166b08aeDe8318fE49C, 0xedBd4907A7F98de932e635e9076B4E0C36D0E797, 0xCD28eb9D0D2AFcf4354F2c93dE5ce9Bbf88257ae, 0xE3C522921A16c692E664D06d53a251f91323a06B)", + "0x7EDacD4d53b5A626471c6728f04D92125CcF647F" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x483231", + "value": "0x0", + "data": "0x6101006040523480156200001257600080fd5b50604051620044023803806200440283398101604081905262000035916200029c565b8151819083906001600160a01b03166200006257604051636028d8f760e01b815260040160405180910390fd5b80516001600160a01b039081166080526020820151166200009657604051637e2fee8960e11b815260040160405180910390fd5b60208101516001600160a01b0390811660a052604082015116620000cd57604051635a70c46160e11b815260040160405180910390fd5b60408101516001600160a01b0390811660c052606090910151811660e05262000100908216637965db0b60e01b62000193565b62000143576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600480546001600160a01b0319166001600160a01b0383169081179091556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a250505062000354565b6000620001a083620001bb565b8015620001b45750620001b48383620001f4565b9392505050565b6000620001d0826301ffc9a760e01b620001f4565b8015620001ee5750620001ec826001600160e01b0319620001f4565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801562000267575060208210155b8015620002745750600081115b979650505050505050565b80516001600160a01b03811681146200029757600080fd5b919050565b60008082840360a0811215620002b157600080fd5b6080811215620002c057600080fd5b50604051608081016001600160401b0381118282101715620002f257634e487b7160e01b600052604160045260246000fd5b60405262000300846200027f565b815262000310602085016200027f565b602082015262000323604085016200027f565b604082015262000336606085016200027f565b606082015291506200034b608084016200027f565b90509250929050565b60805160a05160c05160e051614051620003b160003960006102360152600081816103fc0152612ad20152600081816103620152818161074401528181610f470152612c1601526000818161039c0152612a0b01526140516000f3fe608060405234801561001057600080fd5b50600436106101825760003560e01c806377379d94116100d8578063d2faf8b01161008c578063e8fb5c9b11610066578063e8fb5c9b146103e4578063f0ebdc83146103f7578063fba854e01461041e57600080fd5b8063d2faf8b014610397578063e5720404146103be578063e7d8e931146103d157600080fd5b8063b6efd29d116100bd578063b6efd29d1461034a578063b95ddb521461035d578063bc12fcca1461038457600080fd5b806377379d9414610314578063a5b04d451461033757600080fd5b80634fcbd2131161013a57806368a4f0711161011457806368a4f071146102905780637448c568146102a357806376ced32d146102b657600080fd5b80634fcbd2131461021157806351e06b90146102315780636191d3561461027d57600080fd5b8063322e41b51161016b578063322e41b5146101c257806332ee6813146101e25780634fa4467c1461020957600080fd5b806319129e5a1461018757806329b2632b1461019c575b600080fd5b61019a610195366004612f09565b610431565b005b6101af6101aa366004612f26565b610597565b6040519081526020015b60405180910390f35b6101d56101d0366004612f61565b6105da565b6040516101b99190612fe8565b6101af7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81565b6101af600a81565b61022461021f36600461309d565b61072a565b6040516101b99190613102565b6102587f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101b9565b61019a61028b366004613167565b6107b2565b61022461029e366004613226565b610932565b6101af6102b136600461325b565b610b08565b6102c96102c43660046133ca565b610b1e565b60408051825173ffffffffffffffffffffffffffffffffffffffff908116825260208085015190830152838301511691810191909152606091820151918101919091526080016101b9565b61032761032236600461341a565b610cea565b60405190151581526020016101b9565b61019a61034536600461345c565b610d22565b61022461035836600461349d565b610f2d565b6102587f000000000000000000000000000000000000000000000000000000000000000081565b6101af61039236600461325b565b61108d565b6102587f000000000000000000000000000000000000000000000000000000000000000081565b6102586103cc366004613226565b611099565b6103276103df366004612f26565b611191565b6101af6103f236600461341a565b6111d8565b6102587f000000000000000000000000000000000000000000000000000000000000000081565b61019a61042c3660046134c4565b6111ed565b600061043d81336113cb565b610481576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b6104c173ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000611468565b610527576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c0000000000000000000000000000000000006044820152606401610478565b600480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a25050565b600060096000836040516020016105ae91906135ac565b604051602081830303815290604052805190602001208152602001908152602001600020549050919050565b6106386040518060a0016040528060608152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081525090565b60008281526008602052604090819020815160a0810190925280548290829061066090613698565b80601f016020809104026020016040519081016040528092919081815260200182805461068c90613698565b80156106d95780601f106106ae576101008083540402835291602001916106d9565b820191906000526020600020905b8154815290600101906020018083116106bc57829003601f168201915b5050509183525050600182015473ffffffffffffffffffffffffffffffffffffffff908116602083015260028301541660408201526003820154606082015260049091015460809091015292915050565b60603373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461079b576040517f72823b5400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6107a785858585611484565b90505b949350505050565b8673ffffffffffffffffffffffffffffffffffffffff8116610800576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561084b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086f91906136f6565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146108d3576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006109158989898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061158692505050565b90506109268a8a83898989896111ed565b50505050505050505050565b6060600061094085856115b9565b805480602002602001604051908101604052809291908181526020016000905b82821015610a0c57838290600052602060002001805461097f90613698565b80601f01602080910402602001604051908101604052809291908181526020018280546109ab90613698565b80156109f85780601f106109cd576101008083540402835291602001916109f8565b820191906000526020600020905b8154815290600101906020018083116109db57829003601f168201915b505050505081526020019060010190610960565b50505050905080518310610a4f576040517f9c7692bf00000000000000000000000000000000000000000000000000000000815260048101849052602401610478565b610a5985856115b9565b8381548110610a6a57610a6a613713565b906000526020600020018054610a7f90613698565b80601f0160208091040260200160405190810160405280929190818152602001828054610aab90613698565b8015610af85780601f10610acd57610100808354040283529160200191610af8565b820191906000526020600020905b815481529060010190602001808311610adb57829003601f168201915b50505050509150505b9392505050565b6000610b1483836115fb565b5490505b92915050565b60408051608081018252600080825260208201819052918101829052606081019190915273ffffffffffffffffffffffffffffffffffffffff8316610bcc57600582604051610b6d9190613742565b908152604080519182900360209081018320608084018352805473ffffffffffffffffffffffffffffffffffffffff90811685526001820154928501929092526002810154909116918301919091526003015460608201529050610c75565b600660008484604051602001610be392919061375e565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291815281516020928301208352828201939093529082016000208251608081018452815473ffffffffffffffffffffffffffffffffffffffff9081168252600183015493820193909352600282015490921692820192909252600390910154606082015290505b805173ffffffffffffffffffffffffffffffffffffffff161580610cb15750604081015173ffffffffffffffffffffffffffffffffffffffff16155b15610b1857816040517fd8952ceb0000000000000000000000000000000000000000000000000000000081526004016104789190613102565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610d188585856111d8565b1415949350505050565b8173ffffffffffffffffffffffffffffffffffffffff8116610d70576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dbb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ddf91906136f6565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e43576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000846001811115610e5757610e5761378d565b148015610e71575060008281526020819052604090205415155b15610ea9576000828152602081905260408120610e8d91612e28565b6000828152600260205260408120610ea491612e49565b610eeb565b60008281526001602052604090205415610eeb576000828152600160205260408120610ed491612e28565b6000828152600360205260408120610eeb91612e49565b81846001811115610efe57610efe61378d565b6040517f1fe48a4ec69671720d8bdd8f8a6853d16f486c0bb91fcaf5b8ffc4932b8bc9f490600090a350505050565b60603373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610f9e576040517f72823b5400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610faa8989898961163d565b6000610fb88a8a8a8a611a03565b9050610fc78686600084611a2c565b6110225760405173ffffffffffffffffffffffffffffffffffffffff8a16907fa1e5a8c0fde3fa4d7320c3f9de0ab0a2c1ee6e891e6a513ca0811ddcf768b59490600090a25050604080516020810190915260008152611081565b61102e8a8a8a8a611ca6565b915061103d8484600184611a2c565b5060405173ffffffffffffffffffffffffffffffffffffffff8a16907f4ec4635a4d1f6ebe9ee3a059f74fc5d802e04d2d115c4090337a34e3b137c98a90600090a2505b98975050505050505050565b6000610b1483836115b9565b6000806110a685856115fb565b80548060200260200160405190810160405280929190818152602001828054801561110757602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116110dc575b505050505090508051831061114b576040517f9c7692bf00000000000000000000000000000000000000000000000000000000815260048101849052602401610478565b61115585856115fb565b838154811061116657611166613713565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1695945050505050565b600060096000836040516020016111a891906135ac565b60405160208183030381529060405280519060200120815260200190815260200160002054600014159050919050565b60006107aa6111e785856115fb565b83611e78565b8573ffffffffffffffffffffffffffffffffffffffff811661123b576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611286573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112aa91906136f6565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461130e576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611319888888610d22565b61137561132689886115fb565b6113308a896115b9565b87878080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061137092508891508990506137e0565b611f12565b858860018111156113885761138861378d565b7f5e140eb5bed8bcb1664a04c0be4aa419e0d2dbf1277a4a6770882a0beb3b91b287876040516113b9929190613854565b60405180910390a35050505050505050565b600480546040517f91d1485400000000000000000000000000000000000000000000000000000000815291820184905273ffffffffffffffffffffffffffffffffffffffff83811660248401526000929116906391d1485490604401602060405180830381865afa158015611444573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0191906138af565b600061147383612210565b8015610b015750610b018383612274565b60606114908585612343565b60008061149f848601866138d1565b915091507f99bf0fbd60208ca164accd299e2c0a8b4475c1a2df53c2d7160870f68253652882036114eb576114e6818060200190518101906114e19190613a32565b6124d3565b61156c565b7fe5801b46183bd353d44247232707bb62253655a0580ade69a754ba7157ddf8fd820361153a576000818060200190518101906115289190613b0a565b90506115348882612796565b5061156c565b6040517f7265e5c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505060408051602081019091526000815295945050505050565b6000828260405160200161159b92919061375e565b60405160208183030381529060405280519060200120905092915050565b6000808360018111156115ce576115ce61378d565b036115e757506000818152600260205260409020610b18565b506000818152600360205260409020610b18565b6000808360018111156116105761161061378d565b0361162957506000818152602081905260409020610b18565b506000818152600160205260409020610b18565b600061164b82840184613b3f565b9050600061165d868360000151610b1e565b602083015190915073ffffffffffffffffffffffffffffffffffffffff166116b1576040517f3489abf600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805173ffffffffffffffffffffffffffffffffffffffff9081161461173d57806000015173ffffffffffffffffffffffffffffffffffffffff16826020015173ffffffffffffffffffffffffffffffffffffffff161461173d576040517f3489abf600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60208101511561182c5760408083015190517fc3cc244a00000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff89169163c3cc244a916117a39160040190815260200190565b602060405180830381865afa1580156117c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117e49190613bef565b6020830151909150600160ff83161b1661182a576040517ff3c6318200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b606082015173ffffffffffffffffffffffffffffffffffffffff1661187d576040517f642321ac00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604081015173ffffffffffffffffffffffffffffffffffffffff9081161461190c57806040015173ffffffffffffffffffffffffffffffffffffffff16826060015173ffffffffffffffffffffffffffffffffffffffff161461190c576040517f642321ac00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6060810151156119fb5760808201516040517fc3cc244a00000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff89169163c3cc244a916119729160040190815260200190565b602060405180830381865afa15801561198f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119b39190613bef565b6060830151909150600160ff83161b166119f9576040517f5a790ab800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b505050505050565b600080611a1283850185613b3f565b9050611a22868260000151611586565b9695505050505050565b600080611a3984846115fb565b805480602002602001604051908101604052809291908181526020018280548015611a9a57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311611a6f575b505050505090506000611aad85856115b9565b805480602002602001604051908101604052809291908181526020016000905b82821015611b79578382906000526020600020018054611aec90613698565b80601f0160208091040260200160405190810160405280929190818152602001828054611b1890613698565b8015611b655780601f10611b3a57610100808354040283529160200191611b65565b820191906000526020600020905b815481529060010190602001808311611b4857829003601f168201915b505050505081526020019060010190611acd565b505084519293505050868114611bd357856001811115611b9b57611b9b61378d565b6040517f3171c36f00000000000000000000000000000000000000000000000000000000815260ff9091166004820152602401610478565b60005b81811015611c9757611c7487858381518110611bf457611bf4613713565b6020026020010151858481518110611c0e57611c0e613713565b60200260200101518c8c86818110611c2857611c28613713565b9050602002810190611c3a9190613c0a565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506128f092505050565b611c855760009450505050506107aa565b80611c8f81613c6f565b915050611bd6565b50600198975050505050505050565b60606000611cb683850185613b3f565b90506000600760008154611cc990613c6f565b91829055506040805160a0810182528451815260208086015173ffffffffffffffffffffffffffffffffffffffff90811682840152606080880151909116838501528684015190830152608080870151908301526000848152600890915291909120815192935090918291908190611d419082613d19565b506020828101516001830180547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff9384161790915560408086015160028601805490931693169290921790556060840151600384015560809093015160049092019190915590518391600991600091611dd491869101612fe8565b60405160208183030381529060405280519060200120815260200190815260200160002081905550817fc1ab5d0231434d664068cd9e5f80a04152484f1844e564dd9fee5c687caa0d7c84600001518560200151866040015187606001518860800151604051611e48959493929190613e33565b60405180910390a26040805160208101849052016040516020818303038152906040529350505050949350505050565b8154600090815b81811015611ee8578373ffffffffffffffffffffffffffffffffffffffff16858281548110611eb057611eb0613713565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1603611ee0579150610b189050565b600101611e7f565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff949350505050565b8151600a811115611f4f576040517f760fb4ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80825114611f89576040517f3021beb200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b818110156119fb57600073ffffffffffffffffffffffffffffffffffffffff16848281518110611fbe57611fbe613713565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1603612013576040517f7d4de38200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600081118015612083575083600182038151811061203357612033613713565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1684828151811061206357612063613713565b602002602001015173ffffffffffffffffffffffffffffffffffffffff16145b156120ba576040517fd696c40800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8381815181106120cc576120cc613713565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1663a913b88184838151811061210157612101613713565b60200260200101516040518263ffffffff1660e01b81526004016121259190613102565b60006040518083038186803b15801561213d57600080fd5b505afa158015612151573d6000803e3d6000fd5b505050508584828151811061216857612168613713565b60209081029190910181015182546001810184556000938452919092200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909216919091179055825185908490839081106121de576121de613713565b602090810291909101810151825460018101845560009384529190922001906122079082613d19565b50600101611f8c565b600061223c827f01ffc9a700000000000000000000000000000000000000000000000000000000612274565b8015610b18575061226d827fffffffff00000000000000000000000000000000000000000000000000000000612274565b1592915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d9150600051905082801561232c575060208210155b80156123385750600081115b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff8216612400576123887f637821dcee84aabec9c8cf4f6f643013a24ad27fd41511ffd937aea80d8619a9826113cb565b6123fc576040517f75000dc00000000000000000000000000000000000000000000000000000000081527f637821dcee84aabec9c8cf4f6f643013a24ad27fd41511ffd937aea80d8619a9600482015273ffffffffffffffffffffffffffffffffffffffff82166024820152604401610478565b5050565b8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612462573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061248691906136f6565b73ffffffffffffffffffffffffffffffffffffffff16146123fc576040517fdc13a9c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000806124f1836040015160000151846020015185606001516129ec565b91509150600080612513856040015160200151866020015187608001516129ec565b91509150600060405180608001604052808673ffffffffffffffffffffffffffffffffffffffff1681526020018581526020018473ffffffffffffffffffffffffffffffffffffffff168152602001838152509050600073ffffffffffffffffffffffffffffffffffffffff16866020015173ffffffffffffffffffffffffffffffffffffffff16036126395780600587600001516040516125b59190613742565b9081526040805160209281900383019020835181547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff9283161783559385015160018301559184015160028201805490941692169190911790915560609091015160039091015561270c565b80600660008860200151896000015160405160200161265992919061375e565b604080518083037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00181529181528151602092830120835282820193909352908201600020835181547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff9283161783559285015160018301559284015160028201805490931693169290921790556060909101516003909101555b856020015173ffffffffffffffffffffffffffffffffffffffff167f5afe4586ed79afd39271a5d07aaa8d60de58e6e9a48ebf10c8f1ce828b592e7587600001518360000151896040015160000151856020015186604001518c604001516020015188606001516040516127869796959493929190613ebc565b60405180910390a2505050505050565b73ffffffffffffffffffffffffffffffffffffffff8216612818576005816040516127c19190613742565b90815260405190819003602001902080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811682556000600183018190556002830180549092169091556003909101556128b3565b60066000838360405160200161282f92919061375e565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152918152815160209283012083529082019290925201600090812080547fffffffffffffffffffffffff00000000000000000000000000000000000000009081168255600182018390556002820180549091169055600301555b7fa1b9abc85838f61f05343c3b5b89fe250131975f2b25b6029a263e253dc0e7fd81836040516128e4929190613f28565b60405180910390a15050565b600080604051806040016040528085815260200184815250905060008573ffffffffffffffffffffffffffffffffffffffff166334e5d29f836040516020016129399190613f60565b6040516020818303038152906040526040518263ffffffff1660e01b81526004016129649190613102565b6000604051808303816000875af1158015612983573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526129c99190810190613fc0565b50905060018160018111156129e0576129e061378d565b14979650505050505050565b6000806001856005811115612a0357612a0361378d565b03612a3357507f000000000000000000000000000000000000000000000000000000000000000090506000612b9c565b6002856005811115612a4757612a4761378d565b03612ab65773ffffffffffffffffffffffffffffffffffffffff8416612a99576040517fe86db48e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612aa38484612ba4565b83612aad84612da2565b91509150612b9c565b6003856005811115612aca57612aca61378d565b03612afa57507f000000000000000000000000000000000000000000000000000000000000000090506000612b9c565b6004856005811115612b0e57612b0e61378d565b03612b32575073ffffffffffffffffffffffffffffffffffffffff90506000612b9c565b6005856005811115612b4657612b4661378d565b03612b6a575073ffffffffffffffffffffffffffffffffffffffff90506000612b9c565b6040517f92c6e29000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b935093915050565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a91612c4991600401613102565b602060405180830381865afa158015612c66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c8a91906136f6565b825190915060005b81811015612d9b578273ffffffffffffffffffffffffffffffffffffffff16638a8cb0b486868481518110612cc957612cc9613713565b60200260200101516040518363ffffffff1660e01b8152600401612d1292919073ffffffffffffffffffffffffffffffffffffffff92909216825260ff16602082015260400190565b602060405180830381865afa158015612d2f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d5391906138af565b612d89576040517fa4ba834600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80612d9381613c6f565b915050612c92565b5050505050565b60008151600003612ddf576040517f0fcfd20b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805b8351811015612e2157838181518110612dfe57612dfe613713565b602002602001015160ff1660ff166001901b821791508080600101915050612de3565b5092915050565b5080546000825590600052602060002090810190612e469190612e67565b50565b5080546000825590600052602060002090810190612e469190612e80565b5b80821115612e7c5760008155600101612e68565b5090565b80821115612e7c576000612e948282612e9d565b50600101612e80565b508054612ea990613698565b6000825580601f10612eb9575050565b601f016020900490600052602060002090810190612e469190612e67565b73ffffffffffffffffffffffffffffffffffffffff81168114612e4657600080fd5b8035612f0481612ed7565b919050565b600060208284031215612f1b57600080fd5b8135610b0181612ed7565b600060208284031215612f3857600080fd5b813567ffffffffffffffff811115612f4f57600080fd5b820160a08185031215610b0157600080fd5b600060208284031215612f7357600080fd5b5035919050565b60005b83811015612f95578181015183820152602001612f7d565b50506000910152565b60008151808452612fb6816020860160208601612f7a565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000825160a0602084015261300460c0840182612f9e565b9050602084015173ffffffffffffffffffffffffffffffffffffffff8082166040860152806040870151166060860152505060608401516080840152608084015160a08401528091505092915050565b60008083601f84011261306657600080fd5b50813567ffffffffffffffff81111561307e57600080fd5b60208301915083602082850101111561309657600080fd5b9250929050565b600080600080606085870312156130b357600080fd5b84356130be81612ed7565b935060208501356130ce81612ed7565b9250604085013567ffffffffffffffff8111156130ea57600080fd5b6130f687828801613054565b95989497509550505050565b602081526000610b016020830184612f9e565b60028110612e4657600080fd5b60008083601f84011261313457600080fd5b50813567ffffffffffffffff81111561314c57600080fd5b6020830191508360208260051b850101111561309657600080fd5b60008060008060008060008060a0898b03121561318357600080fd5b883561318e81613115565b9750602089013561319e81612ed7565b9650604089013567ffffffffffffffff808211156131bb57600080fd5b6131c78c838d01613054565b909850965060608b01359150808211156131e057600080fd5b6131ec8c838d01613122565b909650945060808b013591508082111561320557600080fd5b506132128b828c01613122565b999c989b5096995094979396929594505050565b60008060006060848603121561323b57600080fd5b833561324681613115565b95602085013595506040909401359392505050565b6000806040838503121561326e57600080fd5b823561327981613115565b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160a0810167ffffffffffffffff811182821017156132d9576132d9613287565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561332657613326613287565b604052919050565b600067ffffffffffffffff82111561334857613348613287565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f83011261338557600080fd5b81356133986133938261332e565b6132df565b8181528460208386010111156133ad57600080fd5b816020850160208301376000918101602001919091529392505050565b600080604083850312156133dd57600080fd5b82356133e881612ed7565b9150602083013567ffffffffffffffff81111561340457600080fd5b61341085828601613374565b9150509250929050565b60008060006060848603121561342f57600080fd5b833561343a81613115565b925060208401359150604084013561345181612ed7565b809150509250925092565b60008060006060848603121561347157600080fd5b833561347c81613115565b9250602084013561348c81612ed7565b929592945050506040919091013590565b60008060008060008060008060a0898b0312156134b957600080fd5b883561318e81612ed7565b600080600080600080600060a0888a0312156134df57600080fd5b87356134ea81613115565b965060208801356134fa81612ed7565b955060408801359450606088013567ffffffffffffffff8082111561351e57600080fd5b61352a8b838c01613122565b909650945060808a013591508082111561354357600080fd5b506135508a828b01613122565b989b979a50959850939692959293505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60208152600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126135e457600080fd5b830160208101903567ffffffffffffffff81111561360157600080fd5b80360382131561361057600080fd5b60a0602085015261362560c085018284613563565b91505061363460208501612ef9565b73ffffffffffffffffffffffffffffffffffffffff811660408501525061365d60408501612ef9565b73ffffffffffffffffffffffffffffffffffffffff811660608501525060608401356080840152608084013560a08401528091505092915050565b600181811c908216806136ac57607f821691505b6020821081036136e5577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b8051612f0481612ed7565b60006020828403121561370857600080fd5b8151610b0181612ed7565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008251613754818460208701612f7a565b9190910192915050565b73ffffffffffffffffffffffffffffffffffffffff831681526040602082015260006107aa6040830184612f9e565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600067ffffffffffffffff8211156137d6576137d6613287565b5060051b60200190565b60006137ee613393846137bc565b80848252602080830192508560051b85013681111561380c57600080fd5b855b8181101561384857803567ffffffffffffffff81111561382e5760008081fd5b61383a36828a01613374565b86525093820193820161380e565b50919695505050505050565b60208082528181018390526000908460408401835b868110156138a457823561387c81612ed7565b73ffffffffffffffffffffffffffffffffffffffff1682529183019190830190600101613869565b509695505050505050565b6000602082840312156138c157600080fd5b81518015158114610b0157600080fd5b600080604083850312156138e457600080fd5b82359150602083013567ffffffffffffffff81111561340457600080fd5b60006139106133938461332e565b905082815283838301111561392457600080fd5b610b01836020830184612f7a565b600082601f83011261394357600080fd5b610b0183835160208501613902565b805160068110612f0457600080fd5b60006040828403121561397357600080fd5b6040516040810181811067ffffffffffffffff8211171561399657613996613287565b6040529050806139a583613952565b81526139b360208401613952565b60208201525092915050565b805160ff81168114612f0457600080fd5b600082601f8301126139e157600080fd5b815160206139f1613393836137bc565b82815260059290921b84018101918181019086841115613a1057600080fd5b8286015b848110156138a457613a25816139bf565b8352918301918301613a14565b600060208284031215613a4457600080fd5b815167ffffffffffffffff80821115613a5c57600080fd5b9083019060c08286031215613a7057600080fd5b613a786132b6565b825182811115613a8757600080fd5b613a9387828601613932565b825250613aa2602084016136eb565b6020820152613ab48660408501613961565b6040820152608083015182811115613acb57600080fd5b613ad7878286016139d0565b60608301525060a083015182811115613aef57600080fd5b613afb878286016139d0565b60808301525095945050505050565b600060208284031215613b1c57600080fd5b815167ffffffffffffffff811115613b3357600080fd5b6107aa84828501613932565b600060208284031215613b5157600080fd5b813567ffffffffffffffff80821115613b6957600080fd5b9083019060a08286031215613b7d57600080fd5b613b856132b6565b823582811115613b9457600080fd5b613ba087828601613374565b82525060208301359150613bb382612ed7565b8160208201526040830135604082015260608301359150613bd382612ed7565b8160608201526080830135608082015280935050505092915050565b600060208284031215613c0157600080fd5b610b01826139bf565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112613c3f57600080fd5b83018035915067ffffffffffffffff821115613c5a57600080fd5b60200191503681900382131561309657600080fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613cc7577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b601f821115613d1457600081815260208120601f850160051c81016020861015613cf55750805b601f850160051c820191505b818110156119fb57828155600101613d01565b505050565b815167ffffffffffffffff811115613d3357613d33613287565b613d4781613d418454613698565b84613cce565b602080601f831160018114613d9a5760008415613d645750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b1785556119fb565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015613de757888601518255948401946001909101908401613dc8565b5085821015613e2357878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b60a081526000613e4660a0830188612f9e565b73ffffffffffffffffffffffffffffffffffffffff968716602084015260408301959095525091909316606082015260800191909152919050565b60068110613eb8577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b60e081526000613ecf60e083018a612f9e565b905073ffffffffffffffffffffffffffffffffffffffff8089166020840152613efb6040840189613e81565b6060830187905285166080830152613f1660a0830185613e81565b8260c083015298975050505050505050565b604081526000613f3b6040830185612f9e565b905073ffffffffffffffffffffffffffffffffffffffff831660208301529392505050565b602081526000825160406020840152613f7c6060840182612f9e565b905060208401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0848303016040850152613fb78282612f9e565b95945050505050565b60008060408385031215613fd357600080fd5b8251613fde81613115565b602084015190925067ffffffffffffffff811115613ffb57600080fd5b8301601f8101851361400c57600080fd5b6134108582516020840161390256fea26469706673582212207190e1ba25e661aeef442bbbda8112d09efcacc42e8f5ab6301701d36abe602264736f6c63430008130033000000000000000000000000ad2377c8f9f0ca6382fef166b08aede8318fe49c000000000000000000000000edbd4907a7f98de932e635e9076b4e0c36d0e797000000000000000000000000cd28eb9d0d2afcf4354f2c93de5ce9bbf88257ae000000000000000000000000e3c522921a16c692e664d06d53a251f91323a06b0000000000000000000000007edacd4d53b5a626471c6728f04d92125ccf647f", + "nonce": "0x605", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xb0acaa085d5482b98b3a6a658c2bd9a7d97cbd13ff1976adbaf5e39b7d5d986b", + "transactionType": "CREATE", + "contractName": "LicensingModule", + "contractAddress": "0x6a3E5eB4CE11aE3B063903AB6530c34D6daf9Dc0", + "function": null, + "arguments": [ + "(0xaD2377c8f9f0ca6382fEf166b08aeDe8318fE49C, 0xedBd4907A7F98de932e635e9076B4E0C36D0E797, 0xCD28eb9D0D2AFcf4354F2c93dE5ce9Bbf88257ae, 0xE3C522921A16c692E664D06d53a251f91323a06B)", + "0xA30bB959Bc298e244aCE0402B5c0609CC8745134", + "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x47ef53", + "value": "0x0", + "data": "0x6101406040523480156200001257600080fd5b50604051620043ae380380620043ae83398101604081905262000035916200016b565b825183906001600160a01b03166200006057604051636028d8f760e01b815260040160405180910390fd5b80516001600160a01b039081166080526020820151166200009457604051637e2fee8960e11b815260040160405180910390fd5b60208101516001600160a01b0390811660a052604082015116620000cb57604051635a70c46160e11b815260040160405180910390fd5b60408101516001600160a01b0390811660c052606090910151811660e0528216620001095760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03808316610100528116620001385760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03166101205250620002359050565b80516001600160a01b03811681146200016657600080fd5b919050565b600080600083850360c08112156200018257600080fd5b60808112156200019157600080fd5b50604051608081016001600160401b0381118282101715620001c357634e487b7160e01b600052604160045260246000fd5b604052620001d1856200014e565b8152620001e1602086016200014e565b6020820152620001f4604086016200014e565b604082015262000207606086016200014e565b606082015292506200021c608085016200014e565b91506200022c60a085016200014e565b90509250925092565b60805160a05160c05160e05161010051610120516140c7620002e76000396000818161027d0152612a430152600081816102b701528181611a1f01528181611d110152612667015260006101d80152600081816103b0015281816112850152818161137601528181611f4f015281816120480152818161216e015281816124ce0152612ad90152600081816103290152818161041201526108ce015260008181610363015261256001526140c76000f3fe608060405234801561001057600080fd5b506004361061016c5760003560e01c8063a5b04d45116100cd578063e572040411610081578063f0ebdc8311610066578063f0ebdc83146103ab578063f1ac0fd5146103d2578063fba854e0146103e557600080fd5b8063e572040414610385578063e8fb5c9b1461039857600080fd5b8063b95ddb52116100b2578063b95ddb5214610324578063bc12fcca1461034b578063d2faf8b01461035e57600080fd5b8063a5b04d45146102fc578063b6efd29d1461031157600080fd5b806368a4f071116101245780637448c568116101095780637448c5681461029f57806376a4b13b146102b257806377379d94146102d957600080fd5b806368a4f07114610265578063743fee4a1461027857600080fd5b80634fcbd213116101555780634fcbd213146101b357806351e06b90146101d3578063562573a91461021f57600080fd5b806332ee6813146101715780634fa4467c146101ab575b600080fd5b6101987fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81565b6040519081526020015b60405180910390f35b610198600a81565b6101c66101c1366004612fcb565b6103f8565b6040516101a2919061309e565b6101fa7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101a2565b61025861022d3660046130b1565b73ffffffffffffffffffffffffffffffffffffffff1660009081526005602052604090205460ff1690565b6040516101a29190613111565b6101c661027336600461312c565b610480565b6101fa7f000000000000000000000000000000000000000000000000000000000000000081565b6101986102ad366004613161565b61065b565b6101fa7f000000000000000000000000000000000000000000000000000000000000000081565b6102ec6102e736600461318d565b610671565b60405190151581526020016101a2565b61030f61030a3660046131cf565b6106a9565b005b6101c661031f366004613255565b6108b4565b6101fa7f000000000000000000000000000000000000000000000000000000000000000081565b610198610359366004613161565b610a19565b6101fa7f000000000000000000000000000000000000000000000000000000000000000081565b6101fa61039336600461312c565b610a25565b6101986103a636600461318d565b610b1d565b6101fa7f000000000000000000000000000000000000000000000000000000000000000081565b6101c66103e0366004613314565b610b32565b61030f6103f3366004613369565b610c54565b60603373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610469576040517f72823b5400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61047585858585610e32565b90505b949350505050565b6060600061048e8585610eb4565b805480602002602001604051908101604052809291908181526020016000905b8282101561055a5783829060005260206000200180546104cd90613408565b80601f01602080910402602001604051908101604052809291908181526020018280546104f990613408565b80156105465780601f1061051b57610100808354040283529160200191610546565b820191906000526020600020905b81548152906001019060200180831161052957829003601f168201915b5050505050815260200190600101906104ae565b505050509050805183106105a2576040517f9c7692bf000000000000000000000000000000000000000000000000000000008152600481018490526024015b60405180910390fd5b6105ac8585610eb4565b83815481106105bd576105bd61345b565b9060005260206000200180546105d290613408565b80601f01602080910402602001604051908101604052809291908181526020018280546105fe90613408565b801561064b5780601f106106205761010080835404028352916020019161064b565b820191906000526020600020905b81548152906001019060200180831161062e57829003601f168201915b50505050509150505b9392505050565b60006106678383610ef6565b5490505b92915050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61069f858585610b1d565b1415949350505050565b8173ffffffffffffffffffffffffffffffffffffffff81166106f7576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610742573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610766919061348a565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146107ca576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008460018111156107de576107de6130ce565b1480156107f8575060008281526020819052604090205415155b1561083057600082815260208190526040812061081491612eb1565b600082815260026020526040812061082b91612ed2565b610872565b6000828152600160205260409020541561087257600082815260016020526040812061085b91612eb1565b600082815260036020526040812061087291612ed2565b81846001811115610885576108856130ce565b6040517f1fe48a4ec69671720d8bdd8f8a6853d16f486c0bb91fcaf5b8ffc4932b8bc9f490600090a350505050565b60603373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610925576040517f72823b5400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fff5c818c3a09617e24e0ba5e97a8b336e42589e94d6f586a74a28d768ee2c8cb6109538686600084610f38565b6109ae5760405173ffffffffffffffffffffffffffffffffffffffff8a16907fa1e5a8c0fde3fa4d7320c3f9de0ab0a2c1ee6e891e6a513ca0811ddcf768b59490600090a25050604080516020810190915260008152610a0d565b6109ba8a8a8a8a6111b2565b91506109c98484600184610f38565b5060405173ffffffffffffffffffffffffffffffffffffffff8a16907f4ec4635a4d1f6ebe9ee3a059f74fc5d802e04d2d115c4090337a34e3b137c98a90600090a2505b98975050505050505050565b60006106678383610eb4565b600080610a328585610ef6565b805480602002602001604051908101604052809291908181526020018280548015610a9357602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610a68575b5050505050905080518310610ad7576040517f9c7692bf00000000000000000000000000000000000000000000000000000000815260048101849052602401610599565b610ae18585610ef6565b8381548110610af257610af261345b565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1695945050505050565b6000610478610b2c8585610ef6565b83611434565b6060600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610bb485858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506114ce92505050565b81526020019081526020016000208054610bcd90613408565b80601f0160208091040260200160405190810160405280929190818152602001828054610bf990613408565b8015610c465780601f10610c1b57610100808354040283529160200191610c46565b820191906000526020600020905b815481529060010190602001808311610c2957829003601f168201915b505050505090509392505050565b8573ffffffffffffffffffffffffffffffffffffffff8116610ca2576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ced573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d11919061348a565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d75576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d808888886106a9565b610ddc610d8d8988610ef6565b610d978a89610eb4565b878780806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250610dd79250889150899050613631565b611525565b85886001811115610def57610def6130ce565b7f5e140eb5bed8bcb1664a04c0be4aa419e0d2dbf1277a4a6770882a0beb3b91b28787604051610e209291906136a5565b60405180910390a35050505050505050565b6060600080610e4384860186613700565b915091507f8b21f20183a523515c357db6dba25c92b138630b63988ca3e60a6be86c8da0458203610e8257610e7987878361182b565b92505050610478565b6040517f96bb42f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080836001811115610ec957610ec96130ce565b03610ee25750600081815260026020526040902061066b565b50600081815260036020526040902061066b565b600080836001811115610f0b57610f0b6130ce565b03610f245750600081815260208190526040902061066b565b50600081815260016020526040902061066b565b600080610f458484610ef6565b805480602002602001604051908101604052809291908181526020018280548015610fa657602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610f7b575b505050505090506000610fb98585610eb4565b805480602002602001604051908101604052809291908181526020016000905b82821015611085578382906000526020600020018054610ff890613408565b80601f016020809104026020016040519081016040528092919081815260200182805461102490613408565b80156110715780601f1061104657610100808354040283529160200191611071565b820191906000526020600020905b81548152906001019060200180831161105457829003601f168201915b505050505081526020019060010190610fd9565b5050845192935050508681146110df578560018111156110a7576110a76130ce565b6040517f3171c36f00000000000000000000000000000000000000000000000000000000815260ff9091166004820152602401610599565b60005b818110156111a357611180878583815181106111005761110061345b565b602002602001015185848151811061111a5761111a61345b565b60200260200101518c8c868181106111345761113461345b565b90506020028101906111469190613747565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611de092505050565b611191576000945050505050610478565b8061119b816137ac565b9150506110e2565b50600198975050505050505050565b60606000806111c384860186613700565b915091507f3f92a83f1dd77188c62fa393a54ccf9854be836ca6c243397d0acbbce047238782036111f957610e79878783611edc565b7f5281374dd3fc2bb7839f50fddfb6a14a666cb4d23b20d6aecf9b9950d103b33682036112fd57600081806020019051810190611236919061380b565b6040517f1f09e4e50000000000000000000000000000000000000000000000000000000081526004810182905273ffffffffffffffffffffffffffffffffffffffff89811660248301529192507f000000000000000000000000000000000000000000000000000000000000000090911690631f09e4e590604401600060405180830381600087803b1580156112cb57600080fd5b505af11580156112df573d6000803e3d6000fd5b50505050604051806020016040528060008152509350505050610478565b7f29def77ab981c01a6b53c58b23dd89ac4447095f721298424063ed3f16962ac68203611402576000808280602001905181019061133b9190613824565b6040517f71e074dd000000000000000000000000000000000000000000000000000000008152600481018390526024810182905291935091507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906371e074dd90604401600060405180830381600087803b1580156113cf57600080fd5b505af11580156113e3573d6000803e3d6000fd5b5050505060405180602001604052806000815250945050505050610478565b6040517f8c3cdde800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8154600090815b818110156114a4578373ffffffffffffffffffffffffffffffffffffffff1685828154811061146c5761146c61345b565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff160361149c57915061066b9050565b60010161143b565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff949350505050565b600080829050601f8151111561151257826040517f305a27a9000000000000000000000000000000000000000000000000000000008152600401610599919061309e565b805161151d82613848565b179392505050565b8151600a811115611562576040517f760fb4ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8082511461159c576040517f3021beb200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b8181101561182357600073ffffffffffffffffffffffffffffffffffffffff168482815181106115d1576115d161345b565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1603611626576040517f7d4de38200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008111801561169657508360018203815181106116465761164661345b565b602002602001015173ffffffffffffffffffffffffffffffffffffffff168482815181106116765761167661345b565b602002602001015173ffffffffffffffffffffffffffffffffffffffff16145b156116cd576040517fd696c40800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8381815181106116df576116df61345b565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1663a913b8818483815181106117145761171461345b565b60200260200101516040518263ffffffff1660e01b8152600401611738919061309e565b60006040518083038186803b15801561175057600080fd5b505afa158015611764573d6000803e3d6000fd5b505050508584828151811061177b5761177b61345b565b60209081029190910181015182546001810184556000938452919092200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909216919091179055825185908490839081106117f1576117f161345b565b6020908102919091018101518254600181018455600093845291909220019061181a90826138d5565b5060010161159f565b505050505050565b60608273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561188f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118b3919061348a565b73ffffffffffffffffffffffffffffffffffffffff1614611900576040517f679dd15600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000828060200190518101906119169190613b15565b9050600081604001516002811115611930576119306130ce565b03611967576040517fbe53f1bf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff821660009081526005602052604090205460ff1660028111156119a4576119a46130ce565b146119db576040517f58d7c9ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815160208301516040517f912871c800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169263912871c892611a5292600401613c2a565b602060405180830381865afa158015611a6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a939190613c58565b611ac9576040517f3d43105700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408083015173ffffffffffffffffffffffffffffffffffffffff8316600090815260056020529190912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001836002811115611b2c57611b2c6130ce565b0217905550815173ffffffffffffffffffffffffffffffffffffffff8216600090815260066020526040902090611b6390826138d5565b5073ffffffffffffffffffffffffffffffffffffffff811660009081526004602090815260408220908401515190915b81811015611ca95784602001518181518110611bb157611bb161345b565b60200260200101516020015183600087602001518481518110611bd657611bd661345b565b60200260200101516000015181526020019081526020016000209081611bfc91906138d5565b508373ffffffffffffffffffffffffffffffffffffffff167fa4e47a4c0e1b636bd11cfbec15cad6ae0d34947d00219bb1bab5ee309dc79c5f611c5f87602001518481518110611c4e57611c4e61345b565b60200260200101516000015161233e565b87602001518481518110611c7557611c7561345b565b602002602001015160200151604051611c8f929190613c7a565b60405180910390a280611ca1816137ac565b915050611b93565b5083516040517feae376e300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff808616927fffedbcce1b94ebe928a55b7ca34c76074cbe7f467d561b9c0589d5d985b39be39290917f0000000000000000000000000000000000000000000000000000000000000000169063eae376e390611d4690849060040161309e565b600060405180830381865afa158015611d63573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052611da99190810190613c9f565b8760400151604051611dbd93929190613cd4565b60405180910390a250506040805160208101909152600081529695505050505050565b600080604051806040016040528085815260200184815250905060008573ffffffffffffffffffffffffffffffffffffffff166334e5d29f83604051602001611e299190613d09565b6040516020818303038152906040526040518263ffffffff1660e01b8152600401611e54919061309e565b6000604051808303816000875af1158015611e73573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052611eb99190810190613d60565b5090506001816001811115611ed057611ed06130ce565b14979650505050505050565b6060600082806020019051810190611ef49190613da7565b90506000611f0c86868460200151856040015161237d565b905081602001516000146120055760208201516040517fe705c2b800000000000000000000000000000000000000000000000000000000815260048101919091527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063e705c2b890602401602060405180830381865afa158015611fab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fcf9190613c58565b612005576040517f37efd03900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020820151158015906120c8575060208201516040517f3c06e1dc00000000000000000000000000000000000000000000000000000000815260048101919091527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690633c06e1dc90602401602060405180830381865afa1580156120a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120c89190613c58565b156122055781515115612107576040517f4af02eb800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602082015160408084015190517fd09d894e000000000000000000000000000000000000000000000000000000008152600481019290925273ffffffffffffffffffffffffffffffffffffffff8381166024840152878116604484015260648301919091527f0000000000000000000000000000000000000000000000000000000000000000169063d09d894e906084016020604051808303816000875af11580156121b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121db919061380b565b6040516020016121ed91815260200190565b60405160208183030381529060405292505050610654565b8473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461226a576040517f2d05516900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6121db86868385600660008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080546122bb90613408565b80601f01602080910402602001604051908101604052809291908181526020018280546122e790613408565b80156123345780601f1061230957610100808354040283529160200191612334565b820191906000526020600020905b81548152906001019060200180831161231757829003601f168201915b5050505050612621565b6060600061234b83612b89565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b73ffffffffffffffffffffffffffffffffffffffff841660009081526005602052604081205460ff16818160028111156123b9576123b96130ce565b036123f0576040517f8c17640800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816002811115612404576124046130ce565b03612480578573ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612454573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612478919061348a565b915050610478565b6002816002811115612494576124946130ce565b036125ef57831561252b576040517f6352211e000000000000000000000000000000000000000000000000000000008152600481018590527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690636352211e906024015b602060405180830381865afa158015612454573d6000803e3d6000fd5b82156125a4576040517f299d1cf6000000000000000000000000000000000000000000000000000000008152600481018490527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063299d1cf69060240161250e565b8573ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612454573d6000803e3d6000fd5b6040517fbe53f1bf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8151516040517fe75afa5500000000000000000000000000000000000000000000000000000000815260009190829073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169063e75afa559061269c90879060040161309e565b600060405180830381865afa1580156126b9573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526126ff9190810190613e2b565b805190915060008167ffffffffffffffff81111561271f5761271f6134a7565b60405190808252806020026020018201604052801561276557816020015b60408051808201909152600081526060602082015281526020019060019003908161273d5790505b5073ffffffffffffffffffffffffffffffffffffffff8b166000908152600460205260408120919250908190815b85811015612a195760008782815181106127af576127af61345b565b6020026020010151905060008360008360000151815260200190815260200160002080546127dc90613408565b80601f016020809104026020016040519081016040528092919081815260200182805461280890613408565b80156128555780601f1061282a57610100808354040283529160200191612855565b820191906000526020600020905b81548152906001019060200180831161283857829003601f168201915b50505050509050606060005b8b8110156128bf5760008f6000015182815181106128815761288161345b565b6020026020010151905061289c816000015186600001511490565b156128ac576020015191506128bf565b50806128b7816137ac565b915050612861565b5060006128d182848660200151612bca565b9050604051806040016040528085600001518152602001828152508986815181106128fe576128fe61345b565b60200260200101819052507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708180519060200120036129405750505050612a07565b61298384600001516040518060400160405280601e81526020017f44657269766174697665732d5265636970726f63616c2d4c6963656e73650000815250612c5b565b156129a3578080602001905181019061299c9190613c58565b9750612a02565b6129e684600001516040518060400160405280601981526020017f44657269766174697665732d576974682d417070726f76616c00000000000000815250612c5b565b15612a0257808060200190518101906129ff9190613c58565b96505b505050505b80612a11816137ac565b915050612793565b506040805161012081019091526000908060018152602001851515815260200184151581526020017f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1681526020018d73ffffffffffffffffffffffffffffffffffffffff1681526020018f73ffffffffffffffffffffffffffffffffffffffff168152602001612abe8c6114ce565b81526020018c6040015181526020018c6020015181525090507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663c7647215828f886040518463ffffffff1660e01b8152600401612b3493929190613ef0565b6020604051808303816000875af1158015612b53573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b77919061380b565b9e9d5050505050505050505050505050565b600060ff8216601f81111561066b576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b825160609015612c5457825115612c0d576040517f42445ce000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612c178285612c6e565b612c4d576040517f5bcde08d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5082610654565b5081610654565b600061065483612c6a846114ce565b1490565b60007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470828051906020012003612ca65750600161066b565b6000836004811115612cba57612cba6130ce565b03612cdd5781806020019051810190612cd39190613c58565b506001905061066b565b6001836004811115612cf157612cf16130ce565b03612d1e5781806020019051810190612d0a919061380b565b600003612d195750600061066b565b612ea8565b6002836004811115612d3257612d326130ce565b03612d8657600073ffffffffffffffffffffffffffffffffffffffff1682806020019051810190612d63919061348a565b73ffffffffffffffffffffffffffffffffffffffff1603612d195750600061066b565b6003836004811115612d9a57612d9a6130ce565b03612e625781806020019051810190612db39190613c9f565b50604051602001612df59060208082526001908201527f2000000000000000000000000000000000000000000000000000000000000000604082015260600190565b6040516020818303038152906040528051906020012082805190602001201480612e555750604051602001612e3590602080825260009082015260400190565b604051602081830303815290604052805190602001208280519060200120145b15612d195750600061066b565b6004836004811115612e7657612e766130ce565b03612ea857600082806020019051810190612e91919061400b565b90508051600003612ea657600091505061066b565b505b50600192915050565b5080546000825590600052602060002090810190612ecf9190612ef0565b50565b5080546000825590600052602060002090810190612ecf9190612f09565b5b80821115612f055760008155600101612ef1565b5090565b80821115612f05576000612f1d8282612f26565b50600101612f09565b508054612f3290613408565b6000825580601f10612f42575050565b601f016020900490600052602060002090810190612ecf9190612ef0565b73ffffffffffffffffffffffffffffffffffffffff81168114612ecf57600080fd5b60008083601f840112612f9457600080fd5b50813567ffffffffffffffff811115612fac57600080fd5b602083019150836020828501011115612fc457600080fd5b9250929050565b60008060008060608587031215612fe157600080fd5b8435612fec81612f60565b93506020850135612ffc81612f60565b9250604085013567ffffffffffffffff81111561301857600080fd5b61302487828801612f82565b95989497509550505050565b60005b8381101561304b578181015183820152602001613033565b50506000910152565b6000815180845261306c816020860160208601613030565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006106546020830184613054565b6000602082840312156130c357600080fd5b813561065481612f60565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6003811061310d5761310d6130ce565b9052565b6020810161066b82846130fd565b60028110612ecf57600080fd5b60008060006060848603121561314157600080fd5b833561314c8161311f565b95602085013595506040909401359392505050565b6000806040838503121561317457600080fd5b823561317f8161311f565b946020939093013593505050565b6000806000606084860312156131a257600080fd5b83356131ad8161311f565b92506020840135915060408401356131c481612f60565b809150509250925092565b6000806000606084860312156131e457600080fd5b83356131ef8161311f565b925060208401356131ff81612f60565b929592945050506040919091013590565b60008083601f84011261322257600080fd5b50813567ffffffffffffffff81111561323a57600080fd5b6020830191508360208260051b8501011115612fc457600080fd5b60008060008060008060008060a0898b03121561327157600080fd5b883561327c81612f60565b9750602089013561328c81612f60565b9650604089013567ffffffffffffffff808211156132a957600080fd5b6132b58c838d01612f82565b909850965060608b01359150808211156132ce57600080fd5b6132da8c838d01613210565b909650945060808b01359150808211156132f357600080fd5b506133008b828c01613210565b999c989b5096995094979396929594505050565b60008060006040848603121561332957600080fd5b833561333481612f60565b9250602084013567ffffffffffffffff81111561335057600080fd5b61335c86828701612f82565b9497909650939450505050565b600080600080600080600060a0888a03121561338457600080fd5b873561338f8161311f565b9650602088013561339f81612f60565b955060408801359450606088013567ffffffffffffffff808211156133c357600080fd5b6133cf8b838c01613210565b909650945060808a01359150808211156133e857600080fd5b506133f58a828b01613210565b989b979a50959850939692959293505050565b600181811c9082168061341c57607f821691505b602082108103613455577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006020828403121561349c57600080fd5b815161065481612f60565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156134f9576134f96134a7565b60405290565b6040516060810167ffffffffffffffff811182821017156134f9576134f96134a7565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715613569576135696134a7565b604052919050565b600067ffffffffffffffff82111561358b5761358b6134a7565b5060051b60200190565b600067ffffffffffffffff8211156135af576135af6134a7565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f8301126135ec57600080fd5b81356135ff6135fa82613595565b613522565b81815284602083860101111561361457600080fd5b816020850160208301376000918101602001919091529392505050565b600061363f6135fa84613571565b80848252602080830192508560051b85013681111561365d57600080fd5b855b8181101561369957803567ffffffffffffffff81111561367f5760008081fd5b61368b36828a016135db565b86525093820193820161365f565b50919695505050505050565b60208082528181018390526000908460408401835b868110156136f55782356136cd81612f60565b73ffffffffffffffffffffffffffffffffffffffff16825291830191908301906001016136ba565b509695505050505050565b6000806040838503121561371357600080fd5b82359150602083013567ffffffffffffffff81111561373157600080fd5b61373d858286016135db565b9150509250929050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261377c57600080fd5b83018035915067ffffffffffffffff82111561379757600080fd5b602001915036819003821315612fc457600080fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613804577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b60006020828403121561381d57600080fd5b5051919050565b6000806040838503121561383757600080fd5b505080516020909101519092909150565b80516020808301519190811015613455577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60209190910360031b1b16919050565b601f8211156138d057600081815260208120601f850160051c810160208610156138b15750805b601f850160051c820191505b81811015611823578281556001016138bd565b505050565b815167ffffffffffffffff8111156138ef576138ef6134a7565b613903816138fd8454613408565b8461388a565b602080601f83116001811461395657600084156139205750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555611823565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156139a357888601518255948401946001909101908401613984565b50858210156139df57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600082601f830112613a0057600080fd5b8151613a0e6135fa82613595565b818152846020838601011115613a2357600080fd5b610478826020830160208701613030565b600082601f830112613a4557600080fd5b81516020613a556135fa83613571565b82815260059290921b84018101918181019086841115613a7457600080fd5b8286015b848110156136f557805167ffffffffffffffff80821115613a995760008081fd5b81890191506040807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0848d03011215613ad25760008081fd5b613ada6134d6565b838801518152908301519082821115613af35760008081fd5b613b018c89848701016139ef565b818901528652505050918301918301613a78565b600060208284031215613b2757600080fd5b815167ffffffffffffffff80821115613b3f57600080fd5b9083019060608286031215613b5357600080fd5b613b5b6134ff565b825182811115613b6a57600080fd5b613b76878286016139ef565b825250602083015182811115613b8b57600080fd5b613b9787828601613a34565b6020830152506040830151925060038310613bb157600080fd5b6040810192909252509392505050565b600081518084526020808501808196508360051b8101915082860160005b85811015613c1d5782840389528151805185528501516040868601819052613c0981870183613054565b9a87019a9550505090840190600101613bdf565b5091979650505050505050565b604081526000613c3d6040830185613054565b8281036020840152613c4f8185613bc1565b95945050505050565b600060208284031215613c6a57600080fd5b8151801515811461065457600080fd5b604081526000613c8d6040830185613054565b8281036020840152613c4f8185613054565b600060208284031215613cb157600080fd5b815167ffffffffffffffff811115613cc857600080fd5b610478848285016139ef565b606081526000613ce76060830186613054565b8281036020840152613cf98186613054565b91505061047860408301846130fd565b602081526000825160406020840152613d256060840182613054565b905060208401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0848303016040850152613c4f8282613054565b60008060408385031215613d7357600080fd5b8251613d7e8161311f565b602084015190925067ffffffffffffffff811115613d9b57600080fd5b61373d858286016139ef565b600060208284031215613db957600080fd5b815167ffffffffffffffff80821115613dd157600080fd5b9083019060608286031215613de557600080fd5b613ded6134ff565b825182811115613dfc57600080fd5b613e0887828601613a34565b825250602083015160208201526040830151604082015280935050505092915050565b60006020808385031215613e3e57600080fd5b825167ffffffffffffffff811115613e5557600080fd5b8301601f81018513613e6657600080fd5b8051613e746135fa82613571565b81815260069190911b82018301908381019087831115613e9357600080fd5b928401925b82841015613ee55760408489031215613eb15760008081fd5b613eb96134d6565b845181528585015160058110613ecf5760008081fd5b8187015282526040939093019290840190613e98565b979650505050505050565b6000610160855160048110613f0757613f076130ce565b808452506020860151613f1e602085018215159052565b506040860151613f32604085018215159052565b506060860151613f5a606085018273ffffffffffffffffffffffffffffffffffffffff169052565b506080860151613f82608085018273ffffffffffffffffffffffffffffffffffffffff169052565b5060a0860151613faa60a085018273ffffffffffffffffffffffffffffffffffffffff169052565b5060c086015160c084015260e086015160e0840152610100808701518185015250613fee61012084018673ffffffffffffffffffffffffffffffffffffffff169052565b8061014084015261400181840185613bc1565b9695505050505050565b6000602080838503121561401e57600080fd5b825167ffffffffffffffff81111561403557600080fd5b8301601f8101851361404657600080fd5b80516140546135fa82613571565b81815260059190911b8201830190838101908783111561407357600080fd5b928401925b82841015613ee55783518252928401929084019061407856fea2646970667358221220062f5c75542050cd9bd2cbfd21dc127d90d821d9275002a728e7843bea209b5664736f6c63430008130033000000000000000000000000ad2377c8f9f0ca6382fef166b08aede8318fe49c000000000000000000000000edbd4907a7f98de932e635e9076b4e0c36d0e797000000000000000000000000cd28eb9d0d2afcf4354f2c93de5ce9bbf88257ae000000000000000000000000e3c522921a16c692e664d06d53a251f91323a06b000000000000000000000000a30bb959bc298e244ace0402b5c0609cc8745134000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "nonce": "0x606", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x95ea5d1ed711248ea3d4ca9a79541f30a843636aa27768fb1fef906c473f3ba6", + "transactionType": "CREATE", + "contractName": "TokenGatedHook", + "contractAddress": "0x1fDD8955a6D70c84A71Ebb69dE88f3Ad0AAc50d6", + "function": null, + "arguments": [ + "0x7EDacD4d53b5A626471c6728f04D92125CcF647F" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x108989", + "value": "0x0", + "data": "0x60806040523480156200001157600080fd5b5060405162000f8838038062000f888339810160408190526200003491620001d1565b808080620000536001600160a01b038216637965db0b60e01b620000e5565b62000096576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b038316908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a250505050620001fc565b6000620000f2836200010d565b801562000106575062000106838362000146565b9392505050565b600062000122826301ffc9a760e01b62000146565b80156200014057506200013e826001600160e01b031962000146565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d91506000519050828015620001b9575060208210155b8015620001c65750600081115b979650505050505050565b600060208284031215620001e457600080fd5b81516001600160a01b03811681146200010657600080fd5b610d7c806200020c6000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806319129e5a1461005157806334e5d29f146100665780635260a98c14610090578063a913b881146100b2575b600080fd5b61006461005f3660046108c2565b6100c5565b005b610079610074366004610928565b610229565b604051610087929190610a09565b60405180910390f35b6100a361009e366004610a31565b610328565b60405161008793929190610a88565b6100646100c0366004610928565b6103ca565b60006100d1813361040d565b610115576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b61015573ffffffffffffffffffffffffffffffffffffffff83167f7965db0b000000000000000000000000000000000000000000000000000000006104b0565b6101bb576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c000000000000000000000000000000000000604482015260640161010c565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050565b600060607f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db610258813361040d565b610297576040517f75000dc00000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440161010c565b60006102a585870187610b92565b90506102b481600001516104cc565b6102c6816000015182602001516105df565b600194509250833073ffffffffffffffffffffffffffffffffffffffff167fdfd1fe8825f45c847f436243dea4246c2ed6c29b2ee09d385de7a3049566b69788888760405161031793929190610c39565b60405180910390a350509250929050565b6000606060007f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db610359813361040d565b610398576040517f75000dc00000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440161010c565b6040517fcce14c2300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61040982828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506104cc92505050565b5050565b600080546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff8481166024830152909116906391d1485490604401602060405180830381865afa158015610485573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a99190610c9f565b9392505050565b60006104bb83610769565b80156104a957506104a983836107ce565b6000818060200190518101906104e29190610d11565b805190915073ffffffffffffffffffffffffffffffffffffffff8116610534576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61057473ffffffffffffffffffffffffffffffffffffffff82167f80ac58cd000000000000000000000000000000000000000000000000000000006104b0565b6105da576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f4945524337323100000000000000000000000000000000000000000000000000604482015260640161010c565b505050565b60606000838060200190518101906105f79190610d11565b905060008380602001905181019061060f9190610d11565b805190915073ffffffffffffffffffffffffffffffffffffffff16610660576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815181516040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91821660048201529116906370a0823190602401602060405180830381865afa1580156106d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f49190610d2d565b60000361075157815181516040517fe9dee8af00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff92831660048201529116602482015260440161010c565b50506040805160208101909152600081529392505050565b6000610795827f01ffc9a7000000000000000000000000000000000000000000000000000000006107ce565b80156107c857506107c6827fffffffff000000000000000000000000000000000000000000000000000000006107ce565b155b92915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015610886575060208210155b80156108925750600081115b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff811681146108bf57600080fd5b50565b6000602082840312156108d457600080fd5b81356104a98161089d565b60008083601f8401126108f157600080fd5b50813567ffffffffffffffff81111561090957600080fd5b60208301915083602082850101111561092157600080fd5b9250929050565b6000806020838503121561093b57600080fd5b823567ffffffffffffffff81111561095257600080fd5b61095e858286016108df565b90969095509350505050565b600281106109a1577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b6000815180845260005b818110156109cb576020818501810151868301820152016109af565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b610a13818461096a565b604060208201526000610a2960408301846109a5565b949350505050565b600080600060408486031215610a4657600080fd5b833567ffffffffffffffff811115610a5d57600080fd5b610a69868287016108df565b9094509250506020840135610a7d8161089d565b809150509250925092565b610a92818561096a565b606060208201526000610aa860608301856109a5565b9050826040830152949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112610af857600080fd5b813567ffffffffffffffff80821115610b1357610b13610ab8565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715610b5957610b59610ab8565b81604052838152866020858801011115610b7257600080fd5b836020870160208301376000602085830101528094505050505092915050565b600060208284031215610ba457600080fd5b813567ffffffffffffffff80821115610bbc57600080fd5b9083019060408286031215610bd057600080fd5b604051604081018181108382111715610beb57610beb610ab8565b604052823582811115610bfd57600080fd5b610c0987828601610ae7565b825250602083013582811115610c1e57600080fd5b610c2a87828601610ae7565b60208301525095945050505050565b604081528260408201528284606083013760006060848301015260007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011682016060838203016020840152610c9560608201856109a5565b9695505050505050565b600060208284031215610cb157600080fd5b815180151581146104a957600080fd5b600060208284031215610cd357600080fd5b6040516020810181811067ffffffffffffffff82111715610cf657610cf6610ab8565b80604052508091508251610d098161089d565b905292915050565b600060208284031215610d2357600080fd5b6104a98383610cc1565b600060208284031215610d3f57600080fd5b505191905056fea26469706673582212209e1a3ebc8bfbd50413ac4957ae8e29399c2a00875d0ca234e77b022e29ed9c7064736f6c634300081300330000000000000000000000007edacd4d53b5a626471c6728f04d92125ccf647f", + "nonce": "0x607", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x1e40c1fb1e572f5629d98fba6201fc8a433a442dff07204b4814b03b03c3a9c3", + "transactionType": "CREATE", + "contractName": "MockERC721", + "contractAddress": "0x9F9772cd93715A0cb512b3Eb997088a0D0b4a5A3", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x1edc92", + "value": "0x0", + "data": "0x60806040523480156200001157600080fd5b506040518060400160405280600a8152602001694d6f636b45524337323160b01b815250604051806040016040528060048152602001634d37323160e01b815250816000908162000063919062000120565b50600162000072828262000120565b505050620001ec565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000a657607f821691505b602082108103620000c757634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200011b57600081815260208120601f850160051c81016020861015620000f65750805b601f850160051c820191505b81811015620001175782815560010162000102565b5050505b505050565b81516001600160401b038111156200013c576200013c6200007b565b62000154816200014d845462000091565b84620000cd565b602080601f8311600181146200018c5760008415620001735750858301515b600019600386901b1c1916600185901b17855562000117565b600085815260208120601f198616915b82811015620001bd578886015182559484019460019091019084016200019c565b5085821015620001dc5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b611a7980620001fc6000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80636352211e1161008c578063a22cb46511610066578063a22cb465146101ee578063b88d4fde14610201578063c87b56dd14610214578063e985e9c51461022757600080fd5b80636352211e146101b257806370a08231146101c557806395d89b41146101e657600080fd5b8063095ea7b3116100c8578063095ea7b31461016457806323b872dd1461017957806340c10f191461018c57806342842e0e1461019f57600080fd5b806301ffc9a7146100ef57806306fdde0314610117578063081812fc1461012c575b600080fd5b6101026100fd366004611662565b610270565b60405190151581526020015b60405180910390f35b61011f610355565b60405161010e91906116ed565b61013f61013a366004611700565b6103e7565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161010e565b610177610172366004611742565b61041b565b005b61017761018736600461176c565b6105ac565b61017761019a366004611742565b61064d565b6101776101ad36600461176c565b61065b565b61013f6101c0366004611700565b610676565b6101d86101d33660046117a8565b610702565b60405190815260200161010e565b61011f6107d0565b6101776101fc3660046117c3565b6107df565b61017761020f36600461182e565b6107ea565b61011f610222366004611700565b610892565b610102610235366004611928565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260056020908152604080832093909416825291909152205460ff1690565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061030357507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b8061034f57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6060600080546103649061195b565b80601f01602080910402602001604051908101604052809291908181526020018280546103909061195b565b80156103dd5780601f106103b2576101008083540402835291602001916103dd565b820191906000526020600020905b8154815290600101906020018083116103c057829003601f168201915b5050505050905090565b60006103f282610906565b5060009081526004602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b600061042682610676565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036104e8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff8216148061051157506105118133610235565b61059d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c00000060648201526084016104df565b6105a78383610994565b505050565b6105b63382610a34565b610642576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f7665640000000000000000000000000000000000000060648201526084016104df565b6105a7838383610af4565b6106578282610def565b5050565b6105a7838383604051806020016040528060008152506107ea565b60008181526002602052604081205473ffffffffffffffffffffffffffffffffffffffff168061034f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e204944000000000000000060448201526064016104df565b600073ffffffffffffffffffffffffffffffffffffffff82166107a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e6572000000000000000000000000000000000000000000000060648201526084016104df565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526003602052604090205490565b6060600180546103649061195b565b610657338383610e09565b6107f43383610a34565b610880576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f7665640000000000000000000000000000000000000060648201526084016104df565b61088c84848484610f36565b50505050565b606061089d82610906565b60006108b460408051602081019091526000815290565b905060008151116108d457604051806020016040528060008152506108ff565b806108de84610fd9565b6040516020016108ef9291906119ae565b6040516020818303038152906040525b9392505050565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff16610991576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e204944000000000000000060448201526064016104df565b50565b600081815260046020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811790915581906109ee82610676565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080610a4083610676565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480610aae575073ffffffffffffffffffffffffffffffffffffffff80821660009081526005602090815260408083209388168352929052205460ff165b80610aec57508373ffffffffffffffffffffffffffffffffffffffff16610ad4846103e7565b73ffffffffffffffffffffffffffffffffffffffff16145b949350505050565b8273ffffffffffffffffffffffffffffffffffffffff16610b1482610676565b73ffffffffffffffffffffffffffffffffffffffff1614610bb7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e657200000000000000000000000000000000000000000000000000000060648201526084016104df565b73ffffffffffffffffffffffffffffffffffffffff8216610c59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016104df565b8273ffffffffffffffffffffffffffffffffffffffff16610c7982610676565b73ffffffffffffffffffffffffffffffffffffffff1614610d1c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e657200000000000000000000000000000000000000000000000000000060648201526084016104df565b600081815260046020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff8781168086526003855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b610657828260405180602001604052806000815250611097565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610e9e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016104df565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526005602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b610f41848484610af4565b610f4d8484848461113a565b61088c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016104df565b60606000610fe68361132d565b600101905060008167ffffffffffffffff811115611006576110066117ff565b6040519080825280601f01601f191660200182016040528015611030576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a850494508461103a57509392505050565b6110a1838361140f565b6110ae600084848461113a565b6105a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016104df565b600073ffffffffffffffffffffffffffffffffffffffff84163b15611322576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a02906111b19033908990889088906004016119dd565b6020604051808303816000875af192505050801561120a575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261120791810190611a26565b60015b6112d7573d808015611238576040519150601f19603f3d011682016040523d82523d6000602084013e61123d565b606091505b5080516000036112cf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016104df565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050610aec565b506001949350505050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611376577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef810000000083106113a2576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106113c057662386f26fc10000830492506010015b6305f5e10083106113d8576305f5e100830492506008015b61271083106113ec57612710830492506004015b606483106113fe576064830492506002015b600a831061034f5760010192915050565b73ffffffffffffffffffffffffffffffffffffffff821661148c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016104df565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1615611518576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016104df565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff16156115a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016104df565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260036020908152604080832080546001019055848352600290915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b7fffffffff000000000000000000000000000000000000000000000000000000008116811461099157600080fd5b60006020828403121561167457600080fd5b81356108ff81611634565b60005b8381101561169a578181015183820152602001611682565b50506000910152565b600081518084526116bb81602086016020860161167f565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006108ff60208301846116a3565b60006020828403121561171257600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461173d57600080fd5b919050565b6000806040838503121561175557600080fd5b61175e83611719565b946020939093013593505050565b60008060006060848603121561178157600080fd5b61178a84611719565b925061179860208501611719565b9150604084013590509250925092565b6000602082840312156117ba57600080fd5b6108ff82611719565b600080604083850312156117d657600080fd5b6117df83611719565b9150602083013580151581146117f457600080fd5b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000806000806080858703121561184457600080fd5b61184d85611719565b935061185b60208601611719565b925060408501359150606085013567ffffffffffffffff8082111561187f57600080fd5b818701915087601f83011261189357600080fd5b8135818111156118a5576118a56117ff565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156118eb576118eb6117ff565b816040528281528a602084870101111561190457600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b6000806040838503121561193b57600080fd5b61194483611719565b915061195260208401611719565b90509250929050565b600181811c9082168061196f57607f821691505b6020821081036119a8577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b600083516119c081846020880161167f565b8351908301906119d481836020880161167f565b01949350505050565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525083604083015260806060830152611a1c60808301846116a3565b9695505050505050565b600060208284031215611a3857600080fd5b81516108ff8161163456fea2646970667358221220d673ef7c8f1def245d3be39f8336c1275d8505ccfbf91acc7ee1bdd6cae4c30264736f6c63430008130033", + "nonce": "0x608", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xad1c28e4b20c412d5153116517ea3a0590a6853e24f3629a89d2d092f30bd400", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0x7EDacD4d53b5A626471c6728f04D92125CcF647F", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x7edacd4d53b5a626471c6728f04d92125ccf647f", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15d189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "nonce": "0x609", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xe571eafdce4968ea9f1ef3c1507fe1fa2f7e6f7d78892987eb17b816c91e39cf", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0x7EDacD4d53b5A626471c6728f04D92125CcF647F", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x7edacd4d53b5a626471c6728f04d92125ccf647f", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15d637821dcee84aabec9c8cf4f6f643013a24ad27fd41511ffd937aea80d8619a9000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "nonce": "0x60a", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x96f03a95e41c76ecbbe45445e94b61c64bffd67e9e946ccf130e1d23031d4935", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0x7EDacD4d53b5A626471c6728f04D92125CcF647F", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x7edacd4d53b5a626471c6728f04d92125ccf647f", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15da8b84e71bc3552b48fea3678097679554a90f0e2c12c536a8bd697c05041e279000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "nonce": "0x60b", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x626138062505a835a234c0b32e6a7bd03ddd5507d18cdcf814eb2021bdfce65a", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0x7EDacD4d53b5A626471c6728f04D92125CcF647F", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x7edacd4d53b5a626471c6728f04d92125ccf647f", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15d256895704541e78004f0fd55953a8bcc54c628755b14fbf53afdc556473f9bd0000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "nonce": "0x60c", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x2cf0e0cdccd756b305c60d89509bfd48a85571e4bc26a84d37ee8bde88779681", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0x7EDacD4d53b5A626471c6728f04D92125CcF647F", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x7edacd4d53b5a626471c6728f04d92125ccf647f", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15d02f7fd2cb4d8e8ad75bab0a56a6f1ed7091336a83e11ccacc4e51f915215ab4c000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "nonce": "0x60d", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x60864387111b8d8baedf5c313d770fa857d980a8119aae305c6e8634fe69f93a", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0x7EDacD4d53b5A626471c6728f04D92125CcF647F", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x7edacd4d53b5a626471c6728f04d92125ccf647f", + "gas": "0x140e3", + "value": "0x0", + "data": "0x2f2ff15dc9a6ce5d86bdc06f8d57f20091bf09bf611e57d0626b65aa9ebb3c9179ba650f000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "nonce": "0x60e", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x208318107e5571b6c14ef0c13e782301965fbc501a878ffe349b3371c65294b4", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0x7EDacD4d53b5A626471c6728f04D92125CcF647F", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x7edacd4d53b5a626471c6728f04d92125ccf647f", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15de4a10d29decbd34c09a62a511d4fd993a7d8cbbf58d7d4278711c29c9148b8f7000000000000000000000000336bc9128fffb7869381e2d0c4a156981ca5d240", + "nonce": "0x60f", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xd5c2854b93fe8663e4b728e419a4f7a9ef1b0fea0f6fd9700a8f8bfa92119a29", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0x7EDacD4d53b5A626471c6728f04D92125CcF647F", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x7edacd4d53b5a626471c6728f04d92125ccf647f", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15de4a10d29decbd34c09a62a511d4fd993a7d8cbbf58d7d4278711c29c9148b8f7000000000000000000000000e3c522921a16c692e664d06d53a251f91323a06b", + "nonce": "0x610", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xb199d0a1bceb4c22f4f978052977c206039bb3fa50478346d71915126cb95c94", + "transactionType": "CALL", + "contractName": "ModuleRegistry", + "contractAddress": "0xedBd4907A7F98de932e635e9076B4E0C36D0E797", + "function": "registerProtocolModule(string,address)", + "arguments": [ + "REGISTRATION_MODULE", + "0xfb45e1274D9f0A2DF5C0851a705EEB0665171C5B" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xedbd4907a7f98de932e635e9076b4e0c36d0e797", + "gas": "0x1445d", + "value": "0x0", + "data": "0xd08906d60000000000000000000000000000000000000000000000000000000000000040000000000000000000000000fb45e1274d9f0a2df5c0851a705eeb0665171c5b0000000000000000000000000000000000000000000000000000000000000013524547495354524154494f4e5f4d4f44554c4500000000000000000000000000", + "nonce": "0x611", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x16f0f71ee24e9103cde147f2941f6888b7cb5459bfa4bef964657fd24f68bcdc", + "transactionType": "CALL", + "contractName": "ModuleRegistry", + "contractAddress": "0xedBd4907A7F98de932e635e9076B4E0C36D0E797", + "function": "registerProtocolModule(string,address)", + "arguments": [ + "RELATIONSHIP_MODULE", + "0xf7081c5ff418ddB6C68A3cCc3CC68A4c21803460" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xedbd4907a7f98de932e635e9076b4e0c36d0e797", + "gas": "0x1445d", + "value": "0x0", + "data": "0xd08906d60000000000000000000000000000000000000000000000000000000000000040000000000000000000000000f7081c5ff418ddb6c68a3ccc3cc68a4c21803460000000000000000000000000000000000000000000000000000000000000001352454c4154494f4e534849505f4d4f44554c4500000000000000000000000000", + "nonce": "0x612", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x42a1945247d947ff98954fd66b6a04c6aa9bbe92e1c7b38d61cd5be7ff94abf8", + "transactionType": "CALL", + "contractName": "ModuleRegistry", + "contractAddress": "0xedBd4907A7F98de932e635e9076B4E0C36D0E797", + "function": "registerProtocolModule(string,address)", + "arguments": [ + "LICENSING_MODULE", + "0x6a3E5eB4CE11aE3B063903AB6530c34D6daf9Dc0" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xedbd4907a7f98de932e635e9076b4e0c36d0e797", + "gas": "0x1573d", + "value": "0x0", + "data": "0xd08906d600000000000000000000000000000000000000000000000000000000000000400000000000000000000000006a3e5eb4ce11ae3b063903ab6530c34d6daf9dc000000000000000000000000000000000000000000000000000000000000000104c4943454e53494e475f4d4f44554c4500000000000000000000000000000000", + "nonce": "0x613", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xe2a6f1fc8661c82685ed86a12ac72554d54a5d5bfd9348045a3cbe3c8f36cce6", + "transactionType": "CALL", + "contractName": "StoryProtocol", + "contractAddress": "0x336BC9128fFFb7869381E2D0c4A156981cA5d240", + "function": "registerIpOrg(address,string,string,string[]):(address)", + "arguments": [ + "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "Sample IP Org", + "SIPO", + "[STORY, CHARACTER]" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x336bc9128fffb7869381e2d0c4a156981ca5d240", + "gas": "0x676d2", + "value": "0x0", + "data": "0x98e8e6ea000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000d53616d706c65204950204f72670000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000045349504f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000553544f525900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000094348415241435445520000000000000000000000000000000000000000000000", + "nonce": "0x614", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0x09d6377058555bE9d09bf7F6E4864eA202FD083f", + "initCode": "3d602d80600a3d3981f3363d3d373d3d3d363d731781678b3f076017e8c45f8c6515f9cf57f393c05af43d82803e903d91602b57fd5bf3" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0xd632a5d19f0d63edb2ef743712dec042fae0ce5c4253373fc60e6b8bdcf0fd5f", + "transactionType": "CALL", + "contractName": "RegistrationModule", + "contractAddress": "0xfb45e1274D9f0A2DF5C0851a705EEB0665171C5B", + "function": "registerHooks(uint8,address,address[],bytes[])", + "arguments": [ + "0", + "0x09d6377058555bE9d09bf7F6E4864eA202FD083f", + "[0x1fDD8955a6D70c84A71Ebb69dE88f3Ad0AAc50d6]", + "[0x0000000000000000000000009f9772cd93715a0cb512b3eb997088a0d0b4a5a3]" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xfb45e1274d9f0a2df5c0851a705eeb0665171c5b", + "gas": "0x3b218", + "value": "0x0", + "data": "0x8591b11b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009d6377058555be9d09bf7f6e4864ea202fd083f000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000010000000000000000000000001fdd8955a6d70c84a71ebb69de88f3ad0aac50d60000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000009f9772cd93715a0cb512b3eb997088a0d0b4a5a3", + "nonce": "0x615", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xb13b538f55ff3a42ffce3a951fb68e203c600ff1dc3481254ef3ac4db1cdd0f5", + "transactionType": "CALL", + "contractName": "LicensingFrameworkRepo", + "contractAddress": "0xA30bB959Bc298e244aCE0402B5c0609CC8745134", + "function": "addFramework((string,string,(bytes32,uint8)[]))", + "arguments": [ + "(SPIPL-1.0, https://arweave.net/Hjz_d7t4kMEFrZrthVHwMIVPpGze_0J6zXGhi7kEi0cs, [(0x4368616e6e656c732d4f662d446973747269627574696f6e0000000000000018, 4), (0x4174747269627574696f6e00000000000000000000000000000000000000000b, 0), (0x44657269766174697665732d576974682d4174747269627574696f6e0000001c, 0), (0x44657269766174697665732d576974682d417070726f76616c00000000000019, 0), (0x44657269766174697665732d5265636970726f63616c2d4c6963656e7365001e, 0)])" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xa30bb959bc298e244ace0402b5c0609cc8745134", + "gas": "0xcc3be", + "value": "0x0", + "data": "0x42f6d0990000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000009535049504c2d312e300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004068747470733a2f2f617277656176652e6e65742f486a7a5f643774346b4d4546725a7274685648774d49565070477a655f304a367a58476869376b456930637300000000000000000000000000000000000000000000000000000000000000054368616e6e656c732d4f662d446973747269627574696f6e000000000000001800000000000000000000000000000000000000000000000000000000000000044174747269627574696f6e00000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000000044657269766174697665732d576974682d4174747269627574696f6e0000001c000000000000000000000000000000000000000000000000000000000000000044657269766174697665732d576974682d417070726f76616c00000000000019000000000000000000000000000000000000000000000000000000000000000044657269766174697665732d5265636970726f63616c2d4c6963656e7365001e0000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x616", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x49b64e330c3f9bd442ebe154a1426591253d2f4f887b3a24c39a14d6e50b78b1", + "transactionIndex": "0x2", + "blockHash": "0xf2c785d8ced0d10b9bdb6d123df171ca36db210c4c23f94152cb630801ae9cf8", + "blockNumber": "0x49d61d", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x1ec548", + "gasUsed": "0x198ffa", + "contractAddress": "0x4Dc9653D6A21A44ca322474f81B41Dc964a422DD", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9122c81" + }, + { + "transactionHash": "0xaaf7df4b0f53c65c69a83d1f5c34b2864a62be0cb6f712311a603fb349599444", + "transactionIndex": "0x3", + "blockHash": "0xf2c785d8ced0d10b9bdb6d123df171ca36db210c4c23f94152cb630801ae9cf8", + "blockNumber": "0x49d61d", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x21a72d", + "gasUsed": "0x2e1e5", + "contractAddress": "0x7EDacD4d53b5A626471c6728f04D92125CcF647F", + "logs": [ + { + "address": "0x7EDacD4d53b5A626471c6728f04D92125CcF647F", + "topics": [ + "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", + "0x0000000000000000000000004dc9653d6a21a44ca322474f81b41dc964a422dd" + ], + "data": "0x", + "blockHash": "0xf2c785d8ced0d10b9bdb6d123df171ca36db210c4c23f94152cb630801ae9cf8", + "blockNumber": "0x49d61d", + "transactionHash": "0xaaf7df4b0f53c65c69a83d1f5c34b2864a62be0cb6f712311a603fb349599444", + "transactionIndex": "0x3", + "logIndex": "0x1", + "removed": false + }, + { + "address": "0x7EDacD4d53b5A626471c6728f04D92125CcF647F", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0xf2c785d8ced0d10b9bdb6d123df171ca36db210c4c23f94152cb630801ae9cf8", + "blockNumber": "0x49d61d", + "transactionHash": "0xaaf7df4b0f53c65c69a83d1f5c34b2864a62be0cb6f712311a603fb349599444", + "transactionIndex": "0x3", + "logIndex": "0x2", + "removed": false + }, + { + "address": "0x7EDacD4d53b5A626471c6728f04D92125CcF647F", + "topics": [ + "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xf2c785d8ced0d10b9bdb6d123df171ca36db210c4c23f94152cb630801ae9cf8", + "blockNumber": "0x49d61d", + "transactionHash": "0xaaf7df4b0f53c65c69a83d1f5c34b2864a62be0cb6f712311a603fb349599444", + "transactionIndex": "0x3", + "logIndex": "0x3", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000004000000000000000000000000400000000000000000000000000000000000000000000080000000000000000000000000000000000002000000000000000000000000000800000000000002000000000000020000000004000000000000000000020000000800000000000800000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000001000000000000000040020000000000000000000040000000000008000000100000000000020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9122c81" + }, + { + "transactionHash": "0x032a743da017dcc3de3766692bc8a2853afdc8212cf67e5dadd953a8ecedfe34", + "transactionIndex": "0x4", + "blockHash": "0xf2c785d8ced0d10b9bdb6d123df171ca36db210c4c23f94152cb630801ae9cf8", + "blockNumber": "0x49d61d", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x3beb39", + "gasUsed": "0x1a440c", + "contractAddress": "0xA30bB959Bc298e244aCE0402B5c0609CC8745134", + "logs": [ + { + "address": "0xA30bB959Bc298e244aCE0402B5c0609CC8745134", + "topics": [ + "0xc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da9709", + "0x0000000000000000000000007edacd4d53b5a626471c6728f04d92125ccf647f" + ], + "data": "0x", + "blockHash": "0xf2c785d8ced0d10b9bdb6d123df171ca36db210c4c23f94152cb630801ae9cf8", + "blockNumber": "0x49d61d", + "transactionHash": "0x032a743da017dcc3de3766692bc8a2853afdc8212cf67e5dadd953a8ecedfe34", + "transactionIndex": "0x4", + "logIndex": "0x4", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000800000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000008000000000000000100000000000000000000000000000200000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9122c81" + }, + { + "transactionHash": "0xca1fe1cec4d95f2ab31fc12c1c2af517115b57522c4984cefbcce4d4d03e66eb", + "transactionIndex": "0x5", + "blockHash": "0xf2c785d8ced0d10b9bdb6d123df171ca36db210c4c23f94152cb630801ae9cf8", + "blockNumber": "0x49d61d", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x545723", + "gasUsed": "0x186bea", + "contractAddress": "0xedBd4907A7F98de932e635e9076B4E0C36D0E797", + "logs": [ + { + "address": "0xedBd4907A7F98de932e635e9076B4E0C36D0E797", + "topics": [ + "0xc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da9709", + "0x0000000000000000000000007edacd4d53b5a626471c6728f04d92125ccf647f" + ], + "data": "0x", + "blockHash": "0xf2c785d8ced0d10b9bdb6d123df171ca36db210c4c23f94152cb630801ae9cf8", + "blockNumber": "0x49d61d", + "transactionHash": "0xca1fe1cec4d95f2ab31fc12c1c2af517115b57522c4984cefbcce4d4d03e66eb", + "transactionIndex": "0x5", + "logIndex": "0x5", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x08000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000008000000000000000100000000000000000000000000000200000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9122c81" + }, + { + "transactionHash": "0x1367afaa266f809c9cdbbd18c0f42f48f10e70b997cf7984eee88d985ba95055", + "transactionIndex": "0x6", + "blockHash": "0xf2c785d8ced0d10b9bdb6d123df171ca36db210c4c23f94152cb630801ae9cf8", + "blockNumber": "0x49d61d", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x6317cc", + "gasUsed": "0xec0a9", + "contractAddress": "0xaD2377c8f9f0ca6382fEf166b08aeDe8318fE49C", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9122c81" + }, + { + "transactionHash": "0x576f73c4d6629a4135060cf2cf6c6141e13297b7c25bc3e386ab7c1dcef25164", + "transactionIndex": "0x7", + "blockHash": "0xf2c785d8ced0d10b9bdb6d123df171ca36db210c4c23f94152cb630801ae9cf8", + "blockNumber": "0x49d61d", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x9254f1", + "gasUsed": "0x2f3d25", + "contractAddress": "0xCD28eb9D0D2AFcf4354F2c93dE5ce9Bbf88257ae", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9122c81" + }, + { + "transactionHash": "0x4121adb96d0f4aecacb104198678db90f838be01f174a0a26fe2049d575a041d", + "transactionIndex": "0x8", + "blockHash": "0xf2c785d8ced0d10b9bdb6d123df171ca36db210c4c23f94152cb630801ae9cf8", + "blockNumber": "0x49d61d", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0xdb1077", + "gasUsed": "0x48bb86", + "contractAddress": "0xdc4A589eB82A7a7dDF026F3713da3338cFa59465", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9122c81" + }, + { + "transactionHash": "0x3d44962832e990d1583408044eaadec41ad18ad9b45ca42dd82bd4045011f9c3", + "transactionIndex": "0x9", + "blockHash": "0xf2c785d8ced0d10b9bdb6d123df171ca36db210c4c23f94152cb630801ae9cf8", + "blockNumber": "0x49d61d", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x10118a8", + "gasUsed": "0x260831", + "contractAddress": "0xE3C522921A16c692E664D06d53a251f91323a06B", + "logs": [ + { + "address": "0xE3C522921A16c692E664D06d53a251f91323a06B", + "topics": [ + "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", + "0x000000000000000000000000dc4a589eb82a7a7ddf026f3713da3338cfa59465" + ], + "data": "0x", + "blockHash": "0xf2c785d8ced0d10b9bdb6d123df171ca36db210c4c23f94152cb630801ae9cf8", + "blockNumber": "0x49d61d", + "transactionHash": "0x3d44962832e990d1583408044eaadec41ad18ad9b45ca42dd82bd4045011f9c3", + "transactionIndex": "0x9", + "logIndex": "0x6", + "removed": false + }, + { + "address": "0x1781678b3F076017E8c45F8c6515f9cf57f393C0", + "topics": [ + "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xf2c785d8ced0d10b9bdb6d123df171ca36db210c4c23f94152cb630801ae9cf8", + "blockNumber": "0x49d61d", + "transactionHash": "0x3d44962832e990d1583408044eaadec41ad18ad9b45ca42dd82bd4045011f9c3", + "transactionIndex": "0x9", + "logIndex": "0x7", + "removed": false + }, + { + "address": "0xE3C522921A16c692E664D06d53a251f91323a06B", + "topics": [ + "0xc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da9709", + "0x0000000000000000000000007edacd4d53b5a626471c6728f04d92125ccf647f" + ], + "data": "0x", + "blockHash": "0xf2c785d8ced0d10b9bdb6d123df171ca36db210c4c23f94152cb630801ae9cf8", + "blockNumber": "0x49d61d", + "transactionHash": "0x3d44962832e990d1583408044eaadec41ad18ad9b45ca42dd82bd4045011f9c3", + "transactionIndex": "0x9", + "logIndex": "0x8", + "removed": false + }, + { + "address": "0xE3C522921A16c692E664D06d53a251f91323a06B", + "topics": [ + "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xf2c785d8ced0d10b9bdb6d123df171ca36db210c4c23f94152cb630801ae9cf8", + "blockNumber": "0x49d61d", + "transactionHash": "0x3d44962832e990d1583408044eaadec41ad18ad9b45ca42dd82bd4045011f9c3", + "transactionIndex": "0x9", + "logIndex": "0x9", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000080400000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000200000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000008000000000000000100080080000000000000000000000200000000000000000000400000000010800000000000000009000000000000020000000000000000000040000000000000000000000100000008000000000000000000000000000000000000000000000000010000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9122c81" + }, + { + "transactionHash": "0xb6b928dfb6f15cd841ef750552d914f6bb91b1e7eb3f160482d02780b14ea627", + "transactionIndex": "0xa", + "blockHash": "0xf2c785d8ced0d10b9bdb6d123df171ca36db210c4c23f94152cb630801ae9cf8", + "blockNumber": "0x49d61d", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x121041b", + "gasUsed": "0x1feb73", + "contractAddress": "0x336BC9128fFFb7869381E2D0c4A156981cA5d240", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9122c81" + }, + { + "transactionHash": "0x64eb802bac6a3135074c475cb2ebec299c846cc717a561be60c83b69ec47550a", + "transactionIndex": "0xb", + "blockHash": "0xf2c785d8ced0d10b9bdb6d123df171ca36db210c4c23f94152cb630801ae9cf8", + "blockNumber": "0x49d61d", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x162ca6a", + "gasUsed": "0x41c64f", + "contractAddress": "0xfb45e1274D9f0A2DF5C0851a705EEB0665171C5B", + "logs": [ + { + "address": "0xfb45e1274D9f0A2DF5C0851a705EEB0665171C5B", + "topics": [ + "0xc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da9709", + "0x0000000000000000000000007edacd4d53b5a626471c6728f04d92125ccf647f" + ], + "data": "0x", + "blockHash": "0xf2c785d8ced0d10b9bdb6d123df171ca36db210c4c23f94152cb630801ae9cf8", + "blockNumber": "0x49d61d", + "transactionHash": "0x64eb802bac6a3135074c475cb2ebec299c846cc717a561be60c83b69ec47550a", + "transactionIndex": "0xb", + "logIndex": "0xa", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000100000000000000000000000000000200000000800000000000000000000010000000000000000000000000800000000000000000000000000000000000800000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9122c81" + }, + { + "transactionHash": "0x34ed35a98e276f7f8739306d58ab5dc6be1fb24091451d2c7d13edd9a18cf982", + "transactionIndex": "0xc", + "blockHash": "0xf2c785d8ced0d10b9bdb6d123df171ca36db210c4c23f94152cb630801ae9cf8", + "blockNumber": "0x49d61d", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x19a57c8", + "gasUsed": "0x378d5e", + "contractAddress": "0xf7081c5ff418ddB6C68A3cCc3CC68A4c21803460", + "logs": [ + { + "address": "0xf7081c5ff418ddB6C68A3cCc3CC68A4c21803460", + "topics": [ + "0xc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da9709", + "0x0000000000000000000000007edacd4d53b5a626471c6728f04d92125ccf647f" + ], + "data": "0x", + "blockHash": "0xf2c785d8ced0d10b9bdb6d123df171ca36db210c4c23f94152cb630801ae9cf8", + "blockNumber": "0x49d61d", + "transactionHash": "0x34ed35a98e276f7f8739306d58ab5dc6be1fb24091451d2c7d13edd9a18cf982", + "transactionIndex": "0xc", + "logIndex": "0xb", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000100000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000100000000000000000000000000000200000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9122c81" + }, + { + "transactionHash": "0xb0acaa085d5482b98b3a6a658c2bd9a7d97cbd13ff1976adbaf5e39b7d5d986b", + "transactionIndex": "0x2", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x3a1c1b", + "gasUsed": "0x3759eb", + "contractAddress": "0x6a3E5eB4CE11aE3B063903AB6530c34D6daf9Dc0", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9aa6e98" + }, + { + "transactionHash": "0x95ea5d1ed711248ea3d4ca9a79541f30a843636aa27768fb1fef906c473f3ba6", + "transactionIndex": "0x3", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x46d5a8", + "gasUsed": "0xcb98d", + "contractAddress": "0x1fDD8955a6D70c84A71Ebb69dE88f3Ad0AAc50d6", + "logs": [ + { + "address": "0x1fDD8955a6D70c84A71Ebb69dE88f3Ad0AAc50d6", + "topics": [ + "0xc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da9709", + "0x0000000000000000000000007edacd4d53b5a626471c6728f04d92125ccf647f" + ], + "data": "0x", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "transactionHash": "0x95ea5d1ed711248ea3d4ca9a79541f30a843636aa27768fb1fef906c473f3ba6", + "transactionIndex": "0x3", + "logIndex": "0x2", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000200000000000000100000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000100000000000000000000000000000200000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9aa6e98" + }, + { + "transactionHash": "0x1e40c1fb1e572f5629d98fba6201fc8a433a442dff07204b4814b03b03c3a9c3", + "transactionIndex": "0x4", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x5e94cd", + "gasUsed": "0x17bf25", + "contractAddress": "0x9F9772cd93715A0cb512b3Eb997088a0D0b4a5A3", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9aa6e98" + }, + { + "transactionHash": "0xad1c28e4b20c412d5153116517ea3a0590a6853e24f3629a89d2d092f30bd400", + "transactionIndex": "0x5", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x7EDacD4d53b5A626471c6728f04D92125CcF647F", + "cumulativeGasUsed": "0x5f7042", + "gasUsed": "0xdb75", + "contractAddress": null, + "logs": [ + { + "address": "0x7EDacD4d53b5A626471c6728f04D92125CcF647F", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "transactionHash": "0xad1c28e4b20c412d5153116517ea3a0590a6853e24f3629a89d2d092f30bd400", + "transactionIndex": "0x5", + "logIndex": "0x3", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000004000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000002000000000000000000000000000800000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000040000000000000000000000000000000000008000000100000000000000000080000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9aa6e98" + }, + { + "transactionHash": "0xe571eafdce4968ea9f1ef3c1507fe1fa2f7e6f7d78892987eb17b816c91e39cf", + "transactionIndex": "0x6", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x7EDacD4d53b5A626471c6728f04D92125CcF647F", + "cumulativeGasUsed": "0x604bb7", + "gasUsed": "0xdb75", + "contractAddress": null, + "logs": [ + { + "address": "0x7EDacD4d53b5A626471c6728f04D92125CcF647F", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x637821dcee84aabec9c8cf4f6f643013a24ad27fd41511ffd937aea80d8619a9", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "transactionHash": "0xe571eafdce4968ea9f1ef3c1507fe1fa2f7e6f7d78892987eb17b816c91e39cf", + "transactionIndex": "0x6", + "logIndex": "0x4", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000004008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000010000000000000000000800000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000040000000000000000000000000000000000008000000100000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9aa6e98" + }, + { + "transactionHash": "0x96f03a95e41c76ecbbe45445e94b61c64bffd67e9e946ccf130e1d23031d4935", + "transactionIndex": "0x7", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x7EDacD4d53b5A626471c6728f04D92125CcF647F", + "cumulativeGasUsed": "0x61272c", + "gasUsed": "0xdb75", + "contractAddress": null, + "logs": [ + { + "address": "0x7EDacD4d53b5A626471c6728f04D92125CcF647F", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0xa8b84e71bc3552b48fea3678097679554a90f0e2c12c536a8bd697c05041e279", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "transactionHash": "0x96f03a95e41c76ecbbe45445e94b61c64bffd67e9e946ccf130e1d23031d4935", + "transactionIndex": "0x7", + "logIndex": "0x5", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000004000000000000000000000000000000000000000020000000000000000000000000000000000000000000000002000000000000000002000000000000000000000000010800000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000040000000000000000000000000000000000008000000100000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9aa6e98" + }, + { + "transactionHash": "0x626138062505a835a234c0b32e6a7bd03ddd5507d18cdcf814eb2021bdfce65a", + "transactionIndex": "0x8", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x7EDacD4d53b5A626471c6728f04D92125CcF647F", + "cumulativeGasUsed": "0x6202a1", + "gasUsed": "0xdb75", + "contractAddress": null, + "logs": [ + { + "address": "0x7EDacD4d53b5A626471c6728f04D92125CcF647F", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x256895704541e78004f0fd55953a8bcc54c628755b14fbf53afdc556473f9bd0", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "transactionHash": "0x626138062505a835a234c0b32e6a7bd03ddd5507d18cdcf814eb2021bdfce65a", + "transactionIndex": "0x8", + "logIndex": "0x6", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000004000000000000000000000000000000040000000000000000000000000000000000000000000000000100000000000000000000000002000000000000000000000000000800000000000000000000000000020000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000040000000000000000000000000000000000008000000100000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9aa6e98" + }, + { + "transactionHash": "0x2cf0e0cdccd756b305c60d89509bfd48a85571e4bc26a84d37ee8bde88779681", + "transactionIndex": "0x9", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x7EDacD4d53b5A626471c6728f04D92125CcF647F", + "cumulativeGasUsed": "0x62de16", + "gasUsed": "0xdb75", + "contractAddress": null, + "logs": [ + { + "address": "0x7EDacD4d53b5A626471c6728f04D92125CcF647F", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x02f7fd2cb4d8e8ad75bab0a56a6f1ed7091336a83e11ccacc4e51f915215ab4c", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "transactionHash": "0x2cf0e0cdccd756b305c60d89509bfd48a85571e4bc26a84d37ee8bde88779681", + "transactionIndex": "0x9", + "logIndex": "0x7", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000800000000000000000000000000020000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000001000000000000000040000000000000000000000000000000000008000000100000000000000000000000000000000000000000000000000000000000040000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9aa6e98" + }, + { + "transactionHash": "0x60864387111b8d8baedf5c313d770fa857d980a8119aae305c6e8634fe69f93a", + "transactionIndex": "0xa", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x7EDacD4d53b5A626471c6728f04D92125CcF647F", + "cumulativeGasUsed": "0x63b97f", + "gasUsed": "0xdb69", + "contractAddress": null, + "logs": [ + { + "address": "0x7EDacD4d53b5A626471c6728f04D92125CcF647F", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0xc9a6ce5d86bdc06f8d57f20091bf09bf611e57d0626b65aa9ebb3c9179ba650f", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "transactionHash": "0x60864387111b8d8baedf5c313d770fa857d980a8119aae305c6e8634fe69f93a", + "transactionIndex": "0xa", + "logIndex": "0x8", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000004000000000000000000000000000000000000000000000000000000000000000000008000000000000020000000000000000000000002000000000000000000000000000800000000000000000000000000020000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000040000000000000000000000000000000000008000000100000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9aa6e98" + }, + { + "transactionHash": "0x208318107e5571b6c14ef0c13e782301965fbc501a878ffe349b3371c65294b4", + "transactionIndex": "0xb", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x7EDacD4d53b5A626471c6728f04D92125CcF647F", + "cumulativeGasUsed": "0x6494f4", + "gasUsed": "0xdb75", + "contractAddress": null, + "logs": [ + { + "address": "0x7EDacD4d53b5A626471c6728f04D92125CcF647F", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0xe4a10d29decbd34c09a62a511d4fd993a7d8cbbf58d7d4278711c29c9148b8f7", + "0x000000000000000000000000336bc9128fffb7869381e2d0c4a156981ca5d240", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "transactionHash": "0x208318107e5571b6c14ef0c13e782301965fbc501a878ffe349b3371c65294b4", + "transactionIndex": "0xb", + "logIndex": "0x9", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000104000000000000000000000000000000000000000000000000000004800000000000000000000000000000000000000000000000000002000000000000000000000000000800000000000000020000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001000040000000000040000000000000000000000000000000000008000000100000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9aa6e98" + }, + { + "transactionHash": "0xd5c2854b93fe8663e4b728e419a4f7a9ef1b0fea0f6fd9700a8f8bfa92119a29", + "transactionIndex": "0xc", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x7EDacD4d53b5A626471c6728f04D92125CcF647F", + "cumulativeGasUsed": "0x657069", + "gasUsed": "0xdb75", + "contractAddress": null, + "logs": [ + { + "address": "0x7EDacD4d53b5A626471c6728f04D92125CcF647F", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0xe4a10d29decbd34c09a62a511d4fd993a7d8cbbf58d7d4278711c29c9148b8f7", + "0x000000000000000000000000e3c522921a16c692e664d06d53a251f91323a06b", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "transactionHash": "0xd5c2854b93fe8663e4b728e419a4f7a9ef1b0fea0f6fd9700a8f8bfa92119a29", + "transactionIndex": "0xc", + "logIndex": "0xa", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000104000000000000000000000010000000000000000000000000000005800000000000000000000000000000000000000000000000000002000000000000000000000000000800000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000001000000000000000040000000000000000000000000000000000008000000100000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9aa6e98" + }, + { + "transactionHash": "0xb199d0a1bceb4c22f4f978052977c206039bb3fa50478346d71915126cb95c94", + "transactionIndex": "0xd", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0xedBd4907A7F98de932e635e9076B4E0C36D0E797", + "cumulativeGasUsed": "0x665b3f", + "gasUsed": "0xead6", + "contractAddress": null, + "logs": [ + { + "address": "0xedBd4907A7F98de932e635e9076B4E0C36D0E797", + "topics": [ + "0x14d77cb3ef4c75b9a031527cf63890f47708121a75c8b9c9cddbacc19defd122", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000fb45e1274d9f0a2df5c0851a705eeb0665171c5b" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000013524547495354524154494f4e5f4d4f44554c4500000000000000000000000000", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "transactionHash": "0xb199d0a1bceb4c22f4f978052977c206039bb3fa50478346d71915126cb95c94", + "transactionIndex": "0xd", + "logIndex": "0xb", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x08000000000000000000000000000000000000000000001000100000000000000000000000000000000000000000000000000000000000000000000000000202000000000000000000000000080000000000000000000000000000000000000000000000020000000002000000000800000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9aa6e98" + }, + { + "transactionHash": "0x16f0f71ee24e9103cde147f2941f6888b7cb5459bfa4bef964657fd24f68bcdc", + "transactionIndex": "0xe", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0xedBd4907A7F98de932e635e9076B4E0C36D0E797", + "cumulativeGasUsed": "0x674615", + "gasUsed": "0xead6", + "contractAddress": null, + "logs": [ + { + "address": "0xedBd4907A7F98de932e635e9076B4E0C36D0E797", + "topics": [ + "0x14d77cb3ef4c75b9a031527cf63890f47708121a75c8b9c9cddbacc19defd122", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000f7081c5ff418ddb6c68a3ccc3cc68a4c21803460" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001352454c4154494f4e534849505f4d4f44554c4500000000000000000000000000", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "transactionHash": "0x16f0f71ee24e9103cde147f2941f6888b7cb5459bfa4bef964657fd24f68bcdc", + "transactionIndex": "0xe", + "logIndex": "0xc", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x08000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000001000000020000000042080000000800000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9aa6e98" + }, + { + "transactionHash": "0x42a1945247d947ff98954fd66b6a04c6aa9bbe92e1c7b38d61cd5be7ff94abf8", + "transactionIndex": "0xf", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0xedBd4907A7F98de932e635e9076B4E0C36D0E797", + "cumulativeGasUsed": "0x6830c7", + "gasUsed": "0xeab2", + "contractAddress": null, + "logs": [ + { + "address": "0xedBd4907A7F98de932e635e9076B4E0C36D0E797", + "topics": [ + "0x14d77cb3ef4c75b9a031527cf63890f47708121a75c8b9c9cddbacc19defd122", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000006a3e5eb4ce11ae3b063903ab6530c34d6daf9dc0" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000104c4943454e53494e475f4d4f44554c4500000000000000000000000000000000", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "transactionHash": "0x42a1945247d947ff98954fd66b6a04c6aa9bbe92e1c7b38d61cd5be7ff94abf8", + "transactionIndex": "0xf", + "logIndex": "0xd", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x08000000000000000000000000000000000000000000001000000000001000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000020000000002000000000800000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9aa6e98" + }, + { + "transactionHash": "0xe2a6f1fc8661c82685ed86a12ac72554d54a5d5bfd9348045a3cbe3c8f36cce6", + "transactionIndex": "0x10", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x336BC9128fFFb7869381E2D0c4A156981cA5d240", + "cumulativeGasUsed": "0x6c9c4c", + "gasUsed": "0x46b85", + "contractAddress": null, + "logs": [ + { + "address": "0x09d6377058555bE9d09bf7F6E4864eA202FD083f", + "topics": [ + "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "transactionHash": "0xe2a6f1fc8661c82685ed86a12ac72554d54a5d5bfd9348045a3cbe3c8f36cce6", + "transactionIndex": "0x10", + "logIndex": "0xe", + "removed": false + }, + { + "address": "0xedBd4907A7F98de932e635e9076B4E0C36D0E797", + "topics": [ + "0x48786003f3d30e41bfa4ee09afdeb9bfb04b7e06e2f74f3177da393a793bbc33", + "0x00000000000000000000000009d6377058555be9d09bf7f6e4864ea202fd083f", + "0x000000000000000000000000e3c522921a16c692e664d06d53a251f91323a06b" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000013524547495354524154494f4e5f4d4f44554c450000000000000000000000000000000000000000000000000000000000000000000000000000000000000001609aeb830ec91a14c97a5446cc7c86a42f73a78f37f9a77afa238b5d11520ddfbc000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000553544f525900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000094348415241435445520000000000000000000000000000000000000000000000", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "transactionHash": "0xe2a6f1fc8661c82685ed86a12ac72554d54a5d5bfd9348045a3cbe3c8f36cce6", + "transactionIndex": "0x10", + "logIndex": "0xf", + "removed": false + }, + { + "address": "0xE3C522921A16c692E664D06d53a251f91323a06B", + "topics": [ + "0x81e084d978860accc83df39f75b801d9019e40d18643b9b39f4cd2a70ca35adb" + ], + "data": "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab00000000000000000000000009d6377058555be9d09bf7f6e4864ea202fd083f00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000d53616d706c65204950204f72670000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000045349504f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000553544f525900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000094348415241435445520000000000000000000000000000000000000000000000", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "transactionHash": "0xe2a6f1fc8661c82685ed86a12ac72554d54a5d5bfd9348045a3cbe3c8f36cce6", + "transactionIndex": "0x10", + "logIndex": "0x10", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x08000000000000000000000000000010008000000000001000000000000001000000000000000000000000000000008000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000200000000000000000000000000000000000000000000000082010000000000000000000000000000000000000000000400000000040800000000000000008001400008000000000000000000000000040000000000200000000000000000000002000000000000000000000010000000000000000000000000000100000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9aa6e98" + }, + { + "transactionHash": "0xd632a5d19f0d63edb2ef743712dec042fae0ce5c4253373fc60e6b8bdcf0fd5f", + "transactionIndex": "0x11", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0xfb45e1274D9f0A2DF5C0851a705EEB0665171C5B", + "cumulativeGasUsed": "0x6f4941", + "gasUsed": "0x2acf5", + "contractAddress": null, + "logs": [ + { + "address": "0xfb45e1274D9f0A2DF5C0851a705EEB0665171C5B", + "topics": [ + "0x1fe48a4ec69671720d8bdd8f8a6853d16f486c0bb91fcaf5b8ffc4932b8bc9f4", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x85e6f7de78d374275e35623e5f626d2458565d84ba4696170c57ea2332c43f1d" + ], + "data": "0x", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "transactionHash": "0xd632a5d19f0d63edb2ef743712dec042fae0ce5c4253373fc60e6b8bdcf0fd5f", + "transactionIndex": "0x11", + "logIndex": "0x11", + "removed": false + }, + { + "address": "0xfb45e1274D9f0A2DF5C0851a705EEB0665171C5B", + "topics": [ + "0x5e140eb5bed8bcb1664a04c0be4aa419e0d2dbf1277a4a6770882a0beb3b91b2", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x85e6f7de78d374275e35623e5f626d2458565d84ba4696170c57ea2332c43f1d" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000001fdd8955a6d70c84a71ebb69de88f3ad0aac50d6", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "transactionHash": "0xd632a5d19f0d63edb2ef743712dec042fae0ce5c4253373fc60e6b8bdcf0fd5f", + "transactionIndex": "0x11", + "logIndex": "0x12", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000200000000000004000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000800000002000000000000000001000000000000000000000000000000000000040000000000000001000000000000000000000000000000000800000000000000800000000000000000000000000000000800000000000000000000000000000000000801000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9aa6e98" + }, + { + "transactionHash": "0xb13b538f55ff3a42ffce3a951fb68e203c600ff1dc3481254ef3ac4db1cdd0f5", + "transactionIndex": "0x12", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0xA30bB959Bc298e244aCE0402B5c0609CC8745134", + "cumulativeGasUsed": "0x78039c", + "gasUsed": "0x8ba5b", + "contractAddress": null, + "logs": [ + { + "address": "0xA30bB959Bc298e244aCE0402B5c0609CC8745134", + "topics": [ + "0xf93d3176a8dc9cb9dbaf25cf82679a837e82137f65a2eaef630b92178c3fb85d" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000604368616e6e656c732d4f662d446973747269627574696f6e000000000000001800000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000009535049504c2d312e300000000000000000000000000000000000000000000000", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "transactionHash": "0xb13b538f55ff3a42ffce3a951fb68e203c600ff1dc3481254ef3ac4db1cdd0f5", + "transactionIndex": "0x12", + "logIndex": "0x13", + "removed": false + }, + { + "address": "0xA30bB959Bc298e244aCE0402B5c0609CC8745134", + "topics": [ + "0xf93d3176a8dc9cb9dbaf25cf82679a837e82137f65a2eaef630b92178c3fb85d" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000604174747269627574696f6e00000000000000000000000000000000000000000b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009535049504c2d312e300000000000000000000000000000000000000000000000", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "transactionHash": "0xb13b538f55ff3a42ffce3a951fb68e203c600ff1dc3481254ef3ac4db1cdd0f5", + "transactionIndex": "0x12", + "logIndex": "0x14", + "removed": false + }, + { + "address": "0xA30bB959Bc298e244aCE0402B5c0609CC8745134", + "topics": [ + "0xf93d3176a8dc9cb9dbaf25cf82679a837e82137f65a2eaef630b92178c3fb85d" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000006044657269766174697665732d576974682d4174747269627574696f6e0000001c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009535049504c2d312e300000000000000000000000000000000000000000000000", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "transactionHash": "0xb13b538f55ff3a42ffce3a951fb68e203c600ff1dc3481254ef3ac4db1cdd0f5", + "transactionIndex": "0x12", + "logIndex": "0x15", + "removed": false + }, + { + "address": "0xA30bB959Bc298e244aCE0402B5c0609CC8745134", + "topics": [ + "0xf93d3176a8dc9cb9dbaf25cf82679a837e82137f65a2eaef630b92178c3fb85d" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000006044657269766174697665732d576974682d417070726f76616c0000000000001900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009535049504c2d312e300000000000000000000000000000000000000000000000", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "transactionHash": "0xb13b538f55ff3a42ffce3a951fb68e203c600ff1dc3481254ef3ac4db1cdd0f5", + "transactionIndex": "0x12", + "logIndex": "0x16", + "removed": false + }, + { + "address": "0xA30bB959Bc298e244aCE0402B5c0609CC8745134", + "topics": [ + "0xf93d3176a8dc9cb9dbaf25cf82679a837e82137f65a2eaef630b92178c3fb85d" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000006044657269766174697665732d5265636970726f63616c2d4c6963656e7365001e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009535049504c2d312e300000000000000000000000000000000000000000000000", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "transactionHash": "0xb13b538f55ff3a42ffce3a951fb68e203c600ff1dc3481254ef3ac4db1cdd0f5", + "transactionIndex": "0x12", + "logIndex": "0x17", + "removed": false + }, + { + "address": "0xA30bB959Bc298e244aCE0402B5c0609CC8745134", + "topics": [ + "0xcc3b4b42d496457f15f49a410f201fdb906b09fbff771f240a8dc8418abe68be" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000009535049504c2d312e300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004068747470733a2f2f617277656176652e6e65742f486a7a5f643774346b4d4546725a7274685648774d49565070477a655f304a367a58476869376b4569306373", + "blockHash": "0xafa1bb8c49ae7e7f83afe710084c3f7b6926feedaabcb474f817619ba8e0e219", + "blockNumber": "0x49d61f", + "transactionHash": "0xb13b538f55ff3a42ffce3a951fb68e203c600ff1dc3481254ef3ac4db1cdd0f5", + "transactionIndex": "0x12", + "logIndex": "0x18", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000800000000000000000000008000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000080800000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9aa6e98" + } + ], + "libraries": [], + "pending": [], + "path": "/Users/drmanhattan/Workspace/StoryProtocol/protocol-contracts/broadcast/Main.s.sol/11155111/run-latest.json", + "returns": {}, + "timestamp": 1701936957, + "chain": 11155111, + "multi": false, + "commit": "e7d0775" +} \ No newline at end of file diff --git a/broadcast/Main.s.sol/11155111/run-1702012225.json b/broadcast/Main.s.sol/11155111/run-1702012225.json new file mode 100644 index 00000000..27e80cc4 --- /dev/null +++ b/broadcast/Main.s.sol/11155111/run-1702012225.json @@ -0,0 +1,883 @@ +{ + "transactions": [ + { + "hash": "0xe7f72cc7669b6512afe7f2e02fc04c294a2c0092c62e97054f2fef6fac7f97e3", + "transactionType": "CREATE", + "contractName": "AccessControlSingleton", + "contractAddress": "0x992EEc8204daf0CD34010De0a83cB768a055982f", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x2138be", + "value": "0x0", + "data": "0x60a06040523060805234801561001457600080fd5b50608051611d9061004c600039600081816104d101528181610581015281816106d60152818161078601526108cb0152611d906000f3fe6080604052600436106100dd5760003560e01c806352d1902d1161007f578063a217fddf11610059578063a217fddf146102a8578063ac9650d8146102bd578063c4d66de8146102ea578063d547741f1461030a57600080fd5b806352d1902d146101ea57806354fd4d50146101ff57806391d148541461025557600080fd5b80632f2ff15d116100bb5780632f2ff15d1461017757806336568abe146101975780633659cfe6146101b75780634f1ef286146101d757600080fd5b806301ffc9a7146100e25780631e4e009114610117578063248a9ca314610139575b600080fd5b3480156100ee57600080fd5b506101026100fd3660046117aa565b61032a565b60405190151581526020015b60405180910390f35b34801561012357600080fd5b506101376101323660046117ec565b6103c3565b005b34801561014557600080fd5b5061016961015436600461180e565b60009081526065602052604090206001015490565b60405190815260200161010e565b34801561018357600080fd5b50610137610192366004611850565b6103dd565b3480156101a357600080fd5b506101376101b2366004611850565b610402565b3480156101c357600080fd5b506101376101d236600461187c565b6104ba565b6101376101e53660046118c6565b6106bf565b3480156101f657600080fd5b506101696108b1565b34801561020b57600080fd5b506102486040518060400160405280600581526020017f302e312e3000000000000000000000000000000000000000000000000000000081525081565b60405161010e9190611a14565b34801561026157600080fd5b50610102610270366004611850565b600091825260656020908152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b3480156102b457600080fd5b50610169600081565b3480156102c957600080fd5b506102dd6102d8366004611a27565b61099d565b60405161010e9190611a9c565b3480156102f657600080fd5b5061013761030536600461187c565b610a92565b34801561031657600080fd5b50610137610325366004611850565b610c84565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806103bd57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60006103ce81610ca9565b6103d88383610cb3565b505050565b6000828152606560205260409020600101546103f881610ca9565b6103d88383610cfe565b73ffffffffffffffffffffffffffffffffffffffff811633146104ac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b6104b68282610df2565b5050565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016300361057f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016104a3565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166105f47f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610697576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016104a3565b6106a081610ead565b604080516000808252602082019092526106bc91839190610ed7565b50565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610784576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016104a3565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166107f97f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff161461089c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016104a3565b6108a582610ead565b6104b682826001610ed7565b60003073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610978576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016104a3565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b60608167ffffffffffffffff8111156109b8576109b8611897565b6040519080825280602002602001820160405280156109eb57816020015b60608152602001906001900390816109d65790505b50905060005b82811015610a8b57610a5b30858584818110610a0f57610a0f611b1c565b9050602002810190610a219190611b4b565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506110d692505050565b828281518110610a6d57610a6d611b1c565b60200260200101819052508080610a8390611be6565b9150506109f1565b5092915050565b600054610100900460ff1615808015610ab25750600054600160ff909116105b80610acc5750303b158015610acc575060005460ff166001145b610b58576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016104a3565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610bb657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b73ffffffffffffffffffffffffffffffffffffffff8216610c03576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c0b611102565b610c13611102565b610c1e600083610cfe565b80156104b657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b600082815260656020526040902060010154610c9f81610ca9565b6103d88383610df2565b6106bc813361119b565b600082815260656020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff166104b657600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff85168452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055610d943390565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16156104b657600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e36104b681610ca9565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610f0a576103d883611255565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610f8f575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252610f8c91810190611c1e565b60015b61101b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016104a3565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81146110ca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016104a3565b506103d883838361135f565b60606110fb8383604051806060016040528060278152602001611d346027913961138a565b9392505050565b600054610100900460ff16611199576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016104a3565b565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff166104b6576111db8161140f565b6111e683602061142e565b6040516020016111f7929190611c37565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a00000000000000000000000000000000000000000000000000000000082526104a391600401611a14565b73ffffffffffffffffffffffffffffffffffffffff81163b6112f9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016104a3565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61136883611671565b6000825111806113755750805b156103d85761138483836110d6565b50505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516113b49190611cb8565b600060405180830381855af49150503d80600081146113ef576040519150601f19603f3d011682016040523d82523d6000602084013e6113f4565b606091505b5091509150611405868383876116be565b9695505050505050565b60606103bd73ffffffffffffffffffffffffffffffffffffffff831660145b6060600061143d836002611cd4565b611448906002611ceb565b67ffffffffffffffff81111561146057611460611897565b6040519080825280601f01601f19166020018201604052801561148a576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106114c1576114c1611b1c565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061152457611524611b1c565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000611560846002611cd4565b61156b906001611ceb565b90505b6001811115611608577f303132333435363738396162636465660000000000000000000000000000000085600f16601081106115ac576115ac611b1c565b1a60f81b8282815181106115c2576115c2611b1c565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c9361160181611cfe565b905061156e565b5083156110fb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016104a3565b61167a81611255565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060831561175457825160000361174d5773ffffffffffffffffffffffffffffffffffffffff85163b61174d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016104a3565b508161175e565b61175e8383611766565b949350505050565b8151156117765781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104a39190611a14565b6000602082840312156117bc57600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146110fb57600080fd5b600080604083850312156117ff57600080fd5b50508035926020909101359150565b60006020828403121561182057600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461184b57600080fd5b919050565b6000806040838503121561186357600080fd5b8235915061187360208401611827565b90509250929050565b60006020828403121561188e57600080fd5b6110fb82611827565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080604083850312156118d957600080fd5b6118e283611827565b9150602083013567ffffffffffffffff808211156118ff57600080fd5b818501915085601f83011261191357600080fd5b81358181111561192557611925611897565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561196b5761196b611897565b8160405282815288602084870101111561198457600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b838110156119c15781810151838201526020016119a9565b50506000910152565b600081518084526119e28160208601602086016119a6565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006110fb60208301846119ca565b60008060208385031215611a3a57600080fd5b823567ffffffffffffffff80821115611a5257600080fd5b818501915085601f830112611a6657600080fd5b813581811115611a7557600080fd5b8660208260051b8501011115611a8a57600080fd5b60209290920196919550909350505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015611b0f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452611afd8583516119ca565b94509285019290850190600101611ac3565b5092979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611b8057600080fd5b83018035915067ffffffffffffffff821115611b9b57600080fd5b602001915036819003821315611bb057600080fd5b9250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611c1757611c17611bb7565b5060010190565b600060208284031215611c3057600080fd5b5051919050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351611c6f8160178501602088016119a6565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351611cac8160288401602088016119a6565b01602801949350505050565b60008251611cca8184602087016119a6565b9190910192915050565b80820281158282048414176103bd576103bd611bb7565b808201808211156103bd576103bd611bb7565b600081611d0d57611d0d611bb7565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220c1f5e7366e6e39b285e4066626c260cad32cb7f5868a153eb73217f270d2937864736f6c63430008130033", + "nonce": "0x7d2", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x684dc36789c2611d21e56c306469ae9ed327cb790c768bfe80715b22844b0330", + "transactionType": "CREATE", + "contractName": "ERC1967Proxy", + "contractAddress": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "function": null, + "arguments": [ + "0x992EEc8204daf0CD34010De0a83cB768a055982f", + "0xc4d66de8000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x3bece", + "value": "0x0", + "data": "0x60806040526040516104ee3803806104ee833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c760279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60be806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea264697066735822122091c81c9b8ac755a7e1e08c0e9f65600d21e642457fb84c7f9e0d0a65b62d269064736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564000000000000000000000000992eec8204daf0cd34010de0a83cb768a055982f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de8000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab00000000000000000000000000000000000000000000000000000000", + "nonce": "0x7d3", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x918d79032216292c73e69df31d5dc6b96eec366b4f98482294f7685425d3780d", + "transactionType": "CREATE", + "contractName": "LicensingFrameworkRepo", + "contractAddress": "0x43C1C831D370f36149183d31FdAC50b131289949", + "function": null, + "arguments": [ + "0xbD132e42baaFe3648170770F2D45dbA59166e06d" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x208b42", + "value": "0x0", + "data": "0x60806040523480156200001157600080fd5b5060405162001e1f38038062001e1f8339810160408190526200003491620001cd565b80620000516001600160a01b038216637965db0b60e01b620000e1565b62000094576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b038316908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050620001f8565b6000620000ee8362000109565b801562000102575062000102838362000142565b9392505050565b60006200011e826301ffc9a760e01b62000142565b80156200013c57506200013a826001600160e01b031962000142565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d91506000519050828015620001b5575060208210155b8015620001c25750600081115b979650505050505050565b600060208284031215620001e057600080fd5b81516001600160a01b03811681146200010257600080fd5b611c1780620002086000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063c2e26bbb1161005b578063c2e26bbb14610108578063c8cea2151461011b578063e75afa551461012e578063eae376e31461014e57600080fd5b806319129e5a1461008d5780637859a97e146100a25780639faddd20146100c8578063ac9650d8146100e8575b600080fd5b6100a061009b366004611198565b61016e565b005b6100b56100b0366004611217565b6102d2565b6040519081526020015b60405180910390f35b6100db6100d6366004611259565b610302565b6040516100bf91906113d1565b6100fb6100f63660046113e4565b6104e8565b6040516100bf9190611459565b6100db610116366004611259565b6105dd565b6100a06101293660046114d9565b6107cb565b61014161013c366004611217565b6109c4565b6040516100bf9190611514565b61016161015c366004611217565b610bae565b6040516100bf9190611587565b600061017a8133610c62565b6101be576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b6101fe73ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000610d05565b610264576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c00000000000000000000000000000000000060448201526064016101b5565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050565b6000600183836040516102e692919061159a565b9081526040519081900360200190206003015490505b92915050565b604080516080810182526000808252602082015260609181018290528181019190915260006001858560405161033992919061159a565b9081526020016040518091039020905080600301838154811061035e5761035e6115aa565b9060005260206000209060040201604051806080016040529081600082015481526020016001820160009054906101000a900460ff1660058111156103a5576103a56112a5565b60058111156103b6576103b66112a5565b81526020016002820180546103ca906115d9565b80601f01602080910402602001604051908101604052809291908181526020018280546103f6906115d9565b80156104435780601f1061041857610100808354040283529160200191610443565b820191906000526020600020905b81548152906001019060200180831161042657829003601f168201915b5050505050815260200160038201805461045c906115d9565b80601f0160208091040260200160405190810160405280929190818152602001828054610488906115d9565b80156104d55780601f106104aa576101008083540402835291602001916104d5565b820191906000526020600020905b8154815290600101906020018083116104b857829003601f168201915b5050505050815250509150509392505050565b60608167ffffffffffffffff8111156105035761050361162c565b60405190808252806020026020018201604052801561053657816020015b60608152602001906001900390816105215790505b50905060005b828110156105d6576105a63085858481811061055a5761055a6115aa565b905060200281019061056c919061165b565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610d2192505050565b8282815181106105b8576105b86115aa565b602002602001018190525080806105ce906116c0565b91505061053c565b5092915050565b60408051608081018252600080825260208201526060918101829052818101919091526002600085858560405160200161061993929190611768565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181528151602092830120835282820193909352908201600020825160808101909352805483526001810154909183019060ff166005811115610689576106896112a5565b600581111561069a5761069a6112a5565b81526020016002820180546106ae906115d9565b80601f01602080910402602001604051908101604052809291908181526020018280546106da906115d9565b80156107275780601f106106fc57610100808354040283529160200191610727565b820191906000526020600020905b81548152906001019060200180831161070a57829003601f168201915b50505050508152602001600382018054610740906115d9565b80601f016020809104026020016040519081016040528092919081815260200182805461076c906115d9565b80156107b95780601f1061078e576101008083540402835291602001916107b9565b820191906000526020600020905b81548152906001019060200180831161079c57829003601f168201915b50505050508152505090509392505050565b7f256895704541e78004f0fd55953a8bcc54c628755b14fbf53afdc556473f9bd06107f68133610c62565b610835576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016101b5565b60006001610843848061165b565b60405161085192919061159a565b90815260200160405180910390209050600061086f82600101610d46565b11156108a7576040517f7e5d56bb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006108b6604085018561178c565b91505060968111156108f4576040517fb6cb3c0400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b818110156109525761094061090c868061165b565b610919604089018961178c565b85818110610929576109296115aa565b905060200281019061093b91906117f4565b610d50565b8061094a816116c0565b9150506108f7565b50610960602085018561165b565b839161096d919083611881565b507fcc3b4b42d496457f15f49a410f201fdb906b09fbff771f240a8dc8418abe68be610999858061165b565b6109a6602088018861165b565b6040516109b6949392919061199c565b60405180910390a150505050565b6060600183836040516109d892919061159a565b9081526020016040518091039020600301805480602002602001604051908101604052809291908181526020016000905b82821015610ba25783829060005260206000209060040201604051806080016040529081600082015481526020016001820160009054906101000a900460ff166005811115610a5a57610a5a6112a5565b6005811115610a6b57610a6b6112a5565b8152602001600282018054610a7f906115d9565b80601f0160208091040260200160405190810160405280929190818152602001828054610aab906115d9565b8015610af85780601f10610acd57610100808354040283529160200191610af8565b820191906000526020600020905b815481529060010190602001808311610adb57829003601f168201915b50505050508152602001600382018054610b11906115d9565b80601f0160208091040260200160405190810160405280929190818152602001828054610b3d906115d9565b8015610b8a5780601f10610b5f57610100808354040283529160200191610b8a565b820191906000526020600020905b815481529060010190602001808311610b6d57829003601f168201915b50505050508152505081526020019060010190610a09565b50505050905092915050565b606060018383604051610bc292919061159a565b9081526040519081900360200190208054610bdc906115d9565b80601f0160208091040260200160405190810160405280929190818152602001828054610c08906115d9565b8015610c555780601f10610c2a57610100808354040283529160200191610c55565b820191906000526020600020905b815481529060010190602001808311610c3857829003601f168201915b5050505050905092915050565b600080546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff8481166024830152909116906391d1485490604401602060405180830381865afa158015610cda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cfe91906119c3565b9392505050565b6000610d1083610e81565b8015610cfe5750610cfe8383610ee5565b6060610cfe8383604051806060016040528060278152602001611bbb60279139610fb4565b60006102fc825490565b600060018484604051610d6492919061159a565b90815260405190819003602001902090508135610d846001830182611039565b15610dbb576040517f982f2a2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610dc86001830182611051565b508260026000878785604051602001610de393929190611768565b6040516020818303038152906040528051906020012081526020019081526020016000208181610e1391906119f5565b505060038201805460018101825560009182526020909120849160040201610e3b82826119f5565b50507f25be0d4acedf2199ce49f3044ddf933ebe2febd8c63bd2cdd7ed12b458fc336185858386604051610e729493929190611b13565b60405180910390a15050505050565b6000610ead827f01ffc9a700000000000000000000000000000000000000000000000000000000610ee5565b80156102fc5750610ede827fffffffff00000000000000000000000000000000000000000000000000000000610ee5565b1592915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015610f9d575060208210155b8015610fa95750600081115b979650505050505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051610fde9190611ba8565b600060405180830381855af49150503d8060008114611019576040519150601f19603f3d011682016040523d82523d6000602084013e61101e565b606091505b509150915061102f8683838761105d565b9695505050505050565b60008181526001830160205260408120541515610cfe565b6000610cfe8383611105565b606083156110f35782516000036110ec5773ffffffffffffffffffffffffffffffffffffffff85163b6110ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016101b5565b50816110fd565b6110fd8383611154565b949350505050565b600081815260018301602052604081205461114c575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556102fc565b5060006102fc565b8151156111645781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101b59190611587565b6000602082840312156111aa57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610cfe57600080fd5b60008083601f8401126111e057600080fd5b50813567ffffffffffffffff8111156111f857600080fd5b60208301915083602082850101111561121057600080fd5b9250929050565b6000806020838503121561122a57600080fd5b823567ffffffffffffffff81111561124157600080fd5b61124d858286016111ce565b90969095509350505050565b60008060006040848603121561126e57600080fd5b833567ffffffffffffffff81111561128557600080fd5b611291868287016111ce565b909790965060209590950135949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6006811061130b577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b60005b8381101561132a578181015183820152602001611312565b50506000910152565b6000815180845261134b81602086016020860161130f565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b805182526000602082015161139560208501826112d4565b506040820151608060408501526113af6080850182611333565b9050606083015184820360608601526113c88282611333565b95945050505050565b602081526000610cfe602083018461137d565b600080602083850312156113f757600080fd5b823567ffffffffffffffff8082111561140f57600080fd5b818501915085601f83011261142357600080fd5b81358181111561143257600080fd5b8660208260051b850101111561144757600080fd5b60209290920196919550909350505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156114cc577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08886030184526114ba858351611333565b94509285019290850190600101611480565b5092979650505050505050565b6000602082840312156114eb57600080fd5b813567ffffffffffffffff81111561150257600080fd5b820160608185031215610cfe57600080fd5b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156114cc577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc088860301845261157585835161137d565b9450928501929085019060010161153b565b602081526000610cfe6020830184611333565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600181811c908216806115ed57607f821691505b602082108103611626577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261169057600080fd5b83018035915067ffffffffffffffff8211156116ab57600080fd5b60200191503681900382131561121057600080fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611718577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60408152600061177c60408301858761171f565b9050826020830152949350505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126117c157600080fd5b83018035915067ffffffffffffffff8211156117dc57600080fd5b6020019150600581901b360382131561121057600080fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8183360301811261182857600080fd5b9190910192915050565b601f82111561187c57600081815260208120601f850160051c810160208610156118595750805b601f850160051c820191505b8181101561187857828155600101611865565b5050505b505050565b67ffffffffffffffff8311156118995761189961162c565b6118ad836118a783546115d9565b83611832565b6000601f8411600181146118ff57600085156118c95750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355611995565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b8281101561194e578685013582556020948501946001909201910161192e565b5086821015611989577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b6040815260006119b060408301868861171f565b8281036020840152610fa981858761171f565b6000602082840312156119d557600080fd5b81518015158114610cfe57600080fd5b600681106119f257600080fd5b50565b81358155600181016020830135611a0b816119e5565b60068110611a42577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0082541660ff821681178355505050611a7e604083018361165b565b611a8c818360028601611881565b5050611a9b606083018361165b565b611aa9818360038601611881565b50505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611ae457600080fd5b830160208101925035905067ffffffffffffffff811115611b0457600080fd5b80360382131561121057600080fd5b606081526000611b2760608301868861171f565b8460208401528281036040840152833581526020840135611b47816119e5565b611b5460208301826112d4565b50611b626040850185611aaf565b60806040840152611b7760808401828461171f565b915050611b876060860186611aaf565b8383036060850152611b9a83828461171f565b9a9950505050505050505050565b6000825161182881846020870161130f56fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212208f3e172f26b1e16118674b4d7985c156f2849b9f9fd282fb3045456dfd7724a564736f6c63430008130033000000000000000000000000bd132e42baafe3648170770f2d45dba59166e06d", + "nonce": "0x7d4", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xd3ddafaca2e81ff6081857324791c6529045bfa8d71e9a5b28e6919ceed2fef2", + "transactionType": "CREATE", + "contractName": "ModuleRegistry", + "contractAddress": "0xe8ab207A5C21162Db1ee75e378A92C82d550a8d1", + "function": null, + "arguments": [ + "0xbD132e42baaFe3648170770F2D45dbA59166e06d" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x276514", + "value": "0x0", + "data": "0x60806040523480156200001157600080fd5b506040516200246c3803806200246c8339810160408190526200003491620001cd565b80620000516001600160a01b038216637965db0b60e01b620000e1565b62000094576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b038316908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050620001f8565b6000620000ee8362000109565b801562000102575062000102838362000142565b9392505050565b60006200011e826301ffc9a760e01b62000142565b80156200013c57506200013a826001600160e01b031962000142565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d91506000519050828015620001b5575060208210155b8015620001c25750600081115b979650505050505050565b600060208284031215620001e057600080fd5b81516001600160a01b03811681146200010257600080fd5b61226480620002086000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c80638694509411610097578063d04d78c611610066578063d04d78c614610225578063d08906d614610238578063e1fc45ce1461024b578063eca535191461025e57600080fd5b806386945094146101df578063ac9650d8146101f2578063b38609e814610212578063c7bdcb8a146101df57600080fd5b80634066edd9116100d35780634066edd914610179578063449f1a961461018c5780635c7a980b146101c457806382984f30146101cc57600080fd5b806319129e5a1461010557806320b76ffc1461011a57806337e22bd41461012d5780633af83c1814610156575b600080fd5b6101186101133660046115ac565b610271565b005b610118610128366004611612565b6103d5565b61014061013b366004611854565b6103eb565b60405161014d9190611982565b60405180910390f35b610169610164366004611995565b610405565b604051901515815260200161014d565b6101186101873660046119ec565b610460565b61019f61019a3660046119ec565b610672565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161014d565b61019f600081565b6101696101da3660046115ac565b6106b4565b61019f6101ed3660046119ec565b610718565b610205610200366004611a73565b61072c565b60405161014d9190611afb565b610140610220366004611b0e565b610821565b610118610233366004611995565b610939565b610118610246366004611995565b610acd565b610140610259366004611bf6565b610c1d565b61011861026c3660046119ec565b610ca3565b600061027d8133610e63565b6102c1576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b61030173ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000610f06565b610367576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c00000000000000000000000000000000000060448201526064016102b8565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050565b6103e3853386868686610f22565b505050505050565b60606103fb8633878787876110d0565b9695505050505050565b60008173ffffffffffffffffffffffffffffffffffffffff1660018585604051610430929190611c8b565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff161490509392505050565b7fc9a6ce5d86bdc06f8d57f20091bf09bf611e57d0626b65aa9ebb3c9179ba650f61048b8133610e63565b6104ca576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016102b8565b600073ffffffffffffffffffffffffffffffffffffffff16600284846040516104f4929190611c8b565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff16036105555782826040517f3fbd33b30000000000000000000000000000000000000000000000000000000081526004016102b8929190611ce4565b600060028484604051610569929190611c8b565b9081526040519081900360200181205473ffffffffffffffffffffffffffffffffffffffff1691506002906105a19086908690611c8b565b908152604080516020928190038301902080547fffffffffffffffffffffffff000000000000000000000000000000000000000016905573ffffffffffffffffffffffffffffffffffffffff831660009081526003909252812061060491611524565b8073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f946d7ea49afbef075e4d6f78364557a1cd3e32b89d9a963d6d041caac5e8953a8686604051610664929190611ce4565b60405180910390a350505050565b600060028383604051610686929190611c8b565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff16905092915050565b73ffffffffffffffffffffffffffffffffffffffff811660008181526003602052604080822090519192916002916106eb91611d4b565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff161492915050565b600060018383604051610686929190611c8b565b60608167ffffffffffffffff81111561074757610747611695565b60405190808252806020026020018201604052801561077a57816020015b60608152602001906001900390816107655790505b50905060005b8281101561081a576107ea3085858481811061079e5761079e611ddf565b90506020028101906107b09190611e0e565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061126992505050565b8282815181106107fc576107fc611ddf565b6020026020010181905250808061081290611e73565b915050610780565b5092915050565b60607fe4a10d29decbd34c09a62a511d4fd993a7d8cbbf58d7d4278711c29c9148b8f761084e8133610e63565b61088d576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016102b8565b6109298c8c8c8c8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061091a92508c91508d9050611ed2565b610924898b611ed2565b6110d0565b9c9b505050505050505050505050565b7fc9a6ce5d86bdc06f8d57f20091bf09bf611e57d0626b65aa9ebb3c9179ba650f6109648133610e63565b6109a3576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016102b8565b73ffffffffffffffffffffffffffffffffffffffff82166109f0576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8160028585604051610a03929190611c8b565b908152604080516020928190038301902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9485161790559184166000908152600390915220610a6c848683611f2a565b508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f33f12a9d70fd5f6771d495aae3b2cf0abc703cbaa526982b65446f1ef8816f9b8686604051610664929190611ce4565b7fc9a6ce5d86bdc06f8d57f20091bf09bf611e57d0626b65aa9ebb3c9179ba650f610af88133610e63565b610b37576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016102b8565b73ffffffffffffffffffffffffffffffffffffffff8216610b84576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8160018585604051610b97929190611c8b565b908152604051908190036020018120805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff0000000000000000000000000000000000000000909116179055908316906000907f14d77cb3ef4c75b9a031527cf63890f47708121a75c8b9c9cddbacc19defd122906106649088908890611ce4565b60607fe4a10d29decbd34c09a62a511d4fd993a7d8cbbf58d7d4278711c29c9148b8f7610c4a8133610e63565b610c89576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016102b8565b610c97888888888888610f22565b98975050505050505050565b7fc9a6ce5d86bdc06f8d57f20091bf09bf611e57d0626b65aa9ebb3c9179ba650f610cce8133610e63565b610d0d576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016102b8565b600073ffffffffffffffffffffffffffffffffffffffff1660018484604051610d37929190611c8b565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff1603610d985782826040517f97385f510000000000000000000000000000000000000000000000000000000081526004016102b8929190611ce4565b600060018484604051610dac929190611c8b565b9081526040519081900360200181205473ffffffffffffffffffffffffffffffffffffffff169150600190610de49086908690611c8b565b90815260405190819003602001812080547fffffffffffffffffffffffff000000000000000000000000000000000000000016905573ffffffffffffffffffffffffffffffffffffffff8216906000907f335f1d2bb0046b3a423088788bb8d6350f8a36ff7d554592f91d8102ea0ce4d7906106649088908890611ce4565b600080546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff8481166024830152909116906391d1485490604401602060405180830381865afa158015610edb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eff9190612045565b9392505050565b6000610f118361128e565b8015610eff5750610eff83836112f3565b6060600060018686604051610f38929190611c8b565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff16905080610f9b5785856040517f97385f510000000000000000000000000000000000000000000000000000000081526004016102b8929190611ce4565b6040517f4fcbd21300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821690634fcbd21390610ff3908b908b9089908990600401612067565b6000604051808303816000875af1158015611012573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261105891908101906120a1565b91508673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167f48786003f3d30e41bfa4ee09afdeb9bfb04b7e06e2f74f3177da393a793bbc33888888886040516110bd9493929190612118565b60405180910390a3509695505050505050565b606060006001866040516110e4919061213f565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff1690508061114557856040517f97385f510000000000000000000000000000000000000000000000000000000081526004016102b89190611982565b6040517fb6efd29d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82169063b6efd29d9061119f908b908b908a908a908a9060040161215b565b6000604051808303816000875af11580156111be573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261120491908101906120a1565b91508673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fc370e2f187a6d9446aca617bbcd60f84f24a0020a0c55dbc4ff5c8a3ce87abb5888888886040516110bd94939291906121ba565b6060610eff8383604051806060016040528060278152602001612208602791396113c2565b60006112ba827f01ffc9a7000000000000000000000000000000000000000000000000000000006112f3565b80156112ed57506112eb827fffffffff000000000000000000000000000000000000000000000000000000006112f3565b155b92915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d915060005190508280156113ab575060208210155b80156113b75750600081115b979650505050505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516113ec919061213f565b600060405180830381855af49150503d8060008114611427576040519150601f19603f3d011682016040523d82523d6000602084013e61142c565b606091505b50915091506103fb86838387606083156114ce5782516000036114c75773ffffffffffffffffffffffffffffffffffffffff85163b6114c7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102b8565b50816114d8565b6114d883836114e0565b949350505050565b8151156114f05781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102b89190611982565b50805461153090611cf8565b6000825580601f10611540575050565b601f01602090049060005260206000209081019061155e9190611561565b50565b5b808211156115765760008155600101611562565b5090565b73ffffffffffffffffffffffffffffffffffffffff8116811461155e57600080fd5b80356115a78161157a565b919050565b6000602082840312156115be57600080fd5b8135610eff8161157a565b60008083601f8401126115db57600080fd5b50813567ffffffffffffffff8111156115f357600080fd5b60208301915083602082850101111561160b57600080fd5b9250929050565b60008060008060006060868803121561162a57600080fd5b85356116358161157a565b9450602086013567ffffffffffffffff8082111561165257600080fd5b61165e89838a016115c9565b9096509450604088013591508082111561167757600080fd5b50611684888289016115c9565b969995985093965092949392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561170b5761170b611695565b604052919050565b600067ffffffffffffffff82111561172d5761172d611695565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f83011261176a57600080fd5b813561177d61177882611713565b6116c4565b81815284602083860101111561179257600080fd5b816020850160208301376000918101602001919091529392505050565b600067ffffffffffffffff808411156117ca576117ca611695565b8360051b60206117db8183016116c4565b868152935090840190808401878311156117f457600080fd5b855b838110156118285780358581111561180e5760008081fd5b61181a8a828a01611759565b8352509082019082016117f6565b50505050509392505050565b600082601f83011261184557600080fd5b610eff838335602085016117af565b600080600080600060a0868803121561186c57600080fd5b85356118778161157a565b9450602086013567ffffffffffffffff8082111561189457600080fd5b6118a089838a01611759565b955060408801359150808211156118b657600080fd5b6118c289838a01611759565b945060608801359150808211156118d857600080fd5b6118e489838a01611834565b935060808801359150808211156118fa57600080fd5b5061190788828901611834565b9150509295509295909350565b60005b8381101561192f578181015183820152602001611917565b50506000910152565b60008151808452611950816020860160208601611914565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610eff6020830184611938565b6000806000604084860312156119aa57600080fd5b833567ffffffffffffffff8111156119c157600080fd5b6119cd868287016115c9565b90945092505060208401356119e18161157a565b809150509250925092565b600080602083850312156119ff57600080fd5b823567ffffffffffffffff811115611a1657600080fd5b611a22858286016115c9565b90969095509350505050565b60008083601f840112611a4057600080fd5b50813567ffffffffffffffff811115611a5857600080fd5b6020830191508360208260051b850101111561160b57600080fd5b60008060208385031215611a8657600080fd5b823567ffffffffffffffff811115611a9d57600080fd5b611a2285828601611a2e565b6000815180845260208085019450848260051b860182860160005b85811015611aee578383038952611adc838351611938565b98850198925090840190600101611ac4565b5090979650505050505050565b602081526000610eff6020830184611aa9565b60008060008060008060008060008060c08b8d031215611b2d57600080fd5b611b368b61159c565b9950611b4460208c0161159c565b985060408b013567ffffffffffffffff80821115611b6157600080fd5b611b6d8e838f016115c9565b909a50985060608d0135915080821115611b8657600080fd5b611b928e838f016115c9565b909850965060808d0135915080821115611bab57600080fd5b611bb78e838f01611a2e565b909650945060a08d0135915080821115611bd057600080fd5b50611bdd8d828e01611a2e565b915080935050809150509295989b9194979a5092959850565b60008060008060008060808789031215611c0f57600080fd5b8635611c1a8161157a565b95506020870135611c2a8161157a565b9450604087013567ffffffffffffffff80821115611c4757600080fd5b611c538a838b016115c9565b90965094506060890135915080821115611c6c57600080fd5b50611c7989828a016115c9565b979a9699509497509295939492505050565b8183823760009101908152919050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6020815260006114d8602083018486611c9b565b600181811c90821680611d0c57607f821691505b602082108103611d45577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b6000808354611d5981611cf8565b60018281168015611d715760018114611da457611dd3565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0084168752821515830287019450611dd3565b8760005260208060002060005b85811015611dca5781548a820152908401908201611db1565b50505082870194505b50929695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611e4357600080fd5b83018035915067ffffffffffffffff821115611e5e57600080fd5b60200191503681900382131561160b57600080fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611ecb577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b6000610eff3684846117af565b601f821115611f2557600081815260208120601f850160051c81016020861015611f065750805b601f850160051c820191505b818110156103e357828155600101611f12565b505050565b67ffffffffffffffff831115611f4257611f42611695565b611f5683611f508354611cf8565b83611edf565b6000601f841160018114611fa85760008515611f725750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b17835561203e565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b82811015611ff75786850135825560209485019460019092019101611fd7565b5086821015612032577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b60006020828403121561205757600080fd5b81518015158114610eff57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250606060408301526103fb606083018486611c9b565b6000602082840312156120b357600080fd5b815167ffffffffffffffff8111156120ca57600080fd5b8201601f810184136120db57600080fd5b80516120e961177882611713565b8181528560208385010111156120fe57600080fd5b61210f826020830160208601611914565b95945050505050565b60408152600061212c604083018688611c9b565b82810360208401526113b7818587611c9b565b60008251612151818460208701611914565b9190910192915050565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525060a0604083015261219460a0830186611938565b82810360608401526121a68186611aa9565b90508281036080840152610c978185611aa9565b6080815260006121cd6080830187611938565b82810360208401526121df8187611938565b905082810360408401526121f38186611aa9565b905082810360608401526113b78185611aa956fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220db500e1b4c73af951db86225ddf5da0ca8d3d8bec7e9430df8a7b51035fa9ee564736f6c63430008130033000000000000000000000000bd132e42baafe3648170770f2d45dba59166e06d", + "nonce": "0x7d5", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x1f3dc0d59df858826799989459af30bd37cf4fa01610ea98add6f5813cd2cafc", + "transactionType": "CREATE", + "contractName": "IPAssetRegistry", + "contractAddress": "0x7a7BC5640637b74ABEcc6e908Ed548eE1969c948", + "function": null, + "arguments": [ + "0xe8ab207A5C21162Db1ee75e378A92C82d550a8d1" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x132c3f", + "value": "0x0", + "data": "0x60a0604052600060015534801561001557600080fd5b5060405161113e38038061113e83398101604081905261003491610045565b6001600160a01b0316608052610075565b60006020828403121561005757600080fd5b81516001600160a01b038116811461006e57600080fd5b9392505050565b6080516110926100ac6000396000818161018e0152818161023f0152818161040f0152818161057c01526106af01526110926000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806387cb967a1161005b57806387cb967a14610150578063b95ddb5214610189578063c47f8bfa146101b0578063d896dd64146101d057600080fd5b8063251fe79c1461008d578063299d1cf6146100a257806342d21ef7146100df578063601a924c1461012f575b600080fd5b6100a061009b366004610b62565b6101e3565b005b6100b56100b0366004610b92565b61039b565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61011d6100ed366004610b92565b60009081526020819052604090206001015474010000000000000000000000000000000000000000900460ff1690565b60405160ff90911681526020016100d6565b61014261013d366004610bda565b61051d565b6040519081526020016100d6565b6100b561015e366004610b92565b60009081526020819052604090206002015473ffffffffffffffffffffffffffffffffffffffff1690565b6100b57f000000000000000000000000000000000000000000000000000000000000000081565b6101c36101be366004610b92565b610951565b6040516100d69190610d3a565b6100a06101de366004610dbd565b610aa0565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815233917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a9161028791600401610de8565b602060405180830381865afa1580156102a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102c89190610dfb565b73ffffffffffffffffffffffffffffffffffffffff1614610315576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008281526020819052604080822060020180547fffffffffffffffffffffffff0000000000000000000000000000000000000000811673ffffffffffffffffffffffffffffffffffffffff8681169182179093559251911692839186917f147c62691502c52a4a793c136ab712d9695053acdd62d44170a823bc377a59f591a4505050565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a000000000000000000000000000000000000000000000000000000008152600091829173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a916104439190600401610de8565b602060405180830381865afa158015610460573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104849190610dfb565b6040517f6352211e0000000000000000000000000000000000000000000000000000000081526004810185905290915073ffffffffffffffffffffffffffffffffffffffff821690636352211e90602401602060405180830381865afa1580156104f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105169190610dfb565b9392505050565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260009133917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a916105c59190600401610de8565b602060405180830381865afa1580156105e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106069190610dfb565b73ffffffffffffffffffffffffffffffffffffffff1614610653576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815233917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a916106f791600401610de8565b602060405180830381865afa158015610714573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107389190610dfb565b73ffffffffffffffffffffffffffffffffffffffff1614610785576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016000815461079490610e18565b91829055506040805160c08101825285815273ffffffffffffffffffffffffffffffffffffffff8781166020808401919091526001838501529089166060830152608082018690524267ffffffffffffffff811660a084015260008581529182905292902081519394509192909190819061080f9082610f19565b50602082015160018201805460408086015160ff1674010000000000000000000000000000000000000000027fffffffffffffffffffffff00000000000000000000000000000000000000000090921673ffffffffffffffffffffffffffffffffffffffff948516179190911790915560608401516002840180549184167fffffffffffffffffffffffff0000000000000000000000000000000000000000929092169190911790556080840151600384015560a0909301516004909201805467ffffffffffffffff9093167fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909316929092179091559051868216918816907f964ceb922535d169779e716f1dea5a577aeef2427e753bdb9eace345bca56b929061094090869089908990611033565b60405180910390a350949350505050565b6040805160c081018252606080825260006020830181905292820183905281018290526080810182905260a081019190915260008281526020819052604090819020815160c081019092528054829082906109ab90610e77565b80601f01602080910402602001604051908101604052809291908181526020018280546109d790610e77565b8015610a245780601f106109f957610100808354040283529160200191610a24565b820191906000526020600020905b815481529060010190602001808311610a0757829003601f168201915b5050509183525050600182015473ffffffffffffffffffffffffffffffffffffffff80821660208401527401000000000000000000000000000000000000000090910460ff16604083015260028301541660608201526003820154608082015260049091015467ffffffffffffffff1660a09091015292915050565b60008281526020818152604091829020600101805460ff858116740100000000000000000000000000000000000000008181027fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff8516179094558551939092041680835292820152849283917fd98efe2dd5b76c52df27ca251c889b2339e9f49fdd2e02e72abbae1136a1f014910160405180910390a250505050565b73ffffffffffffffffffffffffffffffffffffffff81168114610b5f57600080fd5b50565b60008060408385031215610b7557600080fd5b823591506020830135610b8781610b3d565b809150509250929050565b600060208284031215610ba457600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060008060808587031215610bf057600080fd5b8435610bfb81610b3d565b93506020850135610c0b81610b3d565b9250604085013567ffffffffffffffff80821115610c2857600080fd5b818701915087601f830112610c3c57600080fd5b813581811115610c4e57610c4e610bab565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715610c9457610c94610bab565b816040528281528a6020848701011115610cad57600080fd5b826020860160208301376000928101602001929092525095989497509495606001359450505050565b6000815180845260005b81811015610cfc57602081850181015186830182015201610ce0565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081526000825160c06020840152610d5660e0840182610cd6565b9050602084015173ffffffffffffffffffffffffffffffffffffffff808216604086015260ff60408701511660608601528060608701511660808601525050608084015160a084015267ffffffffffffffff60a08501511660c08401528091505092915050565b60008060408385031215610dd057600080fd5b82359150602083013560ff81168114610b8757600080fd5b6020815260006105166020830184610cd6565b600060208284031215610e0d57600080fd5b815161051681610b3d565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610e70577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b600181811c90821680610e8b57607f821691505b602082108103610ec4577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f821115610f1457600081815260208120601f850160051c81016020861015610ef15750805b601f850160051c820191505b81811015610f1057828155600101610efd565b5050505b505050565b815167ffffffffffffffff811115610f3357610f33610bab565b610f4781610f418454610e77565b84610eca565b602080601f831160018114610f9a5760008415610f645750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610f10565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015610fe757888601518255948401946001909101908401610fc8565b508582101561102357878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b83815260606020820152600061104c6060830185610cd6565b905082604083015294935050505056fea26469706673582212208eaf86cacb600d9314b9d1d5d2261f9c609ee632773c3332418ebe9b5cc85fba64736f6c63430008130033000000000000000000000000e8ab207a5c21162db1ee75e378a92c82d550a8d1", + "nonce": "0x7d6", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x47b0c667bac6c924bd3eb35e1d2940d026a0e1f55f298389d0296cfc530aada2", + "transactionType": "CREATE", + "contractName": "LicenseRegistry", + "contractAddress": "0x80e012Ca980E1d3993d8beE99828619E5532B12b", + "function": null, + "arguments": [ + "0x7a7BC5640637b74ABEcc6e908Ed548eE1969c948", + "0xe8ab207A5C21162Db1ee75e378A92C82d550a8d1", + "0x43C1C831D370f36149183d31FdAC50b131289949" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x3e569c", + "value": "0x0", + "data": "0x60e06040523480156200001157600080fd5b5060405162003ab038038062003ab0833981016040819052620000349162000160565b6040518060400160405280601a81526020017f53746f72792050726f746f636f6c204c6963656e7365204e4654000000000000815250604051806040016040528060048152602001631313919560e21b81525081600090816200009891906200024f565b506001620000a782826200024f565b5050506001600160a01b038316620000d25760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b038084166080528216620001005760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0380831660a05281166200012e5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b031660c052506200031b9050565b80516001600160a01b03811681146200015b57600080fd5b919050565b6000806000606084860312156200017657600080fd5b620001818462000143565b9250620001916020850162000143565b9150620001a16040850162000143565b90509250925092565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620001d557607f821691505b602082108103620001f657634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200024a57600081815260208120601f850160051c81016020861015620002255750805b601f850160051c820191505b81811015620002465782815560010162000231565b5050505b505050565b81516001600160401b038111156200026b576200026b620001aa565b62000283816200027c8454620001c0565b84620001fc565b602080601f831160018114620002bb5760008415620002a25750858301515b600019600386901b1c1916600185901b17855562000246565b600085815260208120601f198616915b82811015620002ec57888601518255948401946001909101908401620002cb565b50858210156200030b5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60805160a05160c0516137426200036e600039600061043401526000818161048901528181610adb0152818161106c015281816112980152611808015260008181610522015261225301526137426000f3fe608060405234801561001057600080fd5b506004361061020b5760003560e01c806370a082311161012a578063c8c0eb87116100bd578063e006e5a71161008c578063e705c2b811610071578063e705c2b8146105b3578063e985e9c5146105c6578063eb683a491461060f57600080fd5b8063e006e5a714610567578063e58efef61461057a57600080fd5b8063c8c0eb87146104cc578063d09d894e1461050a578063d2faf8b01461051d578063d7f9ab8b1461054457600080fd5b8063a22cb465116100f9578063a22cb4651461045e578063b88d4fde14610471578063b95ddb5214610484578063c87b56dd146104ab57600080fd5b806370a082311461040957806371e074dd1461041c57806376a4b13b1461042f57806395d89b411461045657600080fd5b8063357a595a116101a2578063439d4b5c11610171578063439d4b5c1461039257806356227341146103a55780636103b2ce146103d65780636352211e146103f657600080fd5b8063357a595a1461031957806337f8ebfb1461032c5780633c06e1dc1461035657806342842e0e1461037f57600080fd5b806308a4f072116101de57806308a4f072146102be578063095ea7b3146102de5780631f09e4e5146102f357806323b872dd1461030657600080fd5b806301ffc9a714610210578063056569af1461023857806306fdde0314610296578063081812fc146102ab575b600080fd5b61022361021e366004612a88565b610622565b60405190151581526020015b60405180910390f35b610271610246366004612aac565b60009081526006602052604090206001015473ffffffffffffffffffffffffffffffffffffffff1690565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161022f565b61029e610707565b60405161022f9190612b29565b6102716102b9366004612aac565b610799565b6102d16102cc366004612aac565b6107cd565b60405161022f9190612b3c565b6102f16102ec366004612bf7565b6108db565b005b6102f1610301366004612c21565b610a6c565b6102f1610314366004612c4d565b610b96565b6102f1610327366004612aac565b610c37565b61022361033a366004612aac565b6000908152600660205260409020546301000000900460ff1690565b610223610364366004612aac565b60009081526006602052604090205462010000900460ff1690565b6102f161038d366004612c4d565b610c44565b6102f16103a0366004612aac565b610c5f565b6103c86103b3366004612aac565b60009081526006602052604090206005015490565b60405190815260200161022f565b6103e96103e4366004612aac565b610d25565b60405161022f9190612cf3565b610271610404366004612aac565b610ea1565b6103c8610417366004612de3565b610f2d565b6102f161042a366004612dfe565b610ffb565b6102717f000000000000000000000000000000000000000000000000000000000000000081565b61029e611164565b6102f161046c366004612e39565b611173565b6102f161047f366004612fc9565b61117e565b6102717f000000000000000000000000000000000000000000000000000000000000000081565b61029e6104b9366004612aac565b5060408051602081019091526000815290565b6102716104da366004612aac565b600090815260066020526040902054640100000000900473ffffffffffffffffffffffffffffffffffffffff1690565b6103c8610518366004613031565b611226565b6102717f000000000000000000000000000000000000000000000000000000000000000081565b6103c8610552366004612aac565b60009081526006602052604090206004015490565b610271610575366004612aac565b6116c7565b610271610588366004612aac565b60009081526006602052604090206002015473ffffffffffffffffffffffffffffffffffffffff1690565b6102236105c1366004612aac565b6116d2565b6102236105d4366004613075565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260056020908152604080832093909416825291909152205460ff1690565b6103c861061d3660046131a9565b611796565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd0000000000000000000000000000000000000000000000000000000014806106b557507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b8061070157507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b606060008054610716906132b0565b80601f0160208091040260200160405190810160405280929190818152602001828054610742906132b0565b801561078f5780601f106107645761010080835404028352916020019161078f565b820191906000526020600020905b81548152906001019060200180831161077257829003601f168201915b5050505050905090565b60006107a482611bb0565b5060009081526004602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b606060076000838152602001908152602001600020805480602002602001604051908101604052809291908181526020016000905b828210156108d057838290600052602060002090600202016040518060400160405290816000820154815260200160018201805461083f906132b0565b80601f016020809104026020016040519081016040528092919081815260200182805461086b906132b0565b80156108b85780601f1061088d576101008083540402835291602001916108b8565b820191906000526020600020905b81548152906001019060200180831161089b57829003601f168201915b50505050508152505081526020019060010190610802565b505050509050919050565b60006108e682610ea1565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036109a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff821614806109d157506109d181336105d4565b610a5d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000606482015260840161099f565b610a678383611c3b565b505050565b604080518082018252601081527f4c4943454e53494e475f4d4f44554c4500000000000000000000000000000000602082015290517f3af83c1800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001691633af83c1891610b1191903390600401613303565b602060405180830381865afa158015610b2e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b52919061333b565b610b88576040517f039cb0ee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b928282611cdb565b5050565b610ba03382611e2a565b610c2c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f76656400000000000000000000000000000000000000606482015260840161099f565b610a67838383611ee9565b610c418133611cdb565b50565b610a678383836040518060200160405280600081525061117e565b600081815260066020526040902054640100000000900473ffffffffffffffffffffffffffffffffffffffff163314610cc4576040517f95e4a90e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008181526006602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660031790555182917ff8ecc300d4504a2b49692052f138b7e697df679cf0580522720ce405bd01be5591a250565b6040805161014081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810191909152600082815260066020526040812090815460ff166003811115610d9b57610d9b612c89565b03610dd2576040517fc28093d700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408051610140810190915281548290829060ff166003811115610df857610df8612c89565b6003811115610e0957610e09612c89565b8152815461010080820460ff9081161515602085015262010000830481161515604085015263010000008304161515606084015264010000000090910473ffffffffffffffffffffffffffffffffffffffff90811660808401526001840154811660a084015260028401541660c0830152600383015460e0830152600483015490820152600590910154610120909101529392505050565b60008181526002602052604081205473ffffffffffffffffffffffffffffffffffffffff1680610701576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e2049440000000000000000604482015260640161099f565b600073ffffffffffffffffffffffffffffffffffffffff8216610fd2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e65720000000000000000000000000000000000000000000000606482015260840161099f565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526003602052604090205490565b604080518082018252601081527f4c4943454e53494e475f4d4f44554c4500000000000000000000000000000000602082015290517f3af83c18000000000000000000000000000000000000000000000000000000008152839173ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001691633af83c18916110a1913390600401613303565b602060405180830381865afa1580156110be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110e2919061333b565b15801561112357506110f381610ea1565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b1561115a576040517fc1b4742400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a6783836121e4565b606060018054610716906132b0565b610b9233838361239b565b6111883383611e2a565b611214576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f76656400000000000000000000000000000000000000606482015260840161099f565b611220848484846124c8565b50505050565b604080518082018252601081527f4c4943454e53494e475f4d4f44554c4500000000000000000000000000000000602082015290517f3af83c1800000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001691633af83c18916112cd913390600401613303565b602060405180830381865afa1580156112ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061130e919061333b565b611344576040517f039cb0ee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61134d856116d2565b611383576040517f72b0a52c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600085815260066020526040808220815161014081019092528054829060ff1660038111156113b4576113b4612c89565b60038111156113c5576113c5612c89565b8152815461010080820460ff9081161515602085015262010000830481161515604085015263010000008304161515606084015264010000000090910473ffffffffffffffffffffffffffffffffffffffff90811660808401526001840154811660a084015260028401541660c0830152600383015460e08301526004830154908201526005909101546101209091015260088054919250600091829061146b90613358565b9182905550610120830188905273ffffffffffffffffffffffffffffffffffffffff871660a084015261010083018590526060830151909150156114ae57600282525b600087815260076020526040808220838352912081546114ce9290612980565b506000818152600660205260409020825181548492919082907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600183600381111561151d5761151d612c89565b021790555060208201518154604080850151606086015160808701517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000ff90941661010095151586027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff16176201000092151592909202919091177fffffffffffffffff000000000000000000000000000000000000000000ffffff166301000000911515919091027fffffffffffffffff0000000000000000000000000000000000000000ffffffff161764010000000073ffffffffffffffffffffffffffffffffffffffff9384160217845560a08501516001850180547fffffffffffffffffffffffff000000000000000000000000000000000000000090811692851692909217905560c086015160028601805490921693169290921790915560e08401516003840155908301516004830155610120909201516005909101555181907f0eaf6d681055f593c54be5a95da92bb2249915d24efbd7686fd32f6f89784204906116a9908590612cf3565b60405180910390a26116bb858261256b565b9150505b949350505050565b600061070182610ea1565b6000816000036116e457506000919050565b811561178e57600260008381526006602052604090205460ff16600381111561170f5761170f612c89565b148061173b575060008281526006602052604081205460ff16600381111561173957611739612c89565b145b806117685750600360008381526006602052604090205460ff16600381111561176657611766612c89565b145b1561177557506000919050565b60009182526006602052604090912060050154906116e4565b506001919050565b604080518082018252601081527f4c4943454e53494e475f4d4f44554c4500000000000000000000000000000000602082015290517f3af83c1800000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001691633af83c189161183d913390600401613303565b602060405180830381865afa15801561185a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061187e919061333b565b6118b4576040517f039cb0ee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b835160018160038111156118ca576118ca612c89565b141580156118ea575060028160038111156118e7576118e7612c89565b14155b15611921576040517f92439ccc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060086000815461193290613358565b9182905550600081815260066020526040902087518154929350889282907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600183600381111561198657611986612c89565b021790555060208201518154604080850151606086015160808701517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000ff90941661010095151586027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff16176201000092151592909202919091177fffffffffffffffff000000000000000000000000000000000000000000ffffff166301000000911515919091027fffffffffffffffff0000000000000000000000000000000000000000ffffffff161764010000000073ffffffffffffffffffffffffffffffffffffffff9384160217845560a08501516001850180547fffffffffffffffffffffffff000000000000000000000000000000000000000090811692851692909217905560c086015160028601805490921693169290921790915560e08401516003840155908301516004830155610120909201516005909101555181907f0eaf6d681055f593c54be5a95da92bb2249915d24efbd7686fd32f6f8978420490611b12908990612cf3565b60405180910390a2611b24858261256b565b83516000828152600760205260408120905b82811015611ba35781878281518110611b5157611b516133b7565b6020908102919091018101518254600181810185556000948552938390208251600290920201908155918101519092820190611b8d9082613434565b5050508080611b9b90613358565b915050611b36565b5091979650505050505050565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff16610c41576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e2049440000000000000000604482015260640161099f565b600081815260046020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091558190611c9582610ea1565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000828152600660205260409020600181015473ffffffffffffffffffffffffffffffffffffffff838116911614611d3f576040517f54c26a8800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002815460ff166003811115611d5757611d57612c89565b14611d8e576040517ff40190f500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611d9b81600501546116d2565b611dd1576040517f72b0a52c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117815560405183907fa3ada00687872cb827044ee48684890eeb5caffc2d7abf015ea327c7d7d06b8490600090a2505050565b600080611e3683610ea1565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611ea4575073ffffffffffffffffffffffffffffffffffffffff80821660009081526005602090815260408083209388168352929052205460ff165b806116bf57508373ffffffffffffffffffffffffffffffffffffffff16611eca84610799565b73ffffffffffffffffffffffffffffffffffffffff1614949350505050565b8273ffffffffffffffffffffffffffffffffffffffff16611f0982610ea1565b73ffffffffffffffffffffffffffffffffffffffff1614611fac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e6572000000000000000000000000000000000000000000000000000000606482015260840161099f565b73ffffffffffffffffffffffffffffffffffffffff821661204e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161099f565b8273ffffffffffffffffffffffffffffffffffffffff1661206e82610ea1565b73ffffffffffffffffffffffffffffffffffffffff1614612111576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e6572000000000000000000000000000000000000000000000000000000606482015260840161099f565b600081815260046020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff8781168086526003855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b816121ee816116d2565b612224576040517fa15e441100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f42d21ef7000000000000000000000000000000000000000000000000000000008152600481018390527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906342d21ef790602401602060405180830381865afa1580156122af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122d3919061354e565b60ff1660011461230f576040517f32a7f99e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008381526006602052604090206004015415612358576040517fed035e9700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008381526006602052604080822060040184905551839185917f9d2bbd85f58e2a13e5a13a8d77b039e02a44b601338e36691ab827a547b2353e9190a3505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612430576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161099f565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526005602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6124d3848484611ee9565b6124df84848484612790565b611220576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e7465720000000000000000000000000000606482015260840161099f565b73ffffffffffffffffffffffffffffffffffffffff82166125e8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161099f565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1615612674576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161099f565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1615612700576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161099f565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260036020908152604080832080546001019055848352600290915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b600073ffffffffffffffffffffffffffffffffffffffff84163b15612978576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a0290612807903390899088908890600401613571565b6020604051808303816000875af1925050508015612860575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261285d918101906135ba565b60015b61292d573d80801561288e576040519150601f19603f3d011682016040523d82523d6000602084013e612893565b606091505b508051600003612925576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e7465720000000000000000000000000000606482015260840161099f565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a02000000000000000000000000000000000000000000000000000000001490506116bf565b5060016116bf565b8280548282559060005260206000209060020281019282156129dd5760005260206000209160020282015b828111156129dd578254825582826001808201906129cb908401826135d7565b505050916002019190600201906129ab565b506129e99291506129ed565b5090565b808211156129e9576000808255612a076001830182612a10565b506002016129ed565b508054612a1c906132b0565b6000825580601f10612a2c575050565b601f016020900490600052602060002090810190610c4191905b808211156129e95760008155600101612a46565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610c4157600080fd5b600060208284031215612a9a57600080fd5b8135612aa581612a5a565b9392505050565b600060208284031215612abe57600080fd5b5035919050565b6000815180845260005b81811015612aeb57602081850181015186830182015201612acf565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081526000612aa56020830184612ac5565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015612bc0578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0018552815180518452870151878401879052612bad87850182612ac5565b9588019593505090860190600101612b63565b509098975050505050505050565b803573ffffffffffffffffffffffffffffffffffffffff81168114612bf257600080fd5b919050565b60008060408385031215612c0a57600080fd5b612c1383612bce565b946020939093013593505050565b60008060408385031215612c3457600080fd5b82359150612c4460208401612bce565b90509250929050565b600080600060608486031215612c6257600080fd5b612c6b84612bce565b9250612c7960208501612bce565b9150604084013590509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60048110612cef577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b600061014082019050612d07828451612cb8565b6020830151612d1a602084018215159052565b506040830151612d2e604084018215159052565b506060830151612d42606084018215159052565b506080830151612d6a608084018273ffffffffffffffffffffffffffffffffffffffff169052565b5060a0830151612d9260a084018273ffffffffffffffffffffffffffffffffffffffff169052565b5060c0830151612dba60c084018273ffffffffffffffffffffffffffffffffffffffff169052565b5060e083015160e083015261010080840151818401525061012080840151818401525092915050565b600060208284031215612df557600080fd5b612aa582612bce565b60008060408385031215612e1157600080fd5b50508035926020909101359150565b8015158114610c4157600080fd5b8035612bf281612e20565b60008060408385031215612e4c57600080fd5b612e5583612bce565b91506020830135612e6581612e20565b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715612ec257612ec2612e70565b60405290565b604051610140810167ffffffffffffffff81118282101715612ec257612ec2612e70565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715612f3357612f33612e70565b604052919050565b600082601f830112612f4c57600080fd5b813567ffffffffffffffff811115612f6657612f66612e70565b612f9760207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601612eec565b818152846020838601011115612fac57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060808587031215612fdf57600080fd5b612fe885612bce565b9350612ff660208601612bce565b925060408501359150606085013567ffffffffffffffff81111561301957600080fd5b61302587828801612f3b565b91505092959194509250565b6000806000806080858703121561304757600080fd5b8435935061305760208601612bce565b925061306560408601612bce565b9396929550929360600135925050565b6000806040838503121561308857600080fd5b61309183612bce565b9150612c4460208401612bce565b803560048110612bf257600080fd5b600082601f8301126130bf57600080fd5b8135602067ffffffffffffffff808311156130dc576130dc612e70565b8260051b6130eb838201612eec565b938452858101830193838101908886111561310557600080fd5b84880192505b8583101561319d578235848111156131235760008081fd5b88016040818b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0018113156131595760008081fd5b613161612e9f565b82880135815290820135908682111561317a5760008081fd5b6131888c8984860101612f3b565b8189015284525050918401919084019061310b565b98975050505050505050565b60008060008385036101808112156131c057600080fd5b610140808212156131d057600080fd5b6131d8612ec8565b91506131e38661309f565b82526131f160208701612e2e565b602083015261320260408701612e2e565b604083015261321360608701612e2e565b606083015261322460808701612bce565b608083015261323560a08701612bce565b60a083015261324660c08701612bce565b60c083015260e086013560e083015261010080870135818401525061012080870135818401525081945061327b818701612bce565b9350505061016084013567ffffffffffffffff81111561329a57600080fd5b6132a6868287016130ae565b9150509250925092565b600181811c908216806132c457607f821691505b6020821081036132fd577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b6040815260006133166040830185612ac5565b905073ffffffffffffffffffffffffffffffffffffffff831660208301529392505050565b60006020828403121561334d57600080fd5b8151612aa581612e20565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036133b0577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b601f821115610a6757600081815260208120601f850160051c8101602086101561340d5750805b601f850160051c820191505b8181101561342c57828155600101613419565b505050505050565b815167ffffffffffffffff81111561344e5761344e612e70565b6134628161345c84546132b0565b846133e6565b602080601f8311600181146134b5576000841561347f5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b17855561342c565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015613502578886015182559484019460019091019084016134e3565b508582101561353e57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121561356057600080fd5b815160ff81168114612aa557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250836040830152608060608301526135b06080830184612ac5565b9695505050505050565b6000602082840312156135cc57600080fd5b8151612aa581612a5a565b8181036135e2575050565b6135ec82546132b0565b67ffffffffffffffff81111561360457613604612e70565b6136128161345c84546132b0565b6000601f821160018114613664576000831561362e5750848201545b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600385901b1c1916600184901b178455613705565b6000858152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0841690600086815260209020845b838110156136bc578286015482556001958601959091019060200161369c565b50858310156136f857818501547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b50505060018360011b0184555b505050505056fea264697066735822122005918b5bf82ecfc5cbade9a10b99b05effee689d7ff16f261a52e83b5a4c9b0464736f6c634300081300330000000000000000000000007a7bc5640637b74abecc6e908ed548ee1969c948000000000000000000000000e8ab207a5c21162db1ee75e378a92c82d550a8d100000000000000000000000043c1c831d370f36149183d31fdac50b131289949", + "nonce": "0x7d7", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x837f18a854f0ec5dd019e632a81e4b6ab1533e75db88a7530c815ba404b062e8", + "transactionType": "CREATE", + "contractName": "IPOrgController", + "contractAddress": "0x1C20873a915505cBaFb576B3B152EeCE6a0BFD60", + "function": null, + "arguments": [ + "0xe8ab207A5C21162Db1ee75e378A92C82d550a8d1" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x5e866f", + "value": "0x0", + "data": "0x60c0604052306080523480156200001557600080fd5b50604051620056d6380380620056d683398101604081905262000038916200004a565b6001600160a01b031660a0526200007c565b6000602082840312156200005d57600080fd5b81516001600160a01b03811681146200007557600080fd5b9392505050565b60805160a05161560a620000cc6000396000818161028b01528181610e88015261121b0152600081816106ae01528181610760015281816108bc0152818161096e0152610abe015261560a6000f3fe608060405260043610620000fb5760003560e01c806398e8e6ea1162000095578063caae51b81162000060578063caae51b814620002d2578063d8b67cc214620002f7578063eb3dcb7c146200031c578063fc1dad81146200035257600080fd5b806398e8e6ea146200022d578063a0f336f81462000252578063b95ddb521462000277578063c4d66de814620002ad57600080fd5b80633659cfe611620000d65780633659cfe6146200019b57806349403c8e14620001c05780634f1ef28614620001ef57806352d1902d146200020657600080fd5b806314afd79e146200010057806319129e5a146200014f57806331678cf61462000176575b600080fd5b3480156200010d57600080fd5b50620001256200011f366004620021c5565b6200039e565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b3480156200015c57600080fd5b50620001746200016e366004620021c5565b620003cf565b005b3480156200018357600080fd5b506200017462000195366004620021e3565b6200055b565b348015620001a857600080fd5b5062000174620001ba366004620021c5565b62000697565b348015620001cd57600080fd5b50606554620001259073ffffffffffffffffffffffffffffffffffffffff1681565b6200017462000200366004620022e5565b620008a5565b3480156200021357600080fd5b506200021e62000aa4565b60405190815260200162000146565b3480156200023a57600080fd5b50620001256200024c366004620023cc565b62000b92565b3480156200025f57600080fd5b506200017462000271366004620021c5565b62000f81565b3480156200028457600080fd5b50620001257f000000000000000000000000000000000000000000000000000000000000000081565b348015620002ba57600080fd5b5062000174620002cc366004620021c5565b620010ee565b348015620002df57600080fd5b5062000125620002f1366004620021c5565b6200134c565b3480156200030457600080fd5b506200017462000316366004620021c5565b6200137b565b3480156200032957600080fd5b50620003416200033b366004620021c5565b620014aa565b604051901515815260200162000146565b3480156200035f57600080fd5b507f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b65473ffffffffffffffffffffffffffffffffffffffff1662000125565b600080620003ac83620014e7565b54610100900473ffffffffffffffffffffffffffffffffffffffff169392505050565b6000620003dd813362001561565b62000422576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b6200046473ffffffffffffffffffffffffffffffffffffffff83167f7965db0b000000000000000000000000000000000000000000000000000000006200162e565b620004cc576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c000000000000000000000000000000000000604482015260640162000419565b7f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811782556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a2505050565b60006200056883620014e7565b8054909150610100900473ffffffffffffffffffffffffffffffffffffffff163314620005c1576040517f14d325a600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff82166200060f576040517f19f28cd700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84811691821790925560408051928616835260208301919091527f9d1eed91033af603ca90974d7f9dcffdc1a38de6e354262a1cd59243e6997f6091015b60405180910390a1505050565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630036200075e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c0000000000000000000000000000000000000000606482015260840162000419565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16620007d47f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff161462000879576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f78790000000000000000000000000000000000000000606482015260840162000419565b620008848162001656565b60408051600080825260208201909252620008a291839190620016c4565b50565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630036200096c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c0000000000000000000000000000000000000000606482015260840162000419565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16620009e27f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff161462000a87576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f78790000000000000000000000000000000000000000606482015260840162000419565b62000a928262001656565b62000aa082826001620016c4565b5050565b60003073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161462000b6d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c0000000000000000606482015260840162000419565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b600073ffffffffffffffffffffffffffffffffffffffff881662000be2576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60655462000c069073ffffffffffffffffffffffffffffffffffffffff16620018d4565b6040517f4cd88b7600000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff821690634cd88b769062000c63908a908a908a908a90600401620024fd565b600060405180830381600087803b15801562000c7e57600080fd5b505af115801562000c93573d6000803e3d6000fd5b50505050600062000ca36200199e565b60408051606081018252600180825273ffffffffffffffffffffffffffffffffffffffff8d8116602080850191825260008587018181528a851682528883528782209651875494517fffffffffffffffffffffff0000000000000000000000000000000000000000009095169015157fffffffffffffffffffffff0000000000000000000000000000000000000000ff16176101009486169490940293909317865591519490930180547fffffffffffffffffffffffff000000000000000000000000000000000000000016949092169390931790559151929350917f9aeb830ec91a14c97a5446cc7c86a42f73a78f37f9a77afa238b5d11520ddfbc9162000db1918891889101620025df565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905262000def929160200162002667565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181528282018252601383527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602084015290517fe1fc45ce00000000000000000000000000000000000000000000000000000000815290925073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163e1fc45ce9162000ec4918791309190879060040162002682565b6000604051808303816000875af115801562000ee4573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405262000f2c9190810190620026d1565b507f81e084d978860accc83df39f75b801d9019e40d18643b9b39f4cd2a70ca35adb8a848b8b8b8b8b8b60405162000f6c98979695949392919062002751565b60405180910390a15050979650505050505050565b600062000f8e82620014e7565b600181015490915073ffffffffffffffffffffffffffffffffffffffff16331462000fe5576040517f14d325a600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80546001820180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055336101009081027fffffffffffffffffffffff0000000000000000000000000000000000000000ff83161783556040805173ffffffffffffffffffffffffffffffffffffffff86811682526000602083015292909304909116917f9d1eed91033af603ca90974d7f9dcffdc1a38de6e354262a1cd59243e6997f60910160405180910390a16040805173ffffffffffffffffffffffffffffffffffffffff80861682528316602082015233918101919091527fa32ba34dcc7e0ace14cb99fb86f246e799dc1c9f82f03fc23290320b958e4af7906060016200068a565b600054610100900460ff16158080156200110f5750600054600160ff909116105b806200112b5750303b1580156200112b575060005460ff166001145b620011b9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840162000419565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156200121857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b307f0000000000000000000000000000000000000000000000000000000000000000604051620012489062002192565b73ffffffffffffffffffffffffffffffffffffffff928316815291166020820152604001604051809103906000f08015801562001289573d6000803e3d6000fd5b50606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055620012d9620019ce565b620012e48262001a69565b801562000aa057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15050565b6000806200135a83620014e7565b6001015473ffffffffffffffffffffffffffffffffffffffff169392505050565b60006200138882620014e7565b8054909150610100900473ffffffffffffffffffffffffffffffffffffffff163314620013e1576040517f14d325a600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600181015473ffffffffffffffffffffffffffffffffffffffff1662001433576040517f82fcfdf400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001690556040805173ffffffffffffffffffffffffffffffffffffffff84168152600060208201527f9d1eed91033af603ca90974d7f9dcffdc1a38de6e354262a1cd59243e6997f60910162001340565b600080620014b76200199e565b73ffffffffffffffffffffffffffffffffffffffff90931660009081526020939093525050604090205460ff1690565b600080620014f46200199e565b73ffffffffffffffffffffffffffffffffffffffff84166000908152602082905260409020805490935090915060ff166200155b576040517ff8e2020300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50919050565b6000807f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810187905273ffffffffffffffffffffffffffffffffffffffff86811660248301529293509116906391d1485490604401602060405180830381865afa158015620015fe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620016249190620027c8565b9150505b92915050565b60006200163b8362001d29565b80156200164f57506200164f838362001d92565b9392505050565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e362001683813362001561565b62000aa0576040517f75000dc00000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440162000419565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615620016ff57620016fa8362001e63565b505050565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562001787575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526200178491810190620027ec565b60015b62001815576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f742055555053000000000000000000000000000000000000606482015260840162000419565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114620018c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c65555549440000000000000000000000000000000000000000000000606482015260840162000419565b50620016fa83838362001f6f565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008260601b60e81c176000526e5af43d82803e903d91602b57fd5bf38260781b17602052603760096000f0905073ffffffffffffffffffffffffffffffffffffffff811662001999576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f455243313136373a20637265617465206661696c656400000000000000000000604482015260640162000419565b919050565b6000806200162860017f8d6a35d81367c6224789d71f67c0286162ba180a6bdb769f04c214735cdb8ce162002806565b600054610100900460ff1662001a67576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840162000419565b565b600054610100900460ff161580801562001a8a5750600054600160ff909116105b8062001aa65750303b15801562001aa6575060005460ff166001145b62001b34576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840162000419565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801562001b9357600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b62001bd573ffffffffffffffffffffffffffffffffffffffff83167f7965db0b000000000000000000000000000000000000000000000000000000006200162e565b62001c3d576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c000000000000000000000000000000000000604482015260640162000419565b7f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811782556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a250801562000aa057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200162001340565b600062001d57827f01ffc9a70000000000000000000000000000000000000000000000000000000062001d92565b801562001628575062001d8b827fffffffff0000000000000000000000000000000000000000000000000000000062001d92565b1592915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d9150600051905082801562001e4b575060208210155b801562001e585750600081115b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff81163b62001f09576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e747261637400000000000000000000000000000000000000606482015260840162000419565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b62001f7a8362001fa0565b60008251118062001f885750805b15620016fa5762001f9a838362001fef565b50505050565b62001fab8162001e63565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606200164f8383604051806060016040528060278152602001620055ae6027913960606000808573ffffffffffffffffffffffffffffffffffffffff16856040516200203d919062002841565b600060405180830381855af49150503d80600081146200207a576040519150601f19603f3d011682016040523d82523d6000602084013e6200207f565b606091505b509150915062002092868383876200209c565b9695505050505050565b60608315620021375782516000036200212f5773ffffffffffffffffffffffffffffffffffffffff85163b6200212f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640162000419565b508162002143565b6200214383836200214b565b949350505050565b8151156200215c5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200041991906200285f565b612d39806200287583390190565b803573ffffffffffffffffffffffffffffffffffffffff811681146200199957600080fd5b600060208284031215620021d857600080fd5b6200164f82620021a0565b60008060408385031215620021f757600080fd5b6200220283620021a0565b91506200221260208401620021a0565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156200229457620022946200221b565b604052919050565b600067ffffffffffffffff821115620022b957620022b96200221b565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60008060408385031215620022f957600080fd5b6200230483620021a0565b9150602083013567ffffffffffffffff8111156200232157600080fd5b8301601f810185136200233357600080fd5b80356200234a62002344826200229c565b6200224a565b8181528660208385010111156200236057600080fd5b816020840160208301376000602083830101528093505050509250929050565b60008083601f8401126200239357600080fd5b50813567ffffffffffffffff811115620023ac57600080fd5b602083019150836020828501011115620023c557600080fd5b9250929050565b60008060008060008060006080888a031215620023e857600080fd5b620023f388620021a0565b9650602088013567ffffffffffffffff808211156200241157600080fd5b6200241f8b838c0162002380565b909850965060408a01359150808211156200243957600080fd5b620024478b838c0162002380565b909650945060608a01359150808211156200246157600080fd5b818a0191508a601f8301126200247657600080fd5b8135818111156200248657600080fd5b8b60208260051b85010111156200249c57600080fd5b60208301945080935050505092959891949750929550565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60408152600062002513604083018688620024b4565b828103602084015262001e58818587620024b4565b81835260006020808501808196508560051b810191508460005b87811015620025d257828403895281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18836030181126200258357600080fd5b8701858101903567ffffffffffffffff811115620025a057600080fd5b803603821315620025b057600080fd5b620025bd868284620024b4565b9a87019a955050509084019060010162002542565b5091979650505050505050565b6020815260006200214360208301848662002528565b60005b8381101562002612578181015183820152602001620025f8565b50506000910152565b6000815180845262002635816020860160208601620025f5565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b8281526040602082015260006200214360408301846200261b565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525060806040830152620026bd60808301856200261b565b828103606084015262001e5881856200261b565b600060208284031215620026e457600080fd5b815167ffffffffffffffff811115620026fc57600080fd5b8201601f810184136200270e57600080fd5b80516200271f62002344826200229c565b8181528560208385010111156200273557600080fd5b62002748826020830160208601620025f5565b95945050505050565b600073ffffffffffffffffffffffffffffffffffffffff808b168352808a1660208401525060a060408301526200278d60a08301888a620024b4565b8281036060840152620027a2818789620024b4565b90508281036080840152620027b981858762002528565b9b9a5050505050505050505050565b600060208284031215620027db57600080fd5b815180151581146200164f57600080fd5b600060208284031215620027ff57600080fd5b5051919050565b8181038181111562001628577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000825162002855818460208701620025f5565b9190910192915050565b6020815260006200164f60208301846200261b56fe60c06040523480156200001157600080fd5b5060405162002d3938038062002d3983398101604081905262000034916200017d565b600054610100900460ff1615808015620000555750600054600160ff909116105b80620000715750303b15801562000071575060005460ff166001145b620000d95760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b6000805460ff191660011790558015620000fd576000805461ff0019166101001790555b6001600160a01b0380841660a0528216608052801562000157576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050620001b5565b80516001600160a01b03811681146200017857600080fd5b919050565b600080604083850312156200019157600080fd5b6200019c8362000160565b9150620001ac6020840162000160565b90509250929050565b60805160a051612b2662000213600039600081816103c101528181610b0f015261107b01526000818161031101528181610784015281816108dc01528181610cb701528181610e37015281816112ac015261147e0152612b266000f3fe608060405234801561001057600080fd5b50600436106101985760003560e01c806370a08231116100e3578063c3cc244a1161008c578063e985e9c511610066578063e985e9c514610373578063ee0fc121146103bc578063f3f6f0d7146103e357600080fd5b8063c3cc244a14610333578063c87b56dd14610358578063e8a3d4851461036b57600080fd5b8063a22cb465116100bd578063a22cb465146102e6578063b88d4fde146102f9578063b95ddb521461030c57600080fd5b806370a08231146102c35780638da5cb5b146102d657806395d89b41146102de57600080fd5b806342842e0e11610145578063626273a11161011f578063626273a11461028a5780636352211e1461029d578063691562a0146102b057600080fd5b806342842e0e1461025157806342966c68146102645780634cd88b761461027757600080fd5b8063095ea7b311610176578063095ea7b31461021257806318160ddd1461022757806323b872dd1461023e57600080fd5b806301ffc9a71461019d57806306fdde03146101c5578063081812fc146101da575b600080fd5b6101b06101ab36600461235b565b6103ec565b60405190151581526020015b60405180910390f35b6101cd6104d1565b6040516101bc91906123e6565b6101ed6101e83660046123f9565b610563565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101bc565b610225610220366004612434565b610597565b005b61023060985481565b6040519081526020016101bc565b61022561024c366004612460565b610728565b61022561025f366004612460565b610865565b6102256102723660046123f9565b610880565b6102256102853660046124ea565b6109d3565b6102306102983660046123f9565b610c43565b6101ed6102ab3660046123f9565b610dcd565b6102306102be366004612556565b610dd8565b6102306102d1366004612595565b610f7c565b6101ed61104a565b6101cd611100565b6102256102f43660046125b2565b61110f565b6102256103073660046126a9565b61111e565b6101ed7f000000000000000000000000000000000000000000000000000000000000000081565b6103466103413660046123f9565b6111c6565b60405160ff90911681526020016101bc565b6101cd6103663660046123f9565b611237565b6101cd611409565b6101b0610381366004612758565b73ffffffffffffffffffffffffffffffffffffffff9182166000908152606a6020908152604080832093909416825291909152205460ff1690565b6101ed7f000000000000000000000000000000000000000000000000000000000000000081565b61023060975481565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061047f57507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b806104cb57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6060606580546104e090612786565b80601f016020809104026020016040519081016040528092919081815260200182805461050c90612786565b80156105595780601f1061052e57610100808354040283529160200191610559565b820191906000526020600020905b81548152906001019060200180831161053c57829003601f168201915b5050505050905090565b600061056e826115aa565b5060009081526069602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60006105a282611635565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610664576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff8216148061068d575061068d8133610381565b610719576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000606482015260840161065b565b61072383836116c1565b505050565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815233917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a916107cc916004016123e6565b602060405180830381865afa1580156107e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061080d91906127d9565b73ffffffffffffffffffffffffffffffffffffffff161461085a576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610723838383611761565b6107238383836040518060200160405280600081525061111e565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815233917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a91610924916004016123e6565b602060405180830381865afa158015610941573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061096591906127d9565b73ffffffffffffffffffffffffffffffffffffffff16146109b2576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b609880549060006109c283612825565b91905055506109d081611a5c565b50565b600054610100900460ff16158080156109f35750600054600160ff909116105b80610a0d5750303b158015610a0d575060005460ff166001145b610a99576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840161065b565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610af757600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610b66576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610bd985858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f89018190048102820181019092528781529250879150869081908401838280828437600092019190915250611b3492505050565b8015610c3c57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a000000000000000000000000000000000000000000000000000000008152600091829173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a91610ceb91906004016123e6565b602060405180830381865afa158015610d08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d2c91906127d9565b6040517f5f32b4300000000000000000000000000000000000000000000000000000000081523060048201526024810185905290915073ffffffffffffffffffffffffffffffffffffffff821690635f32b430906044016020604051808303816000875af1158015610da2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dc6919061285a565b9392505050565b60006104cb82611635565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260009133917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a91610e8091906004016123e6565b602060405180830381865afa158015610e9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec191906127d9565b73ffffffffffffffffffffffffffffffffffffffff1614610f0e576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60988054906000610f1e83612873565b9190505550609760008154610f3290612873565b9182905550600081815260996020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff851617905590506104cb8382611bd5565b600073ffffffffffffffffffffffffffffffffffffffff8216611021576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e65720000000000000000000000000000000000000000000000606482015260840161065b565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526068602052604090205490565b6040517f14afd79e0000000000000000000000000000000000000000000000000000000081523060048201526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906314afd79e90602401602060405180830381865afa1580156110d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110fb91906127d9565b905090565b6060606680546104e090612786565b61111a338383611dfa565b5050565b6111283383611f27565b6111b4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f76656400000000000000000000000000000000000000606482015260840161065b565b6111c084848484611fe7565b50505050565b60008181526067602052604081205473ffffffffffffffffffffffffffffffffffffffff16611221576040517f6831df8d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060009081526099602052604090205460ff1690565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260609160009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a916112e091906004016123e6565b602060405180830381865afa1580156112fd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061132191906127d9565b90508073ffffffffffffffffffffffffffffffffffffffff1663e8d72654308561134a876111c6565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815273ffffffffffffffffffffffffffffffffffffffff9093166004840152602483019190915260ff166044820152606401600060405180830381865afa1580156113c3573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610dc691908101906128ab565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260609160009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a916114b291906004016123e6565b602060405180830381865afa1580156114cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114f391906127d9565b6040517e844d1300000000000000000000000000000000000000000000000000000000815230600482015290915073ffffffffffffffffffffffffffffffffffffffff82169062844d1390602401600060405180830381865afa15801561155e573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526115a491908101906128ab565b91505090565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff166109d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e2049440000000000000000604482015260640161065b565b60008181526067602052604081205473ffffffffffffffffffffffffffffffffffffffff16806104cb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e2049440000000000000000604482015260640161065b565b600081815260696020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117909155819061171b82611635565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b8273ffffffffffffffffffffffffffffffffffffffff1661178182611635565b73ffffffffffffffffffffffffffffffffffffffff1614611824576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e6572000000000000000000000000000000000000000000000000000000606482015260840161065b565b73ffffffffffffffffffffffffffffffffffffffff82166118c6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161065b565b8273ffffffffffffffffffffffffffffffffffffffff166118e682611635565b73ffffffffffffffffffffffffffffffffffffffff1614611989576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e6572000000000000000000000000000000000000000000000000000000606482015260840161065b565b600081815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff8781168086526068855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905590871680865283862080546001019055868652606790945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6000611a6782611635565b9050611a7282611635565b600083815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff85168085526068845282852080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190558785526067909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b600054610100900460ff16611bcb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161065b565b61111a828261208a565b73ffffffffffffffffffffffffffffffffffffffff8216611c52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161065b565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff1615611cde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161065b565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff1615611d6a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161065b565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260686020908152604080832080546001019055848352606790915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611e8f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161065b565b73ffffffffffffffffffffffffffffffffffffffff8381166000818152606a602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b600080611f3383611635565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611fa1575073ffffffffffffffffffffffffffffffffffffffff8082166000908152606a602090815260408083209388168352929052205460ff165b80611fdf57508373ffffffffffffffffffffffffffffffffffffffff16611fc784610563565b73ffffffffffffffffffffffffffffffffffffffff16145b949350505050565b611ff2848484611761565b611ffe8484848461213a565b6111c0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e7465720000000000000000000000000000606482015260840161065b565b600054610100900460ff16612121576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161065b565b606561212d8382612970565b5060666107238282612970565b600073ffffffffffffffffffffffffffffffffffffffff84163b15612322576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a02906121b1903390899088908890600401612a8a565b6020604051808303816000875af192505050801561220a575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261220791810190612ad3565b60015b6122d7573d808015612238576040519150601f19603f3d011682016040523d82523d6000602084013e61223d565b606091505b5080516000036122cf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e7465720000000000000000000000000000606482015260840161065b565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050611fdf565b506001949350505050565b7fffffffff00000000000000000000000000000000000000000000000000000000811681146109d057600080fd5b60006020828403121561236d57600080fd5b8135610dc68161232d565b60005b8381101561239357818101518382015260200161237b565b50506000910152565b600081518084526123b4816020860160208601612378565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610dc6602083018461239c565b60006020828403121561240b57600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff811681146109d057600080fd5b6000806040838503121561244757600080fd5b823561245281612412565b946020939093013593505050565b60008060006060848603121561247557600080fd5b833561248081612412565b9250602084013561249081612412565b929592945050506040919091013590565b60008083601f8401126124b357600080fd5b50813567ffffffffffffffff8111156124cb57600080fd5b6020830191508360208285010111156124e357600080fd5b9250929050565b6000806000806040858703121561250057600080fd5b843567ffffffffffffffff8082111561251857600080fd5b612524888389016124a1565b9096509450602087013591508082111561253d57600080fd5b5061254a878288016124a1565b95989497509550505050565b6000806040838503121561256957600080fd5b823561257481612412565b9150602083013560ff8116811461258a57600080fd5b809150509250929050565b6000602082840312156125a757600080fd5b8135610dc681612412565b600080604083850312156125c557600080fd5b82356125d081612412565b91506020830135801515811461258a57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561265b5761265b6125e5565b604052919050565b600067ffffffffffffffff82111561267d5761267d6125e5565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600080600080608085870312156126bf57600080fd5b84356126ca81612412565b935060208501356126da81612412565b925060408501359150606085013567ffffffffffffffff8111156126fd57600080fd5b8501601f8101871361270e57600080fd5b803561272161271c82612663565b612614565b81815288602083850101111561273657600080fd5b8160208401602083013760006020838301015280935050505092959194509250565b6000806040838503121561276b57600080fd5b823561277681612412565b9150602083013561258a81612412565b600181811c9082168061279a57607f821691505b6020821081036127d3577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b6000602082840312156127eb57600080fd5b8151610dc681612412565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600081612834576128346127f6565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b60006020828403121561286c57600080fd5b5051919050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036128a4576128a46127f6565b5060010190565b6000602082840312156128bd57600080fd5b815167ffffffffffffffff8111156128d457600080fd5b8201601f810184136128e557600080fd5b80516128f361271c82612663565b81815285602083850101111561290857600080fd5b612919826020830160208601612378565b95945050505050565b601f82111561072357600081815260208120601f850160051c810160208610156129495750805b601f850160051c820191505b8181101561296857828155600101612955565b505050505050565b815167ffffffffffffffff81111561298a5761298a6125e5565b61299e816129988454612786565b84612922565b602080601f8311600181146129f157600084156129bb5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555612968565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015612a3e57888601518255948401946001909101908401612a1f565b5085821015612a7a57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525083604083015260806060830152612ac9608083018461239c565b9695505050505050565b600060208284031215612ae557600080fd5b8151610dc68161232d56fea26469706673582212202f539941999670b371ba76bce5df1736fd82afb2c9c939e8219ae46e05215f2064736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220c5ad7174fbcec6fe1a447b9d3bc0f95e4d23c7be87864477488c24c33653be3664736f6c63430008130033000000000000000000000000e8ab207a5c21162db1ee75e378a92c82d550a8d1", + "nonce": "0x7d8", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x464bce28e69e0182ef78e8e98c6752dc85cff86990ab8563a2ee076df5c9000e", + "transactionType": "CREATE", + "contractName": "ERC1967Proxy", + "contractAddress": "0xEe19aCE40dB1BA8B0DbBc5e57061A3268bd08c6A", + "function": null, + "arguments": [ + "0x1C20873a915505cBaFb576B3B152EeCE6a0BFD60", + "0xc4d66de8000000000000000000000000bd132e42baafe3648170770f2d45dba59166e06d" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x316ce5", + "value": "0x0", + "data": "0x60806040526040516104ee3803806104ee833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c760279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60be806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea264697066735822122091c81c9b8ac755a7e1e08c0e9f65600d21e642457fb84c7f9e0d0a65b62d269064736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c65640000000000000000000000001c20873a915505cbafb576b3b152eece6a0bfd6000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de8000000000000000000000000bd132e42baafe3648170770f2d45dba59166e06d00000000000000000000000000000000000000000000000000000000", + "nonce": "0x7d9", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0x3F684D5bE59136751DD7C85C2973cb7917557338", + "initCode": "60c06040523480156200001157600080fd5b5060405162002d3938038062002d3983398101604081905262000034916200017d565b600054610100900460ff1615808015620000555750600054600160ff909116105b80620000715750303b15801562000071575060005460ff166001145b620000d95760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b6000805460ff191660011790558015620000fd576000805461ff0019166101001790555b6001600160a01b0380841660a0528216608052801562000157576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050620001b5565b80516001600160a01b03811681146200017857600080fd5b919050565b600080604083850312156200019157600080fd5b6200019c8362000160565b9150620001ac6020840162000160565b90509250929050565b60805160a051612b2662000213600039600081816103c101528181610b0f015261107b01526000818161031101528181610784015281816108dc01528181610cb701528181610e37015281816112ac015261147e0152612b266000f3fe608060405234801561001057600080fd5b50600436106101985760003560e01c806370a08231116100e3578063c3cc244a1161008c578063e985e9c511610066578063e985e9c514610373578063ee0fc121146103bc578063f3f6f0d7146103e357600080fd5b8063c3cc244a14610333578063c87b56dd14610358578063e8a3d4851461036b57600080fd5b8063a22cb465116100bd578063a22cb465146102e6578063b88d4fde146102f9578063b95ddb521461030c57600080fd5b806370a08231146102c35780638da5cb5b146102d657806395d89b41146102de57600080fd5b806342842e0e11610145578063626273a11161011f578063626273a11461028a5780636352211e1461029d578063691562a0146102b057600080fd5b806342842e0e1461025157806342966c68146102645780634cd88b761461027757600080fd5b8063095ea7b311610176578063095ea7b31461021257806318160ddd1461022757806323b872dd1461023e57600080fd5b806301ffc9a71461019d57806306fdde03146101c5578063081812fc146101da575b600080fd5b6101b06101ab36600461235b565b6103ec565b60405190151581526020015b60405180910390f35b6101cd6104d1565b6040516101bc91906123e6565b6101ed6101e83660046123f9565b610563565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101bc565b610225610220366004612434565b610597565b005b61023060985481565b6040519081526020016101bc565b61022561024c366004612460565b610728565b61022561025f366004612460565b610865565b6102256102723660046123f9565b610880565b6102256102853660046124ea565b6109d3565b6102306102983660046123f9565b610c43565b6101ed6102ab3660046123f9565b610dcd565b6102306102be366004612556565b610dd8565b6102306102d1366004612595565b610f7c565b6101ed61104a565b6101cd611100565b6102256102f43660046125b2565b61110f565b6102256103073660046126a9565b61111e565b6101ed7f000000000000000000000000000000000000000000000000000000000000000081565b6103466103413660046123f9565b6111c6565b60405160ff90911681526020016101bc565b6101cd6103663660046123f9565b611237565b6101cd611409565b6101b0610381366004612758565b73ffffffffffffffffffffffffffffffffffffffff9182166000908152606a6020908152604080832093909416825291909152205460ff1690565b6101ed7f000000000000000000000000000000000000000000000000000000000000000081565b61023060975481565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061047f57507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b806104cb57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6060606580546104e090612786565b80601f016020809104026020016040519081016040528092919081815260200182805461050c90612786565b80156105595780601f1061052e57610100808354040283529160200191610559565b820191906000526020600020905b81548152906001019060200180831161053c57829003601f168201915b5050505050905090565b600061056e826115aa565b5060009081526069602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60006105a282611635565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610664576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff8216148061068d575061068d8133610381565b610719576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000606482015260840161065b565b61072383836116c1565b505050565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815233917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a916107cc916004016123e6565b602060405180830381865afa1580156107e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061080d91906127d9565b73ffffffffffffffffffffffffffffffffffffffff161461085a576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610723838383611761565b6107238383836040518060200160405280600081525061111e565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815233917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a91610924916004016123e6565b602060405180830381865afa158015610941573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061096591906127d9565b73ffffffffffffffffffffffffffffffffffffffff16146109b2576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b609880549060006109c283612825565b91905055506109d081611a5c565b50565b600054610100900460ff16158080156109f35750600054600160ff909116105b80610a0d5750303b158015610a0d575060005460ff166001145b610a99576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840161065b565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610af757600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610b66576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610bd985858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f89018190048102820181019092528781529250879150869081908401838280828437600092019190915250611b3492505050565b8015610c3c57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a000000000000000000000000000000000000000000000000000000008152600091829173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a91610ceb91906004016123e6565b602060405180830381865afa158015610d08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d2c91906127d9565b6040517f5f32b4300000000000000000000000000000000000000000000000000000000081523060048201526024810185905290915073ffffffffffffffffffffffffffffffffffffffff821690635f32b430906044016020604051808303816000875af1158015610da2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dc6919061285a565b9392505050565b60006104cb82611635565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260009133917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a91610e8091906004016123e6565b602060405180830381865afa158015610e9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec191906127d9565b73ffffffffffffffffffffffffffffffffffffffff1614610f0e576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60988054906000610f1e83612873565b9190505550609760008154610f3290612873565b9182905550600081815260996020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff851617905590506104cb8382611bd5565b600073ffffffffffffffffffffffffffffffffffffffff8216611021576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e65720000000000000000000000000000000000000000000000606482015260840161065b565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526068602052604090205490565b6040517f14afd79e0000000000000000000000000000000000000000000000000000000081523060048201526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906314afd79e90602401602060405180830381865afa1580156110d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110fb91906127d9565b905090565b6060606680546104e090612786565b61111a338383611dfa565b5050565b6111283383611f27565b6111b4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f76656400000000000000000000000000000000000000606482015260840161065b565b6111c084848484611fe7565b50505050565b60008181526067602052604081205473ffffffffffffffffffffffffffffffffffffffff16611221576040517f6831df8d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060009081526099602052604090205460ff1690565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260609160009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a916112e091906004016123e6565b602060405180830381865afa1580156112fd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061132191906127d9565b90508073ffffffffffffffffffffffffffffffffffffffff1663e8d72654308561134a876111c6565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815273ffffffffffffffffffffffffffffffffffffffff9093166004840152602483019190915260ff166044820152606401600060405180830381865afa1580156113c3573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610dc691908101906128ab565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260609160009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a916114b291906004016123e6565b602060405180830381865afa1580156114cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114f391906127d9565b6040517e844d1300000000000000000000000000000000000000000000000000000000815230600482015290915073ffffffffffffffffffffffffffffffffffffffff82169062844d1390602401600060405180830381865afa15801561155e573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526115a491908101906128ab565b91505090565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff166109d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e2049440000000000000000604482015260640161065b565b60008181526067602052604081205473ffffffffffffffffffffffffffffffffffffffff16806104cb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e2049440000000000000000604482015260640161065b565b600081815260696020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117909155819061171b82611635565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b8273ffffffffffffffffffffffffffffffffffffffff1661178182611635565b73ffffffffffffffffffffffffffffffffffffffff1614611824576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e6572000000000000000000000000000000000000000000000000000000606482015260840161065b565b73ffffffffffffffffffffffffffffffffffffffff82166118c6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161065b565b8273ffffffffffffffffffffffffffffffffffffffff166118e682611635565b73ffffffffffffffffffffffffffffffffffffffff1614611989576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e6572000000000000000000000000000000000000000000000000000000606482015260840161065b565b600081815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff8781168086526068855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905590871680865283862080546001019055868652606790945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6000611a6782611635565b9050611a7282611635565b600083815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff85168085526068845282852080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190558785526067909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b600054610100900460ff16611bcb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161065b565b61111a828261208a565b73ffffffffffffffffffffffffffffffffffffffff8216611c52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161065b565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff1615611cde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161065b565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff1615611d6a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161065b565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260686020908152604080832080546001019055848352606790915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611e8f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161065b565b73ffffffffffffffffffffffffffffffffffffffff8381166000818152606a602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b600080611f3383611635565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611fa1575073ffffffffffffffffffffffffffffffffffffffff8082166000908152606a602090815260408083209388168352929052205460ff165b80611fdf57508373ffffffffffffffffffffffffffffffffffffffff16611fc784610563565b73ffffffffffffffffffffffffffffffffffffffff16145b949350505050565b611ff2848484611761565b611ffe8484848461213a565b6111c0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e7465720000000000000000000000000000606482015260840161065b565b600054610100900460ff16612121576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161065b565b606561212d8382612970565b5060666107238282612970565b600073ffffffffffffffffffffffffffffffffffffffff84163b15612322576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a02906121b1903390899088908890600401612a8a565b6020604051808303816000875af192505050801561220a575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261220791810190612ad3565b60015b6122d7573d808015612238576040519150601f19603f3d011682016040523d82523d6000602084013e61223d565b606091505b5080516000036122cf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e7465720000000000000000000000000000606482015260840161065b565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050611fdf565b506001949350505050565b7fffffffff00000000000000000000000000000000000000000000000000000000811681146109d057600080fd5b60006020828403121561236d57600080fd5b8135610dc68161232d565b60005b8381101561239357818101518382015260200161237b565b50506000910152565b600081518084526123b4816020860160208601612378565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610dc6602083018461239c565b60006020828403121561240b57600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff811681146109d057600080fd5b6000806040838503121561244757600080fd5b823561245281612412565b946020939093013593505050565b60008060006060848603121561247557600080fd5b833561248081612412565b9250602084013561249081612412565b929592945050506040919091013590565b60008083601f8401126124b357600080fd5b50813567ffffffffffffffff8111156124cb57600080fd5b6020830191508360208285010111156124e357600080fd5b9250929050565b6000806000806040858703121561250057600080fd5b843567ffffffffffffffff8082111561251857600080fd5b612524888389016124a1565b9096509450602087013591508082111561253d57600080fd5b5061254a878288016124a1565b95989497509550505050565b6000806040838503121561256957600080fd5b823561257481612412565b9150602083013560ff8116811461258a57600080fd5b809150509250929050565b6000602082840312156125a757600080fd5b8135610dc681612412565b600080604083850312156125c557600080fd5b82356125d081612412565b91506020830135801515811461258a57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561265b5761265b6125e5565b604052919050565b600067ffffffffffffffff82111561267d5761267d6125e5565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600080600080608085870312156126bf57600080fd5b84356126ca81612412565b935060208501356126da81612412565b925060408501359150606085013567ffffffffffffffff8111156126fd57600080fd5b8501601f8101871361270e57600080fd5b803561272161271c82612663565b612614565b81815288602083850101111561273657600080fd5b8160208401602083013760006020838301015280935050505092959194509250565b6000806040838503121561276b57600080fd5b823561277681612412565b9150602083013561258a81612412565b600181811c9082168061279a57607f821691505b6020821081036127d3577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b6000602082840312156127eb57600080fd5b8151610dc681612412565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600081612834576128346127f6565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b60006020828403121561286c57600080fd5b5051919050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036128a4576128a46127f6565b5060010190565b6000602082840312156128bd57600080fd5b815167ffffffffffffffff8111156128d457600080fd5b8201601f810184136128e557600080fd5b80516128f361271c82612663565b81815285602083850101111561290857600080fd5b612919826020830160208601612378565b95945050505050565b601f82111561072357600081815260208120601f850160051c810160208610156129495750805b601f850160051c820191505b8181101561296857828155600101612955565b505050505050565b815167ffffffffffffffff81111561298a5761298a6125e5565b61299e816129988454612786565b84612922565b602080601f8311600181146129f157600084156129bb5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555612968565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015612a3e57888601518255948401946001909101908401612a1f565b5085821015612a7a57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525083604083015260806060830152612ac9608083018461239c565b9695505050505050565b600060208284031215612ae557600080fd5b8151610dc68161232d56fea26469706673582212202f539941999670b371ba76bce5df1736fd82afb2c9c939e8219ae46e05215f2064736f6c63430008130033000000000000000000000000ee19ace40db1ba8b0dbbc5e57061a3268bd08c6a000000000000000000000000e8ab207a5c21162db1ee75e378a92c82d550a8d1" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0xb447729820016d5c91ffff7cee07046a95a4f6da7ec1171b77d49eae37193e5e", + "transactionType": "CREATE", + "contractName": "StoryProtocol", + "contractAddress": "0xa7C6184c4090923A5710ef0C8aaB5F157E88e586", + "function": null, + "arguments": [ + "0xEe19aCE40dB1BA8B0DbBc5e57061A3268bd08c6A", + "0xe8ab207A5C21162Db1ee75e378A92C82d550a8d1" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x29960b", + "value": "0x0", + "data": "0x60c06040523480156200001157600080fd5b5060405162002667380380620026678339810160408190526200003491620000a2565b6001600160a01b03821615806200005257506001600160a01b038116155b15620000715760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b039182166080521660a052620000e1565b6001600160a01b03811681146200009f57600080fd5b50565b60008060408385031215620000b657600080fd5b8251620000c38162000089565b6020840151909250620000d68162000089565b809150509250929050565b60805160a05161250c6200015b600039600081816102530152818161036e0152818161044c015281816105aa015281816106f101528181610953015281816109dd01528181610bf101528181610df401528181610f800152818161107201526112950152600081816101750152610b5c015261250c6000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c806398e8e6ea11610097578063b108e1c611610066578063b108e1c61461023b578063b95ddb521461024e578063ce75e7fc14610275578063eb3b0cba1461028857600080fd5b806398e8e6ea146101e2578063a3a0428f146101f5578063a5823a3714610208578063ac9650d81461021b57600080fd5b80634d343a45116100d35780634d343a451461015d57806351e06b90146101705780635a5173bd146101bc5780637a103e33146101cf57600080fd5b806317031df1146100fa5780632d26ff3e146101275780633d20e00d1461013c575b600080fd5b61010d61010836600461154a565b61029b565b604080519283526020830191909152015b60405180910390f35b61013a6101353660046115f1565b610435565b005b61014f61014a36600461163e565b610581565b60405190815260200161011e565b61013a61016b36600461168b565b6106ef565b6101977f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161011e565b61013a6101ca3660046116b7565b610884565b61013a6101dd36600461174e565b6109db565b6101976101f0366004611796565b610b1c565b61014f61020336600461154a565b610bec565b61013a610216366004611843565b610d07565b61022e6102293660046118f4565b610e89565b60405161011e91906119db565b61013a6102493660046119ee565b610f7e565b6101977f000000000000000000000000000000000000000000000000000000000000000081565b61013a610283366004611a3e565b611070565b61013a610296366004611a73565b6111c2565b60008060007fe761f303268b55a3dc96719551acb95ca3bd1ebeef4b720be68dd92563627a3f886040516020016102d29190611b9b565b60408051601f19818403018152908290526102f09291602001611c30565b60408051601f198184030181528282018252601383527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602084015290517fb38609e800000000000000000000000000000000000000000000000000000000815290925060009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163b38609e8916103af918e91339188908f908f908f908f90600401611c99565b6000604051808303816000875af11580156103ce573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103f69190810190611d4c565b9050805160000361040f5760008093509350505061042a565b808060200190518101906104239190611df9565b9350935050505b965096945050505050565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001663e1fc45ce6104816040840160208501611e1d565b336040518060400160405280601381526020017f52454c4154494f4e534849505f4d4f44554c45000000000000000000000000008152507f99bf0fbd60208ca164accd299e2c0a8b4475c1a2df53c2d7160870f682536528866040516020016104ea9190611f2c565b60408051601f19818403018152908290526105089291602001611c30565b6040516020818303038152906040526040518563ffffffff1660e01b81526004016105369493929190611fff565b6000604051808303816000875af1158015610555573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261057d9190810190611d4c565b5050565b6000808660405160200161059591906120ee565b604051602081830303815290604052905060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663b38609e88a336040518060400160405280601081526020017f4c4943454e53494e475f4d4f44554c45000000000000000000000000000000008152507f3f92a83f1dd77188c62fa393a54ccf9854be836ca6c243397d0acbbce04723878760405160200161064f929190611c30565b6040516020818303038152906040528c8c8c8c6040518963ffffffff1660e01b8152600401610685989796959493929190611c99565b6000604051808303816000875af11580156106a4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106cc9190810190611d4c565b9050808060200190518101906106e29190612134565b9998505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663b38609e883336040518060400160405280601081526020017f4c4943454e53494e475f4d4f44554c45000000000000000000000000000000008152507f5281374dd3fc2bb7839f50fddfb6a14a666cb4d23b20d6aecf9b9950d103b3368660405160200161079791815260200190565b60408051601f19818403018152908290526107b59291602001611c30565b60408051808303601f1901815260008084526020840190925291906107ea565b60608152602001906001900390816107d55790505b506040805160008082526020820190925290610816565b60608152602001906001900390816108015790505b506040518763ffffffff1660e01b81526004016108389695949392919061214d565b6000604051808303816000875af1158015610857573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261087f9190810190611d4c565b505050565b60007f9aeb830ec91a14c97a5446cc7c86a42f73a78f37f9a77afa238b5d11520ddfbc83836040516020016108ba9291906121c0565b60408051601f19818403018152908290526108d89291602001611c30565b60408051601f198184030181528282018252601383527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602084015290517fe1fc45ce00000000000000000000000000000000000000000000000000000000815290925073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163e1fc45ce9161098d9188913391908790600401611fff565b6000604051808303816000875af11580156109ac573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109d49190810190611d4c565b5050505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e1fc45ce84336040518060400160405280601381526020017f52454c4154494f4e534849505f4d4f44554c45000000000000000000000000008152507fe5801b46183bd353d44247232707bb62253655a0580ade69a754ba7157ddf8fd8787604051602001610a839291906121d4565b60408051601f1981840301815290829052610aa19291602001611c30565b6040516020818303038152906040526040518563ffffffff1660e01b8152600401610acf9493929190611fff565b6000604051808303816000875af1158015610aee573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b169190810190611d4c565b50505050565b6040517f98e8e6ea00000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906398e8e6ea90610b9d908b908b908b908b908b908b908b906004016121e8565b6020604051808303816000875af1158015610bbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be0919061224e565b98975050505050505050565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663b38609e889336040518060400160405280601381526020017f52454c4154494f4e534849505f4d4f44554c45000000000000000000000000008152508b604051602001610c74919061226b565b6040516020818303038152906040528b8b8b8b6040518963ffffffff1660e01b8152600401610caa989796959493929190611c99565b6000604051808303816000875af1158015610cc9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610cf19190810190611d4c565b905080806020019051810190610be09190612134565b6040805173ffffffffffffffffffffffffffffffffffffffff898116602083015288168183015260608082018890528251808303909101815260808201909252600091610d79917fbc42750dbe73870bbe102106b22fd8bdfa53c7247eca196d8bb7da9527f0c1e5919060a001611c30565b60408051601f198184030181528282018252601383527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602084015290517fb38609e800000000000000000000000000000000000000000000000000000000815290925073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163b38609e891610e36918d9133919087908c908c908c908c90600401611c99565b6000604051808303816000875af1158015610e55573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e7d9190810190611d4c565b50505050505050505050565b60608167ffffffffffffffff811115610ea457610ea4611d1d565b604051908082528060200260200182016040528015610ed757816020015b6060815260200190600190039081610ec25790505b50905060005b82811015610f7757610f4730858584818110610efb57610efb6122f4565b9050602002810190610f0d9190612323565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061131f92505050565b828281518110610f5957610f596122f4565b60200260200101819052508080610f6f90612388565b915050610edd565b5092915050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e1fc45ce83336040518060400160405280601081526020017f4c4943454e53494e475f4d4f44554c45000000000000000000000000000000008152507f8b21f20183a523515c357db6dba25c92b138630b63988ca3e60a6be86c8da0458660405160200161102491906123e7565b60408051601f19818403018152908290526110429291602001611c30565b6040516020818303038152906040526040518563ffffffff1660e01b81526004016108389493929190611fff565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663b38609e884336040518060400160405280601081526020017f4c4943454e53494e475f4d4f44554c45000000000000000000000000000000008152507f29def77ab981c01a6b53c58b23dd89ac4447095f721298424063ed3f16962ac68787604051602001611121929190918252602082015260400190565b60408051601f198184030181529082905261113f9291602001611c30565b60408051808303601f190181526000808452602084019092529190611174565b606081526020019060019003908161115f5790505b5060408051600080825260208201909252906111a0565b606081526020019060019003908161118b5790505b506040518763ffffffff1660e01b8152600401610acf9695949392919061214d565b60007f88fae8356076de6f233fd00b30fad913df2329364a9e9242abdc96adccc3bfc9858585856040516020016111fc9493929190612459565b60408051601f198184030181529082905261121a9291602001611c30565b60408051601f198184030181528282018252601383527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602084015290517fe1fc45ce00000000000000000000000000000000000000000000000000000000815290925073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163e1fc45ce916112cf918a913391908790600401611fff565b6000604051808303816000875af11580156112ee573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113169190810190611d4c565b50505050505050565b606061134483836040518060600160405280602781526020016124b06027913961134b565b9392505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516113759190612480565b600060405180830381855af49150503d80600081146113b0576040519150601f19603f3d011682016040523d82523d6000602084013e6113b5565b606091505b50915091506113c6868383876113d0565b9695505050505050565b6060831561146b5782516000036114645773ffffffffffffffffffffffffffffffffffffffff85163b611464576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064015b60405180910390fd5b5081611475565b611475838361147d565b949350505050565b81511561148d5781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145b919061249c565b73ffffffffffffffffffffffffffffffffffffffff811681146114e357600080fd5b50565b600060a082840312156114f857600080fd5b50919050565b60008083601f84011261151057600080fd5b50813567ffffffffffffffff81111561152857600080fd5b6020830191508360208260051b850101111561154357600080fd5b9250929050565b6000806000806000806080878903121561156357600080fd5b863561156e816114c1565b9550602087013567ffffffffffffffff8082111561158b57600080fd5b6115978a838b016114e6565b965060408901359150808211156115ad57600080fd5b6115b98a838b016114fe565b909650945060608901359150808211156115d257600080fd5b506115df89828a016114fe565b979a9699509497509295939492505050565b60006020828403121561160357600080fd5b813567ffffffffffffffff81111561161a57600080fd5b820160c0818503121561134457600080fd5b6000606082840312156114f857600080fd5b6000806000806000806080878903121561165757600080fd5b8635611662816114c1565b9550602087013567ffffffffffffffff8082111561167f57600080fd5b6115978a838b0161162c565b6000806040838503121561169e57600080fd5b82356116a9816114c1565b946020939093013593505050565b6000806000604084860312156116cc57600080fd5b83356116d7816114c1565b9250602084013567ffffffffffffffff8111156116f357600080fd5b6116ff868287016114fe565b9497909650939450505050565b60008083601f84011261171e57600080fd5b50813567ffffffffffffffff81111561173657600080fd5b60208301915083602082850101111561154357600080fd5b60008060006040848603121561176357600080fd5b833561176e816114c1565b9250602084013567ffffffffffffffff81111561178a57600080fd5b6116ff8682870161170c565b60008060008060008060006080888a0312156117b157600080fd5b87356117bc816114c1565b9650602088013567ffffffffffffffff808211156117d957600080fd5b6117e58b838c0161170c565b909850965060408a01359150808211156117fe57600080fd5b61180a8b838c0161170c565b909650945060608a013591508082111561182357600080fd5b506118308a828b016114fe565b989b979a50959850939692959293505050565b60008060008060008060008060c0898b03121561185f57600080fd5b883561186a816114c1565b9750602089013561187a816114c1565b9650604089013561188a816114c1565b955060608901359450608089013567ffffffffffffffff808211156118ae57600080fd5b6118ba8c838d016114fe565b909650945060a08b01359150808211156118d357600080fd5b506118e08b828c016114fe565b999c989b5096995094979396929594505050565b6000806020838503121561190757600080fd5b823567ffffffffffffffff81111561191e57600080fd5b61192a858286016114fe565b90969095509350505050565b60005b83811015611951578181015183820152602001611939565b50506000910152565b60008151808452611972816020860160208601611936565b601f01601f19169290920160200192915050565b600081518084526020808501808196508360051b8101915082860160005b858110156119ce5782840389526119bc84835161195a565b988501989350908401906001016119a4565b5091979650505050505050565b6020815260006113446020830184611986565b60008060408385031215611a0157600080fd5b8235611a0c816114c1565b9150602083013567ffffffffffffffff811115611a2857600080fd5b611a348582860161162c565b9150509250929050565b600080600060608486031215611a5357600080fd5b8335611a5e816114c1565b95602085013595506040909401359392505050565b600080600080600060608688031215611a8b57600080fd5b8535611a96816114c1565b9450602086013567ffffffffffffffff80821115611ab357600080fd5b611abf89838a0161170c565b90965094506040880135915080821115611ad857600080fd5b50611ae58882890161170c565b969995985093965092949392505050565b803560ff81168114611b0757600080fd5b919050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611b4157600080fd5b830160208101925035905067ffffffffffffffff811115611b6157600080fd5b80360382131561154357600080fd5b818352818160208501375060006020828401015260006020601f19601f840116840101905092915050565b6020815260008235611bac816114c1565b73ffffffffffffffffffffffffffffffffffffffff811660208401525060ff611bd760208501611af6565b166040830152611bea6040840184611b0c565b60a06060850152611bff60c085018284611b70565b91505060608401356080840152611c196080850185611b0c565b601f198584030160a08601526113c6838284611b70565b828152604060208201526000611475604083018461195a565b81835260006020808501808196508560051b810191508460005b878110156119ce578284038952611c7a8288611b0c565b611c85868284611b70565b9a87019a9550505090840190600101611c63565b600073ffffffffffffffffffffffffffffffffffffffff808b168352808a1660208401525060c06040830152611cd260c083018961195a565b8281036060840152611ce4818961195a565b90508281036080840152611cf9818789611c49565b905082810360a0840152611d0e818587611c49565b9b9a5050505050505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600060208284031215611d5e57600080fd5b815167ffffffffffffffff80821115611d7657600080fd5b818401915084601f830112611d8a57600080fd5b815181811115611d9c57611d9c611d1d565b604051601f8201601f19908116603f01168101908382118183101715611dc457611dc4611d1d565b81604052828152876020848701011115611ddd57600080fd5b611dee836020830160208801611936565b979650505050505050565b60008060408385031215611e0c57600080fd5b505080516020909101519092909150565b600060208284031215611e2f57600080fd5b8135611344816114c1565b803560068110611b0757600080fd5b60068110611e80577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611eb957600080fd5b830160208101925035905067ffffffffffffffff811115611ed957600080fd5b8060051b360382131561154357600080fd5b8183526000602080850194508260005b85811015611f215760ff611f0e83611af6565b1687529582019590820190600101611efb565b509495945050505050565b602081526000611f3c8384611b0c565b60c06020850152611f5160e085018284611b70565b9150506020840135611f62816114c1565b73ffffffffffffffffffffffffffffffffffffffff8116604085015250611f9760608401611f9260408701611e3a565b611e49565b611fa360608501611e3a565b611fb06080850182611e49565b50611fbe6080850185611e84565b601f19808685030160a0870152611fd6848385611eeb565b9350611fe560a0880188611e84565b93509150808685030160c0870152506113c6838383611eeb565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525060806040830152612038608083018561195a565b8281036060840152611dee818561195a565b81835260006020808501808196508560051b81019150846000805b888110156120e0578385038a5282357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc18936030181126120a3578283fd5b88018035865260406120b788830183611b0c565b925081898901526120cb8289018483611b70565b9c89019c975050509286019250600101612065565b509298975050505050505050565b6020815260006120fe8384611e84565b6060602085015261211360808501828461204a565b91505060208401356040840152604084013560608401528091505092915050565b60006020828403121561214657600080fd5b5051919050565b600073ffffffffffffffffffffffffffffffffffffffff808916835280881660208401525060c0604083015261218660c083018761195a565b8281036060840152612198818761195a565b905082810360808401526121ac8186611986565b905082810360a08401526106e28185611986565b602081526000611475602083018486611c49565b602081526000611475602083018486611b70565b73ffffffffffffffffffffffffffffffffffffffff8816815260806020820152600061221860808301888a611b70565b828103604084015261222b818789611b70565b90508281036060840152612240818587611c49565b9a9950505050505050505050565b60006020828403121561226057600080fd5b8151611344816114c1565b60208152600061227b8384611b0c565b60a0602085015261229060c085018284611b70565b91505060208401356122a1816114c1565b73ffffffffffffffffffffffffffffffffffffffff808216604086015260408601356060860152606086013591506122d8826114c1565b16608084810191909152939093013560a0909201919091525090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261235857600080fd5b83018035915067ffffffffffffffff82111561237357600080fd5b60200191503681900382131561154357600080fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036123e0577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b6020815260006123f78384611b0c565b6060602085015261240c608085018284611b70565b91505061241c6020850185611e84565b601f1985840301604086015261243383828461204a565b9250505060408401356003811061244957600080fd5b6060939093019290925250919050565b60408152600061246d604083018688611b70565b8281036020840152611dee818587611b70565b60008251612492818460208701611936565b9190910192915050565b602081526000611344602083018461195a56fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212205bf994a91e6fba3b278809c0a83ee1a072556ea0f02b0e66fa33d78fe971388664736f6c63430008130033000000000000000000000000ee19ace40db1ba8b0dbbc5e57061a3268bd08c6a000000000000000000000000e8ab207a5c21162db1ee75e378a92c82d550a8d1", + "nonce": "0x7da", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x7f5332cc990b07f875117b1337f10ef6722a5befedf0a958d1212b671fbf3ee3", + "transactionType": "CREATE", + "contractName": "RegistrationModule", + "contractAddress": "0xf59e8d2bD2176f481f0F95568E21a70A07D9CDbC", + "function": null, + "arguments": [ + "(0x7a7BC5640637b74ABEcc6e908Ed548eE1969c948, 0xe8ab207A5C21162Db1ee75e378A92C82d550a8d1, 0x80e012Ca980E1d3993d8beE99828619E5532B12b, 0xEe19aCE40dB1BA8B0DbBc5e57061A3268bd08c6A)", + "0xbD132e42baaFe3648170770F2D45dbA59166e06d" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x62a498", + "value": "0x0", + "data": "0x6101006040523480156200001257600080fd5b5060405162005c4838038062005c48833981016040819052620000359162000298565b6020820151819083906001600160a01b038116620000665760405163134141bd60e11b815260040160405180910390fd5b6001600160a01b039081166080528151166200009557604051636028d8f760e01b815260040160405180910390fd5b80516001600160a01b0390811660a052604082015116620000c957604051635a70c46160e11b815260040160405180910390fd5b60408101516001600160a01b0390811660c052606090910151811660e052620000fc908216637965db0b60e01b6200018f565b6200013f576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600580546001600160a01b0319166001600160a01b0383169081179091556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a250505062000350565b60006200019c83620001b7565b8015620001b05750620001b08383620001f0565b9392505050565b6000620001cc826301ffc9a760e01b620001f0565b8015620001ea5750620001e8826001600160e01b0319620001f0565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801562000263575060208210155b8015620002705750600081115b979650505050505050565b80516001600160a01b03811681146200029357600080fd5b919050565b60008082840360a0811215620002ad57600080fd5b6080811215620002bc57600080fd5b50604051608081016001600160401b0381118282101715620002ee57634e487b7160e01b600052604160045260246000fd5b604052620002fc846200027b565b81526200030c602085016200027b565b60208201526200031f604085016200027b565b604082015262000332606085016200027b565b6060820152915062000347608084016200027b565b90509250929050565b60805160a05160c05160e051615894620003b4600039600081816102990152613699015260006104a401526000818161044401528181611c2d0152613ccc01526000818161040a01528181610c620152818161154a0152612ceb01526158946000f3fe608060405234801561001057600080fd5b50600436106101c35760003560e01c80638a8cb0b4116100f9578063bc12fcca11610097578063e8d7265411610071578063e8d7265414610479578063e8fb5c9b1461048c578063f0ebdc831461049f578063fba854e0146104c657600080fd5b8063bc12fcca1461042c578063d2faf8b01461043f578063e57204041461046657600080fd5b8063a5b04d45116100d3578063a5b04d45146103cc578063a6829872146103df578063b6efd29d146103f2578063b95ddb521461040557600080fd5b80638a8cb0b4146103575780639533563d146103995780639b722202146103ac57600080fd5b80634fcbd213116101665780636352211e116101405780636352211e1461030b57806368a4f0711461031e5780637448c5681461033157806377379d941461034457600080fd5b80634fcbd2131461028157806351e06b90146102945780635f32b430146102e057600080fd5b806319129e5a116101a257806319129e5a1461022a5780632fa7bc991461023f57806332ee6813146102525780634fa4467c1461027957600080fd5b8062844d13146101c857806301ffc9a7146101f157806302a8df9114610214575b600080fd5b6101db6101d6366004614079565b6104d9565b6040516101e89190614104565b60405180910390f35b6102046101ff366004614117565b6105d2565b60405190151581526020016101e8565b61021c60ff81565b6040519081526020016101e8565b61023d610238366004614079565b6106b5565b005b61023d61024d3660046141a2565b61081b565b61021c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81565b61021c600a81565b6101db61028f3660046141ee565b610c48565b6102bb7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101e8565b61021c6102ee366004614253565b600860209081526000928352604080842090915290825290205481565b6102bb61031936600461427f565b610cce565b6101db61032c3660046142a5565b610d8d565b61021c61033f3660046142da565b610f62565b6102046103523660046142f8565b610f76565b610204610365366004614349565b73ffffffffffffffffffffffffffffffffffffffff821660009081526007602052604090206002015460ff82161092915050565b61023d6103a73660046143c7565b610fae565b6103bf6103ba366004614079565b611181565b6040516101e89190614486565b61023d6103da366004614506565b611280565b6101db6103ed366004614253565b61148b565b6101db610400366004614547565b611530565b6102bb7f000000000000000000000000000000000000000000000000000000000000000081565b61021c61043a3660046142da565b61168a565b6102bb7f000000000000000000000000000000000000000000000000000000000000000081565b6102bb6104743660046142a5565b611696565b6101db6104873660046145f2565b61178e565b61021c61049a3660046142f8565b611e69565b6102bb7f000000000000000000000000000000000000000000000000000000000000000081565b61023d6104d4366004614629565b611e86565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260076020526040812060010180546060929190610511906146c8565b80601f016020809104026020016040519081016040528092919081815260200182805461053d906146c8565b801561058a5780601f1061055f5761010080835404028352916020019161058a565b820191906000526020600020905b81548152906001019060200180831161056d57829003601f168201915b5050505050905080516000036105cc576040517f87dc059f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f2fa7bc9900000000000000000000000000000000000000000000000000000000148061066557507fffffffff0000000000000000000000000000000000000000000000000000000082167ff924008e00000000000000000000000000000000000000000000000000000000145b806105cc57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316146105cc565b60006106c18133612064565b610705576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b61074573ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000612100565b6107ab576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c00000000000000000000000000000000000060448201526064016106fc565b600580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a25050565b60008061082a83850185614877565b915091508115610b375760008581526004602052604081206007018054916108518361490a565b9091555050600085815260046020908152604091829020825161010081018452815473ffffffffffffffffffffffffffffffffffffffff908116825260018301541692810192909252600281018054610b3194840191906108b1906146c8565b80601f01602080910402602001604051908101604052809291908181526020018280546108dd906146c8565b801561092a5780601f106108ff5761010080835404028352916020019161092a565b820191906000526020600020905b81548152906001019060200180831161090d57829003601f168201915b5050505050815260200160038201805480602002602001604051908101604052809291908181526020016000905b82821015610a04578382906000526020600020018054610977906146c8565b80601f01602080910402602001604051908101604052809291908181526020018280546109a3906146c8565b80156109f05780601f106109c5576101008083540402835291602001916109f0565b820191906000526020600020905b8154815290600101906020018083116109d357829003601f168201915b505050505081526020019060010190610958565b50505050815260200160048201805480602002602001604051908101604052809291908181526020016000905b82821015610add578382906000526020600020018054610a50906146c8565b80601f0160208091040260200160405190810160405280929190818152602001828054610a7c906146c8565b8015610ac95780601f10610a9e57610100808354040283529160200191610ac9565b820191906000526020600020905b815481529060010190602001808311610aac57829003601f168201915b505050505081526020019060010190610a31565b5050509082525060058201546020820152600682015460409091019060ff166001811115610b0d57610b0d614942565b6001811115610b1e57610b1e614942565b815260200160078201548152505061211c565b50610b9c565b6000858152600460205260409081902060010154905173ffffffffffffffffffffffffffffffffffffffff909116907f7f7ce7cf4c1b43e1bf51034d0ad7062abb9d4529c7bb0510d512249b0fb7145290610b93908490614104565b60405180910390a25b600085815260046020526040812080547fffffffffffffffffffffffff00000000000000000000000000000000000000009081168255600182018054909116905590610beb6002830182613f56565b610bf9600383016000613f93565b610c07600483016000613f93565b506000600582018190556006820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690556007909101555050505050565b60603373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610cb9576040517f72823b5400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610cc585858585612226565b95945050505050565b600081815260066020908152604080832081518083018352815473ffffffffffffffffffffffffffffffffffffffff1680825260019092015493810184905291517f6352211e00000000000000000000000000000000000000000000000000000000815260048101939093529091636352211e90602401602060405180830381865afa158015610d62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d869190614971565b9392505050565b60606000610d9b8585612334565b805480602002602001604051908101604052809291908181526020016000905b82821015610e67578382906000526020600020018054610dda906146c8565b80601f0160208091040260200160405190810160405280929190818152602001828054610e06906146c8565b8015610e535780601f10610e2857610100808354040283529160200191610e53565b820191906000526020600020905b815481529060010190602001808311610e3657829003601f168201915b505050505081526020019060010190610dbb565b50505050905080518310610eaa576040517f9c7692bf000000000000000000000000000000000000000000000000000000008152600481018490526024016106fc565b610eb48585612334565b8381548110610ec557610ec561498e565b906000526020600020018054610eda906146c8565b80601f0160208091040260200160405190810160405280929190818152602001828054610f06906146c8565b8015610f535780601f10610f2857610100808354040283529160200191610f53565b820191906000526020600020905b815481529060010190602001808311610f3657829003601f168201915b50505050509150509392505050565b6000610f6e8383612376565b549392505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610fa4858585611e69565b1415949350505050565b8673ffffffffffffffffffffffffffffffffffffffff8116610ffc576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611047573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061106b9190614971565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146110cf576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006110dd8385018561427f565b905060006111638a836040805173ffffffffffffffffffffffffffffffffffffffff84166020820152908101829052606080820152600c60808201527f524547495354524154494f4e000000000000000000000000000000000000000060a082015260009060c00160405160208183030381529060405280519060200120905092915050565b90506111748b8b838c8c8c8c611e86565b5050505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600760209081526040808320600201805482518185028101850190935280835260609492939192909184015b828210156112755783829060005260206000200180546111e8906146c8565b80601f0160208091040260200160405190810160405280929190818152602001828054611214906146c8565b80156112615780601f1061123657610100808354040283529160200191611261565b820191906000526020600020905b81548152906001019060200180831161124457829003601f168201915b5050505050815260200190600101906111c9565b505050509050919050565b8173ffffffffffffffffffffffffffffffffffffffff81166112ce576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611319573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061133d9190614971565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146113a1576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008460018111156113b5576113b5614942565b1480156113cf575060008281526020819052604090205415155b156114075760008281526020819052604081206113eb91613fb1565b600082815260026020526040812061140291613f93565b611449565b6000828152600160205260409020541561144957600082815260016020526040812061143291613fb1565b600082815260036020526040812061144991613f93565b8184600181111561145c5761145c614942565b6040517f1fe48a4ec69671720d8bdd8f8a6853d16f486c0bb91fcaf5b8ffc4932b8bc9f490600090a350505050565b6009602090815260009283526040808420909152908252902080546114af906146c8565b80601f01602080910402602001604051908101604052809291908181526020018280546114db906146c8565b80156115285780601f106114fd57610100808354040283529160200191611528565b820191906000526020600020905b81548152906001019060200180831161150b57829003601f168201915b505050505081565b60603373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146115a1576040517f72823b5400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115ad898989896123b8565b60006115bb8a8a8a8a6125b5565b905060006040518061010001604052808c73ffffffffffffffffffffffffffffffffffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505090825250602001611649888a614a01565b81526020016116588688614a01565b815260208101849052604001600081526020016000815250905061167b8161211c565b9b9a5050505050505050505050565b6000610f6e8383612334565b6000806116a38585612376565b80548060200260200160405190810160405280929190818152602001828054801561170457602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116116d9575b5050505050905080518310611748576040517f9c7692bf000000000000000000000000000000000000000000000000000000008152600481018490526024016106fc565b6117528585612376565b83815481106117635761176361498e565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1695945050505050565b73ffffffffffffffffffffffffffffffffffffffff831660008181526008602090815260408083208684529091528082205490517f6352211e0000000000000000000000000000000000000000000000000000000081526004810186905260609391929190636352211e90602401602060405180830381865afa158015611819573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061183d9190614971565b905073ffffffffffffffffffffffffffffffffffffffff811661188c576040517f85a9692000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff86166000908152600960209081526040808320888452909152812080546118c7906146c8565b905011156119915773ffffffffffffffffffffffffffffffffffffffff861660009081526009602090815260408083208884529091529020805461190a906146c8565b80601f0160208091040260200160405190810160405280929190818152602001828054611936906146c8565b80156119835780601f1061195857610100808354040283529160200191611983565b820191906000526020600020905b81548152906001019060200180831161196657829003601f168201915b505050505092505050610d86565b73ffffffffffffffffffffffffffffffffffffffff86166000908152600760205260408082208151606081019092528054829082906119cf906146c8565b80601f01602080910402602001604051908101604052809291908181526020018280546119fb906146c8565b8015611a485780601f10611a1d57610100808354040283529160200191611a48565b820191906000526020600020905b815481529060010190602001808311611a2b57829003601f168201915b50505050508152602001600182018054611a61906146c8565b80601f0160208091040260200160405190810160405280929190818152602001828054611a8d906146c8565b8015611ada5780601f10611aaf57610100808354040283529160200191611ada565b820191906000526020600020905b815481529060010190602001808311611abd57829003601f168201915b5050505050815260200160028201805480602002602001604051908101604052809291908181526020016000905b82821015611bb4578382906000526020600020018054611b27906146c8565b80601f0160208091040260200160405190810160405280929190818152602001828054611b53906146c8565b8015611ba05780601f10611b7557610100808354040283529160200191611ba0565b820191906000526020600020905b815481529060010190602001808311611b8357829003601f168201915b505050505081526020019060010190611b08565b5050509152505080515190915015611bfb578051611bd184612653565b604051602001611be2929190614a91565b6040516020818303038152906040529350505050610d86565b6040517fc47f8bfa000000000000000000000000000000000000000000000000000000008152600481018490526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063c47f8bfa90602401600060405180830381865afa158015611c89573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052611ccf9190810190614b22565b90506000611cdc85612653565b8251604051611cef929190602001614bec565b60405160208183030381529060405290506000611d27836060015173ffffffffffffffffffffffffffffffffffffffff166014612711565b611d488673ffffffffffffffffffffffffffffffffffffffff166014612711565b604051602001611d59929190614d2f565b60405160208183030381529060405290506000611d91846020015173ffffffffffffffffffffffffffffffffffffffff166014612711565b85604001518a60ff1681518110611daa57611daa61498e565b6020026020010151611dc2866040015160ff16612653565b6080870151611dd2906020612711565b611de98860a0015167ffffffffffffffff16612653565b604051602001611dfd959493929190614e2b565b6040516020818303038152906040529050611e3a838383604051602001611e2693929190615090565b604051602081830303815290604052612954565b604051602001611e4a91906150fb565b6040516020818303038152906040529750505050505050509392505050565b6000611e7e611e788585612376565b83612aa7565b949350505050565b8573ffffffffffffffffffffffffffffffffffffffff8116611ed4576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f1f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f439190614971565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611fa7576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611fb2888888611280565b61200e611fbf8988612376565b611fc98a89612334565b8787808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506120099250889150899050614a01565b612b41565b8588600181111561202157612021614942565b7f5e140eb5bed8bcb1664a04c0be4aa419e0d2dbf1277a4a6770882a0beb3b91b28787604051612052929190615140565b60405180910390a35050505050505050565b6005546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810184905273ffffffffffffffffffffffffffffffffffffffff838116602483015260009216906391d1485490604401602060405180830381865afa1580156120dc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d86919061519b565b600061210b83612f7b565b8015610d865750610d868383612fdf565b606060008260c00151600181111561213657612136614942565b1480156121495750612147826130ae565b155b156121a957816020015173ffffffffffffffffffffffffffffffffffffffff167fa1e5a8c0fde3fa4d7320c3f9de0ab0a2c1ee6e891e6a513ca0811ddcf768b59460405160405180910390a2505060408051602081019091526000815290565b6121c08260000151836020015184604001516134a3565b600160c0840152600060e084015290506121d9826130ae565b50816020015173ffffffffffffffffffffffffffffffffffffffff167f4ec4635a4d1f6ebe9ee3a059f74fc5d802e04d2d115c4090337a34e3b137c98a60405160405180910390a2919050565b606061223285856135db565b600080612241848601866151b8565b915091507f88fae8356076de6f233fd00b30fad913df2329364a9e9242abdc96adccc3bfc98203612299576000808280602001905181019061228391906151f5565b9150915061229289838361370c565b505061231a565b7f9aeb830ec91a14c97a5446cc7c86a42f73a78f37f9a77afa238b5d11520ddfbc82036122e8576000818060200190518101906122d6919061524f565b90506122e288826137a2565b5061231a565b6040517f04e4b46900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505060408051602081019091526000815295945050505050565b60008083600181111561234957612349614942565b03612362575060008181526002602052604090206105cc565b5060008181526003602052604090206105cc565b60008083600181111561238b5761238b614942565b036123a4575060008181526020819052604090206105cc565b5060008181526001602052604090206105cc565b6000806123c7838501856151b8565b915091507fbc42750dbe73870bbe102106b22fd8bdfa53c7247eca196d8bb7da9527f0c1e582036124bf5760008060008380602001905181019061240b9190615300565b9250925092508273ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614158061248057508773ffffffffffffffffffffffffffffffffffffffff1661246782610cce565b73ffffffffffffffffffffffffffffffffffffffff1614155b156124b7576040517f7e833cd700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050506125ad565b7fe761f303268b55a3dc96719551acb95ca3bd1ebeef4b720be68dd92563627a3f820361257b576000818060200190518101906124fc9190615343565b90508573ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff1614612567576040517f7e833cd700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612575878260200151613867565b506125ad565b6040517f9ca9add400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050505050565b6000806125c4838501856151b8565b50905061264986826040805173ffffffffffffffffffffffffffffffffffffffff84166020820152908101829052606080820152600c60808201527f524547495354524154494f4e000000000000000000000000000000000000000060a082015260009060c00160405160208183030381529060405280519060200120905092915050565b9695505050505050565b60606000612660836138d4565b600101905060008167ffffffffffffffff81111561268057612680614729565b6040519080825280601f01601f1916602001820160405280156126aa576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85049450846126b457509392505050565b60606000612720836002615404565b61272b90600261541b565b67ffffffffffffffff81111561274357612743614729565b6040519080825280601f01601f19166020018201604052801561276d576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106127a4576127a461498e565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106128075761280761498e565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000612843846002615404565b61284e90600161541b565b90505b60018111156128eb577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061288f5761288f61498e565b1a60f81b8282815181106128a5576128a561498e565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c936128e48161542e565b9050612851565b508315610d86576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016106fc565b6060815160000361297357505060408051602081019091526000815290565b600060405180606001604052806040815260200161581f60409139905060006003845160026129a2919061541b565b6129ac9190615463565b6129b7906004615404565b67ffffffffffffffff8111156129cf576129cf614729565b6040519080825280601f01601f1916602001820160405280156129f9576020820181803683370190505b509050600182016020820185865187015b80821015612a65576003820191508151603f8160121c168501518453600184019350603f81600c1c168501518453600184019350603f8160061c168501518453600184019350603f8116850151845350600183019250612a0a565b5050600386510660018114612a815760028114612a9457612a9c565b603d6001830353603d6002830353612a9c565b603d60018303535b509195945050505050565b8154600090815b81811015612b17578373ffffffffffffffffffffffffffffffffffffffff16858281548110612adf57612adf61498e565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1603612b0f5791506105cc9050565b600101612aae565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff949350505050565b8151600a811115612b7e576040517f760fb4ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80825114612bb8576040517f3021beb200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b818110156125ad57600073ffffffffffffffffffffffffffffffffffffffff16848281518110612bed57612bed61498e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1603612c42576040517f7d4de38200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600081118015612cb25750836001820381518110612c6257612c6261498e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff16848281518110612c9257612c9261498e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff16145b15612ce9576040517fd696c40800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166382984f30858381518110612d3757612d3761498e565b60200260200101516040518263ffffffff1660e01b8152600401612d77919073ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b602060405180830381865afa158015612d94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612db8919061519b565b612e2557838181518110612dce57612dce61498e565b60200260200101516040517f5a9873880000000000000000000000000000000000000000000000000000000081526004016106fc919073ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b838181518110612e3757612e3761498e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1663a913b881848381518110612e6c57612e6c61498e565b60200260200101516040518263ffffffff1660e01b8152600401612e909190614104565b60006040518083038186803b158015612ea857600080fd5b505afa158015612ebc573d6000803e3d6000fd5b5050505085848281518110612ed357612ed361498e565b60209081029190910181015182546001810184556000938452919092200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90921691909117905582518590849083908110612f4957612f4961498e565b60209081029190910181015182546001810184556000938452919092200190612f7290826154e4565b50600101612bbb565b6000612fa7827f01ffc9a700000000000000000000000000000000000000000000000000000000612fdf565b80156105cc5750612fd8827fffffffff00000000000000000000000000000000000000000000000000000000612fdf565b1592915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015613097575060208210155b80156130a35750600081115b979650505050505050565b6000806130c38360c001518460a00151612376565b80548060200260200160405190810160405280929190818152602001828054801561312457602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116130f9575b50505050509050600061313f8460c001518560a00151612334565b805480602002602001604051908101604052809291908181526020016000905b8282101561320b57838290600052602060002001805461317e906146c8565b80601f01602080910402602001604051908101604052809291908181526020018280546131aa906146c8565b80156131f75780601f106131cc576101008083540402835291602001916131f7565b820191906000526020600020905b8154815290600101906020018083116131da57829003601f168201915b50505050508152602001906001019061315f565b50508451929350600091508190508660c00151600181111561322f5761322f614942565b1461323e578560800151613244565b85606001515b90508181511461329c578560c00151600181111561326457613264614942565b6040517f3171c36f00000000000000000000000000000000000000000000000000000000815260ff90911660048201526024016106fc565b60e08601515b8281101561349657808760e0018181525050600060405180604001604052808684815181106132d3576132d361498e565b602002602001015181526020018484815181106132f2576132f261498e565b60200260200101518152509050600061334f8784815181106133165761331661498e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673800000000000000000000000000000000000000016151590565b15613432578683815181106133665761336661498e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff166334e5d29f8360405160200161339a91906155fe565b6040516020818303038152906040526040518263ffffffff1660e01b81526004016133c59190614104565b6000604051808303816000875af11580156133e4573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261342a9190810190615655565b509050613459565b6134568784815181106134475761344761498e565b6020026020010151838b6139b6565b90505b600181600181111561346d5761346d614942565b146134815750600098975050505050505050565b5050808061348e9061490a565b9150506132a2565b5060019695505050505050565b6060600080838060200190518101906134bc919061569c565b915091507fbc42750dbe73870bbe102106b22fd8bdfa53c7247eca196d8bb7da9527f0c1e5820361352e576000806000838060200190518101906135009190615300565b92509250925061351289828585613bb8565b6040518060200160405280600081525095505050505050610d86565b7fe761f303268b55a3dc96719551acb95ca3bd1ebeef4b720be68dd92563627a3f82036135c25760008180602001905181019061356b9190615343565b90506000806135928984600001518560400151866020015187606001518860800151613cc7565b60408051602081019390935282810191909152805180830382018152606090920190529550610d86945050505050565b5050604080516020810190915260008152949350505050565b8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561363d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136619190614971565b73ffffffffffffffffffffffffffffffffffffffff16141580156136d157508073ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1614155b15613708576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b73ffffffffffffffffffffffffffffffffffffffff831660009081526007602052604090208061373c84826154e4565b506001810161374b83826154e4565b508373ffffffffffffffffffffffffffffffffffffffff167f6c1850fce35387a891e82ca88e975790ab6f0709e9ed6842e01397f296012a7e84846040516137949291906156cd565b60405180910390a250505050565b805160ff8111156137df576040517f1c17d63a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff83166000908152600760205260408120905b8281101561386057816002018482815181106138245761382461498e565b6020908102919091018101518254600181018455600093845291909220019061384d90826154e4565b50806138588161490a565b915050613806565b5050505050565b73ffffffffffffffffffffffffffffffffffffffff821660009081526007602052604090206002015460ff808216908316106138cf576040517f12d7e46c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000831061391d577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef81000000008310613949576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061396757662386f26fc10000830492506010015b6305f5e100831061397f576305f5e100830492506008015b612710831061399357612710830492506004015b606483106139a5576064830492506002015b600a83106105cc5760010192915050565b60008060008573ffffffffffffffffffffffffffffffffffffffff16635260a98c866040516020016139e891906155fe565b604051602081830303815290604052306040518363ffffffff1660e01b8152600401613a159291906156f2565b6000604051808303816000875af1158015613a34573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052613a7a919081019061572a565b91935090915060009050826001811115613a9657613a96614942565b03613baf57600081815260046020908152604091829020865181547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff92831617835592880151600183018054909416911617909155908501518591906002820190613b1990826154e4565b5060608201518051613b35916003840191602090910190613fcf565b5060808201518051613b51916004840191602090910190613fcf565b5060a0820151600582015560c08201516006820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660018381811115613b9c57613b9c614942565b021790555060e082015181600701559050505b50949350505050565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301528281166024830152604482018590528516906323b872dd90606401600060405180830381600087803b158015613c3057600080fd5b505af1158015613c44573d6000803e3d6000fd5b5050505073ffffffffffffffffffffffffffffffffffffffff84811660008181526008602090815260408083208884528252918290205482518881528786169281019290925293851681830152905183917f0480e159be1c15e0022dfbc6d236db58db83a033908eca4876f796f60ed871b9919081900360600190a35050505050565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663601a924c898989886040518563ffffffff1660e01b8152600401613d299493929190615784565b6020604051808303816000875af1158015613d48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d6c91906157ce565b6040517f691562a000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff898116600483015260ff881660248301529193509089169063691562a0906044016020604051808303816000875af1158015613de7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e0b91906157ce565b73ffffffffffffffffffffffffffffffffffffffff89811660008181526008602090815260408083208684528252808320889055805180820182529384528382018681528884526006909252909120825181547fffffffffffffffffffffffff00000000000000000000000000000000000000001694169390931783555160019092019190915584519192509015613ed95773ffffffffffffffffffffffffffffffffffffffff891660009081526009602090815260408083208584529091529020613ed785826154e4565b505b8560ff168873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff167fd051b12b5a18291aec9a26b17774a4be2d10dce167cbdc5944c7942c78f901c186868c8b8b604051613f429594939291906157e7565b60405180910390a450965096945050505050565b508054613f62906146c8565b6000825580601f10613f72575050565b601f016020900490600052602060002090810190613f909190614025565b50565b5080546000825590600052602060002090810190613f90919061403a565b5080546000825590600052602060002090810190613f909190614025565b828054828255906000526020600020908101928215614015579160200282015b82811115614015578251829061400590826154e4565b5091602001919060010190613fef565b5061402192915061403a565b5090565b5b808211156140215760008155600101614026565b8082111561402157600061404e8282613f56565b5060010161403a565b73ffffffffffffffffffffffffffffffffffffffff81168114613f9057600080fd5b60006020828403121561408b57600080fd5b8135610d8681614057565b60005b838110156140b1578181015183820152602001614099565b50506000910152565b600081518084526140d2816020860160208601614096565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610d8660208301846140ba565b60006020828403121561412957600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610d8657600080fd5b60008083601f84011261416b57600080fd5b50813567ffffffffffffffff81111561418357600080fd5b60208301915083602082850101111561419b57600080fd5b9250929050565b6000806000604084860312156141b757600080fd5b83359250602084013567ffffffffffffffff8111156141d557600080fd5b6141e186828701614159565b9497909650939450505050565b6000806000806060858703121561420457600080fd5b843561420f81614057565b9350602085013561421f81614057565b9250604085013567ffffffffffffffff81111561423b57600080fd5b61424787828801614159565b95989497509550505050565b6000806040838503121561426657600080fd5b823561427181614057565b946020939093013593505050565b60006020828403121561429157600080fd5b5035919050565b60028110613f9057600080fd5b6000806000606084860312156142ba57600080fd5b83356142c581614298565b95602085013595506040909401359392505050565b600080604083850312156142ed57600080fd5b823561427181614298565b60008060006060848603121561430d57600080fd5b833561431881614298565b925060208401359150604084013561432f81614057565b809150509250925092565b60ff81168114613f9057600080fd5b6000806040838503121561435c57600080fd5b823561436781614057565b915060208301356143778161433a565b809150509250929050565b60008083601f84011261439457600080fd5b50813567ffffffffffffffff8111156143ac57600080fd5b6020830191508360208260051b850101111561419b57600080fd5b60008060008060008060008060a0898b0312156143e357600080fd5b88356143ee81614298565b975060208901356143fe81614057565b9650604089013567ffffffffffffffff8082111561441b57600080fd5b6144278c838d01614382565b909850965060608b013591508082111561444057600080fd5b61444c8c838d01614382565b909650945060808b013591508082111561446557600080fd5b506144728b828c01614159565b999c989b5096995094979396929594505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156144f9577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08886030184526144e78583516140ba565b945092850192908501906001016144ad565b5092979650505050505050565b60008060006060848603121561451b57600080fd5b833561452681614298565b9250602084013561453681614057565b929592945050506040919091013590565b60008060008060008060008060a0898b03121561456357600080fd5b883561456e81614057565b9750602089013561457e81614057565b9650604089013567ffffffffffffffff8082111561459b57600080fd5b6145a78c838d01614159565b909850965060608b01359150808211156145c057600080fd5b6145cc8c838d01614382565b909650945060808b01359150808211156145e557600080fd5b506144728b828c01614382565b60008060006060848603121561460757600080fd5b833561461281614057565b925060208401359150604084013561432f8161433a565b600080600080600080600060a0888a03121561464457600080fd5b873561464f81614298565b9650602088013561465f81614057565b955060408801359450606088013567ffffffffffffffff8082111561468357600080fd5b61468f8b838c01614382565b909650945060808a01359150808211156146a857600080fd5b506146b58a828b01614382565b989b979a50959850939692959293505050565b600181811c908216806146dc57607f821691505b602082108103614715577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b8015158114613f9057600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff8111828210171561477b5761477b614729565b60405290565b60405160a0810167ffffffffffffffff8111828210171561477b5761477b614729565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156147eb576147eb614729565b604052919050565b600067ffffffffffffffff82111561480d5761480d614729565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600061484c614847846147f3565b6147a4565b905082815283838301111561486057600080fd5b828260208301376000602084830101529392505050565b6000806040838503121561488a57600080fd5b82356148958161471b565b9150602083013567ffffffffffffffff8111156148b157600080fd5b8301601f810185136148c257600080fd5b6148d185823560208401614839565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361493b5761493b6148db565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60006020828403121561498357600080fd5b8151610d8681614057565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600067ffffffffffffffff8211156149d7576149d7614729565b5060051b60200190565b600082601f8301126149f257600080fd5b610d8683833560208501614839565b6000614a0f614847846149bd565b80848252602080830192508560051b850136811115614a2d57600080fd5b855b81811015614a6957803567ffffffffffffffff811115614a4f5760008081fd5b614a5b36828a016149e1565b865250938201938201614a2f565b50919695505050505050565b60008151614a87818560208601614096565b9290920192915050565b60008351614aa3818460208801614096565b835190830190614ab7818360208801614096565b01949350505050565b600082601f830112614ad157600080fd5b8151614adf614847826147f3565b818152846020838601011115614af457600080fd5b611e7e826020830160208701614096565b805167ffffffffffffffff81168114614b1d57600080fd5b919050565b600060208284031215614b3457600080fd5b815167ffffffffffffffff80821115614b4c57600080fd5b9083019060c08286031215614b6057600080fd5b614b68614758565b825182811115614b7757600080fd5b614b8387828601614ac0565b82525060208301519150614b9682614057565b81602082015260408301519150614bac8261433a565b81604082015260608301519150614bc282614057565b81606082015260808301516080820152614bde60a08401614b05565b60a082015295945050505050565b7f7b226e616d65223a2022476c6f62616c20495020417373657420230000000000815260008351614c2481601b850160208801614096565b7f222c20226465736372697074696f6e223a20224950204f726720417373657420601b918401918201527f526567697374726174696f6e2044657461696c73222c20226174747269627574603b8201527f6573223a205b0000000000000000000000000000000000000000000000000000605b8201527f7b2274726169745f74797065223a20224e616d65222c202276616c7565223a2060618201527f220000000000000000000000000000000000000000000000000000000000000060818201528351614cf9816082840160208801614096565b7f227d2c000000000000000000000000000000000000000000000000000000000060829290910191820152608501949350505050565b7f7b2274726169745f74797065223a20224950204f7267222c202276616c75652281527f3a20220000000000000000000000000000000000000000000000000000000000602082015260008351614d8d816023850160208801614096565b80830190507f227d2c00000000000000000000000000000000000000000000000000000000008060238301527f7b2274726169745f74797065223a202243757272656e74204950204f776e657260268301527f222c202276616c7565223a20220000000000000000000000000000000000000060468301528451614e18816053850160208901614096565b6053920191820152605601949350505050565b7f7b2274726169745f74797065223a2022496e697469616c20526567697374726181527f6e74222c202276616c7565223a20220000000000000000000000000000000000602082015260008651614e8981602f850160208b01614096565b80830190507f227d2c000000000000000000000000000000000000000000000000000000000080602f8301527f7b2274726169745f74797065223a20224950204f72672041737365742054797060328301527f65222c202276616c7565223a202200000000000000000000000000000000000060528301528751614f14816060850160208c01614096565b60609201918201527f7b2274726169745f74797065223a2022537461747573222c202276616c75652260638201527f3a20220000000000000000000000000000000000000000000000000000000000608382015261508461505b615055615006614f88615000614fb182608689018e614a75565b7f227d2c0000000000000000000000000000000000000000000000000000000000815260030190565b7f7b2274726169745f74797065223a202248617368222c202276616c7565223a2081527f2200000000000000000000000000000000000000000000000000000000000000602082015260210190565b8a614a75565b7f7b2274726169745f74797065223a2022526567697374726174696f6e2044617481527f65222c202276616c7565223a20220000000000000000000000000000000000006020820152602e0190565b86614a75565b7f227d000000000000000000000000000000000000000000000000000000000000815260020190565b98975050505050505050565b600084516150a2818460208901614096565b8451908301906150b6818360208901614096565b84519101906150c9818360208801614096565b7f5d7d000000000000000000000000000000000000000000000000000000000000910190815260020195945050505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c00000081526000825161513381601d850160208701614096565b91909101601d0192915050565b60208082528181018390526000908460408401835b8681101561519057823561516881614057565b73ffffffffffffffffffffffffffffffffffffffff1682529183019190830190600101615155565b509695505050505050565b6000602082840312156151ad57600080fd5b8151610d868161471b565b600080604083850312156151cb57600080fd5b82359150602083013567ffffffffffffffff8111156151e957600080fd5b6148d1858286016149e1565b6000806040838503121561520857600080fd5b825167ffffffffffffffff8082111561522057600080fd5b61522c86838701614ac0565b9350602085015191508082111561524257600080fd5b506148d185828601614ac0565b6000602080838503121561526257600080fd5b825167ffffffffffffffff8082111561527a57600080fd5b818501915085601f83011261528e57600080fd5b815161529c614847826149bd565b81815260059190911b830184019084810190888311156152bb57600080fd5b8585015b838110156152f3578051858111156152d75760008081fd5b6152e58b89838a0101614ac0565b8452509186019186016152bf565b5098975050505050505050565b60008060006060848603121561531557600080fd5b835161532081614057565b602085015190935061533181614057565b80925050604084015190509250925092565b60006020828403121561535557600080fd5b815167ffffffffffffffff8082111561536d57600080fd5b9083019060a0828603121561538157600080fd5b615389614781565b825161539481614057565b815260208301516153a48161433a565b60208201526040830151828111156153bb57600080fd5b6153c787828601614ac0565b604083015250606083015160608201526080830151828111156153e957600080fd5b6153f587828601614ac0565b60808301525095945050505050565b80820281158282048414176105cc576105cc6148db565b808201808211156105cc576105cc6148db565b60008161543d5761543d6148db565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b600082615499577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b601f8211156138cf57600081815260208120601f850160051c810160208610156154c55750805b601f850160051c820191505b818110156125ad578281556001016154d1565b815167ffffffffffffffff8111156154fe576154fe614729565b6155128161550c84546146c8565b8461549e565b602080601f831160018114615565576000841561552f5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b1785556125ad565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156155b257888601518255948401946001909101908401615593565b50858210156155ee57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b60208152600082516040602084015261561a60608401826140ba565b905060208401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0848303016040850152610cc582826140ba565b6000806040838503121561566857600080fd5b825161567381614298565b602084015190925067ffffffffffffffff81111561569057600080fd5b6148d185828601614ac0565b600080604083850312156156af57600080fd5b82519150602083015167ffffffffffffffff81111561569057600080fd5b6040815260006156e060408301856140ba565b8281036020840152610cc581856140ba565b60408152600061570560408301856140ba565b905073ffffffffffffffffffffffffffffffffffffffff831660208301529392505050565b60008060006060848603121561573f57600080fd5b835161574a81614298565b602085015190935067ffffffffffffffff81111561576757600080fd5b61577386828701614ac0565b925050604084015190509250925092565b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250608060408301526157bd60808301856140ba565b905082606083015295945050505050565b6000602082840312156157e057600080fd5b5051919050565b85815284602082015260a06040820152600061580660a08301866140ba565b846060840152828103608084015261508481856140ba56fe4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2fa2646970667358221220649f1162533c82b294440c39a1f9ce1aa0719a40999a2c158b524cbd3206043764736f6c634300081300330000000000000000000000007a7bc5640637b74abecc6e908ed548ee1969c948000000000000000000000000e8ab207a5c21162db1ee75e378a92c82d550a8d100000000000000000000000080e012ca980e1d3993d8bee99828619e5532b12b000000000000000000000000ee19ace40db1ba8b0dbbc5e57061a3268bd08c6a000000000000000000000000bd132e42baafe3648170770f2d45dba59166e06d", + "nonce": "0x7db", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x64bc029efaf8f9426011cc82e072b64aa8582e9b745dab34e44649e220908336", + "transactionType": "CREATE", + "contractName": "RelationshipModule", + "contractAddress": "0xf95Ed3608ce1F86DaC4FA12a2202BE56ADe1164F", + "function": null, + "arguments": [ + "(0x7a7BC5640637b74ABEcc6e908Ed548eE1969c948, 0xe8ab207A5C21162Db1ee75e378A92C82d550a8d1, 0x80e012Ca980E1d3993d8beE99828619E5532B12b, 0xEe19aCE40dB1BA8B0DbBc5e57061A3268bd08c6A)", + "0xbD132e42baaFe3648170770F2D45dbA59166e06d" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x5377a4", + "value": "0x0", + "data": "0x6101006040523480156200001257600080fd5b5060405162004e5d38038062004e5d833981016040819052620000359162000298565b6020820151819083906001600160a01b038116620000665760405163134141bd60e11b815260040160405180910390fd5b6001600160a01b039081166080528151166200009557604051636028d8f760e01b815260040160405180910390fd5b80516001600160a01b0390811660a052604082015116620000c957604051635a70c46160e11b815260040160405180910390fd5b60408101516001600160a01b0390811660c052606090910151811660e052620000fc908216637965db0b60e01b6200018f565b6200013f576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600580546001600160a01b0319166001600160a01b0383169081179091556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a250505062000350565b60006200019c83620001b7565b8015620001b05750620001b08383620001f0565b9392505050565b6000620001cc826301ffc9a760e01b620001f0565b8015620001ea5750620001e8826001600160e01b0319620001f0565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801562000263575060208210155b8015620002705750600081115b979650505050505050565b80516001600160a01b03811681146200029357600080fd5b919050565b60008082840360a0811215620002ad57600080fd5b6080811215620002bc57600080fd5b50604051608081016001600160401b0381118282101715620002ee57634e487b7160e01b600052604160045260246000fd5b604052620002fc846200027b565b81526200030c602085016200027b565b60208201526200031f604085016200027b565b604082015262000332606085016200027b565b6060820152915062000347608084016200027b565b90509250929050565b60805160a05160c05160e051614aa9620003b4600039600061028201526000818161043801526134960152600081816103d8015261339401526000818161039e01528181610c9201528181611472015281816122ad01526135da0152614aa96000f3fe608060405234801561001057600080fd5b50600436106101985760003560e01c806376ced32d116100e3578063d2faf8b01161008c578063e8fb5c9b11610066578063e8fb5c9b14610420578063f0ebdc8314610433578063fba854e01461045a57600080fd5b8063d2faf8b0146103d3578063e5720404146103fa578063e7d8e9311461040d57600080fd5b8063b6efd29d116100bd578063b6efd29d14610386578063b95ddb5214610399578063bc12fcca146103c057600080fd5b806376ced32d1461030257806377379d9414610360578063a5b04d451461037357600080fd5b80634fa4467c116101455780636191d3561161011f5780636191d356146102c957806368a4f071146102dc5780637448c568146102ef57600080fd5b80634fa4467c146102555780634fcbd2131461025d57806351e06b901461027d57600080fd5b80632fa7bc99116101765780632fa7bc99146101fb578063322e41b51461020e57806332ee68131461022e57600080fd5b806301ffc9a71461019d57806319129e5a146101c557806329b2632b146101da575b600080fd5b6101b06101ab3660046138b1565b61046d565b60405190151581526020015b60405180910390f35b6101d86101d3366004613925565b610552565b005b6101ed6101e8366004613942565b6106b8565b6040519081526020016101bc565b6101d86102093660046139c6565b6106fb565b61022161021c366004613a12565b610b28565b6040516101bc9190613a7b565b6101ed7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81565b6101ed600a81565b61027061026b366004613ae7565b610c78565b6040516101bc9190613b4c565b6102a47f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101bc565b6101d86102d7366004613bb1565b610cfe565b6102706102ea366004613c70565b610e7e565b6101ed6102fd366004613ca5565b611053565b610315610310366004613dd8565b611067565b60408051825173ffffffffffffffffffffffffffffffffffffffff908116825260208085015190830152838301511691810191909152606091820151918101919091526080016101bc565b6101b061036e366004613e28565b611215565b6101d8610381366004613e6a565b61124d565b610270610394366004613eab565b611458565b6102a47f000000000000000000000000000000000000000000000000000000000000000081565b6101ed6103ce366004613ca5565b6115b2565b6102a47f000000000000000000000000000000000000000000000000000000000000000081565b6102a4610408366004613c70565b6115be565b6101b061041b366004613942565b6116b6565b6101ed61042e366004613e28565b6116fd565b6102a47f000000000000000000000000000000000000000000000000000000000000000081565b6101d8610468366004613ed2565b61171a565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f2fa7bc9900000000000000000000000000000000000000000000000000000000148061050057507fffffffff0000000000000000000000000000000000000000000000000000000082167ff924008e00000000000000000000000000000000000000000000000000000000145b8061054c57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b600061055e81336118f8565b6105a2576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b6105e273ffffffffffffffffffffffffffffffffffffffff83167f7965db0b0000000000000000000000000000000000000000000000000000000061199b565b610648576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c0000000000000000000000000000000000006044820152606401610599565b600580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a25050565b6000600a6000836040516020016106cf9190613f9c565b604051602081830303815290604052805190602001208152602001908152602001600020549050919050565b60008061070a83850185614096565b915091508115610a17576000858152600460205260408120600701805491610731836140b4565b9091555050600085815260046020908152604091829020825161010081018452815473ffffffffffffffffffffffffffffffffffffffff908116825260018301541692810192909252600281018054610a11948401919061079190614113565b80601f01602080910402602001604051908101604052809291908181526020018280546107bd90614113565b801561080a5780601f106107df5761010080835404028352916020019161080a565b820191906000526020600020905b8154815290600101906020018083116107ed57829003601f168201915b5050505050815260200160038201805480602002602001604051908101604052809291908181526020016000905b828210156108e457838290600052602060002001805461085790614113565b80601f016020809104026020016040519081016040528092919081815260200182805461088390614113565b80156108d05780601f106108a5576101008083540402835291602001916108d0565b820191906000526020600020905b8154815290600101906020018083116108b357829003601f168201915b505050505081526020019060010190610838565b50505050815260200160048201805480602002602001604051908101604052809291908181526020016000905b828210156109bd57838290600052602060002001805461093090614113565b80601f016020809104026020016040519081016040528092919081815260200182805461095c90614113565b80156109a95780601f1061097e576101008083540402835291602001916109a9565b820191906000526020600020905b81548152906001019060200180831161098c57829003601f168201915b505050505081526020019060010190610911565b5050509082525060058201546020820152600682015460409091019060ff1660018111156109ed576109ed614166565b60018111156109fe576109fe614166565b81526020016007820154815250506119b7565b50610a7c565b6000858152600460205260409081902060010154905173ffffffffffffffffffffffffffffffffffffffff909116907f7f7ce7cf4c1b43e1bf51034d0ad7062abb9d4529c7bb0510d512249b0fb7145290610a73908490613b4c565b60405180910390a25b600085815260046020526040812080547fffffffffffffffffffffffff00000000000000000000000000000000000000009081168255600182018054909116905590610acb60028301826137b0565b610ad96003830160006137ed565b610ae76004830160006137ed565b506000600582018190556006820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690556007909101555050505050565b610b866040518060a0016040528060608152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081525090565b60008281526009602052604090819020815160a08101909252805482908290610bae90614113565b80601f0160208091040260200160405190810160405280929190818152602001828054610bda90614113565b8015610c275780601f10610bfc57610100808354040283529160200191610c27565b820191906000526020600020905b815481529060010190602001808311610c0a57829003601f168201915b5050509183525050600182015473ffffffffffffffffffffffffffffffffffffffff908116602083015260028301541660408201526003820154606082015260049091015460809091015292915050565b60603373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610ce9576040517f72823b5400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610cf585858585611ac1565b95945050505050565b8673ffffffffffffffffffffffffffffffffffffffff8116610d4c576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dbb91906141a0565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e1f576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610e618989898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611bc392505050565b9050610e728a8a838989898961171a565b50505050505050505050565b60606000610e8c8585611bf6565b805480602002602001604051908101604052809291908181526020016000905b82821015610f58578382906000526020600020018054610ecb90614113565b80601f0160208091040260200160405190810160405280929190818152602001828054610ef790614113565b8015610f445780601f10610f1957610100808354040283529160200191610f44565b820191906000526020600020905b815481529060010190602001808311610f2757829003601f168201915b505050505081526020019060010190610eac565b50505050905080518310610f9b576040517f9c7692bf00000000000000000000000000000000000000000000000000000000815260048101849052602401610599565b610fa58585611bf6565b8381548110610fb657610fb66141bd565b906000526020600020018054610fcb90614113565b80601f0160208091040260200160405190810160405280929190818152602001828054610ff790614113565b80156110445780601f1061101957610100808354040283529160200191611044565b820191906000526020600020905b81548152906001019060200180831161102757829003601f168201915b50505050509150509392505050565b600061105f8383611c38565b549392505050565b60408051608081018252600080825260208201819052918101829052606081019190915273ffffffffffffffffffffffffffffffffffffffff8316611115576006826040516110b691906141ec565b908152604080519182900360209081018320608084018352805473ffffffffffffffffffffffffffffffffffffffff908116855260018201549285019290925260028101549091169183019190915260030154606082015290506111a0565b60076000848460405160200161112c929190614208565b60408051601f1981840301815291815281516020928301208352828201939093529082016000208251608081018452815473ffffffffffffffffffffffffffffffffffffffff9081168252600183015493820193909352600282015490921692820192909252600390910154606082015290505b805173ffffffffffffffffffffffffffffffffffffffff1615806111dc5750604081015173ffffffffffffffffffffffffffffffffffffffff16155b1561054c57816040517fd8952ceb0000000000000000000000000000000000000000000000000000000081526004016105999190613b4c565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6112438585856116fd565b1415949350505050565b8173ffffffffffffffffffffffffffffffffffffffff811661129b576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061130a91906141a0565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461136e576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084600181111561138257611382614166565b14801561139c575060008281526020819052604090205415155b156113d45760008281526020819052604081206113b89161380b565b60008281526002602052604081206113cf916137ed565b611416565b600082815260016020526040902054156114165760008281526001602052604081206113ff9161380b565b6000828152600360205260408120611416916137ed565b8184600181111561142957611429614166565b6040517f1fe48a4ec69671720d8bdd8f8a6853d16f486c0bb91fcaf5b8ffc4932b8bc9f490600090a350505050565b60603373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146114c9576040517f72823b5400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6114d589898989611c7a565b60006114e38a8a8a8a612040565b905060006040518061010001604052808c73ffffffffffffffffffffffffffffffffffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505090825250602001611571888a61425b565b8152602001611580868861425b565b81526020810184905260400160008152602001600081525090506115a3816119b7565b9b9a5050505050505050505050565b600061105f8383611bf6565b6000806115cb8585611c38565b80548060200260200160405190810160405280929190818152602001828054801561162c57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311611601575b5050505050905080518310611670576040517f9c7692bf00000000000000000000000000000000000000000000000000000000815260048101849052602401610599565b61167a8585611c38565b838154811061168b5761168b6141bd565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1695945050505050565b6000600a6000836040516020016116cd9190613f9c565b60405160208183030381529060405280519060200120815260200190815260200160002054600014159050919050565b600061171261170c8585611c38565b83612069565b949350505050565b8573ffffffffffffffffffffffffffffffffffffffff8116611768576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156117b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117d791906141a0565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461183b576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61184688888861124d565b6118a26118538988611c38565b61185d8a89611bf6565b87878080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061189d925088915089905061425b565b612103565b858860018111156118b5576118b5614166565b7f5e140eb5bed8bcb1664a04c0be4aa419e0d2dbf1277a4a6770882a0beb3b91b287876040516118e69291906142cf565b60405180910390a35050505050505050565b6005546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810184905273ffffffffffffffffffffffffffffffffffffffff838116602483015260009216906391d1485490604401602060405180830381865afa158015611970573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611994919061432a565b9392505050565b60006119a68361253d565b8015611994575061199483836125a1565b606060008260c0015160018111156119d1576119d1614166565b1480156119e457506119e282612670565b155b15611a4457816020015173ffffffffffffffffffffffffffffffffffffffff167fa1e5a8c0fde3fa4d7320c3f9de0ab0a2c1ee6e891e6a513ca0811ddcf768b59460405160405180910390a2505060408051602081019091526000815290565b611a5b826000015183602001518460400151612a47565b600160c0840152600060e08401529050611a7482612670565b50816020015173ffffffffffffffffffffffffffffffffffffffff167f4ec4635a4d1f6ebe9ee3a059f74fc5d802e04d2d115c4090337a34e3b137c98a60405160405180910390a2919050565b6060611acd8585612c20565b600080611adc84860186614347565b915091507f99bf0fbd60208ca164accd299e2c0a8b4475c1a2df53c2d7160870f6825365288203611b2857611b2381806020019051810190611b1e919061449d565b612db0565b611ba9565b7fe5801b46183bd353d44247232707bb62253655a0580ade69a754ba7157ddf8fd8203611b7757600081806020019051810190611b659190614575565b9050611b718882613055565b50611ba9565b6040517f7265e5c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505060408051602081019091526000815295945050505050565b60008282604051602001611bd8929190614208565b60405160208183030381529060405280519060200120905092915050565b600080836001811115611c0b57611c0b614166565b03611c245750600081815260026020526040902061054c565b50600081815260036020526040902061054c565b600080836001811115611c4d57611c4d614166565b03611c665750600081815260208190526040902061054c565b50600081815260016020526040902061054c565b6000611c88828401846145aa565b90506000611c9a868360000151611067565b602083015190915073ffffffffffffffffffffffffffffffffffffffff16611cee576040517f3489abf600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805173ffffffffffffffffffffffffffffffffffffffff90811614611d7a57806000015173ffffffffffffffffffffffffffffffffffffffff16826020015173ffffffffffffffffffffffffffffffffffffffff1614611d7a576040517f3489abf600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081015115611e695760408083015190517fc3cc244a00000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff89169163c3cc244a91611de09160040190815260200190565b602060405180830381865afa158015611dfd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e21919061465a565b6020830151909150600160ff83161b16611e67576040517ff3c6318200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b606082015173ffffffffffffffffffffffffffffffffffffffff16611eba576040517f642321ac00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604081015173ffffffffffffffffffffffffffffffffffffffff90811614611f4957806040015173ffffffffffffffffffffffffffffffffffffffff16826060015173ffffffffffffffffffffffffffffffffffffffff1614611f49576040517f642321ac00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6060810151156120385760808201516040517fc3cc244a00000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff89169163c3cc244a91611faf9160040190815260200190565b602060405180830381865afa158015611fcc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ff0919061465a565b6060830151909150600160ff83161b16612036576040517f5a790ab800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b505050505050565b60008061204f838501856145aa565b905061205f868260000151611bc3565b9695505050505050565b8154600090815b818110156120d9578373ffffffffffffffffffffffffffffffffffffffff168582815481106120a1576120a16141bd565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16036120d157915061054c9050565b600101612070565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff949350505050565b8151600a811115612140576040517f760fb4ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8082511461217a576040517f3021beb200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b8181101561203857600073ffffffffffffffffffffffffffffffffffffffff168482815181106121af576121af6141bd565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1603612204576040517f7d4de38200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000811180156122745750836001820381518110612224576122246141bd565b602002602001015173ffffffffffffffffffffffffffffffffffffffff16848281518110612254576122546141bd565b602002602001015173ffffffffffffffffffffffffffffffffffffffff16145b156122ab576040517fd696c40800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166382984f308583815181106122f9576122f96141bd565b60200260200101516040518263ffffffff1660e01b8152600401612339919073ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b602060405180830381865afa158015612356573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061237a919061432a565b6123e757838181518110612390576123906141bd565b60200260200101516040517f5a987388000000000000000000000000000000000000000000000000000000008152600401610599919073ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b8381815181106123f9576123f96141bd565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1663a913b88184838151811061242e5761242e6141bd565b60200260200101516040518263ffffffff1660e01b81526004016124529190613b4c565b60006040518083038186803b15801561246a57600080fd5b505afa15801561247e573d6000803e3d6000fd5b5050505085848281518110612495576124956141bd565b60209081029190910181015182546001810184556000938452919092200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9092169190911790558251859084908390811061250b5761250b6141bd565b6020908102919091018101518254600181018455600093845291909220019061253490826146c0565b5060010161217d565b6000612569827f01ffc9a7000000000000000000000000000000000000000000000000000000006125a1565b801561054c575061259a827fffffffff000000000000000000000000000000000000000000000000000000006125a1565b1592915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015612659575060208210155b80156126655750600081115b979650505050505050565b6000806126858360c001518460a00151611c38565b8054806020026020016040519081016040528092919081815260200182805480156126e657602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116126bb575b5050505050905060006127018460c001518560a00151611bf6565b805480602002602001604051908101604052809291908181526020016000905b828210156127cd57838290600052602060002001805461274090614113565b80601f016020809104026020016040519081016040528092919081815260200182805461276c90614113565b80156127b95780601f1061278e576101008083540402835291602001916127b9565b820191906000526020600020905b81548152906001019060200180831161279c57829003601f168201915b505050505081526020019060010190612721565b50508451929350600091508190508660c0015160018111156127f1576127f1614166565b14612800578560800151612806565b85606001515b90508181511461285e578560c00151600181111561282657612826614166565b6040517f3171c36f00000000000000000000000000000000000000000000000000000000815260ff9091166004820152602401610599565b60e08601515b82811015612a3a57808760e001818152505060006040518060400160405280868481518110612895576128956141bd565b602002602001015181526020018484815181106128b4576128b46141bd565b6020026020010151815250905060006129118784815181106128d8576128d86141bd565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673800000000000000000000000000000000000000016151590565b156129d657868381518110612928576129286141bd565b602002602001015173ffffffffffffffffffffffffffffffffffffffff166334e5d29f8360405160200161295c91906147bc565b6040516020818303038152906040526040518263ffffffff1660e01b81526004016129879190613b4c565b6000604051808303816000875af11580156129a6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526129ce91908101906147f5565b5090506129fd565b6129fa8784815181106129eb576129eb6141bd565b6020026020010151838b613191565b90505b6001816001811115612a1157612a11614166565b14612a255750600098975050505050505050565b50508080612a32906140b4565b915050612864565b5060019695505050505050565b6060600082806020019051810190612a5f919061483c565b90506000600860008154612a72906140b4565b91829055506040805160a0810182528451815260208086015173ffffffffffffffffffffffffffffffffffffffff90811682840152606080880151909116838501528684015190830152608080870151908301526000848152600990915291909120815192935090918291908190612aea90826146c0565b506020828101516001830180547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff9384161790915560408086015160028601805490931693169290921790556060840151600384015560809093015160049092019190915590518391600a91600091612b7d91869101613a7b565b60405160208183030381529060405280519060200120815260200190815260200160002081905550817fc1ab5d0231434d664068cd9e5f80a04152484f1844e564dd9fee5c687caa0d7c84600001518560200151866040015187606001518860800151604051612bf19594939291906148ec565b60405180910390a260408051602081018490520160405160208183030381529060405293505050509392505050565b73ffffffffffffffffffffffffffffffffffffffff8216612cdd57612c657f637821dcee84aabec9c8cf4f6f643013a24ad27fd41511ffd937aea80d8619a9826118f8565b612cd9576040517f75000dc00000000000000000000000000000000000000000000000000000000081527f637821dcee84aabec9c8cf4f6f643013a24ad27fd41511ffd937aea80d8619a9600482015273ffffffffffffffffffffffffffffffffffffffff82166024820152604401610599565b5050565b8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612d3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d6391906141a0565b73ffffffffffffffffffffffffffffffffffffffff1614612cd9576040517fdc13a9c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080612dce83604001516000015184602001518560600151613375565b91509150600080612df085604001516020015186602001518760800151613375565b91509150600060405180608001604052808673ffffffffffffffffffffffffffffffffffffffff1681526020018581526020018473ffffffffffffffffffffffffffffffffffffffff168152602001838152509050600073ffffffffffffffffffffffffffffffffffffffff16866020015173ffffffffffffffffffffffffffffffffffffffff1603612f16578060068760000151604051612e9291906141ec565b9081526040805160209281900383019020835181547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff92831617835593850151600183015591840151600282018054909416921691909117909155606090910151600390910155612fcb565b806007600088602001518960000151604051602001612f36929190614208565b60408051808303601f190181529181528151602092830120835282820193909352908201600020835181547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff9283161783559285015160018301559284015160028201805490931693169290921790556060909101516003909101555b856020015173ffffffffffffffffffffffffffffffffffffffff167f5afe4586ed79afd39271a5d07aaa8d60de58e6e9a48ebf10c8f1ce828b592e7587600001518360000151896040015160000151856020015186604001518c604001516020015188606001516040516130459796959493929190614975565b60405180910390a2505050505050565b73ffffffffffffffffffffffffffffffffffffffff82166130d75760068160405161308091906141ec565b90815260405190819003602001902080547fffffffffffffffffffffffff00000000000000000000000000000000000000009081168255600060018301819055600283018054909216909155600390910155613154565b6007600083836040516020016130ee929190614208565b60408051601f19818403018152918152815160209283012083529082019290925201600090812080547fffffffffffffffffffffffff00000000000000000000000000000000000000009081168255600182018390556002820180549091169055600301555b7fa1b9abc85838f61f05343c3b5b89fe250131975f2b25b6029a263e253dc0e7fd81836040516131859291906149e1565b60405180910390a15050565b60008060008573ffffffffffffffffffffffffffffffffffffffff16635260a98c866040516020016131c391906147bc565b604051602081830303815290604052306040518363ffffffff1660e01b81526004016131f09291906149e1565b6000604051808303816000875af115801561320f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526132379190810190614a19565b9193509091506000905082600181111561325357613253614166565b0361336c57600081815260046020908152604091829020865181547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff928316178355928801516001830180549094169116179091559085015185919060028201906132d690826146c0565b50606082015180516132f2916003840191602090910190613829565b506080820151805161330e916004840191602090910190613829565b5060a0820151600582015560c08201516006820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001838181111561335957613359614166565b021790555060e082015181600701559050505b50949350505050565b600080600185600581111561338c5761338c614166565b036133bc57507f000000000000000000000000000000000000000000000000000000000000000090506000613560565b60028560058111156133d0576133d0614166565b0361347a5773ffffffffffffffffffffffffffffffffffffffff8416613422576040517fe86db48e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61342c8484613568565b8251600003613467576040517f521299a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8361347184613766565b91509150613560565b600385600581111561348e5761348e614166565b036134be57507f000000000000000000000000000000000000000000000000000000000000000090506000613560565b60048560058111156134d2576134d2614166565b036134f6575073ffffffffffffffffffffffffffffffffffffffff90506000613560565b600585600581111561350a5761350a614166565b0361352e575073ffffffffffffffffffffffffffffffffffffffff90506000613560565b6040517f92c6e29000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b935093915050565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a9161360d91600401613b4c565b602060405180830381865afa15801561362a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061364e91906141a0565b825190915060005b8181101561375f578273ffffffffffffffffffffffffffffffffffffffff16638a8cb0b48686848151811061368d5761368d6141bd565b60200260200101516040518363ffffffff1660e01b81526004016136d692919073ffffffffffffffffffffffffffffffffffffffff92909216825260ff16602082015260400190565b602060405180830381865afa1580156136f3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613717919061432a565b61374d576040517fa4ba834600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80613757816140b4565b915050613656565b5050505050565b600080805b83518110156137a957838181518110613786576137866141bd565b602002602001015160ff1660ff166001901b82179150808060010191505061376b565b5092915050565b5080546137bc90614113565b6000825580601f106137cc575050565b601f0160209004906000526020600020908101906137ea919061387f565b50565b50805460008255906000526020600020908101906137ea9190613894565b50805460008255906000526020600020908101906137ea919061387f565b82805482825590600052602060002090810192821561386f579160200282015b8281111561386f578251829061385f90826146c0565b5091602001919060010190613849565b5061387b929150613894565b5090565b5b8082111561387b5760008155600101613880565b8082111561387b5760006138a882826137b0565b50600101613894565b6000602082840312156138c357600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461199457600080fd5b73ffffffffffffffffffffffffffffffffffffffff811681146137ea57600080fd5b8035613920816138f3565b919050565b60006020828403121561393757600080fd5b8135611994816138f3565b60006020828403121561395457600080fd5b813567ffffffffffffffff81111561396b57600080fd5b820160a0818503121561199457600080fd5b60008083601f84011261398f57600080fd5b50813567ffffffffffffffff8111156139a757600080fd5b6020830191508360208285010111156139bf57600080fd5b9250929050565b6000806000604084860312156139db57600080fd5b83359250602084013567ffffffffffffffff8111156139f957600080fd5b613a058682870161397d565b9497909650939450505050565b600060208284031215613a2457600080fd5b5035919050565b60005b83811015613a46578181015183820152602001613a2e565b50506000910152565b60008151808452613a67816020860160208601613a2b565b601f01601f19169290920160200192915050565b602081526000825160a06020840152613a9760c0840182613a4f565b9050602084015173ffffffffffffffffffffffffffffffffffffffff8082166040860152806040870151166060860152505060608401516080840152608084015160a08401528091505092915050565b60008060008060608587031215613afd57600080fd5b8435613b08816138f3565b93506020850135613b18816138f3565b9250604085013567ffffffffffffffff811115613b3457600080fd5b613b408782880161397d565b95989497509550505050565b6020815260006119946020830184613a4f565b600281106137ea57600080fd5b60008083601f840112613b7e57600080fd5b50813567ffffffffffffffff811115613b9657600080fd5b6020830191508360208260051b85010111156139bf57600080fd5b60008060008060008060008060a0898b031215613bcd57600080fd5b8835613bd881613b5f565b97506020890135613be8816138f3565b9650604089013567ffffffffffffffff80821115613c0557600080fd5b613c118c838d0161397d565b909850965060608b0135915080821115613c2a57600080fd5b613c368c838d01613b6c565b909650945060808b0135915080821115613c4f57600080fd5b50613c5c8b828c01613b6c565b999c989b5096995094979396929594505050565b600080600060608486031215613c8557600080fd5b8335613c9081613b5f565b95602085013595506040909401359392505050565b60008060408385031215613cb857600080fd5b8235613cc381613b5f565b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160a0810167ffffffffffffffff81118282101715613d2357613d23613cd1565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715613d5257613d52613cd1565b604052919050565b600067ffffffffffffffff821115613d7457613d74613cd1565b50601f01601f191660200190565b600082601f830112613d9357600080fd5b8135613da6613da182613d5a565b613d29565b818152846020838601011115613dbb57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060408385031215613deb57600080fd5b8235613df6816138f3565b9150602083013567ffffffffffffffff811115613e1257600080fd5b613e1e85828601613d82565b9150509250929050565b600080600060608486031215613e3d57600080fd5b8335613e4881613b5f565b9250602084013591506040840135613e5f816138f3565b809150509250925092565b600080600060608486031215613e7f57600080fd5b8335613e8a81613b5f565b92506020840135613e9a816138f3565b929592945050506040919091013590565b60008060008060008060008060a0898b031215613ec757600080fd5b8835613bd8816138f3565b600080600080600080600060a0888a031215613eed57600080fd5b8735613ef881613b5f565b96506020880135613f08816138f3565b955060408801359450606088013567ffffffffffffffff80821115613f2c57600080fd5b613f388b838c01613b6c565b909650945060808a0135915080821115613f5157600080fd5b50613f5e8a828b01613b6c565b989b979a50959850939692959293505050565b818352818160208501375060006020828401015260006020601f19601f840116840101905092915050565b60208152600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112613fd457600080fd5b830160208101903567ffffffffffffffff811115613ff157600080fd5b80360382131561400057600080fd5b60a0602085015261401560c085018284613f71565b91505061402460208501613915565b73ffffffffffffffffffffffffffffffffffffffff811660408501525061404d60408501613915565b73ffffffffffffffffffffffffffffffffffffffff811660608501525060608401356080840152608084013560a08401528091505092915050565b80151581146137ea57600080fd5b600080604083850312156140a957600080fd5b8235613df681614088565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361410c577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b600181811c9082168061412757607f821691505b602082108103614160577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b8051613920816138f3565b6000602082840312156141b257600080fd5b8151611994816138f3565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082516141fe818460208701613a2b565b9190910192915050565b73ffffffffffffffffffffffffffffffffffffffff831681526040602082015260006117126040830184613a4f565b600067ffffffffffffffff82111561425157614251613cd1565b5060051b60200190565b6000614269613da184614237565b80848252602080830192508560051b85013681111561428757600080fd5b855b818110156142c357803567ffffffffffffffff8111156142a95760008081fd5b6142b536828a01613d82565b865250938201938201614289565b50919695505050505050565b60208082528181018390526000908460408401835b8681101561431f5782356142f7816138f3565b73ffffffffffffffffffffffffffffffffffffffff16825291830191908301906001016142e4565b509695505050505050565b60006020828403121561433c57600080fd5b815161199481614088565b6000806040838503121561435a57600080fd5b82359150602083013567ffffffffffffffff811115613e1257600080fd5b600082601f83011261438957600080fd5b8151614397613da182613d5a565b8181528460208386010111156143ac57600080fd5b611712826020830160208701613a2b565b80516006811061392057600080fd5b6000604082840312156143de57600080fd5b6040516040810181811067ffffffffffffffff8211171561440157614401613cd1565b604052905080614410836143bd565b815261441e602084016143bd565b60208201525092915050565b805160ff8116811461392057600080fd5b600082601f83011261444c57600080fd5b8151602061445c613da183614237565b82815260059290921b8401810191818101908684111561447b57600080fd5b8286015b8481101561431f576144908161442a565b835291830191830161447f565b6000602082840312156144af57600080fd5b815167ffffffffffffffff808211156144c757600080fd5b9083019060c082860312156144db57600080fd5b6144e3613d00565b8251828111156144f257600080fd5b6144fe87828601614378565b82525061450d60208401614195565b602082015261451f86604085016143cc565b604082015260808301518281111561453657600080fd5b6145428782860161443b565b60608301525060a08301518281111561455a57600080fd5b6145668782860161443b565b60808301525095945050505050565b60006020828403121561458757600080fd5b815167ffffffffffffffff81111561459e57600080fd5b61171284828501614378565b6000602082840312156145bc57600080fd5b813567ffffffffffffffff808211156145d457600080fd5b9083019060a082860312156145e857600080fd5b6145f0613d00565b8235828111156145ff57600080fd5b61460b87828601613d82565b8252506020830135915061461e826138f3565b816020820152604083013560408201526060830135915061463e826138f3565b8160608201526080830135608082015280935050505092915050565b60006020828403121561466c57600080fd5b6119948261442a565b601f8211156146bb57600081815260208120601f850160051c8101602086101561469c5750805b601f850160051c820191505b81811015612038578281556001016146a8565b505050565b815167ffffffffffffffff8111156146da576146da613cd1565b6146ee816146e88454614113565b84614675565b602080601f831160018114614741576000841561470b5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555612038565b600085815260208120601f198616915b8281101561477057888601518255948401946001909101908401614751565b50858210156147ac57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b6020815260008251604060208401526147d86060840182613a4f565b90506020840151601f19848303016040850152610cf58282613a4f565b6000806040838503121561480857600080fd5b825161481381613b5f565b602084015190925067ffffffffffffffff81111561483057600080fd5b613e1e85828601614378565b60006020828403121561484e57600080fd5b815167ffffffffffffffff8082111561486657600080fd5b9083019060a0828603121561487a57600080fd5b614882613d00565b82518281111561489157600080fd5b61489d87828601614378565b825250602083015191506148b0826138f3565b81602082015260408301516040820152606083015191506148d0826138f3565b8160608201526080830151608082015280935050505092915050565b60a0815260006148ff60a0830188613a4f565b73ffffffffffffffffffffffffffffffffffffffff968716602084015260408301959095525091909316606082015260800191909152919050565b60068110614971577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b60e08152600061498860e083018a613a4f565b905073ffffffffffffffffffffffffffffffffffffffff80891660208401526149b4604084018961493a565b60608301879052851660808301526149cf60a083018561493a565b8260c083015298975050505050505050565b6040815260006149f46040830185613a4f565b905073ffffffffffffffffffffffffffffffffffffffff831660208301529392505050565b600080600060608486031215614a2e57600080fd5b8351614a3981613b5f565b602085015190935067ffffffffffffffff811115614a5657600080fd5b614a6286828701614378565b92505060408401519050925092509256fea2646970667358221220258178ab529cffb4ff863013666f66a9b26a909e8f1e6c95e23e6fe2c2394bd364736f6c634300081300330000000000000000000000007a7bc5640637b74abecc6e908ed548ee1969c948000000000000000000000000e8ab207a5c21162db1ee75e378a92c82d550a8d100000000000000000000000080e012ca980e1d3993d8bee99828619e5532b12b000000000000000000000000ee19ace40db1ba8b0dbbc5e57061a3268bd08c6a000000000000000000000000bd132e42baafe3648170770f2d45dba59166e06d", + "nonce": "0x7dc", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x44b2c8211f99f9b1d8151f54ee3f87cdb552f13c2346dbd6e03cd0d00134117d", + "transactionType": "CREATE", + "contractName": "LicensingModule", + "contractAddress": "0xC3960374E4448f815f53C1FE38b38cf444e6BEB8", + "function": null, + "arguments": [ + "(0x7a7BC5640637b74ABEcc6e908Ed548eE1969c948, 0xe8ab207A5C21162Db1ee75e378A92C82d550a8d1, 0x80e012Ca980E1d3993d8beE99828619E5532B12b, 0xEe19aCE40dB1BA8B0DbBc5e57061A3268bd08c6A)", + "0x43C1C831D370f36149183d31FdAC50b131289949", + "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x5650df", + "value": "0x0", + "data": "0x6101406040523480156200001257600080fd5b50604051620050eb380380620050eb833981016040819052620000359162000167565b602083015183906001600160a01b038116620000645760405163134141bd60e11b815260040160405180910390fd5b6001600160a01b039081166080528151166200009357604051636028d8f760e01b815260040160405180910390fd5b80516001600160a01b0390811660a052604082015116620000c757604051635a70c46160e11b815260040160405180910390fd5b60408101516001600160a01b0390811660c052606090910151811660e0528216620001055760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03808316610100528116620001345760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03166101205250620002319050565b80516001600160a01b03811681146200016257600080fd5b919050565b600080600083850360c08112156200017e57600080fd5b60808112156200018d57600080fd5b50604051608081016001600160401b0381118282101715620001bf57634e487b7160e01b600052604160045260246000fd5b604052620001cd856200014a565b8152620001dd602086016200014a565b6020820152620001f0604086016200014a565b604082015262000203606086016200014a565b6060820152925062000218608085016200014a565b91506200022860a085016200014a565b90509250925092565b60805160a05160c05160e0516101005161012051614dfa620002f1600039600081816102de015261348f0152600081816103180152818161231d015281816124e3015281816126430152613394015260006102260152600081816103ff01528181611f7a0152818161206b01528181612a1401528181612b0d01528181612c330152818161323c01526135250152600081816103b201526132ce0152600081816103780152818161096001528181610f3c01526118270152614dfa6000f3fe608060405234801561001057600080fd5b50600436106101825760003560e01c806376a4b13b116100d8578063bc12fcca1161008c578063e8fb5c9b11610066578063e8fb5c9b146103e7578063f0ebdc83146103fa578063fba854e01461042157600080fd5b8063bc12fcca1461039a578063d2faf8b0146103ad578063e5720404146103d457600080fd5b8063a5b04d45116100bd578063a5b04d451461034d578063b6efd29d14610360578063b95ddb521461037357600080fd5b806376a4b13b1461031357806377379d941461033a57600080fd5b806351e06b901161013a57806368a4f0711161011457806368a4f071146102c6578063743fee4a146102d95780637448c5681461030057600080fd5b806351e06b9014610221578063562573a91461026d578063582d35d7146102b357600080fd5b806332ee68131161016b57806332ee6813146101c45780634fa4467c146101f95780634fcbd2131461020157600080fd5b806301ffc9a7146101875780632fa7bc99146101af575b600080fd5b61019a610195366004613b09565b610434565b60405190151581526020015b60405180910390f35b6101c26101bd366004613b94565b610519565b005b6101eb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81565b6040519081526020016101a6565b6101eb600a81565b61021461020f366004613c02565b610946565b6040516101a69190613cb7565b6102487f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101a6565b6102a661027b366004613cca565b73ffffffffffffffffffffffffffffffffffffffff1660009081526006602052604090205460ff1690565b6040516101a69190613d2a565b6102146102c1366004613d38565b6109ce565b6102146102d4366004613d81565b610af1565b6102487f000000000000000000000000000000000000000000000000000000000000000081565b6101eb61030e366004613db6565b610ccb565b6102487f000000000000000000000000000000000000000000000000000000000000000081565b61019a610348366004613de2565b610cdf565b6101c261035b366004613e24565b610d17565b61021461036e366004613eaa565b610f22565b6102487f000000000000000000000000000000000000000000000000000000000000000081565b6101eb6103a8366004613db6565b611085565b6102487f000000000000000000000000000000000000000000000000000000000000000081565b6102486103e2366004613d81565b611091565b6101eb6103f5366004613de2565b611189565b6102487f000000000000000000000000000000000000000000000000000000000000000081565b6101c261042f366004613f69565b61119e565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f2fa7bc990000000000000000000000000000000000000000000000000000000014806104c757507fffffffff0000000000000000000000000000000000000000000000000000000082167ff924008e00000000000000000000000000000000000000000000000000000000145b8061051357507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60008061052883850185614128565b91509150811561083557600085815260046020526040812060070180549161054f8361418c565b9091555050600085815260046020908152604091829020825161010081018452815473ffffffffffffffffffffffffffffffffffffffff90811682526001830154169281019290925260028101805461082f94840191906105af906141eb565b80601f01602080910402602001604051908101604052809291908181526020018280546105db906141eb565b80156106285780601f106105fd57610100808354040283529160200191610628565b820191906000526020600020905b81548152906001019060200180831161060b57829003601f168201915b5050505050815260200160038201805480602002602001604051908101604052809291908181526020016000905b82821015610702578382906000526020600020018054610675906141eb565b80601f01602080910402602001604051908101604052809291908181526020018280546106a1906141eb565b80156106ee5780601f106106c3576101008083540402835291602001916106ee565b820191906000526020600020905b8154815290600101906020018083116106d157829003601f168201915b505050505081526020019060010190610656565b50505050815260200160048201805480602002602001604051908101604052809291908181526020016000905b828210156107db57838290600052602060002001805461074e906141eb565b80601f016020809104026020016040519081016040528092919081815260200182805461077a906141eb565b80156107c75780601f1061079c576101008083540402835291602001916107c7565b820191906000526020600020905b8154815290600101906020018083116107aa57829003601f168201915b50505050508152602001906001019061072f565b5050509082525060058201546020820152600682015460409091019060ff16600181111561080b5761080b613ce7565b600181111561081c5761081c613ce7565b815260200160078201548152505061137c565b5061089a565b6000858152600460205260409081902060010154905173ffffffffffffffffffffffffffffffffffffffff909116907f7f7ce7cf4c1b43e1bf51034d0ad7062abb9d4529c7bb0510d512249b0fb7145290610891908490613cb7565b60405180910390a25b600085815260046020526040812080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811682556001820180549091169055906108e96002830182613a08565b6108f7600383016000613a45565b610905600483016000613a45565b506000600582018190556006820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690556007909101555050505050565b60603373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146109b7576040517f72823b5400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6109c385858585611486565b90505b949350505050565b6060600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610a5085858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061150892505050565b81526020019081526020016000208054610a69906141eb565b80601f0160208091040260200160405190810160405280929190818152602001828054610a95906141eb565b8015610ae25780601f10610ab757610100808354040283529160200191610ae2565b820191906000526020600020905b815481529060010190602001808311610ac557829003601f168201915b505050505090505b9392505050565b60606000610aff858561155f565b805480602002602001604051908101604052809291908181526020016000905b82821015610bcb578382906000526020600020018054610b3e906141eb565b80601f0160208091040260200160405190810160405280929190818152602001828054610b6a906141eb565b8015610bb75780601f10610b8c57610100808354040283529160200191610bb7565b820191906000526020600020905b815481529060010190602001808311610b9a57829003601f168201915b505050505081526020019060010190610b1f565b50505050905080518310610c13576040517f9c7692bf000000000000000000000000000000000000000000000000000000008152600481018490526024015b60405180910390fd5b610c1d858561155f565b8381548110610c2e57610c2e61423e565b906000526020600020018054610c43906141eb565b80601f0160208091040260200160405190810160405280929190818152602001828054610c6f906141eb565b8015610cbc5780601f10610c9157610100808354040283529160200191610cbc565b820191906000526020600020905b815481529060010190602001808311610c9f57829003601f168201915b50505050509150509392505050565b6000610cd783836115a1565b549392505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610d0d858585611189565b1415949350505050565b8173ffffffffffffffffffffffffffffffffffffffff8116610d65576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610db0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dd4919061426d565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e38576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000846001811115610e4c57610e4c613ce7565b148015610e66575060008281526020819052604090205415155b15610e9e576000828152602081905260408120610e8291613a63565b6000828152600260205260408120610e9991613a45565b610ee0565b60008281526001602052604090205415610ee0576000828152600160205260408120610ec991613a63565b6000828152600360205260408120610ee091613a45565b81846001811115610ef357610ef3613ce7565b6040517f1fe48a4ec69671720d8bdd8f8a6853d16f486c0bb91fcaf5b8ffc4932b8bc9f490600090a350505050565b60603373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610f93576040517f72823b5400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60007fff5c818c3a09617e24e0ba5e97a8b336e42589e94d6f586a74a28d768ee2c8cb905060006040518061010001604052808c73ffffffffffffffffffffffffffffffffffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505090825250602001611044888a6142ce565b815260200161105386886142ce565b81526020810184905260400160008152602001600081525090506110768161137c565b9b9a5050505050505050505050565b6000610cd7838361155f565b60008061109e85856115a1565b8054806020026020016040519081016040528092919081815260200182805480156110ff57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116110d4575b5050505050905080518310611143576040517f9c7692bf00000000000000000000000000000000000000000000000000000000815260048101849052602401610c0a565b61114d85856115a1565b838154811061115e5761115e61423e565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1695945050505050565b60006109c661119885856115a1565b836115e3565b8573ffffffffffffffffffffffffffffffffffffffff81166111ec576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611237573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061125b919061426d565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146112bf576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6112ca888888610d17565b6113266112d789886115a1565b6112e18a8961155f565b87878080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061132192508891508990506142ce565b61167d565b8588600181111561133957611339613ce7565b7f5e140eb5bed8bcb1664a04c0be4aa419e0d2dbf1277a4a6770882a0beb3b91b2878760405161136a929190614342565b60405180910390a35050505050505050565b606060008260c00151600181111561139657611396613ce7565b1480156113a957506113a782611abf565b155b1561140957816020015173ffffffffffffffffffffffffffffffffffffffff167fa1e5a8c0fde3fa4d7320c3f9de0ab0a2c1ee6e891e6a513ca0811ddcf768b59460405160405180910390a2505060408051602081019091526000815290565b611420826000015183602001518460400151611e96565b600160c0840152600060e0840152905061143982611abf565b50816020015173ffffffffffffffffffffffffffffffffffffffff167f4ec4635a4d1f6ebe9ee3a059f74fc5d802e04d2d115c4090337a34e3b137c98a60405160405180910390a2919050565b60606000806114978486018661439d565b915091507f8b21f20183a523515c357db6dba25c92b138630b63988ca3e60a6be86c8da04582036114d6576114cd878783612129565b925050506109c6565b6040517f96bb42f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080829050601f8151111561154c57826040517f305a27a9000000000000000000000000000000000000000000000000000000008152600401610c0a9190613cb7565b8051611557826143da565b179392505050565b60008083600181111561157457611574613ce7565b0361158d57506000818152600260205260409020610513565b506000818152600360205260409020610513565b6000808360018111156115b6576115b6613ce7565b036115cf57506000818152602081905260409020610513565b506000818152600160205260409020610513565b8154600090815b81811015611653578373ffffffffffffffffffffffffffffffffffffffff1685828154811061161b5761161b61423e565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff160361164b5791506105139050565b6001016115ea565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff949350505050565b8151600a8111156116ba576040517f760fb4ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b808251146116f4576040517f3021beb200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b81811015611ab757600073ffffffffffffffffffffffffffffffffffffffff168482815181106117295761172961423e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff160361177e576040517f7d4de38200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000811180156117ee575083600182038151811061179e5761179e61423e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff168482815181106117ce576117ce61423e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff16145b15611825576040517fd696c40800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166382984f308583815181106118735761187361423e565b60200260200101516040518263ffffffff1660e01b81526004016118b3919073ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b602060405180830381865afa1580156118d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118f4919061441c565b6119615783818151811061190a5761190a61423e565b60200260200101516040517f5a987388000000000000000000000000000000000000000000000000000000008152600401610c0a919073ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b8381815181106119735761197361423e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1663a913b8818483815181106119a8576119a861423e565b60200260200101516040518263ffffffff1660e01b81526004016119cc9190613cb7565b60006040518083038186803b1580156119e457600080fd5b505afa1580156119f8573d6000803e3d6000fd5b5050505085848281518110611a0f57611a0f61423e565b60209081029190910181015182546001810184556000938452919092200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90921691909117905582518590849083908110611a8557611a8561423e565b60209081029190910181015182546001810184556000938452919092200190611aae9082614484565b506001016116f7565b505050505050565b600080611ad48360c001518460a001516115a1565b805480602002602001604051908101604052809291908181526020018280548015611b3557602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311611b0a575b505050505090506000611b508460c001518560a0015161155f565b805480602002602001604051908101604052809291908181526020016000905b82821015611c1c578382906000526020600020018054611b8f906141eb565b80601f0160208091040260200160405190810160405280929190818152602001828054611bbb906141eb565b8015611c085780601f10611bdd57610100808354040283529160200191611c08565b820191906000526020600020905b815481529060010190602001808311611beb57829003601f168201915b505050505081526020019060010190611b70565b50508451929350600091508190508660c001516001811115611c4057611c40613ce7565b14611c4f578560800151611c55565b85606001515b905081815114611cad578560c001516001811115611c7557611c75613ce7565b6040517f3171c36f00000000000000000000000000000000000000000000000000000000815260ff9091166004820152602401610c0a565b60e08601515b82811015611e8957808760e001818152505060006040518060400160405280868481518110611ce457611ce461423e565b60200260200101518152602001848481518110611d0357611d0361423e565b602002602001015181525090506000611d60878481518110611d2757611d2761423e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673800000000000000000000000000000000000000016151590565b15611e2557868381518110611d7757611d7761423e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff166334e5d29f83604051602001611dab9190614580565b6040516020818303038152906040526040518263ffffffff1660e01b8152600401611dd69190613cb7565b6000604051808303816000875af1158015611df5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611e1d9190810190614607565b509050611e4c565b611e49878481518110611e3a57611e3a61423e565b6020026020010151838b6127bd565b90505b6001816001811115611e6057611e60613ce7565b14611e745750600098975050505050505050565b50508080611e819061418c565b915050611cb3565b5060019695505050505050565b606060008083806020019051810190611eaf919061464e565b915091507f3f92a83f1dd77188c62fa393a54ccf9854be836ca6c243397d0acbbce04723878203611eee57611ee58686836129a1565b92505050610aea565b7f5281374dd3fc2bb7839f50fddfb6a14a666cb4d23b20d6aecf9b9950d103b3368203611ff257600081806020019051810190611f2b919061467f565b6040517f1f09e4e50000000000000000000000000000000000000000000000000000000081526004810182905273ffffffffffffffffffffffffffffffffffffffff88811660248301529192507f000000000000000000000000000000000000000000000000000000000000000090911690631f09e4e590604401600060405180830381600087803b158015611fc057600080fd5b505af1158015611fd4573d6000803e3d6000fd5b50505050604051806020016040528060008152509350505050610aea565b7f29def77ab981c01a6b53c58b23dd89ac4447095f721298424063ed3f16962ac682036120f757600080828060200190518101906120309190614698565b6040517f71e074dd000000000000000000000000000000000000000000000000000000008152600481018390526024810182905291935091507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906371e074dd90604401600060405180830381600087803b1580156120c457600080fd5b505af11580156120d8573d6000803e3d6000fd5b5050505060405180602001604052806000815250945050505050610aea565b6040517f8c3cdde800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60608273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561218d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121b1919061426d565b73ffffffffffffffffffffffffffffffffffffffff16146121fe576040517f679dd15600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600082806020019051810190612214919061477f565b905060008160400151600281111561222e5761222e613ce7565b03612265576040517fbe53f1bf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff821660009081526006602052604090205460ff1660028111156122a2576122a2613ce7565b146122d9576040517f58d7c9ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602082015182516040517f7859a97e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001691637859a97e916123519190600401613cb7565b602060405180830381865afa15801561236e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612392919061467f565b815111156123cc576040517f7c22012400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408084015173ffffffffffffffffffffffffffffffffffffffff8416600090815260066020529190912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600183600281111561242f5761242f613ce7565b0217905550825173ffffffffffffffffffffffffffffffffffffffff83166000908152600760205260409020906124669082614484565b5073ffffffffffffffffffffffffffffffffffffffff808316600081815260056020526040908190208451875192517feae376e300000000000000000000000000000000000000000000000000000000815291949093927fffedbcce1b94ebe928a55b7ca34c76074cbe7f467d561b9c0589d5d985b39be39290917f0000000000000000000000000000000000000000000000000000000000000000169063eae376e390612518908490600401613cb7565b600060405180830381865afa158015612535573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261255d919081019061482b565b886040015160405161257193929190614860565b60405180910390a260005b818110156127a05760008482815181106125985761259861423e565b6020026020010151905060008460008360000151815260200190815260200160002080546125c5906141eb565b905011156125ff576040517f1590386a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b865181516040517fc2e26bbb00000000000000000000000000000000000000000000000000000000815260009273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169263c2e26bbb92612678929190600401614895565b600060405180830381865afa158015612695573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526126bd9190810190614965565b90506126cd818360200151612e03565b612703576040517fac6293b300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60208083015183516000908152918790526040909120906127249082614484565b508673ffffffffffffffffffffffffffffffffffffffff167f9c3f6f42e7e2cb05b8a3b21a99f597eb17f3f57ab9156b34f81fb51f221a1d3a61276a84600001516130ac565b836020015185602001516040516127839392919061499a565b60405180910390a2505080806127989061418c565b91505061257c565b505060408051602081019091526000815298975050505050505050565b60008060008573ffffffffffffffffffffffffffffffffffffffff16635260a98c866040516020016127ef9190614580565b604051602081830303815290604052306040518363ffffffff1660e01b815260040161281c9291906149df565b6000604051808303816000875af115801561283b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526128639190810190614a17565b9193509091506000905082600181111561287f5761287f613ce7565b0361299857600081815260046020908152604091829020865181547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff928316178355928801516001830180549094169116179091559085015185919060028201906129029082614484565b506060820151805161291e916003840191602090910190613a81565b506080820151805161293a916004840191602090910190613a81565b5060a0820151600582015560c08201516006820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001838181111561298557612985613ce7565b021790555060e082015181600701559050505b50949350505050565b60606000828060200190518101906129b99190614a71565b905060006129d18686846020015185604001516130eb565b90508160200151600014612aca5760208201516040517fe705c2b800000000000000000000000000000000000000000000000000000000815260048101919091527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063e705c2b890602401602060405180830381865afa158015612a70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a94919061441c565b612aca576040517f37efd03900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602082015115801590612b8d575060208201516040517f3c06e1dc00000000000000000000000000000000000000000000000000000000815260048101919091527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690633c06e1dc90602401602060405180830381865afa158015612b69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b8d919061441c565b15612cca5781515115612bcc576040517f4af02eb800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602082015160408084015190517fd09d894e000000000000000000000000000000000000000000000000000000008152600481019290925273ffffffffffffffffffffffffffffffffffffffff8381166024840152878116604484015260648301919091527f0000000000000000000000000000000000000000000000000000000000000000169063d09d894e906084016020604051808303816000875af1158015612c7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ca0919061467f565b604051602001612cb291815260200190565b60405160208183030381529060405292505050610aea565b8473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614612d2f576040517f2d05516900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612ca086868385600760008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054612d80906141eb565b80601f0160208091040260200160405190810160405280929190818152602001828054612dac906141eb565b8015612df95780601f10612dce57610100808354040283529160200191612df9565b820191906000526020600020905b815481529060010190602001808311612ddc57829003601f168201915b505050505061338f565b60007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470828051906020012003612e3b57506001610513565b600083602001516005811115612e5357612e53613ce7565b03612e765781806020019051810190612e6c919061441c565b5060019050610513565b600183602001516005811115612e8e57612e8e613ce7565b03612ebb5781806020019051810190612ea7919061467f565b600003612eb657506000610513565b6130a3565b600283602001516005811115612ed357612ed3613ce7565b03612f2757600073ffffffffffffffffffffffffffffffffffffffff1682806020019051810190612f04919061426d565b73ffffffffffffffffffffffffffffffffffffffff1603612eb657506000610513565b600383602001516005811115612f3f57612f3f613ce7565b036130075781806020019051810190612f58919061482b565b50604051602001612f9a9060208082526001908201527f2000000000000000000000000000000000000000000000000000000000000000604082015260600190565b6040516020818303038152906040528051906020012082805190602001201480612ffa5750604051602001612fda90602080825260009082015260400190565b604051602081830303815290604052805190602001208280519060200120145b15612eb657506000610513565b60048360200151600581111561301f5761301f613ce7565b036130555760008280602001905181019061303a9190614af5565b9050805160000361304f576000915050610513565b506130a3565b60058360200151600581111561306d5761306d613ce7565b036130a3576000836060015180602001905181019061308c9190614af5565b905080516000036130a1576000915050610513565b505b50600192915050565b606060006130b9836135d3565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b73ffffffffffffffffffffffffffffffffffffffff841660009081526006602052604081205460ff168181600281111561312757613127613ce7565b0361315e576040517f8c17640800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600181600281111561317257613172613ce7565b036131ee578573ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156131c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131e6919061426d565b9150506109c6565b600281600281111561320257613202613ce7565b0361335d578315613299576040517f6352211e000000000000000000000000000000000000000000000000000000008152600481018590527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690636352211e906024015b602060405180830381865afa1580156131c2573d6000803e3d6000fd5b8215613312576040517f299d1cf6000000000000000000000000000000000000000000000000000000008152600481018490527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063299d1cf69060240161327c565b8573ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156131c2573d6000803e3d6000fd5b6040517fbe53f1bf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e75afa55846040518263ffffffff1660e01b81526004016133eb9190613cb7565b600060405180830381865afa158015613408573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526134309190810190614b86565b90506000806000806134478b896000015187613614565b935093509350935060006040518061014001604052806001600381111561347057613470613ce7565b81526020018515158152602001841515815260200183151581526020017f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018d73ffffffffffffffffffffffffffffffffffffffff16815260200161350a8a611508565b81526020018a6040015181526020018a6020015181525090507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663eb683a49828d886040518463ffffffff1660e01b815260040161358093929190614cb0565b6020604051808303816000875af115801561359f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135c3919061467f565b9c9b505050505050505050505050565b600060ff8216601f811115610513576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815173ffffffffffffffffffffffffffffffffffffffff841660009081526005602052604081208351606093839283928067ffffffffffffffff81111561365d5761365d614016565b6040519080825280602002602001820160405280156136a357816020015b60408051808201909152600081526060602082015281526020019060019003908161367b5790505b50965060005b818110156139375760008982815181106136c5576136c561423e565b6020026020010151905060008460008360000151815260200190815260200160002080546136f2906141eb565b80601f016020809104026020016040519081016040528092919081815260200182805461371e906141eb565b801561376b5780601f106137405761010080835404028352916020019161376b565b820191906000526020600020905b81548152906001019060200180831161374e57829003601f168201915b50505050509050606060005b878110156137d15760008e82815181106137935761379361423e565b602002602001015190506137ae816000015186600001511490565b156137be576020015191506137d1565b50806137c98161418c565b915050613777565b5060006137df828486613952565b9050604051806040016040528085600001518152602001828152508c868151811061380c5761380c61423e565b60200260200101819052507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081805190602001200361384e5750505050613925565b61389184600001516040518060400160405280601381526020017f44657269766174697665732d416c6c6f776564000000000000000000000000008152506139f5565b156138b157808060200190518101906138aa919061441c565b9a50613920565b6138f484600001516040518060400160405280601b81526020017f44657269766174697665732d416c6c6f7765642d4f7074696f6e7300000000008152506139f5565b156139205760008180602001905181019061390f919061467f565b6001811615159b5060021615159950505b505050505b8061392f8161418c565b9150506136a9565b50856139465760009450600093505b50505093509350935093565b8251606090156139dc57825115613995576040517f42445ce000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61399f8285612e03565b6139d5576040517f5bcde08d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5082610aea565b8251156139ea575081610aea565b506040810151610aea565b6000610aea83613a0484611508565b1490565b508054613a14906141eb565b6000825580601f10613a24575050565b601f016020900490600052602060002090810190613a429190613ad7565b50565b5080546000825590600052602060002090810190613a429190613aec565b5080546000825590600052602060002090810190613a429190613ad7565b828054828255906000526020600020908101928215613ac7579160200282015b82811115613ac75782518290613ab79082614484565b5091602001919060010190613aa1565b50613ad3929150613aec565b5090565b5b80821115613ad35760008155600101613ad8565b80821115613ad3576000613b008282613a08565b50600101613aec565b600060208284031215613b1b57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610aea57600080fd5b60008083601f840112613b5d57600080fd5b50813567ffffffffffffffff811115613b7557600080fd5b602083019150836020828501011115613b8d57600080fd5b9250929050565b600080600060408486031215613ba957600080fd5b83359250602084013567ffffffffffffffff811115613bc757600080fd5b613bd386828701613b4b565b9497909650939450505050565b73ffffffffffffffffffffffffffffffffffffffff81168114613a4257600080fd5b60008060008060608587031215613c1857600080fd5b8435613c2381613be0565b93506020850135613c3381613be0565b9250604085013567ffffffffffffffff811115613c4f57600080fd5b613c5b87828801613b4b565b95989497509550505050565b60005b83811015613c82578181015183820152602001613c6a565b50506000910152565b60008151808452613ca3816020860160208601613c67565b601f01601f19169290920160200192915050565b602081526000610aea6020830184613c8b565b600060208284031215613cdc57600080fd5b8135610aea81613be0565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60038110613d2657613d26613ce7565b9052565b602081016105138284613d16565b600080600060408486031215613d4d57600080fd5b8335613d5881613be0565b9250602084013567ffffffffffffffff811115613bc757600080fd5b60028110613a4257600080fd5b600080600060608486031215613d9657600080fd5b8335613da181613d74565b95602085013595506040909401359392505050565b60008060408385031215613dc957600080fd5b8235613dd481613d74565b946020939093013593505050565b600080600060608486031215613df757600080fd5b8335613e0281613d74565b9250602084013591506040840135613e1981613be0565b809150509250925092565b600080600060608486031215613e3957600080fd5b8335613e4481613d74565b92506020840135613e5481613be0565b929592945050506040919091013590565b60008083601f840112613e7757600080fd5b50813567ffffffffffffffff811115613e8f57600080fd5b6020830191508360208260051b8501011115613b8d57600080fd5b60008060008060008060008060a0898b031215613ec657600080fd5b8835613ed181613be0565b97506020890135613ee181613be0565b9650604089013567ffffffffffffffff80821115613efe57600080fd5b613f0a8c838d01613b4b565b909850965060608b0135915080821115613f2357600080fd5b613f2f8c838d01613e65565b909650945060808b0135915080821115613f4857600080fd5b50613f558b828c01613e65565b999c989b5096995094979396929594505050565b600080600080600080600060a0888a031215613f8457600080fd5b8735613f8f81613d74565b96506020880135613f9f81613be0565b955060408801359450606088013567ffffffffffffffff80821115613fc357600080fd5b613fcf8b838c01613e65565b909650945060808a0135915080821115613fe857600080fd5b50613ff58a828b01613e65565b989b979a50959850939692959293505050565b8015158114613a4257600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561406857614068614016565b60405290565b6040516060810167ffffffffffffffff8111828210171561406857614068614016565b604051601f8201601f1916810167ffffffffffffffff811182821017156140ba576140ba614016565b604052919050565b600067ffffffffffffffff8211156140dc576140dc614016565b50601f01601f191660200190565b60006140fd6140f8846140c2565b614091565b905082815283838301111561411157600080fd5b828260208301376000602084830101529392505050565b6000806040838503121561413b57600080fd5b823561414681614008565b9150602083013567ffffffffffffffff81111561416257600080fd5b8301601f8101851361417357600080fd5b614182858235602084016140ea565b9150509250929050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036141e4577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b600181811c908216806141ff57607f821691505b602082108103614238577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006020828403121561427f57600080fd5b8151610aea81613be0565b600067ffffffffffffffff8211156142a4576142a4614016565b5060051b60200190565b600082601f8301126142bf57600080fd5b610aea838335602085016140ea565b60006142dc6140f88461428a565b80848252602080830192508560051b8501368111156142fa57600080fd5b855b8181101561433657803567ffffffffffffffff81111561431c5760008081fd5b61432836828a016142ae565b8652509382019382016142fc565b50919695505050505050565b60208082528181018390526000908460408401835b8681101561439257823561436a81613be0565b73ffffffffffffffffffffffffffffffffffffffff1682529183019190830190600101614357565b509695505050505050565b600080604083850312156143b057600080fd5b82359150602083013567ffffffffffffffff8111156143ce57600080fd5b614182858286016142ae565b80516020808301519190811015614238577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60209190910360031b1b16919050565b60006020828403121561442e57600080fd5b8151610aea81614008565b601f82111561447f57600081815260208120601f850160051c810160208610156144605750805b601f850160051c820191505b81811015611ab75782815560010161446c565b505050565b815167ffffffffffffffff81111561449e5761449e614016565b6144b2816144ac84546141eb565b84614439565b602080601f83116001811461450557600084156144cf5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555611ab7565b600085815260208120601f198616915b8281101561453457888601518255948401946001909101908401614515565b508582101561457057878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b60208152600082516040602084015261459c6060840182613c8b565b90506020840151601f198483030160408501526145b98282613c8b565b95945050505050565b600082601f8301126145d357600080fd5b81516145e16140f8826140c2565b8181528460208386010111156145f657600080fd5b6109c6826020830160208701613c67565b6000806040838503121561461a57600080fd5b825161462581613d74565b602084015190925067ffffffffffffffff81111561464257600080fd5b614182858286016145c2565b6000806040838503121561466157600080fd5b82519150602083015167ffffffffffffffff81111561464257600080fd5b60006020828403121561469157600080fd5b5051919050565b600080604083850312156146ab57600080fd5b505080516020909101519092909150565b600082601f8301126146cd57600080fd5b815160206146dd6140f88361428a565b82815260059290921b840181019181810190868411156146fc57600080fd5b8286015b8481101561439257805167ffffffffffffffff808211156147215760008081fd5b8189019150604080601f19848d0301121561473c5760008081fd5b614744614045565b83880151815290830151908282111561475d5760008081fd5b61476b8c89848701016145c2565b818901528652505050918301918301614700565b60006020828403121561479157600080fd5b815167ffffffffffffffff808211156147a957600080fd5b90830190606082860312156147bd57600080fd5b6147c561406e565b8251828111156147d457600080fd5b6147e0878286016145c2565b8252506020830151828111156147f557600080fd5b614801878286016146bc565b602083015250604083015192506003831061481b57600080fd5b6040810192909252509392505050565b60006020828403121561483d57600080fd5b815167ffffffffffffffff81111561485457600080fd5b6109c6848285016145c2565b6060815260006148736060830186613c8b565b82810360208401526148858186613c8b565b9150506109c66040830184613d16565b6040815260006148a86040830185613c8b565b90508260208301529392505050565b6000608082840312156148c957600080fd5b6040516080810167ffffffffffffffff82821081831117156148ed576148ed614016565b8160405282935084518352602085015191506006821061490c57600080fd5b816020840152604085015191508082111561492657600080fd5b614932868387016145c2565b6040840152606085015191508082111561494b57600080fd5b50614958858286016145c2565b6060830152505092915050565b60006020828403121561497757600080fd5b815167ffffffffffffffff81111561498e57600080fd5b6109c6848285016148b7565b6060815260006149ad6060830186613c8b565b600685106149bd576149bd613ce7565b84602084015282810360408401526149d58185613c8b565b9695505050505050565b6040815260006149f26040830185613c8b565b905073ffffffffffffffffffffffffffffffffffffffff831660208301529392505050565b600080600060608486031215614a2c57600080fd5b8351614a3781613d74565b602085015190935067ffffffffffffffff811115614a5457600080fd5b614a60868287016145c2565b925050604084015190509250925092565b600060208284031215614a8357600080fd5b815167ffffffffffffffff80821115614a9b57600080fd5b9083019060608286031215614aaf57600080fd5b614ab761406e565b825182811115614ac657600080fd5b614ad2878286016146bc565b825250602083015160208201526040830151604082015280935050505092915050565b60006020808385031215614b0857600080fd5b825167ffffffffffffffff811115614b1f57600080fd5b8301601f81018513614b3057600080fd5b8051614b3e6140f88261428a565b81815260059190911b82018301908381019087831115614b5d57600080fd5b928401925b82841015614b7b57835182529284019290840190614b62565b979650505050505050565b60006020808385031215614b9957600080fd5b825167ffffffffffffffff80821115614bb157600080fd5b818501915085601f830112614bc557600080fd5b8151614bd36140f88261428a565b81815260059190911b83018401908481019088831115614bf257600080fd5b8585015b83811015614c2a57805185811115614c0e5760008081fd5b614c1c8b89838a01016148b7565b845250918601918601614bf6565b5098975050505050505050565b60048110613d2657613d26613ce7565b600081518084526020808501808196508360051b8101915082860160005b85811015614ca35782840389528151805185528501516040868601819052614c8f81870183613c8b565b9a87019a9550505090840190600101614c65565b5091979650505050505050565b6000610180614cc0838751614c37565b6020860151614cd3602085018215159052565b506040860151614ce7604085018215159052565b506060860151614cfb606085018215159052565b506080860151614d23608085018273ffffffffffffffffffffffffffffffffffffffff169052565b5060a0860151614d4b60a085018273ffffffffffffffffffffffffffffffffffffffff169052565b5060c0860151614d7360c085018273ffffffffffffffffffffffffffffffffffffffff169052565b5060e086810151908401526101008087015190840152610120808701519084015273ffffffffffffffffffffffffffffffffffffffff8516610140840152806101608401526149d581840185614c4756fea2646970667358221220d0c7dac5f95a838db3de11f5024ffd7d80a9e4596e8caaf4c9009d0ad0f26fcd64736f6c634300081300330000000000000000000000007a7bc5640637b74abecc6e908ed548ee1969c948000000000000000000000000e8ab207a5c21162db1ee75e378a92c82d550a8d100000000000000000000000080e012ca980e1d3993d8bee99828619e5532b12b000000000000000000000000ee19ace40db1ba8b0dbbc5e57061a3268bd08c6a00000000000000000000000043c1c831d370f36149183d31fdac50b131289949000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "nonce": "0x7dd", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x828ddeda633112c57ba796830900c7292b8de35e2360fbaec8b2f6f779fc7856", + "transactionType": "CREATE", + "contractName": "HooksFactory", + "contractAddress": "0xeDa0dBB8fc6362A6c1508b42aA2B1ba00Cd0d891", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x61e81", + "value": "0x0", + "data": "0x608060405234801561001057600080fd5b506104a7806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c806391e7e5b414610030575b600080fd5b61004361003e366004610315565b61006c565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6000808260405160200161008291815260200190565b6040516020818303038152906040528051906020012060001c905060005b6105dc8110156101385760006100b68284610426565b8751602089012090915060006100cc8383610142565b9050600073800000000000000000000000000000000000000089146100f25760016100f5565b60025b60ff1690506003609e83901c168103610121576101146000858c610158565b965050505050505061013b565b50505050808061013090610439565b9150506100a0565b50505b9392505050565b600061014f8383306102bc565b90505b92915050565b6000834710156101c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f437265617465323a20696e73756666696369656e742062616c616e636500000060448201526064015b60405180910390fd5b8151600003610234576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f437265617465323a2062797465636f6465206c656e677468206973207a65726f60448201526064016101c0565b8282516020840186f5905073ffffffffffffffffffffffffffffffffffffffff811661013b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f437265617465323a204661696c6564206f6e206465706c6f790000000000000060448201526064016101c0565b6000604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060006060848603121561032a57600080fd5b833567ffffffffffffffff8082111561034257600080fd5b818601915086601f83011261035657600080fd5b813581811115610368576103686102e6565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156103ae576103ae6102e6565b816040528281528960208487010111156103c757600080fd5b82602086016020830137600060208483010152809750505050505060208401359150604084013590509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820180821115610152576101526103f7565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361046a5761046a6103f7565b506001019056fea2646970667358221220b9424546b77d6959490d75f2d31169e7b2dd7e680376ab4166cc87ad4d0349cf64736f6c63430008130033", + "nonce": "0x7de", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x9206432724c9b48a7774cad6710672b22f14df585b41c22c119c392c00abb3bd", + "transactionType": "CALL", + "contractName": "HooksFactory", + "contractAddress": "0xeDa0dBB8fc6362A6c1508b42aA2B1ba00Cd0d891", + "function": "deploy(bytes,uint256,uint256):(address)", + "arguments": [ + "0x60806040523480156200001157600080fd5b5060405162000f8838038062000f888339810160408190526200003491620001d1565b808080620000536001600160a01b038216637965db0b60e01b620000e5565b62000096576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b038316908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a250505050620001fc565b6000620000f2836200010d565b801562000106575062000106838362000146565b9392505050565b600062000122826301ffc9a760e01b62000146565b80156200014057506200013e826001600160e01b031962000146565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d91506000519050828015620001b9575060208210155b8015620001c65750600081115b979650505050505050565b600060208284031215620001e457600080fd5b81516001600160a01b03811681146200010657600080fd5b610d7c806200020c6000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806319129e5a1461005157806334e5d29f146100665780635260a98c14610090578063a913b881146100b2575b600080fd5b61006461005f3660046108c2565b6100c5565b005b610079610074366004610928565b610229565b604051610087929190610a09565b60405180910390f35b6100a361009e366004610a31565b610328565b60405161008793929190610a88565b6100646100c0366004610928565b6103ca565b60006100d1813361040d565b610115576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b61015573ffffffffffffffffffffffffffffffffffffffff83167f7965db0b000000000000000000000000000000000000000000000000000000006104b0565b6101bb576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c000000000000000000000000000000000000604482015260640161010c565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050565b600060607f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db610258813361040d565b610297576040517f75000dc00000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440161010c565b60006102a585870187610b92565b90506102b481600001516104cc565b6102c6816000015182602001516105df565b600194509250833073ffffffffffffffffffffffffffffffffffffffff167fdfd1fe8825f45c847f436243dea4246c2ed6c29b2ee09d385de7a3049566b69788888760405161031793929190610c39565b60405180910390a350509250929050565b6000606060007f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db610359813361040d565b610398576040517f75000dc00000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440161010c565b6040517fcce14c2300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61040982828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506104cc92505050565b5050565b600080546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff8481166024830152909116906391d1485490604401602060405180830381865afa158015610485573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a99190610c9f565b9392505050565b60006104bb83610769565b80156104a957506104a983836107ce565b6000818060200190518101906104e29190610d11565b805190915073ffffffffffffffffffffffffffffffffffffffff8116610534576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61057473ffffffffffffffffffffffffffffffffffffffff82167f80ac58cd000000000000000000000000000000000000000000000000000000006104b0565b6105da576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f4945524337323100000000000000000000000000000000000000000000000000604482015260640161010c565b505050565b60606000838060200190518101906105f79190610d11565b905060008380602001905181019061060f9190610d11565b805190915073ffffffffffffffffffffffffffffffffffffffff16610660576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815181516040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91821660048201529116906370a0823190602401602060405180830381865afa1580156106d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f49190610d2d565b60000361075157815181516040517fe9dee8af00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff92831660048201529116602482015260440161010c565b50506040805160208101909152600081529392505050565b6000610795827f01ffc9a7000000000000000000000000000000000000000000000000000000006107ce565b80156107c857506107c6827fffffffff000000000000000000000000000000000000000000000000000000006107ce565b155b92915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015610886575060208210155b80156108925750600081115b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff811681146108bf57600080fd5b50565b6000602082840312156108d457600080fd5b81356104a98161089d565b60008083601f8401126108f157600080fd5b50813567ffffffffffffffff81111561090957600080fd5b60208301915083602082850101111561092157600080fd5b9250929050565b6000806020838503121561093b57600080fd5b823567ffffffffffffffff81111561095257600080fd5b61095e858286016108df565b90969095509350505050565b600281106109a1577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b6000815180845260005b818110156109cb576020818501810151868301820152016109af565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b610a13818461096a565b604060208201526000610a2960408301846109a5565b949350505050565b600080600060408486031215610a4657600080fd5b833567ffffffffffffffff811115610a5d57600080fd5b610a69868287016108df565b9094509250506020840135610a7d8161089d565b809150509250925092565b610a92818561096a565b606060208201526000610aa860608301856109a5565b9050826040830152949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112610af857600080fd5b813567ffffffffffffffff80821115610b1357610b13610ab8565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715610b5957610b59610ab8565b81604052838152866020858801011115610b7257600080fd5b836020870160208301376000602085830101528094505050505092915050565b600060208284031215610ba457600080fd5b813567ffffffffffffffff80821115610bbc57600080fd5b9083019060408286031215610bd057600080fd5b604051604081018181108382111715610beb57610beb610ab8565b604052823582811115610bfd57600080fd5b610c0987828601610ae7565b825250602083013582811115610c1e57600080fd5b610c2a87828601610ae7565b60208301525095945050505050565b604081528260408201528284606083013760006060848301015260007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011682016060838203016020840152610c9560608201856109a5565b9695505050505050565b600060208284031215610cb157600080fd5b815180151581146104a957600080fd5b600060208284031215610cd357600080fd5b6040516020810181811067ffffffffffffffff82111715610cf657610cf6610ab8565b80604052508091508251610d098161089d565b905292915050565b600060208284031215610d2357600080fd5b6104a98383610cc1565b600060208284031215610d3f57600080fd5b505191905056fea2646970667358221220ac089ae2ad4a08453a0e62d5ef88cd54351c5b108b99b3628d8b974af06257d264736f6c63430008130033000000000000000000000000bd132e42baafe3648170770f2d45dba59166e06d", + "730750818665451459101842416358141509827966271488", + "1702012200" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xeda0dbb8fc6362a6c1508b42aa2b1ba00cd0d891", + "gas": "0x11b8ab", + "value": "0x0", + "data": "0x91e7e5b400000000000000000000000000000000000000000000000000000000000000600000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006572a5280000000000000000000000000000000000000000000000000000000000000fa860806040523480156200001157600080fd5b5060405162000f8838038062000f888339810160408190526200003491620001d1565b808080620000536001600160a01b038216637965db0b60e01b620000e5565b62000096576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b038316908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a250505050620001fc565b6000620000f2836200010d565b801562000106575062000106838362000146565b9392505050565b600062000122826301ffc9a760e01b62000146565b80156200014057506200013e826001600160e01b031962000146565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d91506000519050828015620001b9575060208210155b8015620001c65750600081115b979650505050505050565b600060208284031215620001e457600080fd5b81516001600160a01b03811681146200010657600080fd5b610d7c806200020c6000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806319129e5a1461005157806334e5d29f146100665780635260a98c14610090578063a913b881146100b2575b600080fd5b61006461005f3660046108c2565b6100c5565b005b610079610074366004610928565b610229565b604051610087929190610a09565b60405180910390f35b6100a361009e366004610a31565b610328565b60405161008793929190610a88565b6100646100c0366004610928565b6103ca565b60006100d1813361040d565b610115576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b61015573ffffffffffffffffffffffffffffffffffffffff83167f7965db0b000000000000000000000000000000000000000000000000000000006104b0565b6101bb576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c000000000000000000000000000000000000604482015260640161010c565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050565b600060607f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db610258813361040d565b610297576040517f75000dc00000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440161010c565b60006102a585870187610b92565b90506102b481600001516104cc565b6102c6816000015182602001516105df565b600194509250833073ffffffffffffffffffffffffffffffffffffffff167fdfd1fe8825f45c847f436243dea4246c2ed6c29b2ee09d385de7a3049566b69788888760405161031793929190610c39565b60405180910390a350509250929050565b6000606060007f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db610359813361040d565b610398576040517f75000dc00000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440161010c565b6040517fcce14c2300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61040982828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506104cc92505050565b5050565b600080546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff8481166024830152909116906391d1485490604401602060405180830381865afa158015610485573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a99190610c9f565b9392505050565b60006104bb83610769565b80156104a957506104a983836107ce565b6000818060200190518101906104e29190610d11565b805190915073ffffffffffffffffffffffffffffffffffffffff8116610534576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61057473ffffffffffffffffffffffffffffffffffffffff82167f80ac58cd000000000000000000000000000000000000000000000000000000006104b0565b6105da576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f4945524337323100000000000000000000000000000000000000000000000000604482015260640161010c565b505050565b60606000838060200190518101906105f79190610d11565b905060008380602001905181019061060f9190610d11565b805190915073ffffffffffffffffffffffffffffffffffffffff16610660576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815181516040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91821660048201529116906370a0823190602401602060405180830381865afa1580156106d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f49190610d2d565b60000361075157815181516040517fe9dee8af00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff92831660048201529116602482015260440161010c565b50506040805160208101909152600081529392505050565b6000610795827f01ffc9a7000000000000000000000000000000000000000000000000000000006107ce565b80156107c857506107c6827fffffffff000000000000000000000000000000000000000000000000000000006107ce565b155b92915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015610886575060208210155b80156108925750600081115b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff811681146108bf57600080fd5b50565b6000602082840312156108d457600080fd5b81356104a98161089d565b60008083601f8401126108f157600080fd5b50813567ffffffffffffffff81111561090957600080fd5b60208301915083602082850101111561092157600080fd5b9250929050565b6000806020838503121561093b57600080fd5b823567ffffffffffffffff81111561095257600080fd5b61095e858286016108df565b90969095509350505050565b600281106109a1577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b6000815180845260005b818110156109cb576020818501810151868301820152016109af565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b610a13818461096a565b604060208201526000610a2960408301846109a5565b949350505050565b600080600060408486031215610a4657600080fd5b833567ffffffffffffffff811115610a5d57600080fd5b610a69868287016108df565b9094509250506020840135610a7d8161089d565b809150509250925092565b610a92818561096a565b606060208201526000610aa860608301856109a5565b9050826040830152949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112610af857600080fd5b813567ffffffffffffffff80821115610b1357610b13610ab8565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715610b5957610b59610ab8565b81604052838152866020858801011115610b7257600080fd5b836020870160208301376000602085830101528094505050505092915050565b600060208284031215610ba457600080fd5b813567ffffffffffffffff80821115610bbc57600080fd5b9083019060408286031215610bd057600080fd5b604051604081018181108382111715610beb57610beb610ab8565b604052823582811115610bfd57600080fd5b610c0987828601610ae7565b825250602083013582811115610c1e57600080fd5b610c2a87828601610ae7565b60208301525095945050505050565b604081528260408201528284606083013760006060848301015260007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011682016060838203016020840152610c9560608201856109a5565b9695505050505050565b600060208284031215610cb157600080fd5b815180151581146104a957600080fd5b600060208284031215610cd357600080fd5b6040516020810181811067ffffffffffffffff82111715610cf657610cf6610ab8565b80604052508091508251610d098161089d565b905292915050565b600060208284031215610d2357600080fd5b6104a98383610cc1565b600060208284031215610d3f57600080fd5b505191905056fea2646970667358221220ac089ae2ad4a08453a0e62d5ef88cd54351c5b108b99b3628d8b974af06257d264736f6c63430008130033000000000000000000000000bd132e42baafe3648170770f2d45dba59166e06d000000000000000000000000000000000000000000000000", + "nonce": "0x7df", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE2", + "address": "0x86831b4A5D9222F120acF3D0a6C6d3f4Fa7C1268", + "initCode": "60806040523480156200001157600080fd5b5060405162000f8838038062000f888339810160408190526200003491620001d1565b808080620000536001600160a01b038216637965db0b60e01b620000e5565b62000096576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b038316908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a250505050620001fc565b6000620000f2836200010d565b801562000106575062000106838362000146565b9392505050565b600062000122826301ffc9a760e01b62000146565b80156200014057506200013e826001600160e01b031962000146565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d91506000519050828015620001b9575060208210155b8015620001c65750600081115b979650505050505050565b600060208284031215620001e457600080fd5b81516001600160a01b03811681146200010657600080fd5b610d7c806200020c6000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806319129e5a1461005157806334e5d29f146100665780635260a98c14610090578063a913b881146100b2575b600080fd5b61006461005f3660046108c2565b6100c5565b005b610079610074366004610928565b610229565b604051610087929190610a09565b60405180910390f35b6100a361009e366004610a31565b610328565b60405161008793929190610a88565b6100646100c0366004610928565b6103ca565b60006100d1813361040d565b610115576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b61015573ffffffffffffffffffffffffffffffffffffffff83167f7965db0b000000000000000000000000000000000000000000000000000000006104b0565b6101bb576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c000000000000000000000000000000000000604482015260640161010c565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050565b600060607f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db610258813361040d565b610297576040517f75000dc00000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440161010c565b60006102a585870187610b92565b90506102b481600001516104cc565b6102c6816000015182602001516105df565b600194509250833073ffffffffffffffffffffffffffffffffffffffff167fdfd1fe8825f45c847f436243dea4246c2ed6c29b2ee09d385de7a3049566b69788888760405161031793929190610c39565b60405180910390a350509250929050565b6000606060007f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db610359813361040d565b610398576040517f75000dc00000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440161010c565b6040517fcce14c2300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61040982828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506104cc92505050565b5050565b600080546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff8481166024830152909116906391d1485490604401602060405180830381865afa158015610485573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a99190610c9f565b9392505050565b60006104bb83610769565b80156104a957506104a983836107ce565b6000818060200190518101906104e29190610d11565b805190915073ffffffffffffffffffffffffffffffffffffffff8116610534576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61057473ffffffffffffffffffffffffffffffffffffffff82167f80ac58cd000000000000000000000000000000000000000000000000000000006104b0565b6105da576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f4945524337323100000000000000000000000000000000000000000000000000604482015260640161010c565b505050565b60606000838060200190518101906105f79190610d11565b905060008380602001905181019061060f9190610d11565b805190915073ffffffffffffffffffffffffffffffffffffffff16610660576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815181516040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91821660048201529116906370a0823190602401602060405180830381865afa1580156106d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f49190610d2d565b60000361075157815181516040517fe9dee8af00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff92831660048201529116602482015260440161010c565b50506040805160208101909152600081529392505050565b6000610795827f01ffc9a7000000000000000000000000000000000000000000000000000000006107ce565b80156107c857506107c6827fffffffff000000000000000000000000000000000000000000000000000000006107ce565b155b92915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015610886575060208210155b80156108925750600081115b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff811681146108bf57600080fd5b50565b6000602082840312156108d457600080fd5b81356104a98161089d565b60008083601f8401126108f157600080fd5b50813567ffffffffffffffff81111561090957600080fd5b60208301915083602082850101111561092157600080fd5b9250929050565b6000806020838503121561093b57600080fd5b823567ffffffffffffffff81111561095257600080fd5b61095e858286016108df565b90969095509350505050565b600281106109a1577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b6000815180845260005b818110156109cb576020818501810151868301820152016109af565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b610a13818461096a565b604060208201526000610a2960408301846109a5565b949350505050565b600080600060408486031215610a4657600080fd5b833567ffffffffffffffff811115610a5d57600080fd5b610a69868287016108df565b9094509250506020840135610a7d8161089d565b809150509250925092565b610a92818561096a565b606060208201526000610aa860608301856109a5565b9050826040830152949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112610af857600080fd5b813567ffffffffffffffff80821115610b1357610b13610ab8565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715610b5957610b59610ab8565b81604052838152866020858801011115610b7257600080fd5b836020870160208301376000602085830101528094505050505092915050565b600060208284031215610ba457600080fd5b813567ffffffffffffffff80821115610bbc57600080fd5b9083019060408286031215610bd057600080fd5b604051604081018181108382111715610beb57610beb610ab8565b604052823582811115610bfd57600080fd5b610c0987828601610ae7565b825250602083013582811115610c1e57600080fd5b610c2a87828601610ae7565b60208301525095945050505050565b604081528260408201528284606083013760006060848301015260007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011682016060838203016020840152610c9560608201856109a5565b9695505050505050565b600060208284031215610cb157600080fd5b815180151581146104a957600080fd5b600060208284031215610cd357600080fd5b6040516020810181811067ffffffffffffffff82111715610cf657610cf6610ab8565b80604052508091508251610d098161089d565b905292915050565b600060208284031215610d2357600080fd5b6104a98383610cc1565b600060208284031215610d3f57600080fd5b505191905056fea2646970667358221220ac089ae2ad4a08453a0e62d5ef88cd54351c5b108b99b3628d8b974af06257d264736f6c63430008130033000000000000000000000000bd132e42baafe3648170770f2d45dba59166e06d" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0xda976994e9135aba7aea99be59688074366d7020913ef7ff79ef9fcba0a30003", + "transactionType": "CALL", + "contractName": "HooksFactory", + "contractAddress": "0xeDa0dBB8fc6362A6c1508b42aA2B1ba00Cd0d891", + "function": "deploy(bytes,uint256,uint256):(address)", + "arguments": [ + "0x60c06040523480156200001157600080fd5b506040516200182038038062001820833981016040819052620000349162000250565b828080620000536001600160a01b038216637965db0b60e01b62000147565b62000096576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b038316908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050506001600160a01b038116620001065760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0382166200012e5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b039081166080521660a052506200029a565b600062000154836200016f565b8015620001685750620001688383620001a8565b9392505050565b600062000184826301ffc9a760e01b620001a8565b8015620001a25750620001a0826001600160e01b0319620001a8565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d915060005190508280156200021b575060208210155b8015620002285750600081115b979650505050505050565b80516001600160a01b03811681146200024b57600080fd5b919050565b6000806000606084860312156200026657600080fd5b620002718462000233565b9250620002816020850162000233565b9150620002916040850162000233565b90509250925092565b60805160a051611559620002c7600039600081816101520152610e010152600061088101526115596000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80633d0aa6e51161005b5780633d0aa6e5146101185780635260a98c1461012b5780635ab6d0011461014d578063a913b8811461017457600080fd5b80630a5989761461008257806319129e5a146100e257806334e5d29f146100f7575b600080fd5b6100b8610090366004610f9c565b60016020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100f56100f0366004610fda565b610187565b005b61010a610105366004611040565b6102eb565b6040516100d9929190611121565b6100f5610126366004611149565b61038b565b61013e61013936600461116b565b610521565b6040516100d9939291906111c2565b6100b87f000000000000000000000000000000000000000000000000000000000000000081565b6100f5610182366004611040565b61077d565b600061019381336107c0565b6101d7576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b61021773ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000610863565b61027d576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c00000000000000000000000000000000000060448201526064016101ce565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050565b600060607f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db61031a81336107c0565b610359576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016101ce565b6040517f24baa24800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408051602080820183526000808352858152600390915291822060040154610100900460ff16610418576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f52657175657374206e6f7420666f756e6400000000000000000000000000000060448201526064016101ce565b6000848152600360208190526040909120015483101561046c575060408051808201909152601e81527f42616c616e6365206f6620546f6b656e206973206e6f7420656e6f75676800006020820152610471565b600191505b600084815260036020818152604080842080547fffffffffffffffffffffffff0000000000000000000000000000000000000000908116825560018201805482169055600282018054909116905592830193909355600490910180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000169055905161051b9186916105079186918691016111f2565b60405160208183030381529060405261087f565b50505050565b6000606060007f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db61055281336107c0565b610591576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016101ce565b73ffffffffffffffffffffffffffffffffffffffff85166105de576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61061e73ffffffffffffffffffffffffffffffffffffffff86167f2fa7bc9900000000000000000000000000000000000000000000000000000000610863565b610684576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f4943616c6c6261636b48616e646c65720000000000000000000000000000000060448201526064016101ce565b600061069287890189611310565b90506106a18160000151610a9f565b6106b381600001518260200151610ba4565b600081815260016020526040812080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8b1617905596509094509250848673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167f320acf383fac55c3eff3aad884406f0fa211a5c451266edd9de8151bb26b7054868c8c8a60405161076a94939291906113a1565b60405180910390a4505093509350939050565b6107bc82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610a9f92505050565b5050565b600080546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff8481166024830152909116906391d1485490604401602060405180830381865afa158015610838573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085c9190611403565b9392505050565b600061086e83610e68565b801561085c575061085c8383610ecd565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff8116331461090d576040517f5dc645bb00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff821660248201526044016101ce565b60008381526001602052604090205473ffffffffffffffffffffffffffffffffffffffff1661096b576040517fc88d34d7000000000000000000000000000000000000000000000000000000008152600481018490526024016101ce565b6000838152600160205260409081902054905173ffffffffffffffffffffffffffffffffffffffff9091169030907fb8da071166b4cdb339d32ac1c86452cf0ba046f8aeb8230c00d0ce19c173884c906109c89087908790611425565b60405180910390a3600083815260016020526040908190205490517f2fa7bc9900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690632fa7bc9990610a359086908690600401611425565b600060405180830381600087803b158015610a4f57600080fd5b505af1158015610a63573d6000803e3d6000fd5b505050600093845250506001602052506040902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b600081806020019051810190610ab5919061143e565b805190915073ffffffffffffffffffffffffffffffffffffffff16610b36576040517f7662892900000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f746f6b656e41646472657373206973203000000000000000000000000000000060448201526064016101ce565b80602001516000036107bc576040517f7662892900000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f62616c616e63655468726573686f6c642069732030000000000000000000000060448201526064016101ce565b606060008084806020019051810190610bbd919061143e565b9050600084806020019051810190610bd59190611478565b600280549192503091906000610bea836114c4565b9091555060405160609290921b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660208301526034820152605401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152828252805160209182012081840183526000808552835160c08101855233808252885173ffffffffffffffffffffffffffffffffffffffff908116838701908152895182168489019081528b8801516060860190815260808601878152600160a088018181528a8a5260039b8c9052988c9020975188549087167fffffffffffffffffffffffff0000000000000000000000000000000000000000918216178955945190880180549187169186169190911790559151600287018054918616919094161790925590519684019690965594516004928301805494511515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff921515929092167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000090951694909417179092558751875195517f3114f43a0000000000000000000000000000000000000000000000000000000081529182018490526024820192909252908316604482015292821660648401523060848401527f3d0aa6e50000000000000000000000000000000000000000000000000000000060a48401529296509194507f000000000000000000000000000000000000000000000000000000000000000090911690633114f43a9060c401600060405180830381600087803b158015610e4757600080fd5b505af1158015610e5b573d6000803e3d6000fd5b5050505050509250929050565b6000610e94827f01ffc9a700000000000000000000000000000000000000000000000000000000610ecd565b8015610ec75750610ec5827fffffffff00000000000000000000000000000000000000000000000000000000610ecd565b155b92915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015610f85575060208210155b8015610f915750600081115b979650505050505050565b600060208284031215610fae57600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610fd757600080fd5b50565b600060208284031215610fec57600080fd5b813561085c81610fb5565b60008083601f84011261100957600080fd5b50813567ffffffffffffffff81111561102157600080fd5b60208301915083602082850101111561103957600080fd5b9250929050565b6000806020838503121561105357600080fd5b823567ffffffffffffffff81111561106a57600080fd5b61107685828601610ff7565b90969095509350505050565b600281106110b9577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b6000815180845260005b818110156110e3576020818501810151868301820152016110c7565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b61112b8184611082565b60406020820152600061114160408301846110bd565b949350505050565b6000806040838503121561115c57600080fd5b50508035926020909101359150565b60008060006040848603121561118057600080fd5b833567ffffffffffffffff81111561119757600080fd5b6111a386828701610ff7565b90945092505060208401356111b781610fb5565b809150509250925092565b6111cc8185611082565b6060602082015260006111e260608301856110bd565b9050826040830152949350505050565b821515815260406020820152600061114160408301846110bd565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561125f5761125f61120d565b60405290565b600082601f83011261127657600080fd5b813567ffffffffffffffff808211156112915761129161120d565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156112d7576112d761120d565b816040528381528660208588010111156112f057600080fd5b836020870160208301376000602085830101528094505050505092915050565b60006020828403121561132257600080fd5b813567ffffffffffffffff8082111561133a57600080fd5b908301906040828603121561134e57600080fd5b61135661123c565b82358281111561136557600080fd5b61137187828601611265565b82525060208301358281111561138657600080fd5b61139287828601611265565b60208301525095945050505050565b848152606060208201528260608201528284608083013760006080848301015260007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011682016080838203016040840152610f9160808201856110bd565b60006020828403121561141557600080fd5b8151801515811461085c57600080fd5b82815260406020820152600061114160408301846110bd565b60006040828403121561145057600080fd5b61145861123c565b825161146381610fb5565b81526020928301519281019290925250919050565b60006020828403121561148a57600080fd5b6040516020810181811067ffffffffffffffff821117156114ad576114ad61120d565b60405282516114bb81610fb5565b81529392505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361151c577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b506001019056fea2646970667358221220d8b168046b7ea8ef58a98e4718a596bce0ccd4e82ab63c88943c3c5258310fb564736f6c63430008130033000000000000000000000000bd132e42baafe3648170770f2d45dba59166e06d00000000000000000000000004401ff04e6c01a8f1e5696ad6aa053c86b73cd300000000000000000000000077cbcc0e29e10f1eea24e0d109aab26c5b2abd88", + "365375409332725729550921208179070754913983135744", + "1702012200" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xeda0dbb8fc6362a6c1508b42aa2b1ba00cd0d891", + "gas": "0x1af3fa", + "value": "0x0", + "data": "0x91e7e5b400000000000000000000000000000000000000000000000000000000000000600000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006572a528000000000000000000000000000000000000000000000000000000000000188060c06040523480156200001157600080fd5b506040516200182038038062001820833981016040819052620000349162000250565b828080620000536001600160a01b038216637965db0b60e01b62000147565b62000096576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b038316908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050506001600160a01b038116620001065760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0382166200012e5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b039081166080521660a052506200029a565b600062000154836200016f565b8015620001685750620001688383620001a8565b9392505050565b600062000184826301ffc9a760e01b620001a8565b8015620001a25750620001a0826001600160e01b0319620001a8565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d915060005190508280156200021b575060208210155b8015620002285750600081115b979650505050505050565b80516001600160a01b03811681146200024b57600080fd5b919050565b6000806000606084860312156200026657600080fd5b620002718462000233565b9250620002816020850162000233565b9150620002916040850162000233565b90509250925092565b60805160a051611559620002c7600039600081816101520152610e010152600061088101526115596000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80633d0aa6e51161005b5780633d0aa6e5146101185780635260a98c1461012b5780635ab6d0011461014d578063a913b8811461017457600080fd5b80630a5989761461008257806319129e5a146100e257806334e5d29f146100f7575b600080fd5b6100b8610090366004610f9c565b60016020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100f56100f0366004610fda565b610187565b005b61010a610105366004611040565b6102eb565b6040516100d9929190611121565b6100f5610126366004611149565b61038b565b61013e61013936600461116b565b610521565b6040516100d9939291906111c2565b6100b87f000000000000000000000000000000000000000000000000000000000000000081565b6100f5610182366004611040565b61077d565b600061019381336107c0565b6101d7576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b61021773ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000610863565b61027d576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c00000000000000000000000000000000000060448201526064016101ce565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050565b600060607f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db61031a81336107c0565b610359576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016101ce565b6040517f24baa24800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408051602080820183526000808352858152600390915291822060040154610100900460ff16610418576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f52657175657374206e6f7420666f756e6400000000000000000000000000000060448201526064016101ce565b6000848152600360208190526040909120015483101561046c575060408051808201909152601e81527f42616c616e6365206f6620546f6b656e206973206e6f7420656e6f75676800006020820152610471565b600191505b600084815260036020818152604080842080547fffffffffffffffffffffffff0000000000000000000000000000000000000000908116825560018201805482169055600282018054909116905592830193909355600490910180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000169055905161051b9186916105079186918691016111f2565b60405160208183030381529060405261087f565b50505050565b6000606060007f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db61055281336107c0565b610591576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016101ce565b73ffffffffffffffffffffffffffffffffffffffff85166105de576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61061e73ffffffffffffffffffffffffffffffffffffffff86167f2fa7bc9900000000000000000000000000000000000000000000000000000000610863565b610684576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f4943616c6c6261636b48616e646c65720000000000000000000000000000000060448201526064016101ce565b600061069287890189611310565b90506106a18160000151610a9f565b6106b381600001518260200151610ba4565b600081815260016020526040812080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8b1617905596509094509250848673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167f320acf383fac55c3eff3aad884406f0fa211a5c451266edd9de8151bb26b7054868c8c8a60405161076a94939291906113a1565b60405180910390a4505093509350939050565b6107bc82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610a9f92505050565b5050565b600080546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff8481166024830152909116906391d1485490604401602060405180830381865afa158015610838573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085c9190611403565b9392505050565b600061086e83610e68565b801561085c575061085c8383610ecd565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff8116331461090d576040517f5dc645bb00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff821660248201526044016101ce565b60008381526001602052604090205473ffffffffffffffffffffffffffffffffffffffff1661096b576040517fc88d34d7000000000000000000000000000000000000000000000000000000008152600481018490526024016101ce565b6000838152600160205260409081902054905173ffffffffffffffffffffffffffffffffffffffff9091169030907fb8da071166b4cdb339d32ac1c86452cf0ba046f8aeb8230c00d0ce19c173884c906109c89087908790611425565b60405180910390a3600083815260016020526040908190205490517f2fa7bc9900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690632fa7bc9990610a359086908690600401611425565b600060405180830381600087803b158015610a4f57600080fd5b505af1158015610a63573d6000803e3d6000fd5b505050600093845250506001602052506040902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b600081806020019051810190610ab5919061143e565b805190915073ffffffffffffffffffffffffffffffffffffffff16610b36576040517f7662892900000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f746f6b656e41646472657373206973203000000000000000000000000000000060448201526064016101ce565b80602001516000036107bc576040517f7662892900000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f62616c616e63655468726573686f6c642069732030000000000000000000000060448201526064016101ce565b606060008084806020019051810190610bbd919061143e565b9050600084806020019051810190610bd59190611478565b600280549192503091906000610bea836114c4565b9091555060405160609290921b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660208301526034820152605401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152828252805160209182012081840183526000808552835160c08101855233808252885173ffffffffffffffffffffffffffffffffffffffff908116838701908152895182168489019081528b8801516060860190815260808601878152600160a088018181528a8a5260039b8c9052988c9020975188549087167fffffffffffffffffffffffff0000000000000000000000000000000000000000918216178955945190880180549187169186169190911790559151600287018054918616919094161790925590519684019690965594516004928301805494511515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff921515929092167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000090951694909417179092558751875195517f3114f43a0000000000000000000000000000000000000000000000000000000081529182018490526024820192909252908316604482015292821660648401523060848401527f3d0aa6e50000000000000000000000000000000000000000000000000000000060a48401529296509194507f000000000000000000000000000000000000000000000000000000000000000090911690633114f43a9060c401600060405180830381600087803b158015610e4757600080fd5b505af1158015610e5b573d6000803e3d6000fd5b5050505050509250929050565b6000610e94827f01ffc9a700000000000000000000000000000000000000000000000000000000610ecd565b8015610ec75750610ec5827fffffffff00000000000000000000000000000000000000000000000000000000610ecd565b155b92915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015610f85575060208210155b8015610f915750600081115b979650505050505050565b600060208284031215610fae57600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610fd757600080fd5b50565b600060208284031215610fec57600080fd5b813561085c81610fb5565b60008083601f84011261100957600080fd5b50813567ffffffffffffffff81111561102157600080fd5b60208301915083602082850101111561103957600080fd5b9250929050565b6000806020838503121561105357600080fd5b823567ffffffffffffffff81111561106a57600080fd5b61107685828601610ff7565b90969095509350505050565b600281106110b9577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b6000815180845260005b818110156110e3576020818501810151868301820152016110c7565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b61112b8184611082565b60406020820152600061114160408301846110bd565b949350505050565b6000806040838503121561115c57600080fd5b50508035926020909101359150565b60008060006040848603121561118057600080fd5b833567ffffffffffffffff81111561119757600080fd5b6111a386828701610ff7565b90945092505060208401356111b781610fb5565b809150509250925092565b6111cc8185611082565b6060602082015260006111e260608301856110bd565b9050826040830152949350505050565b821515815260406020820152600061114160408301846110bd565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561125f5761125f61120d565b60405290565b600082601f83011261127657600080fd5b813567ffffffffffffffff808211156112915761129161120d565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156112d7576112d761120d565b816040528381528660208588010111156112f057600080fd5b836020870160208301376000602085830101528094505050505092915050565b60006020828403121561132257600080fd5b813567ffffffffffffffff8082111561133a57600080fd5b908301906040828603121561134e57600080fd5b61135661123c565b82358281111561136557600080fd5b61137187828601611265565b82525060208301358281111561138657600080fd5b61139287828601611265565b60208301525095945050505050565b848152606060208201528260608201528284608083013760006080848301015260007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011682016080838203016040840152610f9160808201856110bd565b60006020828403121561141557600080fd5b8151801515811461085c57600080fd5b82815260406020820152600061114160408301846110bd565b60006040828403121561145057600080fd5b61145861123c565b825161146381610fb5565b81526020928301519281019290925250919050565b60006020828403121561148a57600080fd5b6040516020810181811067ffffffffffffffff821117156114ad576114ad61120d565b60405282516114bb81610fb5565b81529392505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361151c577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b506001019056fea2646970667358221220d8b168046b7ea8ef58a98e4718a596bce0ccd4e82ab63c88943c3c5258310fb564736f6c63430008130033000000000000000000000000bd132e42baafe3648170770f2d45dba59166e06d00000000000000000000000004401ff04e6c01a8f1e5696ad6aa053c86b73cd300000000000000000000000077cbcc0e29e10f1eea24e0d109aab26c5b2abd88", + "nonce": "0x7e0", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE2", + "address": "0x4d892B952A2Fd7941f02F0C531d33BDa1fD5b28a", + "initCode": "60c06040523480156200001157600080fd5b506040516200182038038062001820833981016040819052620000349162000250565b828080620000536001600160a01b038216637965db0b60e01b62000147565b62000096576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b038316908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050506001600160a01b038116620001065760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0382166200012e5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b039081166080521660a052506200029a565b600062000154836200016f565b8015620001685750620001688383620001a8565b9392505050565b600062000184826301ffc9a760e01b620001a8565b8015620001a25750620001a0826001600160e01b0319620001a8565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d915060005190508280156200021b575060208210155b8015620002285750600081115b979650505050505050565b80516001600160a01b03811681146200024b57600080fd5b919050565b6000806000606084860312156200026657600080fd5b620002718462000233565b9250620002816020850162000233565b9150620002916040850162000233565b90509250925092565b60805160a051611559620002c7600039600081816101520152610e010152600061088101526115596000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80633d0aa6e51161005b5780633d0aa6e5146101185780635260a98c1461012b5780635ab6d0011461014d578063a913b8811461017457600080fd5b80630a5989761461008257806319129e5a146100e257806334e5d29f146100f7575b600080fd5b6100b8610090366004610f9c565b60016020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100f56100f0366004610fda565b610187565b005b61010a610105366004611040565b6102eb565b6040516100d9929190611121565b6100f5610126366004611149565b61038b565b61013e61013936600461116b565b610521565b6040516100d9939291906111c2565b6100b87f000000000000000000000000000000000000000000000000000000000000000081565b6100f5610182366004611040565b61077d565b600061019381336107c0565b6101d7576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b61021773ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000610863565b61027d576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c00000000000000000000000000000000000060448201526064016101ce565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050565b600060607f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db61031a81336107c0565b610359576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016101ce565b6040517f24baa24800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408051602080820183526000808352858152600390915291822060040154610100900460ff16610418576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f52657175657374206e6f7420666f756e6400000000000000000000000000000060448201526064016101ce565b6000848152600360208190526040909120015483101561046c575060408051808201909152601e81527f42616c616e6365206f6620546f6b656e206973206e6f7420656e6f75676800006020820152610471565b600191505b600084815260036020818152604080842080547fffffffffffffffffffffffff0000000000000000000000000000000000000000908116825560018201805482169055600282018054909116905592830193909355600490910180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000169055905161051b9186916105079186918691016111f2565b60405160208183030381529060405261087f565b50505050565b6000606060007f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db61055281336107c0565b610591576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016101ce565b73ffffffffffffffffffffffffffffffffffffffff85166105de576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61061e73ffffffffffffffffffffffffffffffffffffffff86167f2fa7bc9900000000000000000000000000000000000000000000000000000000610863565b610684576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f4943616c6c6261636b48616e646c65720000000000000000000000000000000060448201526064016101ce565b600061069287890189611310565b90506106a18160000151610a9f565b6106b381600001518260200151610ba4565b600081815260016020526040812080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8b1617905596509094509250848673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167f320acf383fac55c3eff3aad884406f0fa211a5c451266edd9de8151bb26b7054868c8c8a60405161076a94939291906113a1565b60405180910390a4505093509350939050565b6107bc82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610a9f92505050565b5050565b600080546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff8481166024830152909116906391d1485490604401602060405180830381865afa158015610838573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085c9190611403565b9392505050565b600061086e83610e68565b801561085c575061085c8383610ecd565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff8116331461090d576040517f5dc645bb00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff821660248201526044016101ce565b60008381526001602052604090205473ffffffffffffffffffffffffffffffffffffffff1661096b576040517fc88d34d7000000000000000000000000000000000000000000000000000000008152600481018490526024016101ce565b6000838152600160205260409081902054905173ffffffffffffffffffffffffffffffffffffffff9091169030907fb8da071166b4cdb339d32ac1c86452cf0ba046f8aeb8230c00d0ce19c173884c906109c89087908790611425565b60405180910390a3600083815260016020526040908190205490517f2fa7bc9900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690632fa7bc9990610a359086908690600401611425565b600060405180830381600087803b158015610a4f57600080fd5b505af1158015610a63573d6000803e3d6000fd5b505050600093845250506001602052506040902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b600081806020019051810190610ab5919061143e565b805190915073ffffffffffffffffffffffffffffffffffffffff16610b36576040517f7662892900000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f746f6b656e41646472657373206973203000000000000000000000000000000060448201526064016101ce565b80602001516000036107bc576040517f7662892900000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f62616c616e63655468726573686f6c642069732030000000000000000000000060448201526064016101ce565b606060008084806020019051810190610bbd919061143e565b9050600084806020019051810190610bd59190611478565b600280549192503091906000610bea836114c4565b9091555060405160609290921b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660208301526034820152605401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152828252805160209182012081840183526000808552835160c08101855233808252885173ffffffffffffffffffffffffffffffffffffffff908116838701908152895182168489019081528b8801516060860190815260808601878152600160a088018181528a8a5260039b8c9052988c9020975188549087167fffffffffffffffffffffffff0000000000000000000000000000000000000000918216178955945190880180549187169186169190911790559151600287018054918616919094161790925590519684019690965594516004928301805494511515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff921515929092167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000090951694909417179092558751875195517f3114f43a0000000000000000000000000000000000000000000000000000000081529182018490526024820192909252908316604482015292821660648401523060848401527f3d0aa6e50000000000000000000000000000000000000000000000000000000060a48401529296509194507f000000000000000000000000000000000000000000000000000000000000000090911690633114f43a9060c401600060405180830381600087803b158015610e4757600080fd5b505af1158015610e5b573d6000803e3d6000fd5b5050505050509250929050565b6000610e94827f01ffc9a700000000000000000000000000000000000000000000000000000000610ecd565b8015610ec75750610ec5827fffffffff00000000000000000000000000000000000000000000000000000000610ecd565b155b92915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015610f85575060208210155b8015610f915750600081115b979650505050505050565b600060208284031215610fae57600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610fd757600080fd5b50565b600060208284031215610fec57600080fd5b813561085c81610fb5565b60008083601f84011261100957600080fd5b50813567ffffffffffffffff81111561102157600080fd5b60208301915083602082850101111561103957600080fd5b9250929050565b6000806020838503121561105357600080fd5b823567ffffffffffffffff81111561106a57600080fd5b61107685828601610ff7565b90969095509350505050565b600281106110b9577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b6000815180845260005b818110156110e3576020818501810151868301820152016110c7565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b61112b8184611082565b60406020820152600061114160408301846110bd565b949350505050565b6000806040838503121561115c57600080fd5b50508035926020909101359150565b60008060006040848603121561118057600080fd5b833567ffffffffffffffff81111561119757600080fd5b6111a386828701610ff7565b90945092505060208401356111b781610fb5565b809150509250925092565b6111cc8185611082565b6060602082015260006111e260608301856110bd565b9050826040830152949350505050565b821515815260406020820152600061114160408301846110bd565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561125f5761125f61120d565b60405290565b600082601f83011261127657600080fd5b813567ffffffffffffffff808211156112915761129161120d565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156112d7576112d761120d565b816040528381528660208588010111156112f057600080fd5b836020870160208301376000602085830101528094505050505092915050565b60006020828403121561132257600080fd5b813567ffffffffffffffff8082111561133a57600080fd5b908301906040828603121561134e57600080fd5b61135661123c565b82358281111561136557600080fd5b61137187828601611265565b82525060208301358281111561138657600080fd5b61139287828601611265565b60208301525095945050505050565b848152606060208201528260608201528284608083013760006080848301015260007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011682016080838203016040840152610f9160808201856110bd565b60006020828403121561141557600080fd5b8151801515811461085c57600080fd5b82815260406020820152600061114160408301846110bd565b60006040828403121561145057600080fd5b61145861123c565b825161146381610fb5565b81526020928301519281019290925250919050565b60006020828403121561148a57600080fd5b6040516020810181811067ffffffffffffffff821117156114ad576114ad61120d565b60405282516114bb81610fb5565b81529392505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361151c577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b506001019056fea2646970667358221220d8b168046b7ea8ef58a98e4718a596bce0ccd4e82ab63c88943c3c5258310fb564736f6c63430008130033000000000000000000000000bd132e42baafe3648170770f2d45dba59166e06d00000000000000000000000004401ff04e6c01a8f1e5696ad6aa053c86b73cd300000000000000000000000077cbcc0e29e10f1eea24e0d109aab26c5b2abd88" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0x13a1e659dd04778e2534959154ce6c2ce03e94d0c8da0a7e6529e6a9987e2f29", + "transactionType": "CREATE", + "contractName": "MockERC721", + "contractAddress": "0x968549Ee4c1f0225b4B0D7c08A11Fc36E3345277", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x1edc92", + "value": "0x0", + "data": "0x60806040523480156200001157600080fd5b506040518060400160405280600a8152602001694d6f636b45524337323160b01b815250604051806040016040528060048152602001634d37323160e01b815250816000908162000063919062000120565b50600162000072828262000120565b505050620001ec565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000a657607f821691505b602082108103620000c757634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200011b57600081815260208120601f850160051c81016020861015620000f65750805b601f850160051c820191505b81811015620001175782815560010162000102565b5050505b505050565b81516001600160401b038111156200013c576200013c6200007b565b62000154816200014d845462000091565b84620000cd565b602080601f8311600181146200018c5760008415620001735750858301515b600019600386901b1c1916600185901b17855562000117565b600085815260208120601f198616915b82811015620001bd578886015182559484019460019091019084016200019c565b5085821015620001dc5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b611a7980620001fc6000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80636352211e1161008c578063a22cb46511610066578063a22cb465146101ee578063b88d4fde14610201578063c87b56dd14610214578063e985e9c51461022757600080fd5b80636352211e146101b257806370a08231146101c557806395d89b41146101e657600080fd5b8063095ea7b3116100c8578063095ea7b31461016457806323b872dd1461017957806340c10f191461018c57806342842e0e1461019f57600080fd5b806301ffc9a7146100ef57806306fdde0314610117578063081812fc1461012c575b600080fd5b6101026100fd366004611662565b610270565b60405190151581526020015b60405180910390f35b61011f610355565b60405161010e91906116ed565b61013f61013a366004611700565b6103e7565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161010e565b610177610172366004611742565b61041b565b005b61017761018736600461176c565b6105ac565b61017761019a366004611742565b61064d565b6101776101ad36600461176c565b61065b565b61013f6101c0366004611700565b610676565b6101d86101d33660046117a8565b610702565b60405190815260200161010e565b61011f6107d0565b6101776101fc3660046117c3565b6107df565b61017761020f36600461182e565b6107ea565b61011f610222366004611700565b610892565b610102610235366004611928565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260056020908152604080832093909416825291909152205460ff1690565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061030357507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b8061034f57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6060600080546103649061195b565b80601f01602080910402602001604051908101604052809291908181526020018280546103909061195b565b80156103dd5780601f106103b2576101008083540402835291602001916103dd565b820191906000526020600020905b8154815290600101906020018083116103c057829003601f168201915b5050505050905090565b60006103f282610906565b5060009081526004602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b600061042682610676565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036104e8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff8216148061051157506105118133610235565b61059d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c00000060648201526084016104df565b6105a78383610994565b505050565b6105b63382610a34565b610642576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f7665640000000000000000000000000000000000000060648201526084016104df565b6105a7838383610af4565b6106578282610def565b5050565b6105a7838383604051806020016040528060008152506107ea565b60008181526002602052604081205473ffffffffffffffffffffffffffffffffffffffff168061034f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e204944000000000000000060448201526064016104df565b600073ffffffffffffffffffffffffffffffffffffffff82166107a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e6572000000000000000000000000000000000000000000000060648201526084016104df565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526003602052604090205490565b6060600180546103649061195b565b610657338383610e09565b6107f43383610a34565b610880576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f7665640000000000000000000000000000000000000060648201526084016104df565b61088c84848484610f36565b50505050565b606061089d82610906565b60006108b460408051602081019091526000815290565b905060008151116108d457604051806020016040528060008152506108ff565b806108de84610fd9565b6040516020016108ef9291906119ae565b6040516020818303038152906040525b9392505050565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff16610991576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e204944000000000000000060448201526064016104df565b50565b600081815260046020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811790915581906109ee82610676565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080610a4083610676565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480610aae575073ffffffffffffffffffffffffffffffffffffffff80821660009081526005602090815260408083209388168352929052205460ff165b80610aec57508373ffffffffffffffffffffffffffffffffffffffff16610ad4846103e7565b73ffffffffffffffffffffffffffffffffffffffff16145b949350505050565b8273ffffffffffffffffffffffffffffffffffffffff16610b1482610676565b73ffffffffffffffffffffffffffffffffffffffff1614610bb7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e657200000000000000000000000000000000000000000000000000000060648201526084016104df565b73ffffffffffffffffffffffffffffffffffffffff8216610c59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016104df565b8273ffffffffffffffffffffffffffffffffffffffff16610c7982610676565b73ffffffffffffffffffffffffffffffffffffffff1614610d1c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e657200000000000000000000000000000000000000000000000000000060648201526084016104df565b600081815260046020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff8781168086526003855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b610657828260405180602001604052806000815250611097565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610e9e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016104df565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526005602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b610f41848484610af4565b610f4d8484848461113a565b61088c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016104df565b60606000610fe68361132d565b600101905060008167ffffffffffffffff811115611006576110066117ff565b6040519080825280601f01601f191660200182016040528015611030576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a850494508461103a57509392505050565b6110a1838361140f565b6110ae600084848461113a565b6105a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016104df565b600073ffffffffffffffffffffffffffffffffffffffff84163b15611322576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a02906111b19033908990889088906004016119dd565b6020604051808303816000875af192505050801561120a575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261120791810190611a26565b60015b6112d7573d808015611238576040519150601f19603f3d011682016040523d82523d6000602084013e61123d565b606091505b5080516000036112cf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016104df565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050610aec565b506001949350505050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611376577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef810000000083106113a2576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106113c057662386f26fc10000830492506010015b6305f5e10083106113d8576305f5e100830492506008015b61271083106113ec57612710830492506004015b606483106113fe576064830492506002015b600a831061034f5760010192915050565b73ffffffffffffffffffffffffffffffffffffffff821661148c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016104df565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1615611518576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016104df565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff16156115a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016104df565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260036020908152604080832080546001019055848352600290915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b7fffffffff000000000000000000000000000000000000000000000000000000008116811461099157600080fd5b60006020828403121561167457600080fd5b81356108ff81611634565b60005b8381101561169a578181015183820152602001611682565b50506000910152565b600081518084526116bb81602086016020860161167f565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006108ff60208301846116a3565b60006020828403121561171257600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461173d57600080fd5b919050565b6000806040838503121561175557600080fd5b61175e83611719565b946020939093013593505050565b60008060006060848603121561178157600080fd5b61178a84611719565b925061179860208501611719565b9150604084013590509250925092565b6000602082840312156117ba57600080fd5b6108ff82611719565b600080604083850312156117d657600080fd5b6117df83611719565b9150602083013580151581146117f457600080fd5b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000806000806080858703121561184457600080fd5b61184d85611719565b935061185b60208601611719565b925060408501359150606085013567ffffffffffffffff8082111561187f57600080fd5b818701915087601f83011261189357600080fd5b8135818111156118a5576118a56117ff565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156118eb576118eb6117ff565b816040528281528a602084870101111561190457600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b6000806040838503121561193b57600080fd5b61194483611719565b915061195260208401611719565b90509250929050565b600181811c9082168061196f57607f821691505b6020821081036119a8577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b600083516119c081846020880161167f565b8351908301906119d481836020880161167f565b01949350505050565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525083604083015260806060830152611a1c60808301846116a3565b9695505050505050565b600060208284031215611a3857600080fd5b81516108ff8161163456fea2646970667358221220d673ef7c8f1def245d3be39f8336c1275d8505ccfbf91acc7ee1bdd6cae4c30264736f6c63430008130033", + "nonce": "0x7e1", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x58cd7fcee85fcad12ab154e9a0d45e3787554cc80385b1840a6fe5e36273d514", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xbd132e42baafe3648170770f2d45dba59166e06d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15d189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "nonce": "0x7e2", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x67349b7216fc33a6e2a8a255f3285b0dae9a4eaa5e4fc1a2172f891e520a0513", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xbd132e42baafe3648170770f2d45dba59166e06d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15d637821dcee84aabec9c8cf4f6f643013a24ad27fd41511ffd937aea80d8619a9000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "nonce": "0x7e3", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x953cb573878dbe83c59b56040fe8d9068358bbf48ee627756558a1327d4061f7", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xbd132e42baafe3648170770f2d45dba59166e06d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15da8b84e71bc3552b48fea3678097679554a90f0e2c12c536a8bd697c05041e279000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "nonce": "0x7e4", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xfc09d0c802a8d44978bd51819cccd35f6506d94f2c6f4505163d913e8193e6b7", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xbd132e42baafe3648170770f2d45dba59166e06d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15d256895704541e78004f0fd55953a8bcc54c628755b14fbf53afdc556473f9bd0000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "nonce": "0x7e5", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x94be769bcfed58a939b9edf7f3b8b63772bc3af08cce1b6377e66db49e6610b3", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xbd132e42baafe3648170770f2d45dba59166e06d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15d02f7fd2cb4d8e8ad75bab0a56a6f1ed7091336a83e11ccacc4e51f915215ab4c000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "nonce": "0x7e6", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x398123940e144d2784258e2fd1668f57fb2b74ec13fdaf001c6f1886d5f624b5", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xbd132e42baafe3648170770f2d45dba59166e06d", + "gas": "0x140e3", + "value": "0x0", + "data": "0x2f2ff15dc9a6ce5d86bdc06f8d57f20091bf09bf611e57d0626b65aa9ebb3c9179ba650f000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "nonce": "0x7e7", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xe8154ec89579d99d4c3f6ad14aea0834022dc75be9286875026d1a4028289169", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xbd132e42baafe3648170770f2d45dba59166e06d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15de4a10d29decbd34c09a62a511d4fd993a7d8cbbf58d7d4278711c29c9148b8f7000000000000000000000000a7c6184c4090923a5710ef0c8aab5f157e88e586", + "nonce": "0x7e8", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xa9ec9139d42ac086654b12d08663b1ddae171a1affcbc1c2b40a30fc18ed274f", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xbd132e42baafe3648170770f2d45dba59166e06d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15de4a10d29decbd34c09a62a511d4fd993a7d8cbbf58d7d4278711c29c9148b8f7000000000000000000000000ee19ace40db1ba8b0dbbc5e57061a3268bd08c6a", + "nonce": "0x7e9", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xf412c1fafea0d0fd167098d3b6b7563b5434f506f22042981ae757eabd99dc37", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xbd132e42baafe3648170770f2d45dba59166e06d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15d33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db000000000000000000000000e8ab207a5c21162db1ee75e378a92c82d550a8d1", + "nonce": "0x7ea", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xc9f5af89d0023264557a6419c438142f1e21d03a2318c25df5f0077f75ea5042", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xbd132e42baafe3648170770f2d45dba59166e06d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15d33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db000000000000000000000000f59e8d2bd2176f481f0f95568e21a70a07d9cdbc", + "nonce": "0x7eb", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x6aaa7126e0fa454d3cf1e85c82e55fd51fa28fdbae9cbca0b907d25e03b2f946", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xbd132e42baafe3648170770f2d45dba59166e06d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15d33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db000000000000000000000000f95ed3608ce1f86dac4fa12a2202be56ade1164f", + "nonce": "0x7ec", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x229cd2f075e6bbc41d90bc0c3e362b6af8bf2c7acd5baf02cb585fd5e5fc69b0", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xbd132e42baafe3648170770f2d45dba59166e06d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15d33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db000000000000000000000000c3960374e4448f815f53c1fe38b38cf444e6beb8", + "nonce": "0x7ed", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x07bf3e8274a4ef381dbb6f4de7cca49d710476a121e4e7e85794011883808ef9", + "transactionType": "CALL", + "contractName": "ModuleRegistry", + "contractAddress": "0xe8ab207A5C21162Db1ee75e378A92C82d550a8d1", + "function": "registerProtocolModule(string,address)", + "arguments": [ + "REGISTRATION_MODULE", + "0xf59e8d2bD2176f481f0F95568E21a70A07D9CDbC" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xe8ab207a5c21162db1ee75e378a92c82d550a8d1", + "gas": "0x1447b", + "value": "0x0", + "data": "0xd08906d60000000000000000000000000000000000000000000000000000000000000040000000000000000000000000f59e8d2bd2176f481f0f95568e21a70a07d9cdbc0000000000000000000000000000000000000000000000000000000000000013524547495354524154494f4e5f4d4f44554c4500000000000000000000000000", + "nonce": "0x7ee", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x82970d6a02b85066dd446c11279b1a4e3ea8b530e2ea72ded580c4fc8d7d562a", + "transactionType": "CALL", + "contractName": "ModuleRegistry", + "contractAddress": "0xe8ab207A5C21162Db1ee75e378A92C82d550a8d1", + "function": "registerProtocolModule(string,address)", + "arguments": [ + "RELATIONSHIP_MODULE", + "0xf95Ed3608ce1F86DaC4FA12a2202BE56ADe1164F" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xe8ab207a5c21162db1ee75e378a92c82d550a8d1", + "gas": "0x1447b", + "value": "0x0", + "data": "0xd08906d60000000000000000000000000000000000000000000000000000000000000040000000000000000000000000f95ed3608ce1f86dac4fa12a2202be56ade1164f000000000000000000000000000000000000000000000000000000000000001352454c4154494f4e534849505f4d4f44554c4500000000000000000000000000", + "nonce": "0x7ef", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x6f7d6393c9f1c9ccb741fffd0adebbeff90c7d9c6ac9134c0808d992b303c038", + "transactionType": "CALL", + "contractName": "ModuleRegistry", + "contractAddress": "0xe8ab207A5C21162Db1ee75e378A92C82d550a8d1", + "function": "registerProtocolModule(string,address)", + "arguments": [ + "LICENSING_MODULE", + "0xC3960374E4448f815f53C1FE38b38cf444e6BEB8" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xe8ab207a5c21162db1ee75e378a92c82d550a8d1", + "gas": "0x1444a", + "value": "0x0", + "data": "0xd08906d60000000000000000000000000000000000000000000000000000000000000040000000000000000000000000c3960374e4448f815f53c1fe38b38cf444e6beb800000000000000000000000000000000000000000000000000000000000000104c4943454e53494e475f4d4f44554c4500000000000000000000000000000000", + "nonce": "0x7f0", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x7bacc38c975611ef1a04099734cfc6afd4617e205e1ad102b57921239bb1c3e8", + "transactionType": "CALL", + "contractName": "StoryProtocol", + "contractAddress": "0xa7C6184c4090923A5710ef0C8aaB5F157E88e586", + "function": "registerIpOrg(address,string,string,string[]):(address)", + "arguments": [ + "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "Sample IP Org", + "SIPO", + "[STORY, CHARACTER]" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xa7c6184c4090923a5710ef0c8aab5f157e88e586", + "gas": "0x61a7b", + "value": "0x0", + "data": "0x98e8e6ea000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000d53616d706c65204950204f72670000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000045349504f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000553544f525900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000094348415241435445520000000000000000000000000000000000000000000000", + "nonce": "0x7f1", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0xc12Cf8a549e39E76e2E3BBc1dF51B7D2a78a0ae2", + "initCode": "3d602d80600a3d3981f3363d3d373d3d3d363d733f684d5be59136751dd7c85c2973cb79175573385af43d82803e903d91602b57fd5bf3" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0xe687421e933d6f1b5804f3955d4113264f977d6e833bc740fd930a3b670393d8", + "transactionType": "CALL", + "contractName": "ModuleRegistry", + "contractAddress": "0xe8ab207A5C21162Db1ee75e378A92C82d550a8d1", + "function": "registerProtocolHook(string,address)", + "arguments": [ + "TOKEN_GATED_HOOK", + "0x86831b4A5D9222F120acF3D0a6C6d3f4Fa7C1268" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xe8ab207a5c21162db1ee75e378a92c82d550a8d1", + "gas": "0x1bddc", + "value": "0x0", + "data": "0xd04d78c6000000000000000000000000000000000000000000000000000000000000004000000000000000000000000086831b4a5d9222f120acf3d0a6c6d3f4fa7c12680000000000000000000000000000000000000000000000000000000000000010544f4b454e5f47415445445f484f4f4b00000000000000000000000000000000", + "nonce": "0x7f2", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x1352860bf150127da50dd598a0e2c705da7d0ed5cad7b077ca35958b8e2f7060", + "transactionType": "CALL", + "contractName": "ModuleRegistry", + "contractAddress": "0xe8ab207A5C21162Db1ee75e378A92C82d550a8d1", + "function": "registerProtocolHook(string,address)", + "arguments": [ + "POLYGON_TOKEN_HOOK", + "0x4d892B952A2Fd7941f02F0C531d33BDa1fD5b28a" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xe8ab207a5c21162db1ee75e378a92c82d550a8d1", + "gas": "0x1bdfd", + "value": "0x0", + "data": "0xd04d78c600000000000000000000000000000000000000000000000000000000000000400000000000000000000000004d892b952a2fd7941f02f0c531d33bda1fd5b28a0000000000000000000000000000000000000000000000000000000000000012504f4c59474f4e5f544f4b454e5f484f4f4b0000000000000000000000000000", + "nonce": "0x7f3", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xf463364846b29395cf1d137598d4b5a6773a796b24ebe85342f2feaa8e11883e", + "transactionType": "CALL", + "contractName": "RegistrationModule", + "contractAddress": "0xf59e8d2bD2176f481f0F95568E21a70A07D9CDbC", + "function": "registerHooks(uint8,address,address[],bytes[],bytes)", + "arguments": [ + "0", + "0xc12Cf8a549e39E76e2E3BBc1dF51B7D2a78a0ae2", + "[0x86831b4A5D9222F120acF3D0a6C6d3f4Fa7C1268, 0x4d892B952A2Fd7941f02F0C531d33BDa1fD5b28a]", + "[0x000000000000000000000000968549ee4c1f0225b4b0d7c08a11fc36e3345277, 0x000000000000000000000000968549ee4c1f0225b4b0d7c08a11fc36e33452770000000000000000000000000000000000000000000000000000000000000001]", + "0xe761f303268b55a3dc96719551acb95ca3bd1ebeef4b720be68dd92563627a3f" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xf59e8d2bd2176f481f0f95568e21a70a07d9cdbc", + "gas": "0x60afd", + "value": "0x0", + "data": "0x9533563d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c12cf8a549e39e76e2e3bbc1df51b7d2a78a0ae200000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000200000000000000000000000086831b4a5d9222f120acf3d0a6c6d3f4fa7c12680000000000000000000000004d892b952a2fd7941f02f0c531d33bda1fd5b28a0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000020000000000000000000000000968549ee4c1f0225b4b0d7c08a11fc36e33452770000000000000000000000000000000000000000000000000000000000000040000000000000000000000000968549ee4c1f0225b4b0d7c08a11fc36e334527700000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020e761f303268b55a3dc96719551acb95ca3bd1ebeef4b720be68dd92563627a3f", + "nonce": "0x7f4", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xfd3461bee9dc15465dc2b63aef1fbe4f7e3652728e7e30f1db40614b639a7917", + "transactionType": "CALL", + "contractName": "LicensingFrameworkRepo", + "contractAddress": "0x43C1C831D370f36149183d31FdAC50b131289949", + "function": "addFramework((string,string,(bytes32,uint8,bytes,bytes)[]))", + "arguments": [ + "(SPUML-1.0, https://github.com/storyprotocol/protocol-contracts/blob/main/SPUML-v1.pdf, [(0x4368616e6e656c732d4f662d446973747269627574696f6e0000000000000018, 4, 0x, 0x), (0x4174747269627574696f6e00000000000000000000000000000000000000000b, 0, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x), (0x44657269766174697665732d416c6c6f77656400000000000000000000000013, 0, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x), (0x44657269766174697665732d416c6c6f7765642d4f7074696f6e73000000001b, 5, 0x, 0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000003416c6c6f7765642d576974682d417070726f76616c0000000000000000000015416c6c6f7765642d5265636970726f63616c2d4c6963656e736500000000001a416c6c6f7765642d576974682d4174747269627574696f6e0000000000000018)])" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x43c1c831d370f36149183d31fdac50b131289949", + "gas": "0x164d60", + "value": "0x0", + "data": "0xc8cea2150000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000095350554d4c2d312e300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004a68747470733a2f2f6769746875622e636f6d2f73746f727970726f746f636f6c2f70726f746f636f6c2d636f6e7472616374732f626c6f622f6d61696e2f5350554d4c2d76312e70646600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000003004368616e6e656c732d4f662d446973747269627574696f6e00000000000000180000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004174747269627574696f6e00000000000000000000000000000000000000000b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044657269766174697665732d416c6c6f776564000000000000000000000000130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044657269766174697665732d416c6c6f7765642d4f7074696f6e73000000001b0000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000003416c6c6f7765642d576974682d417070726f76616c0000000000000000000015416c6c6f7765642d5265636970726f63616c2d4c6963656e736500000000001a416c6c6f7765642d576974682d4174747269627574696f6e0000000000000018", + "nonce": "0x7f5", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0xe7f72cc7669b6512afe7f2e02fc04c294a2c0092c62e97054f2fef6fac7f97e3", + "0x684dc36789c2611d21e56c306469ae9ed327cb790c768bfe80715b22844b0330", + "0x918d79032216292c73e69df31d5dc6b96eec366b4f98482294f7685425d3780d", + "0xd3ddafaca2e81ff6081857324791c6529045bfa8d71e9a5b28e6919ceed2fef2", + "0x1f3dc0d59df858826799989459af30bd37cf4fa01610ea98add6f5813cd2cafc", + "0x47b0c667bac6c924bd3eb35e1d2940d026a0e1f55f298389d0296cfc530aada2", + "0x837f18a854f0ec5dd019e632a81e4b6ab1533e75db88a7530c815ba404b062e8", + "0x464bce28e69e0182ef78e8e98c6752dc85cff86990ab8563a2ee076df5c9000e", + "0xb447729820016d5c91ffff7cee07046a95a4f6da7ec1171b77d49eae37193e5e", + "0x7f5332cc990b07f875117b1337f10ef6722a5befedf0a958d1212b671fbf3ee3", + "0x64bc029efaf8f9426011cc82e072b64aa8582e9b745dab34e44649e220908336", + "0x44b2c8211f99f9b1d8151f54ee3f87cdb552f13c2346dbd6e03cd0d00134117d", + "0x828ddeda633112c57ba796830900c7292b8de35e2360fbaec8b2f6f779fc7856", + "0x9206432724c9b48a7774cad6710672b22f14df585b41c22c119c392c00abb3bd", + "0xda976994e9135aba7aea99be59688074366d7020913ef7ff79ef9fcba0a30003", + "0x13a1e659dd04778e2534959154ce6c2ce03e94d0c8da0a7e6529e6a9987e2f29", + "0x58cd7fcee85fcad12ab154e9a0d45e3787554cc80385b1840a6fe5e36273d514", + "0x67349b7216fc33a6e2a8a255f3285b0dae9a4eaa5e4fc1a2172f891e520a0513", + "0x953cb573878dbe83c59b56040fe8d9068358bbf48ee627756558a1327d4061f7", + "0xfc09d0c802a8d44978bd51819cccd35f6506d94f2c6f4505163d913e8193e6b7", + "0x94be769bcfed58a939b9edf7f3b8b63772bc3af08cce1b6377e66db49e6610b3", + "0x398123940e144d2784258e2fd1668f57fb2b74ec13fdaf001c6f1886d5f624b5", + "0xe8154ec89579d99d4c3f6ad14aea0834022dc75be9286875026d1a4028289169", + "0xa9ec9139d42ac086654b12d08663b1ddae171a1affcbc1c2b40a30fc18ed274f", + "0xf412c1fafea0d0fd167098d3b6b7563b5434f506f22042981ae757eabd99dc37", + "0xc9f5af89d0023264557a6419c438142f1e21d03a2318c25df5f0077f75ea5042", + "0x6aaa7126e0fa454d3cf1e85c82e55fd51fa28fdbae9cbca0b907d25e03b2f946", + "0x229cd2f075e6bbc41d90bc0c3e362b6af8bf2c7acd5baf02cb585fd5e5fc69b0", + "0x07bf3e8274a4ef381dbb6f4de7cca49d710476a121e4e7e85794011883808ef9", + "0x82970d6a02b85066dd446c11279b1a4e3ea8b530e2ea72ded580c4fc8d7d562a", + "0x6f7d6393c9f1c9ccb741fffd0adebbeff90c7d9c6ac9134c0808d992b303c038", + "0x7bacc38c975611ef1a04099734cfc6afd4617e205e1ad102b57921239bb1c3e8", + "0xe687421e933d6f1b5804f3955d4113264f977d6e833bc740fd930a3b670393d8", + "0x1352860bf150127da50dd598a0e2c705da7d0ed5cad7b077ca35958b8e2f7060", + "0xf463364846b29395cf1d137598d4b5a6773a796b24ebe85342f2feaa8e11883e", + "0xfd3461bee9dc15465dc2b63aef1fbe4f7e3652728e7e30f1db40614b639a7917" + ], + "path": "/Users/drmanhattan/Workspace/StoryProtocol/protocol-contracts/broadcast/Main.s.sol/11155111/run-latest.json", + "returns": {}, + "timestamp": 1702012225, + "chain": 11155111, + "multi": false, + "commit": "d1b1d7f" +} \ No newline at end of file diff --git a/broadcast/Main.s.sol/11155111/run-1702012251.json b/broadcast/Main.s.sol/11155111/run-1702012251.json new file mode 100644 index 00000000..eba75328 --- /dev/null +++ b/broadcast/Main.s.sol/11155111/run-1702012251.json @@ -0,0 +1,2035 @@ +{ + "transactions": [ + { + "hash": "0xe7f72cc7669b6512afe7f2e02fc04c294a2c0092c62e97054f2fef6fac7f97e3", + "transactionType": "CREATE", + "contractName": "AccessControlSingleton", + "contractAddress": "0x992EEc8204daf0CD34010De0a83cB768a055982f", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x2138be", + "value": "0x0", + "data": "0x60a06040523060805234801561001457600080fd5b50608051611d9061004c600039600081816104d101528181610581015281816106d60152818161078601526108cb0152611d906000f3fe6080604052600436106100dd5760003560e01c806352d1902d1161007f578063a217fddf11610059578063a217fddf146102a8578063ac9650d8146102bd578063c4d66de8146102ea578063d547741f1461030a57600080fd5b806352d1902d146101ea57806354fd4d50146101ff57806391d148541461025557600080fd5b80632f2ff15d116100bb5780632f2ff15d1461017757806336568abe146101975780633659cfe6146101b75780634f1ef286146101d757600080fd5b806301ffc9a7146100e25780631e4e009114610117578063248a9ca314610139575b600080fd5b3480156100ee57600080fd5b506101026100fd3660046117aa565b61032a565b60405190151581526020015b60405180910390f35b34801561012357600080fd5b506101376101323660046117ec565b6103c3565b005b34801561014557600080fd5b5061016961015436600461180e565b60009081526065602052604090206001015490565b60405190815260200161010e565b34801561018357600080fd5b50610137610192366004611850565b6103dd565b3480156101a357600080fd5b506101376101b2366004611850565b610402565b3480156101c357600080fd5b506101376101d236600461187c565b6104ba565b6101376101e53660046118c6565b6106bf565b3480156101f657600080fd5b506101696108b1565b34801561020b57600080fd5b506102486040518060400160405280600581526020017f302e312e3000000000000000000000000000000000000000000000000000000081525081565b60405161010e9190611a14565b34801561026157600080fd5b50610102610270366004611850565b600091825260656020908152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b3480156102b457600080fd5b50610169600081565b3480156102c957600080fd5b506102dd6102d8366004611a27565b61099d565b60405161010e9190611a9c565b3480156102f657600080fd5b5061013761030536600461187c565b610a92565b34801561031657600080fd5b50610137610325366004611850565b610c84565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806103bd57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60006103ce81610ca9565b6103d88383610cb3565b505050565b6000828152606560205260409020600101546103f881610ca9565b6103d88383610cfe565b73ffffffffffffffffffffffffffffffffffffffff811633146104ac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b6104b68282610df2565b5050565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016300361057f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016104a3565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166105f47f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610697576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016104a3565b6106a081610ead565b604080516000808252602082019092526106bc91839190610ed7565b50565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610784576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016104a3565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166107f97f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff161461089c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016104a3565b6108a582610ead565b6104b682826001610ed7565b60003073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610978576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016104a3565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b60608167ffffffffffffffff8111156109b8576109b8611897565b6040519080825280602002602001820160405280156109eb57816020015b60608152602001906001900390816109d65790505b50905060005b82811015610a8b57610a5b30858584818110610a0f57610a0f611b1c565b9050602002810190610a219190611b4b565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506110d692505050565b828281518110610a6d57610a6d611b1c565b60200260200101819052508080610a8390611be6565b9150506109f1565b5092915050565b600054610100900460ff1615808015610ab25750600054600160ff909116105b80610acc5750303b158015610acc575060005460ff166001145b610b58576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016104a3565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610bb657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b73ffffffffffffffffffffffffffffffffffffffff8216610c03576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c0b611102565b610c13611102565b610c1e600083610cfe565b80156104b657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b600082815260656020526040902060010154610c9f81610ca9565b6103d88383610df2565b6106bc813361119b565b600082815260656020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff166104b657600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff85168452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055610d943390565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16156104b657600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e36104b681610ca9565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610f0a576103d883611255565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610f8f575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252610f8c91810190611c1e565b60015b61101b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016104a3565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81146110ca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016104a3565b506103d883838361135f565b60606110fb8383604051806060016040528060278152602001611d346027913961138a565b9392505050565b600054610100900460ff16611199576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016104a3565b565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff166104b6576111db8161140f565b6111e683602061142e565b6040516020016111f7929190611c37565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a00000000000000000000000000000000000000000000000000000000082526104a391600401611a14565b73ffffffffffffffffffffffffffffffffffffffff81163b6112f9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016104a3565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61136883611671565b6000825111806113755750805b156103d85761138483836110d6565b50505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516113b49190611cb8565b600060405180830381855af49150503d80600081146113ef576040519150601f19603f3d011682016040523d82523d6000602084013e6113f4565b606091505b5091509150611405868383876116be565b9695505050505050565b60606103bd73ffffffffffffffffffffffffffffffffffffffff831660145b6060600061143d836002611cd4565b611448906002611ceb565b67ffffffffffffffff81111561146057611460611897565b6040519080825280601f01601f19166020018201604052801561148a576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106114c1576114c1611b1c565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061152457611524611b1c565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000611560846002611cd4565b61156b906001611ceb565b90505b6001811115611608577f303132333435363738396162636465660000000000000000000000000000000085600f16601081106115ac576115ac611b1c565b1a60f81b8282815181106115c2576115c2611b1c565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c9361160181611cfe565b905061156e565b5083156110fb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016104a3565b61167a81611255565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060831561175457825160000361174d5773ffffffffffffffffffffffffffffffffffffffff85163b61174d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016104a3565b508161175e565b61175e8383611766565b949350505050565b8151156117765781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104a39190611a14565b6000602082840312156117bc57600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146110fb57600080fd5b600080604083850312156117ff57600080fd5b50508035926020909101359150565b60006020828403121561182057600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461184b57600080fd5b919050565b6000806040838503121561186357600080fd5b8235915061187360208401611827565b90509250929050565b60006020828403121561188e57600080fd5b6110fb82611827565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080604083850312156118d957600080fd5b6118e283611827565b9150602083013567ffffffffffffffff808211156118ff57600080fd5b818501915085601f83011261191357600080fd5b81358181111561192557611925611897565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561196b5761196b611897565b8160405282815288602084870101111561198457600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b838110156119c15781810151838201526020016119a9565b50506000910152565b600081518084526119e28160208601602086016119a6565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006110fb60208301846119ca565b60008060208385031215611a3a57600080fd5b823567ffffffffffffffff80821115611a5257600080fd5b818501915085601f830112611a6657600080fd5b813581811115611a7557600080fd5b8660208260051b8501011115611a8a57600080fd5b60209290920196919550909350505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015611b0f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452611afd8583516119ca565b94509285019290850190600101611ac3565b5092979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611b8057600080fd5b83018035915067ffffffffffffffff821115611b9b57600080fd5b602001915036819003821315611bb057600080fd5b9250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611c1757611c17611bb7565b5060010190565b600060208284031215611c3057600080fd5b5051919050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351611c6f8160178501602088016119a6565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351611cac8160288401602088016119a6565b01602801949350505050565b60008251611cca8184602087016119a6565b9190910192915050565b80820281158282048414176103bd576103bd611bb7565b808201808211156103bd576103bd611bb7565b600081611d0d57611d0d611bb7565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220c1f5e7366e6e39b285e4066626c260cad32cb7f5868a153eb73217f270d2937864736f6c63430008130033", + "nonce": "0x7d2", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x684dc36789c2611d21e56c306469ae9ed327cb790c768bfe80715b22844b0330", + "transactionType": "CREATE", + "contractName": "ERC1967Proxy", + "contractAddress": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "function": null, + "arguments": [ + "0x992EEc8204daf0CD34010De0a83cB768a055982f", + "0xc4d66de8000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x3bece", + "value": "0x0", + "data": "0x60806040526040516104ee3803806104ee833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c760279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60be806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea264697066735822122091c81c9b8ac755a7e1e08c0e9f65600d21e642457fb84c7f9e0d0a65b62d269064736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564000000000000000000000000992eec8204daf0cd34010de0a83cb768a055982f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de8000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab00000000000000000000000000000000000000000000000000000000", + "nonce": "0x7d3", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x918d79032216292c73e69df31d5dc6b96eec366b4f98482294f7685425d3780d", + "transactionType": "CREATE", + "contractName": "LicensingFrameworkRepo", + "contractAddress": "0x43C1C831D370f36149183d31FdAC50b131289949", + "function": null, + "arguments": [ + "0xbD132e42baaFe3648170770F2D45dbA59166e06d" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x208b42", + "value": "0x0", + "data": "0x60806040523480156200001157600080fd5b5060405162001e1f38038062001e1f8339810160408190526200003491620001cd565b80620000516001600160a01b038216637965db0b60e01b620000e1565b62000094576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b038316908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050620001f8565b6000620000ee8362000109565b801562000102575062000102838362000142565b9392505050565b60006200011e826301ffc9a760e01b62000142565b80156200013c57506200013a826001600160e01b031962000142565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d91506000519050828015620001b5575060208210155b8015620001c25750600081115b979650505050505050565b600060208284031215620001e057600080fd5b81516001600160a01b03811681146200010257600080fd5b611c1780620002086000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063c2e26bbb1161005b578063c2e26bbb14610108578063c8cea2151461011b578063e75afa551461012e578063eae376e31461014e57600080fd5b806319129e5a1461008d5780637859a97e146100a25780639faddd20146100c8578063ac9650d8146100e8575b600080fd5b6100a061009b366004611198565b61016e565b005b6100b56100b0366004611217565b6102d2565b6040519081526020015b60405180910390f35b6100db6100d6366004611259565b610302565b6040516100bf91906113d1565b6100fb6100f63660046113e4565b6104e8565b6040516100bf9190611459565b6100db610116366004611259565b6105dd565b6100a06101293660046114d9565b6107cb565b61014161013c366004611217565b6109c4565b6040516100bf9190611514565b61016161015c366004611217565b610bae565b6040516100bf9190611587565b600061017a8133610c62565b6101be576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b6101fe73ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000610d05565b610264576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c00000000000000000000000000000000000060448201526064016101b5565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050565b6000600183836040516102e692919061159a565b9081526040519081900360200190206003015490505b92915050565b604080516080810182526000808252602082015260609181018290528181019190915260006001858560405161033992919061159a565b9081526020016040518091039020905080600301838154811061035e5761035e6115aa565b9060005260206000209060040201604051806080016040529081600082015481526020016001820160009054906101000a900460ff1660058111156103a5576103a56112a5565b60058111156103b6576103b66112a5565b81526020016002820180546103ca906115d9565b80601f01602080910402602001604051908101604052809291908181526020018280546103f6906115d9565b80156104435780601f1061041857610100808354040283529160200191610443565b820191906000526020600020905b81548152906001019060200180831161042657829003601f168201915b5050505050815260200160038201805461045c906115d9565b80601f0160208091040260200160405190810160405280929190818152602001828054610488906115d9565b80156104d55780601f106104aa576101008083540402835291602001916104d5565b820191906000526020600020905b8154815290600101906020018083116104b857829003601f168201915b5050505050815250509150509392505050565b60608167ffffffffffffffff8111156105035761050361162c565b60405190808252806020026020018201604052801561053657816020015b60608152602001906001900390816105215790505b50905060005b828110156105d6576105a63085858481811061055a5761055a6115aa565b905060200281019061056c919061165b565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610d2192505050565b8282815181106105b8576105b86115aa565b602002602001018190525080806105ce906116c0565b91505061053c565b5092915050565b60408051608081018252600080825260208201526060918101829052818101919091526002600085858560405160200161061993929190611768565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181528151602092830120835282820193909352908201600020825160808101909352805483526001810154909183019060ff166005811115610689576106896112a5565b600581111561069a5761069a6112a5565b81526020016002820180546106ae906115d9565b80601f01602080910402602001604051908101604052809291908181526020018280546106da906115d9565b80156107275780601f106106fc57610100808354040283529160200191610727565b820191906000526020600020905b81548152906001019060200180831161070a57829003601f168201915b50505050508152602001600382018054610740906115d9565b80601f016020809104026020016040519081016040528092919081815260200182805461076c906115d9565b80156107b95780601f1061078e576101008083540402835291602001916107b9565b820191906000526020600020905b81548152906001019060200180831161079c57829003601f168201915b50505050508152505090509392505050565b7f256895704541e78004f0fd55953a8bcc54c628755b14fbf53afdc556473f9bd06107f68133610c62565b610835576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016101b5565b60006001610843848061165b565b60405161085192919061159a565b90815260200160405180910390209050600061086f82600101610d46565b11156108a7576040517f7e5d56bb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006108b6604085018561178c565b91505060968111156108f4576040517fb6cb3c0400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b818110156109525761094061090c868061165b565b610919604089018961178c565b85818110610929576109296115aa565b905060200281019061093b91906117f4565b610d50565b8061094a816116c0565b9150506108f7565b50610960602085018561165b565b839161096d919083611881565b507fcc3b4b42d496457f15f49a410f201fdb906b09fbff771f240a8dc8418abe68be610999858061165b565b6109a6602088018861165b565b6040516109b6949392919061199c565b60405180910390a150505050565b6060600183836040516109d892919061159a565b9081526020016040518091039020600301805480602002602001604051908101604052809291908181526020016000905b82821015610ba25783829060005260206000209060040201604051806080016040529081600082015481526020016001820160009054906101000a900460ff166005811115610a5a57610a5a6112a5565b6005811115610a6b57610a6b6112a5565b8152602001600282018054610a7f906115d9565b80601f0160208091040260200160405190810160405280929190818152602001828054610aab906115d9565b8015610af85780601f10610acd57610100808354040283529160200191610af8565b820191906000526020600020905b815481529060010190602001808311610adb57829003601f168201915b50505050508152602001600382018054610b11906115d9565b80601f0160208091040260200160405190810160405280929190818152602001828054610b3d906115d9565b8015610b8a5780601f10610b5f57610100808354040283529160200191610b8a565b820191906000526020600020905b815481529060010190602001808311610b6d57829003601f168201915b50505050508152505081526020019060010190610a09565b50505050905092915050565b606060018383604051610bc292919061159a565b9081526040519081900360200190208054610bdc906115d9565b80601f0160208091040260200160405190810160405280929190818152602001828054610c08906115d9565b8015610c555780601f10610c2a57610100808354040283529160200191610c55565b820191906000526020600020905b815481529060010190602001808311610c3857829003601f168201915b5050505050905092915050565b600080546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff8481166024830152909116906391d1485490604401602060405180830381865afa158015610cda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cfe91906119c3565b9392505050565b6000610d1083610e81565b8015610cfe5750610cfe8383610ee5565b6060610cfe8383604051806060016040528060278152602001611bbb60279139610fb4565b60006102fc825490565b600060018484604051610d6492919061159a565b90815260405190819003602001902090508135610d846001830182611039565b15610dbb576040517f982f2a2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610dc86001830182611051565b508260026000878785604051602001610de393929190611768565b6040516020818303038152906040528051906020012081526020019081526020016000208181610e1391906119f5565b505060038201805460018101825560009182526020909120849160040201610e3b82826119f5565b50507f25be0d4acedf2199ce49f3044ddf933ebe2febd8c63bd2cdd7ed12b458fc336185858386604051610e729493929190611b13565b60405180910390a15050505050565b6000610ead827f01ffc9a700000000000000000000000000000000000000000000000000000000610ee5565b80156102fc5750610ede827fffffffff00000000000000000000000000000000000000000000000000000000610ee5565b1592915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015610f9d575060208210155b8015610fa95750600081115b979650505050505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051610fde9190611ba8565b600060405180830381855af49150503d8060008114611019576040519150601f19603f3d011682016040523d82523d6000602084013e61101e565b606091505b509150915061102f8683838761105d565b9695505050505050565b60008181526001830160205260408120541515610cfe565b6000610cfe8383611105565b606083156110f35782516000036110ec5773ffffffffffffffffffffffffffffffffffffffff85163b6110ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016101b5565b50816110fd565b6110fd8383611154565b949350505050565b600081815260018301602052604081205461114c575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556102fc565b5060006102fc565b8151156111645781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101b59190611587565b6000602082840312156111aa57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610cfe57600080fd5b60008083601f8401126111e057600080fd5b50813567ffffffffffffffff8111156111f857600080fd5b60208301915083602082850101111561121057600080fd5b9250929050565b6000806020838503121561122a57600080fd5b823567ffffffffffffffff81111561124157600080fd5b61124d858286016111ce565b90969095509350505050565b60008060006040848603121561126e57600080fd5b833567ffffffffffffffff81111561128557600080fd5b611291868287016111ce565b909790965060209590950135949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6006811061130b577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b60005b8381101561132a578181015183820152602001611312565b50506000910152565b6000815180845261134b81602086016020860161130f565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b805182526000602082015161139560208501826112d4565b506040820151608060408501526113af6080850182611333565b9050606083015184820360608601526113c88282611333565b95945050505050565b602081526000610cfe602083018461137d565b600080602083850312156113f757600080fd5b823567ffffffffffffffff8082111561140f57600080fd5b818501915085601f83011261142357600080fd5b81358181111561143257600080fd5b8660208260051b850101111561144757600080fd5b60209290920196919550909350505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156114cc577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08886030184526114ba858351611333565b94509285019290850190600101611480565b5092979650505050505050565b6000602082840312156114eb57600080fd5b813567ffffffffffffffff81111561150257600080fd5b820160608185031215610cfe57600080fd5b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156114cc577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc088860301845261157585835161137d565b9450928501929085019060010161153b565b602081526000610cfe6020830184611333565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600181811c908216806115ed57607f821691505b602082108103611626577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261169057600080fd5b83018035915067ffffffffffffffff8211156116ab57600080fd5b60200191503681900382131561121057600080fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611718577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60408152600061177c60408301858761171f565b9050826020830152949350505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126117c157600080fd5b83018035915067ffffffffffffffff8211156117dc57600080fd5b6020019150600581901b360382131561121057600080fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8183360301811261182857600080fd5b9190910192915050565b601f82111561187c57600081815260208120601f850160051c810160208610156118595750805b601f850160051c820191505b8181101561187857828155600101611865565b5050505b505050565b67ffffffffffffffff8311156118995761189961162c565b6118ad836118a783546115d9565b83611832565b6000601f8411600181146118ff57600085156118c95750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355611995565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b8281101561194e578685013582556020948501946001909201910161192e565b5086821015611989577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b6040815260006119b060408301868861171f565b8281036020840152610fa981858761171f565b6000602082840312156119d557600080fd5b81518015158114610cfe57600080fd5b600681106119f257600080fd5b50565b81358155600181016020830135611a0b816119e5565b60068110611a42577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0082541660ff821681178355505050611a7e604083018361165b565b611a8c818360028601611881565b5050611a9b606083018361165b565b611aa9818360038601611881565b50505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611ae457600080fd5b830160208101925035905067ffffffffffffffff811115611b0457600080fd5b80360382131561121057600080fd5b606081526000611b2760608301868861171f565b8460208401528281036040840152833581526020840135611b47816119e5565b611b5460208301826112d4565b50611b626040850185611aaf565b60806040840152611b7760808401828461171f565b915050611b876060860186611aaf565b8383036060850152611b9a83828461171f565b9a9950505050505050505050565b6000825161182881846020870161130f56fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212208f3e172f26b1e16118674b4d7985c156f2849b9f9fd282fb3045456dfd7724a564736f6c63430008130033000000000000000000000000bd132e42baafe3648170770f2d45dba59166e06d", + "nonce": "0x7d4", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xd3ddafaca2e81ff6081857324791c6529045bfa8d71e9a5b28e6919ceed2fef2", + "transactionType": "CREATE", + "contractName": "ModuleRegistry", + "contractAddress": "0xe8ab207A5C21162Db1ee75e378A92C82d550a8d1", + "function": null, + "arguments": [ + "0xbD132e42baaFe3648170770F2D45dbA59166e06d" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x276514", + "value": "0x0", + "data": "0x60806040523480156200001157600080fd5b506040516200246c3803806200246c8339810160408190526200003491620001cd565b80620000516001600160a01b038216637965db0b60e01b620000e1565b62000094576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b038316908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050620001f8565b6000620000ee8362000109565b801562000102575062000102838362000142565b9392505050565b60006200011e826301ffc9a760e01b62000142565b80156200013c57506200013a826001600160e01b031962000142565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d91506000519050828015620001b5575060208210155b8015620001c25750600081115b979650505050505050565b600060208284031215620001e057600080fd5b81516001600160a01b03811681146200010257600080fd5b61226480620002086000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c80638694509411610097578063d04d78c611610066578063d04d78c614610225578063d08906d614610238578063e1fc45ce1461024b578063eca535191461025e57600080fd5b806386945094146101df578063ac9650d8146101f2578063b38609e814610212578063c7bdcb8a146101df57600080fd5b80634066edd9116100d35780634066edd914610179578063449f1a961461018c5780635c7a980b146101c457806382984f30146101cc57600080fd5b806319129e5a1461010557806320b76ffc1461011a57806337e22bd41461012d5780633af83c1814610156575b600080fd5b6101186101133660046115ac565b610271565b005b610118610128366004611612565b6103d5565b61014061013b366004611854565b6103eb565b60405161014d9190611982565b60405180910390f35b610169610164366004611995565b610405565b604051901515815260200161014d565b6101186101873660046119ec565b610460565b61019f61019a3660046119ec565b610672565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161014d565b61019f600081565b6101696101da3660046115ac565b6106b4565b61019f6101ed3660046119ec565b610718565b610205610200366004611a73565b61072c565b60405161014d9190611afb565b610140610220366004611b0e565b610821565b610118610233366004611995565b610939565b610118610246366004611995565b610acd565b610140610259366004611bf6565b610c1d565b61011861026c3660046119ec565b610ca3565b600061027d8133610e63565b6102c1576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b61030173ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000610f06565b610367576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c00000000000000000000000000000000000060448201526064016102b8565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050565b6103e3853386868686610f22565b505050505050565b60606103fb8633878787876110d0565b9695505050505050565b60008173ffffffffffffffffffffffffffffffffffffffff1660018585604051610430929190611c8b565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff161490509392505050565b7fc9a6ce5d86bdc06f8d57f20091bf09bf611e57d0626b65aa9ebb3c9179ba650f61048b8133610e63565b6104ca576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016102b8565b600073ffffffffffffffffffffffffffffffffffffffff16600284846040516104f4929190611c8b565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff16036105555782826040517f3fbd33b30000000000000000000000000000000000000000000000000000000081526004016102b8929190611ce4565b600060028484604051610569929190611c8b565b9081526040519081900360200181205473ffffffffffffffffffffffffffffffffffffffff1691506002906105a19086908690611c8b565b908152604080516020928190038301902080547fffffffffffffffffffffffff000000000000000000000000000000000000000016905573ffffffffffffffffffffffffffffffffffffffff831660009081526003909252812061060491611524565b8073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f946d7ea49afbef075e4d6f78364557a1cd3e32b89d9a963d6d041caac5e8953a8686604051610664929190611ce4565b60405180910390a350505050565b600060028383604051610686929190611c8b565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff16905092915050565b73ffffffffffffffffffffffffffffffffffffffff811660008181526003602052604080822090519192916002916106eb91611d4b565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff161492915050565b600060018383604051610686929190611c8b565b60608167ffffffffffffffff81111561074757610747611695565b60405190808252806020026020018201604052801561077a57816020015b60608152602001906001900390816107655790505b50905060005b8281101561081a576107ea3085858481811061079e5761079e611ddf565b90506020028101906107b09190611e0e565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061126992505050565b8282815181106107fc576107fc611ddf565b6020026020010181905250808061081290611e73565b915050610780565b5092915050565b60607fe4a10d29decbd34c09a62a511d4fd993a7d8cbbf58d7d4278711c29c9148b8f761084e8133610e63565b61088d576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016102b8565b6109298c8c8c8c8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061091a92508c91508d9050611ed2565b610924898b611ed2565b6110d0565b9c9b505050505050505050505050565b7fc9a6ce5d86bdc06f8d57f20091bf09bf611e57d0626b65aa9ebb3c9179ba650f6109648133610e63565b6109a3576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016102b8565b73ffffffffffffffffffffffffffffffffffffffff82166109f0576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8160028585604051610a03929190611c8b565b908152604080516020928190038301902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9485161790559184166000908152600390915220610a6c848683611f2a565b508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f33f12a9d70fd5f6771d495aae3b2cf0abc703cbaa526982b65446f1ef8816f9b8686604051610664929190611ce4565b7fc9a6ce5d86bdc06f8d57f20091bf09bf611e57d0626b65aa9ebb3c9179ba650f610af88133610e63565b610b37576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016102b8565b73ffffffffffffffffffffffffffffffffffffffff8216610b84576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8160018585604051610b97929190611c8b565b908152604051908190036020018120805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff0000000000000000000000000000000000000000909116179055908316906000907f14d77cb3ef4c75b9a031527cf63890f47708121a75c8b9c9cddbacc19defd122906106649088908890611ce4565b60607fe4a10d29decbd34c09a62a511d4fd993a7d8cbbf58d7d4278711c29c9148b8f7610c4a8133610e63565b610c89576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016102b8565b610c97888888888888610f22565b98975050505050505050565b7fc9a6ce5d86bdc06f8d57f20091bf09bf611e57d0626b65aa9ebb3c9179ba650f610cce8133610e63565b610d0d576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016102b8565b600073ffffffffffffffffffffffffffffffffffffffff1660018484604051610d37929190611c8b565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff1603610d985782826040517f97385f510000000000000000000000000000000000000000000000000000000081526004016102b8929190611ce4565b600060018484604051610dac929190611c8b565b9081526040519081900360200181205473ffffffffffffffffffffffffffffffffffffffff169150600190610de49086908690611c8b565b90815260405190819003602001812080547fffffffffffffffffffffffff000000000000000000000000000000000000000016905573ffffffffffffffffffffffffffffffffffffffff8216906000907f335f1d2bb0046b3a423088788bb8d6350f8a36ff7d554592f91d8102ea0ce4d7906106649088908890611ce4565b600080546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff8481166024830152909116906391d1485490604401602060405180830381865afa158015610edb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eff9190612045565b9392505050565b6000610f118361128e565b8015610eff5750610eff83836112f3565b6060600060018686604051610f38929190611c8b565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff16905080610f9b5785856040517f97385f510000000000000000000000000000000000000000000000000000000081526004016102b8929190611ce4565b6040517f4fcbd21300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821690634fcbd21390610ff3908b908b9089908990600401612067565b6000604051808303816000875af1158015611012573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261105891908101906120a1565b91508673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167f48786003f3d30e41bfa4ee09afdeb9bfb04b7e06e2f74f3177da393a793bbc33888888886040516110bd9493929190612118565b60405180910390a3509695505050505050565b606060006001866040516110e4919061213f565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff1690508061114557856040517f97385f510000000000000000000000000000000000000000000000000000000081526004016102b89190611982565b6040517fb6efd29d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82169063b6efd29d9061119f908b908b908a908a908a9060040161215b565b6000604051808303816000875af11580156111be573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261120491908101906120a1565b91508673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fc370e2f187a6d9446aca617bbcd60f84f24a0020a0c55dbc4ff5c8a3ce87abb5888888886040516110bd94939291906121ba565b6060610eff8383604051806060016040528060278152602001612208602791396113c2565b60006112ba827f01ffc9a7000000000000000000000000000000000000000000000000000000006112f3565b80156112ed57506112eb827fffffffff000000000000000000000000000000000000000000000000000000006112f3565b155b92915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d915060005190508280156113ab575060208210155b80156113b75750600081115b979650505050505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516113ec919061213f565b600060405180830381855af49150503d8060008114611427576040519150601f19603f3d011682016040523d82523d6000602084013e61142c565b606091505b50915091506103fb86838387606083156114ce5782516000036114c75773ffffffffffffffffffffffffffffffffffffffff85163b6114c7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102b8565b50816114d8565b6114d883836114e0565b949350505050565b8151156114f05781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102b89190611982565b50805461153090611cf8565b6000825580601f10611540575050565b601f01602090049060005260206000209081019061155e9190611561565b50565b5b808211156115765760008155600101611562565b5090565b73ffffffffffffffffffffffffffffffffffffffff8116811461155e57600080fd5b80356115a78161157a565b919050565b6000602082840312156115be57600080fd5b8135610eff8161157a565b60008083601f8401126115db57600080fd5b50813567ffffffffffffffff8111156115f357600080fd5b60208301915083602082850101111561160b57600080fd5b9250929050565b60008060008060006060868803121561162a57600080fd5b85356116358161157a565b9450602086013567ffffffffffffffff8082111561165257600080fd5b61165e89838a016115c9565b9096509450604088013591508082111561167757600080fd5b50611684888289016115c9565b969995985093965092949392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561170b5761170b611695565b604052919050565b600067ffffffffffffffff82111561172d5761172d611695565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f83011261176a57600080fd5b813561177d61177882611713565b6116c4565b81815284602083860101111561179257600080fd5b816020850160208301376000918101602001919091529392505050565b600067ffffffffffffffff808411156117ca576117ca611695565b8360051b60206117db8183016116c4565b868152935090840190808401878311156117f457600080fd5b855b838110156118285780358581111561180e5760008081fd5b61181a8a828a01611759565b8352509082019082016117f6565b50505050509392505050565b600082601f83011261184557600080fd5b610eff838335602085016117af565b600080600080600060a0868803121561186c57600080fd5b85356118778161157a565b9450602086013567ffffffffffffffff8082111561189457600080fd5b6118a089838a01611759565b955060408801359150808211156118b657600080fd5b6118c289838a01611759565b945060608801359150808211156118d857600080fd5b6118e489838a01611834565b935060808801359150808211156118fa57600080fd5b5061190788828901611834565b9150509295509295909350565b60005b8381101561192f578181015183820152602001611917565b50506000910152565b60008151808452611950816020860160208601611914565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610eff6020830184611938565b6000806000604084860312156119aa57600080fd5b833567ffffffffffffffff8111156119c157600080fd5b6119cd868287016115c9565b90945092505060208401356119e18161157a565b809150509250925092565b600080602083850312156119ff57600080fd5b823567ffffffffffffffff811115611a1657600080fd5b611a22858286016115c9565b90969095509350505050565b60008083601f840112611a4057600080fd5b50813567ffffffffffffffff811115611a5857600080fd5b6020830191508360208260051b850101111561160b57600080fd5b60008060208385031215611a8657600080fd5b823567ffffffffffffffff811115611a9d57600080fd5b611a2285828601611a2e565b6000815180845260208085019450848260051b860182860160005b85811015611aee578383038952611adc838351611938565b98850198925090840190600101611ac4565b5090979650505050505050565b602081526000610eff6020830184611aa9565b60008060008060008060008060008060c08b8d031215611b2d57600080fd5b611b368b61159c565b9950611b4460208c0161159c565b985060408b013567ffffffffffffffff80821115611b6157600080fd5b611b6d8e838f016115c9565b909a50985060608d0135915080821115611b8657600080fd5b611b928e838f016115c9565b909850965060808d0135915080821115611bab57600080fd5b611bb78e838f01611a2e565b909650945060a08d0135915080821115611bd057600080fd5b50611bdd8d828e01611a2e565b915080935050809150509295989b9194979a5092959850565b60008060008060008060808789031215611c0f57600080fd5b8635611c1a8161157a565b95506020870135611c2a8161157a565b9450604087013567ffffffffffffffff80821115611c4757600080fd5b611c538a838b016115c9565b90965094506060890135915080821115611c6c57600080fd5b50611c7989828a016115c9565b979a9699509497509295939492505050565b8183823760009101908152919050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6020815260006114d8602083018486611c9b565b600181811c90821680611d0c57607f821691505b602082108103611d45577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b6000808354611d5981611cf8565b60018281168015611d715760018114611da457611dd3565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0084168752821515830287019450611dd3565b8760005260208060002060005b85811015611dca5781548a820152908401908201611db1565b50505082870194505b50929695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611e4357600080fd5b83018035915067ffffffffffffffff821115611e5e57600080fd5b60200191503681900382131561160b57600080fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611ecb577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b6000610eff3684846117af565b601f821115611f2557600081815260208120601f850160051c81016020861015611f065750805b601f850160051c820191505b818110156103e357828155600101611f12565b505050565b67ffffffffffffffff831115611f4257611f42611695565b611f5683611f508354611cf8565b83611edf565b6000601f841160018114611fa85760008515611f725750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b17835561203e565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b82811015611ff75786850135825560209485019460019092019101611fd7565b5086821015612032577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b60006020828403121561205757600080fd5b81518015158114610eff57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250606060408301526103fb606083018486611c9b565b6000602082840312156120b357600080fd5b815167ffffffffffffffff8111156120ca57600080fd5b8201601f810184136120db57600080fd5b80516120e961177882611713565b8181528560208385010111156120fe57600080fd5b61210f826020830160208601611914565b95945050505050565b60408152600061212c604083018688611c9b565b82810360208401526113b7818587611c9b565b60008251612151818460208701611914565b9190910192915050565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525060a0604083015261219460a0830186611938565b82810360608401526121a68186611aa9565b90508281036080840152610c978185611aa9565b6080815260006121cd6080830187611938565b82810360208401526121df8187611938565b905082810360408401526121f38186611aa9565b905082810360608401526113b78185611aa956fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220db500e1b4c73af951db86225ddf5da0ca8d3d8bec7e9430df8a7b51035fa9ee564736f6c63430008130033000000000000000000000000bd132e42baafe3648170770f2d45dba59166e06d", + "nonce": "0x7d5", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x1f3dc0d59df858826799989459af30bd37cf4fa01610ea98add6f5813cd2cafc", + "transactionType": "CREATE", + "contractName": "IPAssetRegistry", + "contractAddress": "0x7a7BC5640637b74ABEcc6e908Ed548eE1969c948", + "function": null, + "arguments": [ + "0xe8ab207A5C21162Db1ee75e378A92C82d550a8d1" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x132c3f", + "value": "0x0", + "data": "0x60a0604052600060015534801561001557600080fd5b5060405161113e38038061113e83398101604081905261003491610045565b6001600160a01b0316608052610075565b60006020828403121561005757600080fd5b81516001600160a01b038116811461006e57600080fd5b9392505050565b6080516110926100ac6000396000818161018e0152818161023f0152818161040f0152818161057c01526106af01526110926000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806387cb967a1161005b57806387cb967a14610150578063b95ddb5214610189578063c47f8bfa146101b0578063d896dd64146101d057600080fd5b8063251fe79c1461008d578063299d1cf6146100a257806342d21ef7146100df578063601a924c1461012f575b600080fd5b6100a061009b366004610b62565b6101e3565b005b6100b56100b0366004610b92565b61039b565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61011d6100ed366004610b92565b60009081526020819052604090206001015474010000000000000000000000000000000000000000900460ff1690565b60405160ff90911681526020016100d6565b61014261013d366004610bda565b61051d565b6040519081526020016100d6565b6100b561015e366004610b92565b60009081526020819052604090206002015473ffffffffffffffffffffffffffffffffffffffff1690565b6100b57f000000000000000000000000000000000000000000000000000000000000000081565b6101c36101be366004610b92565b610951565b6040516100d69190610d3a565b6100a06101de366004610dbd565b610aa0565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815233917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a9161028791600401610de8565b602060405180830381865afa1580156102a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102c89190610dfb565b73ffffffffffffffffffffffffffffffffffffffff1614610315576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008281526020819052604080822060020180547fffffffffffffffffffffffff0000000000000000000000000000000000000000811673ffffffffffffffffffffffffffffffffffffffff8681169182179093559251911692839186917f147c62691502c52a4a793c136ab712d9695053acdd62d44170a823bc377a59f591a4505050565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a000000000000000000000000000000000000000000000000000000008152600091829173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a916104439190600401610de8565b602060405180830381865afa158015610460573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104849190610dfb565b6040517f6352211e0000000000000000000000000000000000000000000000000000000081526004810185905290915073ffffffffffffffffffffffffffffffffffffffff821690636352211e90602401602060405180830381865afa1580156104f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105169190610dfb565b9392505050565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260009133917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a916105c59190600401610de8565b602060405180830381865afa1580156105e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106069190610dfb565b73ffffffffffffffffffffffffffffffffffffffff1614610653576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815233917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a916106f791600401610de8565b602060405180830381865afa158015610714573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107389190610dfb565b73ffffffffffffffffffffffffffffffffffffffff1614610785576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016000815461079490610e18565b91829055506040805160c08101825285815273ffffffffffffffffffffffffffffffffffffffff8781166020808401919091526001838501529089166060830152608082018690524267ffffffffffffffff811660a084015260008581529182905292902081519394509192909190819061080f9082610f19565b50602082015160018201805460408086015160ff1674010000000000000000000000000000000000000000027fffffffffffffffffffffff00000000000000000000000000000000000000000090921673ffffffffffffffffffffffffffffffffffffffff948516179190911790915560608401516002840180549184167fffffffffffffffffffffffff0000000000000000000000000000000000000000929092169190911790556080840151600384015560a0909301516004909201805467ffffffffffffffff9093167fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909316929092179091559051868216918816907f964ceb922535d169779e716f1dea5a577aeef2427e753bdb9eace345bca56b929061094090869089908990611033565b60405180910390a350949350505050565b6040805160c081018252606080825260006020830181905292820183905281018290526080810182905260a081019190915260008281526020819052604090819020815160c081019092528054829082906109ab90610e77565b80601f01602080910402602001604051908101604052809291908181526020018280546109d790610e77565b8015610a245780601f106109f957610100808354040283529160200191610a24565b820191906000526020600020905b815481529060010190602001808311610a0757829003601f168201915b5050509183525050600182015473ffffffffffffffffffffffffffffffffffffffff80821660208401527401000000000000000000000000000000000000000090910460ff16604083015260028301541660608201526003820154608082015260049091015467ffffffffffffffff1660a09091015292915050565b60008281526020818152604091829020600101805460ff858116740100000000000000000000000000000000000000008181027fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff8516179094558551939092041680835292820152849283917fd98efe2dd5b76c52df27ca251c889b2339e9f49fdd2e02e72abbae1136a1f014910160405180910390a250505050565b73ffffffffffffffffffffffffffffffffffffffff81168114610b5f57600080fd5b50565b60008060408385031215610b7557600080fd5b823591506020830135610b8781610b3d565b809150509250929050565b600060208284031215610ba457600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060008060808587031215610bf057600080fd5b8435610bfb81610b3d565b93506020850135610c0b81610b3d565b9250604085013567ffffffffffffffff80821115610c2857600080fd5b818701915087601f830112610c3c57600080fd5b813581811115610c4e57610c4e610bab565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715610c9457610c94610bab565b816040528281528a6020848701011115610cad57600080fd5b826020860160208301376000928101602001929092525095989497509495606001359450505050565b6000815180845260005b81811015610cfc57602081850181015186830182015201610ce0565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081526000825160c06020840152610d5660e0840182610cd6565b9050602084015173ffffffffffffffffffffffffffffffffffffffff808216604086015260ff60408701511660608601528060608701511660808601525050608084015160a084015267ffffffffffffffff60a08501511660c08401528091505092915050565b60008060408385031215610dd057600080fd5b82359150602083013560ff81168114610b8757600080fd5b6020815260006105166020830184610cd6565b600060208284031215610e0d57600080fd5b815161051681610b3d565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610e70577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b600181811c90821680610e8b57607f821691505b602082108103610ec4577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f821115610f1457600081815260208120601f850160051c81016020861015610ef15750805b601f850160051c820191505b81811015610f1057828155600101610efd565b5050505b505050565b815167ffffffffffffffff811115610f3357610f33610bab565b610f4781610f418454610e77565b84610eca565b602080601f831160018114610f9a5760008415610f645750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610f10565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015610fe757888601518255948401946001909101908401610fc8565b508582101561102357878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b83815260606020820152600061104c6060830185610cd6565b905082604083015294935050505056fea26469706673582212208eaf86cacb600d9314b9d1d5d2261f9c609ee632773c3332418ebe9b5cc85fba64736f6c63430008130033000000000000000000000000e8ab207a5c21162db1ee75e378a92c82d550a8d1", + "nonce": "0x7d6", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x47b0c667bac6c924bd3eb35e1d2940d026a0e1f55f298389d0296cfc530aada2", + "transactionType": "CREATE", + "contractName": "LicenseRegistry", + "contractAddress": "0x80e012Ca980E1d3993d8beE99828619E5532B12b", + "function": null, + "arguments": [ + "0x7a7BC5640637b74ABEcc6e908Ed548eE1969c948", + "0xe8ab207A5C21162Db1ee75e378A92C82d550a8d1", + "0x43C1C831D370f36149183d31FdAC50b131289949" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x3e569c", + "value": "0x0", + "data": "0x60e06040523480156200001157600080fd5b5060405162003ab038038062003ab0833981016040819052620000349162000160565b6040518060400160405280601a81526020017f53746f72792050726f746f636f6c204c6963656e7365204e4654000000000000815250604051806040016040528060048152602001631313919560e21b81525081600090816200009891906200024f565b506001620000a782826200024f565b5050506001600160a01b038316620000d25760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b038084166080528216620001005760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0380831660a05281166200012e5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b031660c052506200031b9050565b80516001600160a01b03811681146200015b57600080fd5b919050565b6000806000606084860312156200017657600080fd5b620001818462000143565b9250620001916020850162000143565b9150620001a16040850162000143565b90509250925092565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620001d557607f821691505b602082108103620001f657634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200024a57600081815260208120601f850160051c81016020861015620002255750805b601f850160051c820191505b81811015620002465782815560010162000231565b5050505b505050565b81516001600160401b038111156200026b576200026b620001aa565b62000283816200027c8454620001c0565b84620001fc565b602080601f831160018114620002bb5760008415620002a25750858301515b600019600386901b1c1916600185901b17855562000246565b600085815260208120601f198616915b82811015620002ec57888601518255948401946001909101908401620002cb565b50858210156200030b5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60805160a05160c0516137426200036e600039600061043401526000818161048901528181610adb0152818161106c015281816112980152611808015260008181610522015261225301526137426000f3fe608060405234801561001057600080fd5b506004361061020b5760003560e01c806370a082311161012a578063c8c0eb87116100bd578063e006e5a71161008c578063e705c2b811610071578063e705c2b8146105b3578063e985e9c5146105c6578063eb683a491461060f57600080fd5b8063e006e5a714610567578063e58efef61461057a57600080fd5b8063c8c0eb87146104cc578063d09d894e1461050a578063d2faf8b01461051d578063d7f9ab8b1461054457600080fd5b8063a22cb465116100f9578063a22cb4651461045e578063b88d4fde14610471578063b95ddb5214610484578063c87b56dd146104ab57600080fd5b806370a082311461040957806371e074dd1461041c57806376a4b13b1461042f57806395d89b411461045657600080fd5b8063357a595a116101a2578063439d4b5c11610171578063439d4b5c1461039257806356227341146103a55780636103b2ce146103d65780636352211e146103f657600080fd5b8063357a595a1461031957806337f8ebfb1461032c5780633c06e1dc1461035657806342842e0e1461037f57600080fd5b806308a4f072116101de57806308a4f072146102be578063095ea7b3146102de5780631f09e4e5146102f357806323b872dd1461030657600080fd5b806301ffc9a714610210578063056569af1461023857806306fdde0314610296578063081812fc146102ab575b600080fd5b61022361021e366004612a88565b610622565b60405190151581526020015b60405180910390f35b610271610246366004612aac565b60009081526006602052604090206001015473ffffffffffffffffffffffffffffffffffffffff1690565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161022f565b61029e610707565b60405161022f9190612b29565b6102716102b9366004612aac565b610799565b6102d16102cc366004612aac565b6107cd565b60405161022f9190612b3c565b6102f16102ec366004612bf7565b6108db565b005b6102f1610301366004612c21565b610a6c565b6102f1610314366004612c4d565b610b96565b6102f1610327366004612aac565b610c37565b61022361033a366004612aac565b6000908152600660205260409020546301000000900460ff1690565b610223610364366004612aac565b60009081526006602052604090205462010000900460ff1690565b6102f161038d366004612c4d565b610c44565b6102f16103a0366004612aac565b610c5f565b6103c86103b3366004612aac565b60009081526006602052604090206005015490565b60405190815260200161022f565b6103e96103e4366004612aac565b610d25565b60405161022f9190612cf3565b610271610404366004612aac565b610ea1565b6103c8610417366004612de3565b610f2d565b6102f161042a366004612dfe565b610ffb565b6102717f000000000000000000000000000000000000000000000000000000000000000081565b61029e611164565b6102f161046c366004612e39565b611173565b6102f161047f366004612fc9565b61117e565b6102717f000000000000000000000000000000000000000000000000000000000000000081565b61029e6104b9366004612aac565b5060408051602081019091526000815290565b6102716104da366004612aac565b600090815260066020526040902054640100000000900473ffffffffffffffffffffffffffffffffffffffff1690565b6103c8610518366004613031565b611226565b6102717f000000000000000000000000000000000000000000000000000000000000000081565b6103c8610552366004612aac565b60009081526006602052604090206004015490565b610271610575366004612aac565b6116c7565b610271610588366004612aac565b60009081526006602052604090206002015473ffffffffffffffffffffffffffffffffffffffff1690565b6102236105c1366004612aac565b6116d2565b6102236105d4366004613075565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260056020908152604080832093909416825291909152205460ff1690565b6103c861061d3660046131a9565b611796565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd0000000000000000000000000000000000000000000000000000000014806106b557507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b8061070157507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b606060008054610716906132b0565b80601f0160208091040260200160405190810160405280929190818152602001828054610742906132b0565b801561078f5780601f106107645761010080835404028352916020019161078f565b820191906000526020600020905b81548152906001019060200180831161077257829003601f168201915b5050505050905090565b60006107a482611bb0565b5060009081526004602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b606060076000838152602001908152602001600020805480602002602001604051908101604052809291908181526020016000905b828210156108d057838290600052602060002090600202016040518060400160405290816000820154815260200160018201805461083f906132b0565b80601f016020809104026020016040519081016040528092919081815260200182805461086b906132b0565b80156108b85780601f1061088d576101008083540402835291602001916108b8565b820191906000526020600020905b81548152906001019060200180831161089b57829003601f168201915b50505050508152505081526020019060010190610802565b505050509050919050565b60006108e682610ea1565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036109a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff821614806109d157506109d181336105d4565b610a5d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000606482015260840161099f565b610a678383611c3b565b505050565b604080518082018252601081527f4c4943454e53494e475f4d4f44554c4500000000000000000000000000000000602082015290517f3af83c1800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001691633af83c1891610b1191903390600401613303565b602060405180830381865afa158015610b2e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b52919061333b565b610b88576040517f039cb0ee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b928282611cdb565b5050565b610ba03382611e2a565b610c2c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f76656400000000000000000000000000000000000000606482015260840161099f565b610a67838383611ee9565b610c418133611cdb565b50565b610a678383836040518060200160405280600081525061117e565b600081815260066020526040902054640100000000900473ffffffffffffffffffffffffffffffffffffffff163314610cc4576040517f95e4a90e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008181526006602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660031790555182917ff8ecc300d4504a2b49692052f138b7e697df679cf0580522720ce405bd01be5591a250565b6040805161014081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810191909152600082815260066020526040812090815460ff166003811115610d9b57610d9b612c89565b03610dd2576040517fc28093d700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408051610140810190915281548290829060ff166003811115610df857610df8612c89565b6003811115610e0957610e09612c89565b8152815461010080820460ff9081161515602085015262010000830481161515604085015263010000008304161515606084015264010000000090910473ffffffffffffffffffffffffffffffffffffffff90811660808401526001840154811660a084015260028401541660c0830152600383015460e0830152600483015490820152600590910154610120909101529392505050565b60008181526002602052604081205473ffffffffffffffffffffffffffffffffffffffff1680610701576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e2049440000000000000000604482015260640161099f565b600073ffffffffffffffffffffffffffffffffffffffff8216610fd2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e65720000000000000000000000000000000000000000000000606482015260840161099f565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526003602052604090205490565b604080518082018252601081527f4c4943454e53494e475f4d4f44554c4500000000000000000000000000000000602082015290517f3af83c18000000000000000000000000000000000000000000000000000000008152839173ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001691633af83c18916110a1913390600401613303565b602060405180830381865afa1580156110be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110e2919061333b565b15801561112357506110f381610ea1565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b1561115a576040517fc1b4742400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a6783836121e4565b606060018054610716906132b0565b610b9233838361239b565b6111883383611e2a565b611214576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f76656400000000000000000000000000000000000000606482015260840161099f565b611220848484846124c8565b50505050565b604080518082018252601081527f4c4943454e53494e475f4d4f44554c4500000000000000000000000000000000602082015290517f3af83c1800000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001691633af83c18916112cd913390600401613303565b602060405180830381865afa1580156112ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061130e919061333b565b611344576040517f039cb0ee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61134d856116d2565b611383576040517f72b0a52c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600085815260066020526040808220815161014081019092528054829060ff1660038111156113b4576113b4612c89565b60038111156113c5576113c5612c89565b8152815461010080820460ff9081161515602085015262010000830481161515604085015263010000008304161515606084015264010000000090910473ffffffffffffffffffffffffffffffffffffffff90811660808401526001840154811660a084015260028401541660c0830152600383015460e08301526004830154908201526005909101546101209091015260088054919250600091829061146b90613358565b9182905550610120830188905273ffffffffffffffffffffffffffffffffffffffff871660a084015261010083018590526060830151909150156114ae57600282525b600087815260076020526040808220838352912081546114ce9290612980565b506000818152600660205260409020825181548492919082907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600183600381111561151d5761151d612c89565b021790555060208201518154604080850151606086015160808701517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000ff90941661010095151586027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff16176201000092151592909202919091177fffffffffffffffff000000000000000000000000000000000000000000ffffff166301000000911515919091027fffffffffffffffff0000000000000000000000000000000000000000ffffffff161764010000000073ffffffffffffffffffffffffffffffffffffffff9384160217845560a08501516001850180547fffffffffffffffffffffffff000000000000000000000000000000000000000090811692851692909217905560c086015160028601805490921693169290921790915560e08401516003840155908301516004830155610120909201516005909101555181907f0eaf6d681055f593c54be5a95da92bb2249915d24efbd7686fd32f6f89784204906116a9908590612cf3565b60405180910390a26116bb858261256b565b9150505b949350505050565b600061070182610ea1565b6000816000036116e457506000919050565b811561178e57600260008381526006602052604090205460ff16600381111561170f5761170f612c89565b148061173b575060008281526006602052604081205460ff16600381111561173957611739612c89565b145b806117685750600360008381526006602052604090205460ff16600381111561176657611766612c89565b145b1561177557506000919050565b60009182526006602052604090912060050154906116e4565b506001919050565b604080518082018252601081527f4c4943454e53494e475f4d4f44554c4500000000000000000000000000000000602082015290517f3af83c1800000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001691633af83c189161183d913390600401613303565b602060405180830381865afa15801561185a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061187e919061333b565b6118b4576040517f039cb0ee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b835160018160038111156118ca576118ca612c89565b141580156118ea575060028160038111156118e7576118e7612c89565b14155b15611921576040517f92439ccc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060086000815461193290613358565b9182905550600081815260066020526040902087518154929350889282907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600183600381111561198657611986612c89565b021790555060208201518154604080850151606086015160808701517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000ff90941661010095151586027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff16176201000092151592909202919091177fffffffffffffffff000000000000000000000000000000000000000000ffffff166301000000911515919091027fffffffffffffffff0000000000000000000000000000000000000000ffffffff161764010000000073ffffffffffffffffffffffffffffffffffffffff9384160217845560a08501516001850180547fffffffffffffffffffffffff000000000000000000000000000000000000000090811692851692909217905560c086015160028601805490921693169290921790915560e08401516003840155908301516004830155610120909201516005909101555181907f0eaf6d681055f593c54be5a95da92bb2249915d24efbd7686fd32f6f8978420490611b12908990612cf3565b60405180910390a2611b24858261256b565b83516000828152600760205260408120905b82811015611ba35781878281518110611b5157611b516133b7565b6020908102919091018101518254600181810185556000948552938390208251600290920201908155918101519092820190611b8d9082613434565b5050508080611b9b90613358565b915050611b36565b5091979650505050505050565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff16610c41576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e2049440000000000000000604482015260640161099f565b600081815260046020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091558190611c9582610ea1565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000828152600660205260409020600181015473ffffffffffffffffffffffffffffffffffffffff838116911614611d3f576040517f54c26a8800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002815460ff166003811115611d5757611d57612c89565b14611d8e576040517ff40190f500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611d9b81600501546116d2565b611dd1576040517f72b0a52c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117815560405183907fa3ada00687872cb827044ee48684890eeb5caffc2d7abf015ea327c7d7d06b8490600090a2505050565b600080611e3683610ea1565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611ea4575073ffffffffffffffffffffffffffffffffffffffff80821660009081526005602090815260408083209388168352929052205460ff165b806116bf57508373ffffffffffffffffffffffffffffffffffffffff16611eca84610799565b73ffffffffffffffffffffffffffffffffffffffff1614949350505050565b8273ffffffffffffffffffffffffffffffffffffffff16611f0982610ea1565b73ffffffffffffffffffffffffffffffffffffffff1614611fac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e6572000000000000000000000000000000000000000000000000000000606482015260840161099f565b73ffffffffffffffffffffffffffffffffffffffff821661204e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161099f565b8273ffffffffffffffffffffffffffffffffffffffff1661206e82610ea1565b73ffffffffffffffffffffffffffffffffffffffff1614612111576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e6572000000000000000000000000000000000000000000000000000000606482015260840161099f565b600081815260046020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff8781168086526003855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b816121ee816116d2565b612224576040517fa15e441100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f42d21ef7000000000000000000000000000000000000000000000000000000008152600481018390527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906342d21ef790602401602060405180830381865afa1580156122af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122d3919061354e565b60ff1660011461230f576040517f32a7f99e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008381526006602052604090206004015415612358576040517fed035e9700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008381526006602052604080822060040184905551839185917f9d2bbd85f58e2a13e5a13a8d77b039e02a44b601338e36691ab827a547b2353e9190a3505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612430576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161099f565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526005602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6124d3848484611ee9565b6124df84848484612790565b611220576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e7465720000000000000000000000000000606482015260840161099f565b73ffffffffffffffffffffffffffffffffffffffff82166125e8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161099f565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1615612674576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161099f565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1615612700576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161099f565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260036020908152604080832080546001019055848352600290915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b600073ffffffffffffffffffffffffffffffffffffffff84163b15612978576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a0290612807903390899088908890600401613571565b6020604051808303816000875af1925050508015612860575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261285d918101906135ba565b60015b61292d573d80801561288e576040519150601f19603f3d011682016040523d82523d6000602084013e612893565b606091505b508051600003612925576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e7465720000000000000000000000000000606482015260840161099f565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a02000000000000000000000000000000000000000000000000000000001490506116bf565b5060016116bf565b8280548282559060005260206000209060020281019282156129dd5760005260206000209160020282015b828111156129dd578254825582826001808201906129cb908401826135d7565b505050916002019190600201906129ab565b506129e99291506129ed565b5090565b808211156129e9576000808255612a076001830182612a10565b506002016129ed565b508054612a1c906132b0565b6000825580601f10612a2c575050565b601f016020900490600052602060002090810190610c4191905b808211156129e95760008155600101612a46565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610c4157600080fd5b600060208284031215612a9a57600080fd5b8135612aa581612a5a565b9392505050565b600060208284031215612abe57600080fd5b5035919050565b6000815180845260005b81811015612aeb57602081850181015186830182015201612acf565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081526000612aa56020830184612ac5565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015612bc0578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0018552815180518452870151878401879052612bad87850182612ac5565b9588019593505090860190600101612b63565b509098975050505050505050565b803573ffffffffffffffffffffffffffffffffffffffff81168114612bf257600080fd5b919050565b60008060408385031215612c0a57600080fd5b612c1383612bce565b946020939093013593505050565b60008060408385031215612c3457600080fd5b82359150612c4460208401612bce565b90509250929050565b600080600060608486031215612c6257600080fd5b612c6b84612bce565b9250612c7960208501612bce565b9150604084013590509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60048110612cef577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b600061014082019050612d07828451612cb8565b6020830151612d1a602084018215159052565b506040830151612d2e604084018215159052565b506060830151612d42606084018215159052565b506080830151612d6a608084018273ffffffffffffffffffffffffffffffffffffffff169052565b5060a0830151612d9260a084018273ffffffffffffffffffffffffffffffffffffffff169052565b5060c0830151612dba60c084018273ffffffffffffffffffffffffffffffffffffffff169052565b5060e083015160e083015261010080840151818401525061012080840151818401525092915050565b600060208284031215612df557600080fd5b612aa582612bce565b60008060408385031215612e1157600080fd5b50508035926020909101359150565b8015158114610c4157600080fd5b8035612bf281612e20565b60008060408385031215612e4c57600080fd5b612e5583612bce565b91506020830135612e6581612e20565b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715612ec257612ec2612e70565b60405290565b604051610140810167ffffffffffffffff81118282101715612ec257612ec2612e70565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715612f3357612f33612e70565b604052919050565b600082601f830112612f4c57600080fd5b813567ffffffffffffffff811115612f6657612f66612e70565b612f9760207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601612eec565b818152846020838601011115612fac57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060808587031215612fdf57600080fd5b612fe885612bce565b9350612ff660208601612bce565b925060408501359150606085013567ffffffffffffffff81111561301957600080fd5b61302587828801612f3b565b91505092959194509250565b6000806000806080858703121561304757600080fd5b8435935061305760208601612bce565b925061306560408601612bce565b9396929550929360600135925050565b6000806040838503121561308857600080fd5b61309183612bce565b9150612c4460208401612bce565b803560048110612bf257600080fd5b600082601f8301126130bf57600080fd5b8135602067ffffffffffffffff808311156130dc576130dc612e70565b8260051b6130eb838201612eec565b938452858101830193838101908886111561310557600080fd5b84880192505b8583101561319d578235848111156131235760008081fd5b88016040818b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0018113156131595760008081fd5b613161612e9f565b82880135815290820135908682111561317a5760008081fd5b6131888c8984860101612f3b565b8189015284525050918401919084019061310b565b98975050505050505050565b60008060008385036101808112156131c057600080fd5b610140808212156131d057600080fd5b6131d8612ec8565b91506131e38661309f565b82526131f160208701612e2e565b602083015261320260408701612e2e565b604083015261321360608701612e2e565b606083015261322460808701612bce565b608083015261323560a08701612bce565b60a083015261324660c08701612bce565b60c083015260e086013560e083015261010080870135818401525061012080870135818401525081945061327b818701612bce565b9350505061016084013567ffffffffffffffff81111561329a57600080fd5b6132a6868287016130ae565b9150509250925092565b600181811c908216806132c457607f821691505b6020821081036132fd577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b6040815260006133166040830185612ac5565b905073ffffffffffffffffffffffffffffffffffffffff831660208301529392505050565b60006020828403121561334d57600080fd5b8151612aa581612e20565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036133b0577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b601f821115610a6757600081815260208120601f850160051c8101602086101561340d5750805b601f850160051c820191505b8181101561342c57828155600101613419565b505050505050565b815167ffffffffffffffff81111561344e5761344e612e70565b6134628161345c84546132b0565b846133e6565b602080601f8311600181146134b5576000841561347f5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b17855561342c565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015613502578886015182559484019460019091019084016134e3565b508582101561353e57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121561356057600080fd5b815160ff81168114612aa557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250836040830152608060608301526135b06080830184612ac5565b9695505050505050565b6000602082840312156135cc57600080fd5b8151612aa581612a5a565b8181036135e2575050565b6135ec82546132b0565b67ffffffffffffffff81111561360457613604612e70565b6136128161345c84546132b0565b6000601f821160018114613664576000831561362e5750848201545b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600385901b1c1916600184901b178455613705565b6000858152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0841690600086815260209020845b838110156136bc578286015482556001958601959091019060200161369c565b50858310156136f857818501547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b50505060018360011b0184555b505050505056fea264697066735822122005918b5bf82ecfc5cbade9a10b99b05effee689d7ff16f261a52e83b5a4c9b0464736f6c634300081300330000000000000000000000007a7bc5640637b74abecc6e908ed548ee1969c948000000000000000000000000e8ab207a5c21162db1ee75e378a92c82d550a8d100000000000000000000000043c1c831d370f36149183d31fdac50b131289949", + "nonce": "0x7d7", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x837f18a854f0ec5dd019e632a81e4b6ab1533e75db88a7530c815ba404b062e8", + "transactionType": "CREATE", + "contractName": "IPOrgController", + "contractAddress": "0x1C20873a915505cBaFb576B3B152EeCE6a0BFD60", + "function": null, + "arguments": [ + "0xe8ab207A5C21162Db1ee75e378A92C82d550a8d1" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x5e866f", + "value": "0x0", + "data": "0x60c0604052306080523480156200001557600080fd5b50604051620056d6380380620056d683398101604081905262000038916200004a565b6001600160a01b031660a0526200007c565b6000602082840312156200005d57600080fd5b81516001600160a01b03811681146200007557600080fd5b9392505050565b60805160a05161560a620000cc6000396000818161028b01528181610e88015261121b0152600081816106ae01528181610760015281816108bc0152818161096e0152610abe015261560a6000f3fe608060405260043610620000fb5760003560e01c806398e8e6ea1162000095578063caae51b81162000060578063caae51b814620002d2578063d8b67cc214620002f7578063eb3dcb7c146200031c578063fc1dad81146200035257600080fd5b806398e8e6ea146200022d578063a0f336f81462000252578063b95ddb521462000277578063c4d66de814620002ad57600080fd5b80633659cfe611620000d65780633659cfe6146200019b57806349403c8e14620001c05780634f1ef28614620001ef57806352d1902d146200020657600080fd5b806314afd79e146200010057806319129e5a146200014f57806331678cf61462000176575b600080fd5b3480156200010d57600080fd5b50620001256200011f366004620021c5565b6200039e565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b3480156200015c57600080fd5b50620001746200016e366004620021c5565b620003cf565b005b3480156200018357600080fd5b506200017462000195366004620021e3565b6200055b565b348015620001a857600080fd5b5062000174620001ba366004620021c5565b62000697565b348015620001cd57600080fd5b50606554620001259073ffffffffffffffffffffffffffffffffffffffff1681565b6200017462000200366004620022e5565b620008a5565b3480156200021357600080fd5b506200021e62000aa4565b60405190815260200162000146565b3480156200023a57600080fd5b50620001256200024c366004620023cc565b62000b92565b3480156200025f57600080fd5b506200017462000271366004620021c5565b62000f81565b3480156200028457600080fd5b50620001257f000000000000000000000000000000000000000000000000000000000000000081565b348015620002ba57600080fd5b5062000174620002cc366004620021c5565b620010ee565b348015620002df57600080fd5b5062000125620002f1366004620021c5565b6200134c565b3480156200030457600080fd5b506200017462000316366004620021c5565b6200137b565b3480156200032957600080fd5b50620003416200033b366004620021c5565b620014aa565b604051901515815260200162000146565b3480156200035f57600080fd5b507f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b65473ffffffffffffffffffffffffffffffffffffffff1662000125565b600080620003ac83620014e7565b54610100900473ffffffffffffffffffffffffffffffffffffffff169392505050565b6000620003dd813362001561565b62000422576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b6200046473ffffffffffffffffffffffffffffffffffffffff83167f7965db0b000000000000000000000000000000000000000000000000000000006200162e565b620004cc576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c000000000000000000000000000000000000604482015260640162000419565b7f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811782556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a2505050565b60006200056883620014e7565b8054909150610100900473ffffffffffffffffffffffffffffffffffffffff163314620005c1576040517f14d325a600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff82166200060f576040517f19f28cd700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84811691821790925560408051928616835260208301919091527f9d1eed91033af603ca90974d7f9dcffdc1a38de6e354262a1cd59243e6997f6091015b60405180910390a1505050565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630036200075e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c0000000000000000000000000000000000000000606482015260840162000419565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16620007d47f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff161462000879576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f78790000000000000000000000000000000000000000606482015260840162000419565b620008848162001656565b60408051600080825260208201909252620008a291839190620016c4565b50565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630036200096c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c0000000000000000000000000000000000000000606482015260840162000419565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16620009e27f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff161462000a87576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f78790000000000000000000000000000000000000000606482015260840162000419565b62000a928262001656565b62000aa082826001620016c4565b5050565b60003073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161462000b6d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c0000000000000000606482015260840162000419565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b600073ffffffffffffffffffffffffffffffffffffffff881662000be2576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60655462000c069073ffffffffffffffffffffffffffffffffffffffff16620018d4565b6040517f4cd88b7600000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff821690634cd88b769062000c63908a908a908a908a90600401620024fd565b600060405180830381600087803b15801562000c7e57600080fd5b505af115801562000c93573d6000803e3d6000fd5b50505050600062000ca36200199e565b60408051606081018252600180825273ffffffffffffffffffffffffffffffffffffffff8d8116602080850191825260008587018181528a851682528883528782209651875494517fffffffffffffffffffffff0000000000000000000000000000000000000000009095169015157fffffffffffffffffffffff0000000000000000000000000000000000000000ff16176101009486169490940293909317865591519490930180547fffffffffffffffffffffffff000000000000000000000000000000000000000016949092169390931790559151929350917f9aeb830ec91a14c97a5446cc7c86a42f73a78f37f9a77afa238b5d11520ddfbc9162000db1918891889101620025df565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905262000def929160200162002667565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181528282018252601383527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602084015290517fe1fc45ce00000000000000000000000000000000000000000000000000000000815290925073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163e1fc45ce9162000ec4918791309190879060040162002682565b6000604051808303816000875af115801562000ee4573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405262000f2c9190810190620026d1565b507f81e084d978860accc83df39f75b801d9019e40d18643b9b39f4cd2a70ca35adb8a848b8b8b8b8b8b60405162000f6c98979695949392919062002751565b60405180910390a15050979650505050505050565b600062000f8e82620014e7565b600181015490915073ffffffffffffffffffffffffffffffffffffffff16331462000fe5576040517f14d325a600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80546001820180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055336101009081027fffffffffffffffffffffff0000000000000000000000000000000000000000ff83161783556040805173ffffffffffffffffffffffffffffffffffffffff86811682526000602083015292909304909116917f9d1eed91033af603ca90974d7f9dcffdc1a38de6e354262a1cd59243e6997f60910160405180910390a16040805173ffffffffffffffffffffffffffffffffffffffff80861682528316602082015233918101919091527fa32ba34dcc7e0ace14cb99fb86f246e799dc1c9f82f03fc23290320b958e4af7906060016200068a565b600054610100900460ff16158080156200110f5750600054600160ff909116105b806200112b5750303b1580156200112b575060005460ff166001145b620011b9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840162000419565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156200121857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b307f0000000000000000000000000000000000000000000000000000000000000000604051620012489062002192565b73ffffffffffffffffffffffffffffffffffffffff928316815291166020820152604001604051809103906000f08015801562001289573d6000803e3d6000fd5b50606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055620012d9620019ce565b620012e48262001a69565b801562000aa057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15050565b6000806200135a83620014e7565b6001015473ffffffffffffffffffffffffffffffffffffffff169392505050565b60006200138882620014e7565b8054909150610100900473ffffffffffffffffffffffffffffffffffffffff163314620013e1576040517f14d325a600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600181015473ffffffffffffffffffffffffffffffffffffffff1662001433576040517f82fcfdf400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001690556040805173ffffffffffffffffffffffffffffffffffffffff84168152600060208201527f9d1eed91033af603ca90974d7f9dcffdc1a38de6e354262a1cd59243e6997f60910162001340565b600080620014b76200199e565b73ffffffffffffffffffffffffffffffffffffffff90931660009081526020939093525050604090205460ff1690565b600080620014f46200199e565b73ffffffffffffffffffffffffffffffffffffffff84166000908152602082905260409020805490935090915060ff166200155b576040517ff8e2020300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50919050565b6000807f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810187905273ffffffffffffffffffffffffffffffffffffffff86811660248301529293509116906391d1485490604401602060405180830381865afa158015620015fe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620016249190620027c8565b9150505b92915050565b60006200163b8362001d29565b80156200164f57506200164f838362001d92565b9392505050565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e362001683813362001561565b62000aa0576040517f75000dc00000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440162000419565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615620016ff57620016fa8362001e63565b505050565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562001787575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526200178491810190620027ec565b60015b62001815576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f742055555053000000000000000000000000000000000000606482015260840162000419565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114620018c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c65555549440000000000000000000000000000000000000000000000606482015260840162000419565b50620016fa83838362001f6f565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008260601b60e81c176000526e5af43d82803e903d91602b57fd5bf38260781b17602052603760096000f0905073ffffffffffffffffffffffffffffffffffffffff811662001999576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f455243313136373a20637265617465206661696c656400000000000000000000604482015260640162000419565b919050565b6000806200162860017f8d6a35d81367c6224789d71f67c0286162ba180a6bdb769f04c214735cdb8ce162002806565b600054610100900460ff1662001a67576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840162000419565b565b600054610100900460ff161580801562001a8a5750600054600160ff909116105b8062001aa65750303b15801562001aa6575060005460ff166001145b62001b34576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840162000419565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801562001b9357600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b62001bd573ffffffffffffffffffffffffffffffffffffffff83167f7965db0b000000000000000000000000000000000000000000000000000000006200162e565b62001c3d576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c000000000000000000000000000000000000604482015260640162000419565b7f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811782556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a250801562000aa057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200162001340565b600062001d57827f01ffc9a70000000000000000000000000000000000000000000000000000000062001d92565b801562001628575062001d8b827fffffffff0000000000000000000000000000000000000000000000000000000062001d92565b1592915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d9150600051905082801562001e4b575060208210155b801562001e585750600081115b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff81163b62001f09576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e747261637400000000000000000000000000000000000000606482015260840162000419565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b62001f7a8362001fa0565b60008251118062001f885750805b15620016fa5762001f9a838362001fef565b50505050565b62001fab8162001e63565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606200164f8383604051806060016040528060278152602001620055ae6027913960606000808573ffffffffffffffffffffffffffffffffffffffff16856040516200203d919062002841565b600060405180830381855af49150503d80600081146200207a576040519150601f19603f3d011682016040523d82523d6000602084013e6200207f565b606091505b509150915062002092868383876200209c565b9695505050505050565b60608315620021375782516000036200212f5773ffffffffffffffffffffffffffffffffffffffff85163b6200212f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640162000419565b508162002143565b6200214383836200214b565b949350505050565b8151156200215c5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200041991906200285f565b612d39806200287583390190565b803573ffffffffffffffffffffffffffffffffffffffff811681146200199957600080fd5b600060208284031215620021d857600080fd5b6200164f82620021a0565b60008060408385031215620021f757600080fd5b6200220283620021a0565b91506200221260208401620021a0565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156200229457620022946200221b565b604052919050565b600067ffffffffffffffff821115620022b957620022b96200221b565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60008060408385031215620022f957600080fd5b6200230483620021a0565b9150602083013567ffffffffffffffff8111156200232157600080fd5b8301601f810185136200233357600080fd5b80356200234a62002344826200229c565b6200224a565b8181528660208385010111156200236057600080fd5b816020840160208301376000602083830101528093505050509250929050565b60008083601f8401126200239357600080fd5b50813567ffffffffffffffff811115620023ac57600080fd5b602083019150836020828501011115620023c557600080fd5b9250929050565b60008060008060008060006080888a031215620023e857600080fd5b620023f388620021a0565b9650602088013567ffffffffffffffff808211156200241157600080fd5b6200241f8b838c0162002380565b909850965060408a01359150808211156200243957600080fd5b620024478b838c0162002380565b909650945060608a01359150808211156200246157600080fd5b818a0191508a601f8301126200247657600080fd5b8135818111156200248657600080fd5b8b60208260051b85010111156200249c57600080fd5b60208301945080935050505092959891949750929550565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60408152600062002513604083018688620024b4565b828103602084015262001e58818587620024b4565b81835260006020808501808196508560051b810191508460005b87811015620025d257828403895281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18836030181126200258357600080fd5b8701858101903567ffffffffffffffff811115620025a057600080fd5b803603821315620025b057600080fd5b620025bd868284620024b4565b9a87019a955050509084019060010162002542565b5091979650505050505050565b6020815260006200214360208301848662002528565b60005b8381101562002612578181015183820152602001620025f8565b50506000910152565b6000815180845262002635816020860160208601620025f5565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b8281526040602082015260006200214360408301846200261b565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525060806040830152620026bd60808301856200261b565b828103606084015262001e5881856200261b565b600060208284031215620026e457600080fd5b815167ffffffffffffffff811115620026fc57600080fd5b8201601f810184136200270e57600080fd5b80516200271f62002344826200229c565b8181528560208385010111156200273557600080fd5b62002748826020830160208601620025f5565b95945050505050565b600073ffffffffffffffffffffffffffffffffffffffff808b168352808a1660208401525060a060408301526200278d60a08301888a620024b4565b8281036060840152620027a2818789620024b4565b90508281036080840152620027b981858762002528565b9b9a5050505050505050505050565b600060208284031215620027db57600080fd5b815180151581146200164f57600080fd5b600060208284031215620027ff57600080fd5b5051919050565b8181038181111562001628577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000825162002855818460208701620025f5565b9190910192915050565b6020815260006200164f60208301846200261b56fe60c06040523480156200001157600080fd5b5060405162002d3938038062002d3983398101604081905262000034916200017d565b600054610100900460ff1615808015620000555750600054600160ff909116105b80620000715750303b15801562000071575060005460ff166001145b620000d95760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b6000805460ff191660011790558015620000fd576000805461ff0019166101001790555b6001600160a01b0380841660a0528216608052801562000157576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050620001b5565b80516001600160a01b03811681146200017857600080fd5b919050565b600080604083850312156200019157600080fd5b6200019c8362000160565b9150620001ac6020840162000160565b90509250929050565b60805160a051612b2662000213600039600081816103c101528181610b0f015261107b01526000818161031101528181610784015281816108dc01528181610cb701528181610e37015281816112ac015261147e0152612b266000f3fe608060405234801561001057600080fd5b50600436106101985760003560e01c806370a08231116100e3578063c3cc244a1161008c578063e985e9c511610066578063e985e9c514610373578063ee0fc121146103bc578063f3f6f0d7146103e357600080fd5b8063c3cc244a14610333578063c87b56dd14610358578063e8a3d4851461036b57600080fd5b8063a22cb465116100bd578063a22cb465146102e6578063b88d4fde146102f9578063b95ddb521461030c57600080fd5b806370a08231146102c35780638da5cb5b146102d657806395d89b41146102de57600080fd5b806342842e0e11610145578063626273a11161011f578063626273a11461028a5780636352211e1461029d578063691562a0146102b057600080fd5b806342842e0e1461025157806342966c68146102645780634cd88b761461027757600080fd5b8063095ea7b311610176578063095ea7b31461021257806318160ddd1461022757806323b872dd1461023e57600080fd5b806301ffc9a71461019d57806306fdde03146101c5578063081812fc146101da575b600080fd5b6101b06101ab36600461235b565b6103ec565b60405190151581526020015b60405180910390f35b6101cd6104d1565b6040516101bc91906123e6565b6101ed6101e83660046123f9565b610563565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101bc565b610225610220366004612434565b610597565b005b61023060985481565b6040519081526020016101bc565b61022561024c366004612460565b610728565b61022561025f366004612460565b610865565b6102256102723660046123f9565b610880565b6102256102853660046124ea565b6109d3565b6102306102983660046123f9565b610c43565b6101ed6102ab3660046123f9565b610dcd565b6102306102be366004612556565b610dd8565b6102306102d1366004612595565b610f7c565b6101ed61104a565b6101cd611100565b6102256102f43660046125b2565b61110f565b6102256103073660046126a9565b61111e565b6101ed7f000000000000000000000000000000000000000000000000000000000000000081565b6103466103413660046123f9565b6111c6565b60405160ff90911681526020016101bc565b6101cd6103663660046123f9565b611237565b6101cd611409565b6101b0610381366004612758565b73ffffffffffffffffffffffffffffffffffffffff9182166000908152606a6020908152604080832093909416825291909152205460ff1690565b6101ed7f000000000000000000000000000000000000000000000000000000000000000081565b61023060975481565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061047f57507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b806104cb57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6060606580546104e090612786565b80601f016020809104026020016040519081016040528092919081815260200182805461050c90612786565b80156105595780601f1061052e57610100808354040283529160200191610559565b820191906000526020600020905b81548152906001019060200180831161053c57829003601f168201915b5050505050905090565b600061056e826115aa565b5060009081526069602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60006105a282611635565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610664576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff8216148061068d575061068d8133610381565b610719576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000606482015260840161065b565b61072383836116c1565b505050565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815233917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a916107cc916004016123e6565b602060405180830381865afa1580156107e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061080d91906127d9565b73ffffffffffffffffffffffffffffffffffffffff161461085a576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610723838383611761565b6107238383836040518060200160405280600081525061111e565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815233917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a91610924916004016123e6565b602060405180830381865afa158015610941573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061096591906127d9565b73ffffffffffffffffffffffffffffffffffffffff16146109b2576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b609880549060006109c283612825565b91905055506109d081611a5c565b50565b600054610100900460ff16158080156109f35750600054600160ff909116105b80610a0d5750303b158015610a0d575060005460ff166001145b610a99576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840161065b565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610af757600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610b66576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610bd985858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f89018190048102820181019092528781529250879150869081908401838280828437600092019190915250611b3492505050565b8015610c3c57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a000000000000000000000000000000000000000000000000000000008152600091829173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a91610ceb91906004016123e6565b602060405180830381865afa158015610d08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d2c91906127d9565b6040517f5f32b4300000000000000000000000000000000000000000000000000000000081523060048201526024810185905290915073ffffffffffffffffffffffffffffffffffffffff821690635f32b430906044016020604051808303816000875af1158015610da2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dc6919061285a565b9392505050565b60006104cb82611635565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260009133917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a91610e8091906004016123e6565b602060405180830381865afa158015610e9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec191906127d9565b73ffffffffffffffffffffffffffffffffffffffff1614610f0e576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60988054906000610f1e83612873565b9190505550609760008154610f3290612873565b9182905550600081815260996020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff851617905590506104cb8382611bd5565b600073ffffffffffffffffffffffffffffffffffffffff8216611021576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e65720000000000000000000000000000000000000000000000606482015260840161065b565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526068602052604090205490565b6040517f14afd79e0000000000000000000000000000000000000000000000000000000081523060048201526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906314afd79e90602401602060405180830381865afa1580156110d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110fb91906127d9565b905090565b6060606680546104e090612786565b61111a338383611dfa565b5050565b6111283383611f27565b6111b4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f76656400000000000000000000000000000000000000606482015260840161065b565b6111c084848484611fe7565b50505050565b60008181526067602052604081205473ffffffffffffffffffffffffffffffffffffffff16611221576040517f6831df8d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060009081526099602052604090205460ff1690565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260609160009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a916112e091906004016123e6565b602060405180830381865afa1580156112fd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061132191906127d9565b90508073ffffffffffffffffffffffffffffffffffffffff1663e8d72654308561134a876111c6565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815273ffffffffffffffffffffffffffffffffffffffff9093166004840152602483019190915260ff166044820152606401600060405180830381865afa1580156113c3573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610dc691908101906128ab565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260609160009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a916114b291906004016123e6565b602060405180830381865afa1580156114cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114f391906127d9565b6040517e844d1300000000000000000000000000000000000000000000000000000000815230600482015290915073ffffffffffffffffffffffffffffffffffffffff82169062844d1390602401600060405180830381865afa15801561155e573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526115a491908101906128ab565b91505090565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff166109d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e2049440000000000000000604482015260640161065b565b60008181526067602052604081205473ffffffffffffffffffffffffffffffffffffffff16806104cb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e2049440000000000000000604482015260640161065b565b600081815260696020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117909155819061171b82611635565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b8273ffffffffffffffffffffffffffffffffffffffff1661178182611635565b73ffffffffffffffffffffffffffffffffffffffff1614611824576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e6572000000000000000000000000000000000000000000000000000000606482015260840161065b565b73ffffffffffffffffffffffffffffffffffffffff82166118c6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161065b565b8273ffffffffffffffffffffffffffffffffffffffff166118e682611635565b73ffffffffffffffffffffffffffffffffffffffff1614611989576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e6572000000000000000000000000000000000000000000000000000000606482015260840161065b565b600081815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff8781168086526068855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905590871680865283862080546001019055868652606790945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6000611a6782611635565b9050611a7282611635565b600083815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff85168085526068845282852080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190558785526067909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b600054610100900460ff16611bcb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161065b565b61111a828261208a565b73ffffffffffffffffffffffffffffffffffffffff8216611c52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161065b565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff1615611cde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161065b565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff1615611d6a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161065b565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260686020908152604080832080546001019055848352606790915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611e8f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161065b565b73ffffffffffffffffffffffffffffffffffffffff8381166000818152606a602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b600080611f3383611635565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611fa1575073ffffffffffffffffffffffffffffffffffffffff8082166000908152606a602090815260408083209388168352929052205460ff165b80611fdf57508373ffffffffffffffffffffffffffffffffffffffff16611fc784610563565b73ffffffffffffffffffffffffffffffffffffffff16145b949350505050565b611ff2848484611761565b611ffe8484848461213a565b6111c0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e7465720000000000000000000000000000606482015260840161065b565b600054610100900460ff16612121576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161065b565b606561212d8382612970565b5060666107238282612970565b600073ffffffffffffffffffffffffffffffffffffffff84163b15612322576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a02906121b1903390899088908890600401612a8a565b6020604051808303816000875af192505050801561220a575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261220791810190612ad3565b60015b6122d7573d808015612238576040519150601f19603f3d011682016040523d82523d6000602084013e61223d565b606091505b5080516000036122cf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e7465720000000000000000000000000000606482015260840161065b565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050611fdf565b506001949350505050565b7fffffffff00000000000000000000000000000000000000000000000000000000811681146109d057600080fd5b60006020828403121561236d57600080fd5b8135610dc68161232d565b60005b8381101561239357818101518382015260200161237b565b50506000910152565b600081518084526123b4816020860160208601612378565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610dc6602083018461239c565b60006020828403121561240b57600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff811681146109d057600080fd5b6000806040838503121561244757600080fd5b823561245281612412565b946020939093013593505050565b60008060006060848603121561247557600080fd5b833561248081612412565b9250602084013561249081612412565b929592945050506040919091013590565b60008083601f8401126124b357600080fd5b50813567ffffffffffffffff8111156124cb57600080fd5b6020830191508360208285010111156124e357600080fd5b9250929050565b6000806000806040858703121561250057600080fd5b843567ffffffffffffffff8082111561251857600080fd5b612524888389016124a1565b9096509450602087013591508082111561253d57600080fd5b5061254a878288016124a1565b95989497509550505050565b6000806040838503121561256957600080fd5b823561257481612412565b9150602083013560ff8116811461258a57600080fd5b809150509250929050565b6000602082840312156125a757600080fd5b8135610dc681612412565b600080604083850312156125c557600080fd5b82356125d081612412565b91506020830135801515811461258a57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561265b5761265b6125e5565b604052919050565b600067ffffffffffffffff82111561267d5761267d6125e5565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600080600080608085870312156126bf57600080fd5b84356126ca81612412565b935060208501356126da81612412565b925060408501359150606085013567ffffffffffffffff8111156126fd57600080fd5b8501601f8101871361270e57600080fd5b803561272161271c82612663565b612614565b81815288602083850101111561273657600080fd5b8160208401602083013760006020838301015280935050505092959194509250565b6000806040838503121561276b57600080fd5b823561277681612412565b9150602083013561258a81612412565b600181811c9082168061279a57607f821691505b6020821081036127d3577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b6000602082840312156127eb57600080fd5b8151610dc681612412565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600081612834576128346127f6565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b60006020828403121561286c57600080fd5b5051919050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036128a4576128a46127f6565b5060010190565b6000602082840312156128bd57600080fd5b815167ffffffffffffffff8111156128d457600080fd5b8201601f810184136128e557600080fd5b80516128f361271c82612663565b81815285602083850101111561290857600080fd5b612919826020830160208601612378565b95945050505050565b601f82111561072357600081815260208120601f850160051c810160208610156129495750805b601f850160051c820191505b8181101561296857828155600101612955565b505050505050565b815167ffffffffffffffff81111561298a5761298a6125e5565b61299e816129988454612786565b84612922565b602080601f8311600181146129f157600084156129bb5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555612968565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015612a3e57888601518255948401946001909101908401612a1f565b5085821015612a7a57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525083604083015260806060830152612ac9608083018461239c565b9695505050505050565b600060208284031215612ae557600080fd5b8151610dc68161232d56fea26469706673582212202f539941999670b371ba76bce5df1736fd82afb2c9c939e8219ae46e05215f2064736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220c5ad7174fbcec6fe1a447b9d3bc0f95e4d23c7be87864477488c24c33653be3664736f6c63430008130033000000000000000000000000e8ab207a5c21162db1ee75e378a92c82d550a8d1", + "nonce": "0x7d8", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x464bce28e69e0182ef78e8e98c6752dc85cff86990ab8563a2ee076df5c9000e", + "transactionType": "CREATE", + "contractName": "ERC1967Proxy", + "contractAddress": "0xEe19aCE40dB1BA8B0DbBc5e57061A3268bd08c6A", + "function": null, + "arguments": [ + "0x1C20873a915505cBaFb576B3B152EeCE6a0BFD60", + "0xc4d66de8000000000000000000000000bd132e42baafe3648170770f2d45dba59166e06d" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x316ce5", + "value": "0x0", + "data": "0x60806040526040516104ee3803806104ee833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c760279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60be806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea264697066735822122091c81c9b8ac755a7e1e08c0e9f65600d21e642457fb84c7f9e0d0a65b62d269064736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c65640000000000000000000000001c20873a915505cbafb576b3b152eece6a0bfd6000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de8000000000000000000000000bd132e42baafe3648170770f2d45dba59166e06d00000000000000000000000000000000000000000000000000000000", + "nonce": "0x7d9", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0x3F684D5bE59136751DD7C85C2973cb7917557338", + "initCode": "60c06040523480156200001157600080fd5b5060405162002d3938038062002d3983398101604081905262000034916200017d565b600054610100900460ff1615808015620000555750600054600160ff909116105b80620000715750303b15801562000071575060005460ff166001145b620000d95760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b6000805460ff191660011790558015620000fd576000805461ff0019166101001790555b6001600160a01b0380841660a0528216608052801562000157576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050620001b5565b80516001600160a01b03811681146200017857600080fd5b919050565b600080604083850312156200019157600080fd5b6200019c8362000160565b9150620001ac6020840162000160565b90509250929050565b60805160a051612b2662000213600039600081816103c101528181610b0f015261107b01526000818161031101528181610784015281816108dc01528181610cb701528181610e37015281816112ac015261147e0152612b266000f3fe608060405234801561001057600080fd5b50600436106101985760003560e01c806370a08231116100e3578063c3cc244a1161008c578063e985e9c511610066578063e985e9c514610373578063ee0fc121146103bc578063f3f6f0d7146103e357600080fd5b8063c3cc244a14610333578063c87b56dd14610358578063e8a3d4851461036b57600080fd5b8063a22cb465116100bd578063a22cb465146102e6578063b88d4fde146102f9578063b95ddb521461030c57600080fd5b806370a08231146102c35780638da5cb5b146102d657806395d89b41146102de57600080fd5b806342842e0e11610145578063626273a11161011f578063626273a11461028a5780636352211e1461029d578063691562a0146102b057600080fd5b806342842e0e1461025157806342966c68146102645780634cd88b761461027757600080fd5b8063095ea7b311610176578063095ea7b31461021257806318160ddd1461022757806323b872dd1461023e57600080fd5b806301ffc9a71461019d57806306fdde03146101c5578063081812fc146101da575b600080fd5b6101b06101ab36600461235b565b6103ec565b60405190151581526020015b60405180910390f35b6101cd6104d1565b6040516101bc91906123e6565b6101ed6101e83660046123f9565b610563565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101bc565b610225610220366004612434565b610597565b005b61023060985481565b6040519081526020016101bc565b61022561024c366004612460565b610728565b61022561025f366004612460565b610865565b6102256102723660046123f9565b610880565b6102256102853660046124ea565b6109d3565b6102306102983660046123f9565b610c43565b6101ed6102ab3660046123f9565b610dcd565b6102306102be366004612556565b610dd8565b6102306102d1366004612595565b610f7c565b6101ed61104a565b6101cd611100565b6102256102f43660046125b2565b61110f565b6102256103073660046126a9565b61111e565b6101ed7f000000000000000000000000000000000000000000000000000000000000000081565b6103466103413660046123f9565b6111c6565b60405160ff90911681526020016101bc565b6101cd6103663660046123f9565b611237565b6101cd611409565b6101b0610381366004612758565b73ffffffffffffffffffffffffffffffffffffffff9182166000908152606a6020908152604080832093909416825291909152205460ff1690565b6101ed7f000000000000000000000000000000000000000000000000000000000000000081565b61023060975481565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061047f57507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b806104cb57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6060606580546104e090612786565b80601f016020809104026020016040519081016040528092919081815260200182805461050c90612786565b80156105595780601f1061052e57610100808354040283529160200191610559565b820191906000526020600020905b81548152906001019060200180831161053c57829003601f168201915b5050505050905090565b600061056e826115aa565b5060009081526069602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60006105a282611635565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610664576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff8216148061068d575061068d8133610381565b610719576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000606482015260840161065b565b61072383836116c1565b505050565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815233917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a916107cc916004016123e6565b602060405180830381865afa1580156107e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061080d91906127d9565b73ffffffffffffffffffffffffffffffffffffffff161461085a576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610723838383611761565b6107238383836040518060200160405280600081525061111e565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815233917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a91610924916004016123e6565b602060405180830381865afa158015610941573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061096591906127d9565b73ffffffffffffffffffffffffffffffffffffffff16146109b2576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b609880549060006109c283612825565b91905055506109d081611a5c565b50565b600054610100900460ff16158080156109f35750600054600160ff909116105b80610a0d5750303b158015610a0d575060005460ff166001145b610a99576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840161065b565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610af757600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610b66576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610bd985858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f89018190048102820181019092528781529250879150869081908401838280828437600092019190915250611b3492505050565b8015610c3c57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a000000000000000000000000000000000000000000000000000000008152600091829173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a91610ceb91906004016123e6565b602060405180830381865afa158015610d08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d2c91906127d9565b6040517f5f32b4300000000000000000000000000000000000000000000000000000000081523060048201526024810185905290915073ffffffffffffffffffffffffffffffffffffffff821690635f32b430906044016020604051808303816000875af1158015610da2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dc6919061285a565b9392505050565b60006104cb82611635565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260009133917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a91610e8091906004016123e6565b602060405180830381865afa158015610e9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec191906127d9565b73ffffffffffffffffffffffffffffffffffffffff1614610f0e576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60988054906000610f1e83612873565b9190505550609760008154610f3290612873565b9182905550600081815260996020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff851617905590506104cb8382611bd5565b600073ffffffffffffffffffffffffffffffffffffffff8216611021576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e65720000000000000000000000000000000000000000000000606482015260840161065b565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526068602052604090205490565b6040517f14afd79e0000000000000000000000000000000000000000000000000000000081523060048201526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906314afd79e90602401602060405180830381865afa1580156110d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110fb91906127d9565b905090565b6060606680546104e090612786565b61111a338383611dfa565b5050565b6111283383611f27565b6111b4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f76656400000000000000000000000000000000000000606482015260840161065b565b6111c084848484611fe7565b50505050565b60008181526067602052604081205473ffffffffffffffffffffffffffffffffffffffff16611221576040517f6831df8d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060009081526099602052604090205460ff1690565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260609160009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a916112e091906004016123e6565b602060405180830381865afa1580156112fd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061132191906127d9565b90508073ffffffffffffffffffffffffffffffffffffffff1663e8d72654308561134a876111c6565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815273ffffffffffffffffffffffffffffffffffffffff9093166004840152602483019190915260ff166044820152606401600060405180830381865afa1580156113c3573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610dc691908101906128ab565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260609160009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a916114b291906004016123e6565b602060405180830381865afa1580156114cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114f391906127d9565b6040517e844d1300000000000000000000000000000000000000000000000000000000815230600482015290915073ffffffffffffffffffffffffffffffffffffffff82169062844d1390602401600060405180830381865afa15801561155e573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526115a491908101906128ab565b91505090565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff166109d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e2049440000000000000000604482015260640161065b565b60008181526067602052604081205473ffffffffffffffffffffffffffffffffffffffff16806104cb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e2049440000000000000000604482015260640161065b565b600081815260696020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117909155819061171b82611635565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b8273ffffffffffffffffffffffffffffffffffffffff1661178182611635565b73ffffffffffffffffffffffffffffffffffffffff1614611824576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e6572000000000000000000000000000000000000000000000000000000606482015260840161065b565b73ffffffffffffffffffffffffffffffffffffffff82166118c6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161065b565b8273ffffffffffffffffffffffffffffffffffffffff166118e682611635565b73ffffffffffffffffffffffffffffffffffffffff1614611989576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e6572000000000000000000000000000000000000000000000000000000606482015260840161065b565b600081815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff8781168086526068855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905590871680865283862080546001019055868652606790945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6000611a6782611635565b9050611a7282611635565b600083815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff85168085526068845282852080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190558785526067909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b600054610100900460ff16611bcb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161065b565b61111a828261208a565b73ffffffffffffffffffffffffffffffffffffffff8216611c52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161065b565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff1615611cde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161065b565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff1615611d6a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161065b565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260686020908152604080832080546001019055848352606790915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611e8f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161065b565b73ffffffffffffffffffffffffffffffffffffffff8381166000818152606a602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b600080611f3383611635565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611fa1575073ffffffffffffffffffffffffffffffffffffffff8082166000908152606a602090815260408083209388168352929052205460ff165b80611fdf57508373ffffffffffffffffffffffffffffffffffffffff16611fc784610563565b73ffffffffffffffffffffffffffffffffffffffff16145b949350505050565b611ff2848484611761565b611ffe8484848461213a565b6111c0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e7465720000000000000000000000000000606482015260840161065b565b600054610100900460ff16612121576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161065b565b606561212d8382612970565b5060666107238282612970565b600073ffffffffffffffffffffffffffffffffffffffff84163b15612322576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a02906121b1903390899088908890600401612a8a565b6020604051808303816000875af192505050801561220a575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261220791810190612ad3565b60015b6122d7573d808015612238576040519150601f19603f3d011682016040523d82523d6000602084013e61223d565b606091505b5080516000036122cf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e7465720000000000000000000000000000606482015260840161065b565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050611fdf565b506001949350505050565b7fffffffff00000000000000000000000000000000000000000000000000000000811681146109d057600080fd5b60006020828403121561236d57600080fd5b8135610dc68161232d565b60005b8381101561239357818101518382015260200161237b565b50506000910152565b600081518084526123b4816020860160208601612378565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610dc6602083018461239c565b60006020828403121561240b57600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff811681146109d057600080fd5b6000806040838503121561244757600080fd5b823561245281612412565b946020939093013593505050565b60008060006060848603121561247557600080fd5b833561248081612412565b9250602084013561249081612412565b929592945050506040919091013590565b60008083601f8401126124b357600080fd5b50813567ffffffffffffffff8111156124cb57600080fd5b6020830191508360208285010111156124e357600080fd5b9250929050565b6000806000806040858703121561250057600080fd5b843567ffffffffffffffff8082111561251857600080fd5b612524888389016124a1565b9096509450602087013591508082111561253d57600080fd5b5061254a878288016124a1565b95989497509550505050565b6000806040838503121561256957600080fd5b823561257481612412565b9150602083013560ff8116811461258a57600080fd5b809150509250929050565b6000602082840312156125a757600080fd5b8135610dc681612412565b600080604083850312156125c557600080fd5b82356125d081612412565b91506020830135801515811461258a57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561265b5761265b6125e5565b604052919050565b600067ffffffffffffffff82111561267d5761267d6125e5565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600080600080608085870312156126bf57600080fd5b84356126ca81612412565b935060208501356126da81612412565b925060408501359150606085013567ffffffffffffffff8111156126fd57600080fd5b8501601f8101871361270e57600080fd5b803561272161271c82612663565b612614565b81815288602083850101111561273657600080fd5b8160208401602083013760006020838301015280935050505092959194509250565b6000806040838503121561276b57600080fd5b823561277681612412565b9150602083013561258a81612412565b600181811c9082168061279a57607f821691505b6020821081036127d3577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b6000602082840312156127eb57600080fd5b8151610dc681612412565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600081612834576128346127f6565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b60006020828403121561286c57600080fd5b5051919050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036128a4576128a46127f6565b5060010190565b6000602082840312156128bd57600080fd5b815167ffffffffffffffff8111156128d457600080fd5b8201601f810184136128e557600080fd5b80516128f361271c82612663565b81815285602083850101111561290857600080fd5b612919826020830160208601612378565b95945050505050565b601f82111561072357600081815260208120601f850160051c810160208610156129495750805b601f850160051c820191505b8181101561296857828155600101612955565b505050505050565b815167ffffffffffffffff81111561298a5761298a6125e5565b61299e816129988454612786565b84612922565b602080601f8311600181146129f157600084156129bb5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555612968565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015612a3e57888601518255948401946001909101908401612a1f565b5085821015612a7a57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525083604083015260806060830152612ac9608083018461239c565b9695505050505050565b600060208284031215612ae557600080fd5b8151610dc68161232d56fea26469706673582212202f539941999670b371ba76bce5df1736fd82afb2c9c939e8219ae46e05215f2064736f6c63430008130033000000000000000000000000ee19ace40db1ba8b0dbbc5e57061a3268bd08c6a000000000000000000000000e8ab207a5c21162db1ee75e378a92c82d550a8d1" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0xb447729820016d5c91ffff7cee07046a95a4f6da7ec1171b77d49eae37193e5e", + "transactionType": "CREATE", + "contractName": "StoryProtocol", + "contractAddress": "0xa7C6184c4090923A5710ef0C8aaB5F157E88e586", + "function": null, + "arguments": [ + "0xEe19aCE40dB1BA8B0DbBc5e57061A3268bd08c6A", + "0xe8ab207A5C21162Db1ee75e378A92C82d550a8d1" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x29960b", + "value": "0x0", + "data": "0x60c06040523480156200001157600080fd5b5060405162002667380380620026678339810160408190526200003491620000a2565b6001600160a01b03821615806200005257506001600160a01b038116155b15620000715760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b039182166080521660a052620000e1565b6001600160a01b03811681146200009f57600080fd5b50565b60008060408385031215620000b657600080fd5b8251620000c38162000089565b6020840151909250620000d68162000089565b809150509250929050565b60805160a05161250c6200015b600039600081816102530152818161036e0152818161044c015281816105aa015281816106f101528181610953015281816109dd01528181610bf101528181610df401528181610f800152818161107201526112950152600081816101750152610b5c015261250c6000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c806398e8e6ea11610097578063b108e1c611610066578063b108e1c61461023b578063b95ddb521461024e578063ce75e7fc14610275578063eb3b0cba1461028857600080fd5b806398e8e6ea146101e2578063a3a0428f146101f5578063a5823a3714610208578063ac9650d81461021b57600080fd5b80634d343a45116100d35780634d343a451461015d57806351e06b90146101705780635a5173bd146101bc5780637a103e33146101cf57600080fd5b806317031df1146100fa5780632d26ff3e146101275780633d20e00d1461013c575b600080fd5b61010d61010836600461154a565b61029b565b604080519283526020830191909152015b60405180910390f35b61013a6101353660046115f1565b610435565b005b61014f61014a36600461163e565b610581565b60405190815260200161011e565b61013a61016b36600461168b565b6106ef565b6101977f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161011e565b61013a6101ca3660046116b7565b610884565b61013a6101dd36600461174e565b6109db565b6101976101f0366004611796565b610b1c565b61014f61020336600461154a565b610bec565b61013a610216366004611843565b610d07565b61022e6102293660046118f4565b610e89565b60405161011e91906119db565b61013a6102493660046119ee565b610f7e565b6101977f000000000000000000000000000000000000000000000000000000000000000081565b61013a610283366004611a3e565b611070565b61013a610296366004611a73565b6111c2565b60008060007fe761f303268b55a3dc96719551acb95ca3bd1ebeef4b720be68dd92563627a3f886040516020016102d29190611b9b565b60408051601f19818403018152908290526102f09291602001611c30565b60408051601f198184030181528282018252601383527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602084015290517fb38609e800000000000000000000000000000000000000000000000000000000815290925060009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163b38609e8916103af918e91339188908f908f908f908f90600401611c99565b6000604051808303816000875af11580156103ce573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103f69190810190611d4c565b9050805160000361040f5760008093509350505061042a565b808060200190518101906104239190611df9565b9350935050505b965096945050505050565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001663e1fc45ce6104816040840160208501611e1d565b336040518060400160405280601381526020017f52454c4154494f4e534849505f4d4f44554c45000000000000000000000000008152507f99bf0fbd60208ca164accd299e2c0a8b4475c1a2df53c2d7160870f682536528866040516020016104ea9190611f2c565b60408051601f19818403018152908290526105089291602001611c30565b6040516020818303038152906040526040518563ffffffff1660e01b81526004016105369493929190611fff565b6000604051808303816000875af1158015610555573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261057d9190810190611d4c565b5050565b6000808660405160200161059591906120ee565b604051602081830303815290604052905060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663b38609e88a336040518060400160405280601081526020017f4c4943454e53494e475f4d4f44554c45000000000000000000000000000000008152507f3f92a83f1dd77188c62fa393a54ccf9854be836ca6c243397d0acbbce04723878760405160200161064f929190611c30565b6040516020818303038152906040528c8c8c8c6040518963ffffffff1660e01b8152600401610685989796959493929190611c99565b6000604051808303816000875af11580156106a4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106cc9190810190611d4c565b9050808060200190518101906106e29190612134565b9998505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663b38609e883336040518060400160405280601081526020017f4c4943454e53494e475f4d4f44554c45000000000000000000000000000000008152507f5281374dd3fc2bb7839f50fddfb6a14a666cb4d23b20d6aecf9b9950d103b3368660405160200161079791815260200190565b60408051601f19818403018152908290526107b59291602001611c30565b60408051808303601f1901815260008084526020840190925291906107ea565b60608152602001906001900390816107d55790505b506040805160008082526020820190925290610816565b60608152602001906001900390816108015790505b506040518763ffffffff1660e01b81526004016108389695949392919061214d565b6000604051808303816000875af1158015610857573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261087f9190810190611d4c565b505050565b60007f9aeb830ec91a14c97a5446cc7c86a42f73a78f37f9a77afa238b5d11520ddfbc83836040516020016108ba9291906121c0565b60408051601f19818403018152908290526108d89291602001611c30565b60408051601f198184030181528282018252601383527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602084015290517fe1fc45ce00000000000000000000000000000000000000000000000000000000815290925073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163e1fc45ce9161098d9188913391908790600401611fff565b6000604051808303816000875af11580156109ac573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109d49190810190611d4c565b5050505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e1fc45ce84336040518060400160405280601381526020017f52454c4154494f4e534849505f4d4f44554c45000000000000000000000000008152507fe5801b46183bd353d44247232707bb62253655a0580ade69a754ba7157ddf8fd8787604051602001610a839291906121d4565b60408051601f1981840301815290829052610aa19291602001611c30565b6040516020818303038152906040526040518563ffffffff1660e01b8152600401610acf9493929190611fff565b6000604051808303816000875af1158015610aee573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b169190810190611d4c565b50505050565b6040517f98e8e6ea00000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906398e8e6ea90610b9d908b908b908b908b908b908b908b906004016121e8565b6020604051808303816000875af1158015610bbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be0919061224e565b98975050505050505050565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663b38609e889336040518060400160405280601381526020017f52454c4154494f4e534849505f4d4f44554c45000000000000000000000000008152508b604051602001610c74919061226b565b6040516020818303038152906040528b8b8b8b6040518963ffffffff1660e01b8152600401610caa989796959493929190611c99565b6000604051808303816000875af1158015610cc9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610cf19190810190611d4c565b905080806020019051810190610be09190612134565b6040805173ffffffffffffffffffffffffffffffffffffffff898116602083015288168183015260608082018890528251808303909101815260808201909252600091610d79917fbc42750dbe73870bbe102106b22fd8bdfa53c7247eca196d8bb7da9527f0c1e5919060a001611c30565b60408051601f198184030181528282018252601383527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602084015290517fb38609e800000000000000000000000000000000000000000000000000000000815290925073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163b38609e891610e36918d9133919087908c908c908c908c90600401611c99565b6000604051808303816000875af1158015610e55573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e7d9190810190611d4c565b50505050505050505050565b60608167ffffffffffffffff811115610ea457610ea4611d1d565b604051908082528060200260200182016040528015610ed757816020015b6060815260200190600190039081610ec25790505b50905060005b82811015610f7757610f4730858584818110610efb57610efb6122f4565b9050602002810190610f0d9190612323565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061131f92505050565b828281518110610f5957610f596122f4565b60200260200101819052508080610f6f90612388565b915050610edd565b5092915050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e1fc45ce83336040518060400160405280601081526020017f4c4943454e53494e475f4d4f44554c45000000000000000000000000000000008152507f8b21f20183a523515c357db6dba25c92b138630b63988ca3e60a6be86c8da0458660405160200161102491906123e7565b60408051601f19818403018152908290526110429291602001611c30565b6040516020818303038152906040526040518563ffffffff1660e01b81526004016108389493929190611fff565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663b38609e884336040518060400160405280601081526020017f4c4943454e53494e475f4d4f44554c45000000000000000000000000000000008152507f29def77ab981c01a6b53c58b23dd89ac4447095f721298424063ed3f16962ac68787604051602001611121929190918252602082015260400190565b60408051601f198184030181529082905261113f9291602001611c30565b60408051808303601f190181526000808452602084019092529190611174565b606081526020019060019003908161115f5790505b5060408051600080825260208201909252906111a0565b606081526020019060019003908161118b5790505b506040518763ffffffff1660e01b8152600401610acf9695949392919061214d565b60007f88fae8356076de6f233fd00b30fad913df2329364a9e9242abdc96adccc3bfc9858585856040516020016111fc9493929190612459565b60408051601f198184030181529082905261121a9291602001611c30565b60408051601f198184030181528282018252601383527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602084015290517fe1fc45ce00000000000000000000000000000000000000000000000000000000815290925073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163e1fc45ce916112cf918a913391908790600401611fff565b6000604051808303816000875af11580156112ee573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113169190810190611d4c565b50505050505050565b606061134483836040518060600160405280602781526020016124b06027913961134b565b9392505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516113759190612480565b600060405180830381855af49150503d80600081146113b0576040519150601f19603f3d011682016040523d82523d6000602084013e6113b5565b606091505b50915091506113c6868383876113d0565b9695505050505050565b6060831561146b5782516000036114645773ffffffffffffffffffffffffffffffffffffffff85163b611464576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064015b60405180910390fd5b5081611475565b611475838361147d565b949350505050565b81511561148d5781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145b919061249c565b73ffffffffffffffffffffffffffffffffffffffff811681146114e357600080fd5b50565b600060a082840312156114f857600080fd5b50919050565b60008083601f84011261151057600080fd5b50813567ffffffffffffffff81111561152857600080fd5b6020830191508360208260051b850101111561154357600080fd5b9250929050565b6000806000806000806080878903121561156357600080fd5b863561156e816114c1565b9550602087013567ffffffffffffffff8082111561158b57600080fd5b6115978a838b016114e6565b965060408901359150808211156115ad57600080fd5b6115b98a838b016114fe565b909650945060608901359150808211156115d257600080fd5b506115df89828a016114fe565b979a9699509497509295939492505050565b60006020828403121561160357600080fd5b813567ffffffffffffffff81111561161a57600080fd5b820160c0818503121561134457600080fd5b6000606082840312156114f857600080fd5b6000806000806000806080878903121561165757600080fd5b8635611662816114c1565b9550602087013567ffffffffffffffff8082111561167f57600080fd5b6115978a838b0161162c565b6000806040838503121561169e57600080fd5b82356116a9816114c1565b946020939093013593505050565b6000806000604084860312156116cc57600080fd5b83356116d7816114c1565b9250602084013567ffffffffffffffff8111156116f357600080fd5b6116ff868287016114fe565b9497909650939450505050565b60008083601f84011261171e57600080fd5b50813567ffffffffffffffff81111561173657600080fd5b60208301915083602082850101111561154357600080fd5b60008060006040848603121561176357600080fd5b833561176e816114c1565b9250602084013567ffffffffffffffff81111561178a57600080fd5b6116ff8682870161170c565b60008060008060008060006080888a0312156117b157600080fd5b87356117bc816114c1565b9650602088013567ffffffffffffffff808211156117d957600080fd5b6117e58b838c0161170c565b909850965060408a01359150808211156117fe57600080fd5b61180a8b838c0161170c565b909650945060608a013591508082111561182357600080fd5b506118308a828b016114fe565b989b979a50959850939692959293505050565b60008060008060008060008060c0898b03121561185f57600080fd5b883561186a816114c1565b9750602089013561187a816114c1565b9650604089013561188a816114c1565b955060608901359450608089013567ffffffffffffffff808211156118ae57600080fd5b6118ba8c838d016114fe565b909650945060a08b01359150808211156118d357600080fd5b506118e08b828c016114fe565b999c989b5096995094979396929594505050565b6000806020838503121561190757600080fd5b823567ffffffffffffffff81111561191e57600080fd5b61192a858286016114fe565b90969095509350505050565b60005b83811015611951578181015183820152602001611939565b50506000910152565b60008151808452611972816020860160208601611936565b601f01601f19169290920160200192915050565b600081518084526020808501808196508360051b8101915082860160005b858110156119ce5782840389526119bc84835161195a565b988501989350908401906001016119a4565b5091979650505050505050565b6020815260006113446020830184611986565b60008060408385031215611a0157600080fd5b8235611a0c816114c1565b9150602083013567ffffffffffffffff811115611a2857600080fd5b611a348582860161162c565b9150509250929050565b600080600060608486031215611a5357600080fd5b8335611a5e816114c1565b95602085013595506040909401359392505050565b600080600080600060608688031215611a8b57600080fd5b8535611a96816114c1565b9450602086013567ffffffffffffffff80821115611ab357600080fd5b611abf89838a0161170c565b90965094506040880135915080821115611ad857600080fd5b50611ae58882890161170c565b969995985093965092949392505050565b803560ff81168114611b0757600080fd5b919050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611b4157600080fd5b830160208101925035905067ffffffffffffffff811115611b6157600080fd5b80360382131561154357600080fd5b818352818160208501375060006020828401015260006020601f19601f840116840101905092915050565b6020815260008235611bac816114c1565b73ffffffffffffffffffffffffffffffffffffffff811660208401525060ff611bd760208501611af6565b166040830152611bea6040840184611b0c565b60a06060850152611bff60c085018284611b70565b91505060608401356080840152611c196080850185611b0c565b601f198584030160a08601526113c6838284611b70565b828152604060208201526000611475604083018461195a565b81835260006020808501808196508560051b810191508460005b878110156119ce578284038952611c7a8288611b0c565b611c85868284611b70565b9a87019a9550505090840190600101611c63565b600073ffffffffffffffffffffffffffffffffffffffff808b168352808a1660208401525060c06040830152611cd260c083018961195a565b8281036060840152611ce4818961195a565b90508281036080840152611cf9818789611c49565b905082810360a0840152611d0e818587611c49565b9b9a5050505050505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600060208284031215611d5e57600080fd5b815167ffffffffffffffff80821115611d7657600080fd5b818401915084601f830112611d8a57600080fd5b815181811115611d9c57611d9c611d1d565b604051601f8201601f19908116603f01168101908382118183101715611dc457611dc4611d1d565b81604052828152876020848701011115611ddd57600080fd5b611dee836020830160208801611936565b979650505050505050565b60008060408385031215611e0c57600080fd5b505080516020909101519092909150565b600060208284031215611e2f57600080fd5b8135611344816114c1565b803560068110611b0757600080fd5b60068110611e80577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611eb957600080fd5b830160208101925035905067ffffffffffffffff811115611ed957600080fd5b8060051b360382131561154357600080fd5b8183526000602080850194508260005b85811015611f215760ff611f0e83611af6565b1687529582019590820190600101611efb565b509495945050505050565b602081526000611f3c8384611b0c565b60c06020850152611f5160e085018284611b70565b9150506020840135611f62816114c1565b73ffffffffffffffffffffffffffffffffffffffff8116604085015250611f9760608401611f9260408701611e3a565b611e49565b611fa360608501611e3a565b611fb06080850182611e49565b50611fbe6080850185611e84565b601f19808685030160a0870152611fd6848385611eeb565b9350611fe560a0880188611e84565b93509150808685030160c0870152506113c6838383611eeb565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525060806040830152612038608083018561195a565b8281036060840152611dee818561195a565b81835260006020808501808196508560051b81019150846000805b888110156120e0578385038a5282357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc18936030181126120a3578283fd5b88018035865260406120b788830183611b0c565b925081898901526120cb8289018483611b70565b9c89019c975050509286019250600101612065565b509298975050505050505050565b6020815260006120fe8384611e84565b6060602085015261211360808501828461204a565b91505060208401356040840152604084013560608401528091505092915050565b60006020828403121561214657600080fd5b5051919050565b600073ffffffffffffffffffffffffffffffffffffffff808916835280881660208401525060c0604083015261218660c083018761195a565b8281036060840152612198818761195a565b905082810360808401526121ac8186611986565b905082810360a08401526106e28185611986565b602081526000611475602083018486611c49565b602081526000611475602083018486611b70565b73ffffffffffffffffffffffffffffffffffffffff8816815260806020820152600061221860808301888a611b70565b828103604084015261222b818789611b70565b90508281036060840152612240818587611c49565b9a9950505050505050505050565b60006020828403121561226057600080fd5b8151611344816114c1565b60208152600061227b8384611b0c565b60a0602085015261229060c085018284611b70565b91505060208401356122a1816114c1565b73ffffffffffffffffffffffffffffffffffffffff808216604086015260408601356060860152606086013591506122d8826114c1565b16608084810191909152939093013560a0909201919091525090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261235857600080fd5b83018035915067ffffffffffffffff82111561237357600080fd5b60200191503681900382131561154357600080fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036123e0577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b6020815260006123f78384611b0c565b6060602085015261240c608085018284611b70565b91505061241c6020850185611e84565b601f1985840301604086015261243383828461204a565b9250505060408401356003811061244957600080fd5b6060939093019290925250919050565b60408152600061246d604083018688611b70565b8281036020840152611dee818587611b70565b60008251612492818460208701611936565b9190910192915050565b602081526000611344602083018461195a56fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212205bf994a91e6fba3b278809c0a83ee1a072556ea0f02b0e66fa33d78fe971388664736f6c63430008130033000000000000000000000000ee19ace40db1ba8b0dbbc5e57061a3268bd08c6a000000000000000000000000e8ab207a5c21162db1ee75e378a92c82d550a8d1", + "nonce": "0x7da", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x7f5332cc990b07f875117b1337f10ef6722a5befedf0a958d1212b671fbf3ee3", + "transactionType": "CREATE", + "contractName": "RegistrationModule", + "contractAddress": "0xf59e8d2bD2176f481f0F95568E21a70A07D9CDbC", + "function": null, + "arguments": [ + "(0x7a7BC5640637b74ABEcc6e908Ed548eE1969c948, 0xe8ab207A5C21162Db1ee75e378A92C82d550a8d1, 0x80e012Ca980E1d3993d8beE99828619E5532B12b, 0xEe19aCE40dB1BA8B0DbBc5e57061A3268bd08c6A)", + "0xbD132e42baaFe3648170770F2D45dbA59166e06d" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x62a498", + "value": "0x0", + "data": "0x6101006040523480156200001257600080fd5b5060405162005c4838038062005c48833981016040819052620000359162000298565b6020820151819083906001600160a01b038116620000665760405163134141bd60e11b815260040160405180910390fd5b6001600160a01b039081166080528151166200009557604051636028d8f760e01b815260040160405180910390fd5b80516001600160a01b0390811660a052604082015116620000c957604051635a70c46160e11b815260040160405180910390fd5b60408101516001600160a01b0390811660c052606090910151811660e052620000fc908216637965db0b60e01b6200018f565b6200013f576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600580546001600160a01b0319166001600160a01b0383169081179091556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a250505062000350565b60006200019c83620001b7565b8015620001b05750620001b08383620001f0565b9392505050565b6000620001cc826301ffc9a760e01b620001f0565b8015620001ea5750620001e8826001600160e01b0319620001f0565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801562000263575060208210155b8015620002705750600081115b979650505050505050565b80516001600160a01b03811681146200029357600080fd5b919050565b60008082840360a0811215620002ad57600080fd5b6080811215620002bc57600080fd5b50604051608081016001600160401b0381118282101715620002ee57634e487b7160e01b600052604160045260246000fd5b604052620002fc846200027b565b81526200030c602085016200027b565b60208201526200031f604085016200027b565b604082015262000332606085016200027b565b6060820152915062000347608084016200027b565b90509250929050565b60805160a05160c05160e051615894620003b4600039600081816102990152613699015260006104a401526000818161044401528181611c2d0152613ccc01526000818161040a01528181610c620152818161154a0152612ceb01526158946000f3fe608060405234801561001057600080fd5b50600436106101c35760003560e01c80638a8cb0b4116100f9578063bc12fcca11610097578063e8d7265411610071578063e8d7265414610479578063e8fb5c9b1461048c578063f0ebdc831461049f578063fba854e0146104c657600080fd5b8063bc12fcca1461042c578063d2faf8b01461043f578063e57204041461046657600080fd5b8063a5b04d45116100d3578063a5b04d45146103cc578063a6829872146103df578063b6efd29d146103f2578063b95ddb521461040557600080fd5b80638a8cb0b4146103575780639533563d146103995780639b722202146103ac57600080fd5b80634fcbd213116101665780636352211e116101405780636352211e1461030b57806368a4f0711461031e5780637448c5681461033157806377379d941461034457600080fd5b80634fcbd2131461028157806351e06b90146102945780635f32b430146102e057600080fd5b806319129e5a116101a257806319129e5a1461022a5780632fa7bc991461023f57806332ee6813146102525780634fa4467c1461027957600080fd5b8062844d13146101c857806301ffc9a7146101f157806302a8df9114610214575b600080fd5b6101db6101d6366004614079565b6104d9565b6040516101e89190614104565b60405180910390f35b6102046101ff366004614117565b6105d2565b60405190151581526020016101e8565b61021c60ff81565b6040519081526020016101e8565b61023d610238366004614079565b6106b5565b005b61023d61024d3660046141a2565b61081b565b61021c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81565b61021c600a81565b6101db61028f3660046141ee565b610c48565b6102bb7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101e8565b61021c6102ee366004614253565b600860209081526000928352604080842090915290825290205481565b6102bb61031936600461427f565b610cce565b6101db61032c3660046142a5565b610d8d565b61021c61033f3660046142da565b610f62565b6102046103523660046142f8565b610f76565b610204610365366004614349565b73ffffffffffffffffffffffffffffffffffffffff821660009081526007602052604090206002015460ff82161092915050565b61023d6103a73660046143c7565b610fae565b6103bf6103ba366004614079565b611181565b6040516101e89190614486565b61023d6103da366004614506565b611280565b6101db6103ed366004614253565b61148b565b6101db610400366004614547565b611530565b6102bb7f000000000000000000000000000000000000000000000000000000000000000081565b61021c61043a3660046142da565b61168a565b6102bb7f000000000000000000000000000000000000000000000000000000000000000081565b6102bb6104743660046142a5565b611696565b6101db6104873660046145f2565b61178e565b61021c61049a3660046142f8565b611e69565b6102bb7f000000000000000000000000000000000000000000000000000000000000000081565b61023d6104d4366004614629565b611e86565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260076020526040812060010180546060929190610511906146c8565b80601f016020809104026020016040519081016040528092919081815260200182805461053d906146c8565b801561058a5780601f1061055f5761010080835404028352916020019161058a565b820191906000526020600020905b81548152906001019060200180831161056d57829003601f168201915b5050505050905080516000036105cc576040517f87dc059f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f2fa7bc9900000000000000000000000000000000000000000000000000000000148061066557507fffffffff0000000000000000000000000000000000000000000000000000000082167ff924008e00000000000000000000000000000000000000000000000000000000145b806105cc57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316146105cc565b60006106c18133612064565b610705576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b61074573ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000612100565b6107ab576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c00000000000000000000000000000000000060448201526064016106fc565b600580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a25050565b60008061082a83850185614877565b915091508115610b375760008581526004602052604081206007018054916108518361490a565b9091555050600085815260046020908152604091829020825161010081018452815473ffffffffffffffffffffffffffffffffffffffff908116825260018301541692810192909252600281018054610b3194840191906108b1906146c8565b80601f01602080910402602001604051908101604052809291908181526020018280546108dd906146c8565b801561092a5780601f106108ff5761010080835404028352916020019161092a565b820191906000526020600020905b81548152906001019060200180831161090d57829003601f168201915b5050505050815260200160038201805480602002602001604051908101604052809291908181526020016000905b82821015610a04578382906000526020600020018054610977906146c8565b80601f01602080910402602001604051908101604052809291908181526020018280546109a3906146c8565b80156109f05780601f106109c5576101008083540402835291602001916109f0565b820191906000526020600020905b8154815290600101906020018083116109d357829003601f168201915b505050505081526020019060010190610958565b50505050815260200160048201805480602002602001604051908101604052809291908181526020016000905b82821015610add578382906000526020600020018054610a50906146c8565b80601f0160208091040260200160405190810160405280929190818152602001828054610a7c906146c8565b8015610ac95780601f10610a9e57610100808354040283529160200191610ac9565b820191906000526020600020905b815481529060010190602001808311610aac57829003601f168201915b505050505081526020019060010190610a31565b5050509082525060058201546020820152600682015460409091019060ff166001811115610b0d57610b0d614942565b6001811115610b1e57610b1e614942565b815260200160078201548152505061211c565b50610b9c565b6000858152600460205260409081902060010154905173ffffffffffffffffffffffffffffffffffffffff909116907f7f7ce7cf4c1b43e1bf51034d0ad7062abb9d4529c7bb0510d512249b0fb7145290610b93908490614104565b60405180910390a25b600085815260046020526040812080547fffffffffffffffffffffffff00000000000000000000000000000000000000009081168255600182018054909116905590610beb6002830182613f56565b610bf9600383016000613f93565b610c07600483016000613f93565b506000600582018190556006820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690556007909101555050505050565b60603373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610cb9576040517f72823b5400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610cc585858585612226565b95945050505050565b600081815260066020908152604080832081518083018352815473ffffffffffffffffffffffffffffffffffffffff1680825260019092015493810184905291517f6352211e00000000000000000000000000000000000000000000000000000000815260048101939093529091636352211e90602401602060405180830381865afa158015610d62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d869190614971565b9392505050565b60606000610d9b8585612334565b805480602002602001604051908101604052809291908181526020016000905b82821015610e67578382906000526020600020018054610dda906146c8565b80601f0160208091040260200160405190810160405280929190818152602001828054610e06906146c8565b8015610e535780601f10610e2857610100808354040283529160200191610e53565b820191906000526020600020905b815481529060010190602001808311610e3657829003601f168201915b505050505081526020019060010190610dbb565b50505050905080518310610eaa576040517f9c7692bf000000000000000000000000000000000000000000000000000000008152600481018490526024016106fc565b610eb48585612334565b8381548110610ec557610ec561498e565b906000526020600020018054610eda906146c8565b80601f0160208091040260200160405190810160405280929190818152602001828054610f06906146c8565b8015610f535780601f10610f2857610100808354040283529160200191610f53565b820191906000526020600020905b815481529060010190602001808311610f3657829003601f168201915b50505050509150509392505050565b6000610f6e8383612376565b549392505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610fa4858585611e69565b1415949350505050565b8673ffffffffffffffffffffffffffffffffffffffff8116610ffc576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611047573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061106b9190614971565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146110cf576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006110dd8385018561427f565b905060006111638a836040805173ffffffffffffffffffffffffffffffffffffffff84166020820152908101829052606080820152600c60808201527f524547495354524154494f4e000000000000000000000000000000000000000060a082015260009060c00160405160208183030381529060405280519060200120905092915050565b90506111748b8b838c8c8c8c611e86565b5050505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600760209081526040808320600201805482518185028101850190935280835260609492939192909184015b828210156112755783829060005260206000200180546111e8906146c8565b80601f0160208091040260200160405190810160405280929190818152602001828054611214906146c8565b80156112615780601f1061123657610100808354040283529160200191611261565b820191906000526020600020905b81548152906001019060200180831161124457829003601f168201915b5050505050815260200190600101906111c9565b505050509050919050565b8173ffffffffffffffffffffffffffffffffffffffff81166112ce576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611319573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061133d9190614971565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146113a1576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008460018111156113b5576113b5614942565b1480156113cf575060008281526020819052604090205415155b156114075760008281526020819052604081206113eb91613fb1565b600082815260026020526040812061140291613f93565b611449565b6000828152600160205260409020541561144957600082815260016020526040812061143291613fb1565b600082815260036020526040812061144991613f93565b8184600181111561145c5761145c614942565b6040517f1fe48a4ec69671720d8bdd8f8a6853d16f486c0bb91fcaf5b8ffc4932b8bc9f490600090a350505050565b6009602090815260009283526040808420909152908252902080546114af906146c8565b80601f01602080910402602001604051908101604052809291908181526020018280546114db906146c8565b80156115285780601f106114fd57610100808354040283529160200191611528565b820191906000526020600020905b81548152906001019060200180831161150b57829003601f168201915b505050505081565b60603373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146115a1576040517f72823b5400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115ad898989896123b8565b60006115bb8a8a8a8a6125b5565b905060006040518061010001604052808c73ffffffffffffffffffffffffffffffffffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505090825250602001611649888a614a01565b81526020016116588688614a01565b815260208101849052604001600081526020016000815250905061167b8161211c565b9b9a5050505050505050505050565b6000610f6e8383612334565b6000806116a38585612376565b80548060200260200160405190810160405280929190818152602001828054801561170457602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116116d9575b5050505050905080518310611748576040517f9c7692bf000000000000000000000000000000000000000000000000000000008152600481018490526024016106fc565b6117528585612376565b83815481106117635761176361498e565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1695945050505050565b73ffffffffffffffffffffffffffffffffffffffff831660008181526008602090815260408083208684529091528082205490517f6352211e0000000000000000000000000000000000000000000000000000000081526004810186905260609391929190636352211e90602401602060405180830381865afa158015611819573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061183d9190614971565b905073ffffffffffffffffffffffffffffffffffffffff811661188c576040517f85a9692000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff86166000908152600960209081526040808320888452909152812080546118c7906146c8565b905011156119915773ffffffffffffffffffffffffffffffffffffffff861660009081526009602090815260408083208884529091529020805461190a906146c8565b80601f0160208091040260200160405190810160405280929190818152602001828054611936906146c8565b80156119835780601f1061195857610100808354040283529160200191611983565b820191906000526020600020905b81548152906001019060200180831161196657829003601f168201915b505050505092505050610d86565b73ffffffffffffffffffffffffffffffffffffffff86166000908152600760205260408082208151606081019092528054829082906119cf906146c8565b80601f01602080910402602001604051908101604052809291908181526020018280546119fb906146c8565b8015611a485780601f10611a1d57610100808354040283529160200191611a48565b820191906000526020600020905b815481529060010190602001808311611a2b57829003601f168201915b50505050508152602001600182018054611a61906146c8565b80601f0160208091040260200160405190810160405280929190818152602001828054611a8d906146c8565b8015611ada5780601f10611aaf57610100808354040283529160200191611ada565b820191906000526020600020905b815481529060010190602001808311611abd57829003601f168201915b5050505050815260200160028201805480602002602001604051908101604052809291908181526020016000905b82821015611bb4578382906000526020600020018054611b27906146c8565b80601f0160208091040260200160405190810160405280929190818152602001828054611b53906146c8565b8015611ba05780601f10611b7557610100808354040283529160200191611ba0565b820191906000526020600020905b815481529060010190602001808311611b8357829003601f168201915b505050505081526020019060010190611b08565b5050509152505080515190915015611bfb578051611bd184612653565b604051602001611be2929190614a91565b6040516020818303038152906040529350505050610d86565b6040517fc47f8bfa000000000000000000000000000000000000000000000000000000008152600481018490526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063c47f8bfa90602401600060405180830381865afa158015611c89573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052611ccf9190810190614b22565b90506000611cdc85612653565b8251604051611cef929190602001614bec565b60405160208183030381529060405290506000611d27836060015173ffffffffffffffffffffffffffffffffffffffff166014612711565b611d488673ffffffffffffffffffffffffffffffffffffffff166014612711565b604051602001611d59929190614d2f565b60405160208183030381529060405290506000611d91846020015173ffffffffffffffffffffffffffffffffffffffff166014612711565b85604001518a60ff1681518110611daa57611daa61498e565b6020026020010151611dc2866040015160ff16612653565b6080870151611dd2906020612711565b611de98860a0015167ffffffffffffffff16612653565b604051602001611dfd959493929190614e2b565b6040516020818303038152906040529050611e3a838383604051602001611e2693929190615090565b604051602081830303815290604052612954565b604051602001611e4a91906150fb565b6040516020818303038152906040529750505050505050509392505050565b6000611e7e611e788585612376565b83612aa7565b949350505050565b8573ffffffffffffffffffffffffffffffffffffffff8116611ed4576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f1f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f439190614971565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611fa7576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611fb2888888611280565b61200e611fbf8988612376565b611fc98a89612334565b8787808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506120099250889150899050614a01565b612b41565b8588600181111561202157612021614942565b7f5e140eb5bed8bcb1664a04c0be4aa419e0d2dbf1277a4a6770882a0beb3b91b28787604051612052929190615140565b60405180910390a35050505050505050565b6005546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810184905273ffffffffffffffffffffffffffffffffffffffff838116602483015260009216906391d1485490604401602060405180830381865afa1580156120dc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d86919061519b565b600061210b83612f7b565b8015610d865750610d868383612fdf565b606060008260c00151600181111561213657612136614942565b1480156121495750612147826130ae565b155b156121a957816020015173ffffffffffffffffffffffffffffffffffffffff167fa1e5a8c0fde3fa4d7320c3f9de0ab0a2c1ee6e891e6a513ca0811ddcf768b59460405160405180910390a2505060408051602081019091526000815290565b6121c08260000151836020015184604001516134a3565b600160c0840152600060e084015290506121d9826130ae565b50816020015173ffffffffffffffffffffffffffffffffffffffff167f4ec4635a4d1f6ebe9ee3a059f74fc5d802e04d2d115c4090337a34e3b137c98a60405160405180910390a2919050565b606061223285856135db565b600080612241848601866151b8565b915091507f88fae8356076de6f233fd00b30fad913df2329364a9e9242abdc96adccc3bfc98203612299576000808280602001905181019061228391906151f5565b9150915061229289838361370c565b505061231a565b7f9aeb830ec91a14c97a5446cc7c86a42f73a78f37f9a77afa238b5d11520ddfbc82036122e8576000818060200190518101906122d6919061524f565b90506122e288826137a2565b5061231a565b6040517f04e4b46900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505060408051602081019091526000815295945050505050565b60008083600181111561234957612349614942565b03612362575060008181526002602052604090206105cc565b5060008181526003602052604090206105cc565b60008083600181111561238b5761238b614942565b036123a4575060008181526020819052604090206105cc565b5060008181526001602052604090206105cc565b6000806123c7838501856151b8565b915091507fbc42750dbe73870bbe102106b22fd8bdfa53c7247eca196d8bb7da9527f0c1e582036124bf5760008060008380602001905181019061240b9190615300565b9250925092508273ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614158061248057508773ffffffffffffffffffffffffffffffffffffffff1661246782610cce565b73ffffffffffffffffffffffffffffffffffffffff1614155b156124b7576040517f7e833cd700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050506125ad565b7fe761f303268b55a3dc96719551acb95ca3bd1ebeef4b720be68dd92563627a3f820361257b576000818060200190518101906124fc9190615343565b90508573ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff1614612567576040517f7e833cd700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612575878260200151613867565b506125ad565b6040517f9ca9add400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050505050565b6000806125c4838501856151b8565b50905061264986826040805173ffffffffffffffffffffffffffffffffffffffff84166020820152908101829052606080820152600c60808201527f524547495354524154494f4e000000000000000000000000000000000000000060a082015260009060c00160405160208183030381529060405280519060200120905092915050565b9695505050505050565b60606000612660836138d4565b600101905060008167ffffffffffffffff81111561268057612680614729565b6040519080825280601f01601f1916602001820160405280156126aa576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85049450846126b457509392505050565b60606000612720836002615404565b61272b90600261541b565b67ffffffffffffffff81111561274357612743614729565b6040519080825280601f01601f19166020018201604052801561276d576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106127a4576127a461498e565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106128075761280761498e565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000612843846002615404565b61284e90600161541b565b90505b60018111156128eb577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061288f5761288f61498e565b1a60f81b8282815181106128a5576128a561498e565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c936128e48161542e565b9050612851565b508315610d86576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016106fc565b6060815160000361297357505060408051602081019091526000815290565b600060405180606001604052806040815260200161581f60409139905060006003845160026129a2919061541b565b6129ac9190615463565b6129b7906004615404565b67ffffffffffffffff8111156129cf576129cf614729565b6040519080825280601f01601f1916602001820160405280156129f9576020820181803683370190505b509050600182016020820185865187015b80821015612a65576003820191508151603f8160121c168501518453600184019350603f81600c1c168501518453600184019350603f8160061c168501518453600184019350603f8116850151845350600183019250612a0a565b5050600386510660018114612a815760028114612a9457612a9c565b603d6001830353603d6002830353612a9c565b603d60018303535b509195945050505050565b8154600090815b81811015612b17578373ffffffffffffffffffffffffffffffffffffffff16858281548110612adf57612adf61498e565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1603612b0f5791506105cc9050565b600101612aae565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff949350505050565b8151600a811115612b7e576040517f760fb4ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80825114612bb8576040517f3021beb200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b818110156125ad57600073ffffffffffffffffffffffffffffffffffffffff16848281518110612bed57612bed61498e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1603612c42576040517f7d4de38200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600081118015612cb25750836001820381518110612c6257612c6261498e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff16848281518110612c9257612c9261498e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff16145b15612ce9576040517fd696c40800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166382984f30858381518110612d3757612d3761498e565b60200260200101516040518263ffffffff1660e01b8152600401612d77919073ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b602060405180830381865afa158015612d94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612db8919061519b565b612e2557838181518110612dce57612dce61498e565b60200260200101516040517f5a9873880000000000000000000000000000000000000000000000000000000081526004016106fc919073ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b838181518110612e3757612e3761498e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1663a913b881848381518110612e6c57612e6c61498e565b60200260200101516040518263ffffffff1660e01b8152600401612e909190614104565b60006040518083038186803b158015612ea857600080fd5b505afa158015612ebc573d6000803e3d6000fd5b5050505085848281518110612ed357612ed361498e565b60209081029190910181015182546001810184556000938452919092200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90921691909117905582518590849083908110612f4957612f4961498e565b60209081029190910181015182546001810184556000938452919092200190612f7290826154e4565b50600101612bbb565b6000612fa7827f01ffc9a700000000000000000000000000000000000000000000000000000000612fdf565b80156105cc5750612fd8827fffffffff00000000000000000000000000000000000000000000000000000000612fdf565b1592915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015613097575060208210155b80156130a35750600081115b979650505050505050565b6000806130c38360c001518460a00151612376565b80548060200260200160405190810160405280929190818152602001828054801561312457602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116130f9575b50505050509050600061313f8460c001518560a00151612334565b805480602002602001604051908101604052809291908181526020016000905b8282101561320b57838290600052602060002001805461317e906146c8565b80601f01602080910402602001604051908101604052809291908181526020018280546131aa906146c8565b80156131f75780601f106131cc576101008083540402835291602001916131f7565b820191906000526020600020905b8154815290600101906020018083116131da57829003601f168201915b50505050508152602001906001019061315f565b50508451929350600091508190508660c00151600181111561322f5761322f614942565b1461323e578560800151613244565b85606001515b90508181511461329c578560c00151600181111561326457613264614942565b6040517f3171c36f00000000000000000000000000000000000000000000000000000000815260ff90911660048201526024016106fc565b60e08601515b8281101561349657808760e0018181525050600060405180604001604052808684815181106132d3576132d361498e565b602002602001015181526020018484815181106132f2576132f261498e565b60200260200101518152509050600061334f8784815181106133165761331661498e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673800000000000000000000000000000000000000016151590565b15613432578683815181106133665761336661498e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff166334e5d29f8360405160200161339a91906155fe565b6040516020818303038152906040526040518263ffffffff1660e01b81526004016133c59190614104565b6000604051808303816000875af11580156133e4573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261342a9190810190615655565b509050613459565b6134568784815181106134475761344761498e565b6020026020010151838b6139b6565b90505b600181600181111561346d5761346d614942565b146134815750600098975050505050505050565b5050808061348e9061490a565b9150506132a2565b5060019695505050505050565b6060600080838060200190518101906134bc919061569c565b915091507fbc42750dbe73870bbe102106b22fd8bdfa53c7247eca196d8bb7da9527f0c1e5820361352e576000806000838060200190518101906135009190615300565b92509250925061351289828585613bb8565b6040518060200160405280600081525095505050505050610d86565b7fe761f303268b55a3dc96719551acb95ca3bd1ebeef4b720be68dd92563627a3f82036135c25760008180602001905181019061356b9190615343565b90506000806135928984600001518560400151866020015187606001518860800151613cc7565b60408051602081019390935282810191909152805180830382018152606090920190529550610d86945050505050565b5050604080516020810190915260008152949350505050565b8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561363d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136619190614971565b73ffffffffffffffffffffffffffffffffffffffff16141580156136d157508073ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1614155b15613708576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b73ffffffffffffffffffffffffffffffffffffffff831660009081526007602052604090208061373c84826154e4565b506001810161374b83826154e4565b508373ffffffffffffffffffffffffffffffffffffffff167f6c1850fce35387a891e82ca88e975790ab6f0709e9ed6842e01397f296012a7e84846040516137949291906156cd565b60405180910390a250505050565b805160ff8111156137df576040517f1c17d63a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff83166000908152600760205260408120905b8281101561386057816002018482815181106138245761382461498e565b6020908102919091018101518254600181018455600093845291909220019061384d90826154e4565b50806138588161490a565b915050613806565b5050505050565b73ffffffffffffffffffffffffffffffffffffffff821660009081526007602052604090206002015460ff808216908316106138cf576040517f12d7e46c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000831061391d577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef81000000008310613949576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061396757662386f26fc10000830492506010015b6305f5e100831061397f576305f5e100830492506008015b612710831061399357612710830492506004015b606483106139a5576064830492506002015b600a83106105cc5760010192915050565b60008060008573ffffffffffffffffffffffffffffffffffffffff16635260a98c866040516020016139e891906155fe565b604051602081830303815290604052306040518363ffffffff1660e01b8152600401613a159291906156f2565b6000604051808303816000875af1158015613a34573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052613a7a919081019061572a565b91935090915060009050826001811115613a9657613a96614942565b03613baf57600081815260046020908152604091829020865181547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff92831617835592880151600183018054909416911617909155908501518591906002820190613b1990826154e4565b5060608201518051613b35916003840191602090910190613fcf565b5060808201518051613b51916004840191602090910190613fcf565b5060a0820151600582015560c08201516006820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660018381811115613b9c57613b9c614942565b021790555060e082015181600701559050505b50949350505050565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301528281166024830152604482018590528516906323b872dd90606401600060405180830381600087803b158015613c3057600080fd5b505af1158015613c44573d6000803e3d6000fd5b5050505073ffffffffffffffffffffffffffffffffffffffff84811660008181526008602090815260408083208884528252918290205482518881528786169281019290925293851681830152905183917f0480e159be1c15e0022dfbc6d236db58db83a033908eca4876f796f60ed871b9919081900360600190a35050505050565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663601a924c898989886040518563ffffffff1660e01b8152600401613d299493929190615784565b6020604051808303816000875af1158015613d48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d6c91906157ce565b6040517f691562a000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff898116600483015260ff881660248301529193509089169063691562a0906044016020604051808303816000875af1158015613de7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e0b91906157ce565b73ffffffffffffffffffffffffffffffffffffffff89811660008181526008602090815260408083208684528252808320889055805180820182529384528382018681528884526006909252909120825181547fffffffffffffffffffffffff00000000000000000000000000000000000000001694169390931783555160019092019190915584519192509015613ed95773ffffffffffffffffffffffffffffffffffffffff891660009081526009602090815260408083208584529091529020613ed785826154e4565b505b8560ff168873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff167fd051b12b5a18291aec9a26b17774a4be2d10dce167cbdc5944c7942c78f901c186868c8b8b604051613f429594939291906157e7565b60405180910390a450965096945050505050565b508054613f62906146c8565b6000825580601f10613f72575050565b601f016020900490600052602060002090810190613f909190614025565b50565b5080546000825590600052602060002090810190613f90919061403a565b5080546000825590600052602060002090810190613f909190614025565b828054828255906000526020600020908101928215614015579160200282015b82811115614015578251829061400590826154e4565b5091602001919060010190613fef565b5061402192915061403a565b5090565b5b808211156140215760008155600101614026565b8082111561402157600061404e8282613f56565b5060010161403a565b73ffffffffffffffffffffffffffffffffffffffff81168114613f9057600080fd5b60006020828403121561408b57600080fd5b8135610d8681614057565b60005b838110156140b1578181015183820152602001614099565b50506000910152565b600081518084526140d2816020860160208601614096565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610d8660208301846140ba565b60006020828403121561412957600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610d8657600080fd5b60008083601f84011261416b57600080fd5b50813567ffffffffffffffff81111561418357600080fd5b60208301915083602082850101111561419b57600080fd5b9250929050565b6000806000604084860312156141b757600080fd5b83359250602084013567ffffffffffffffff8111156141d557600080fd5b6141e186828701614159565b9497909650939450505050565b6000806000806060858703121561420457600080fd5b843561420f81614057565b9350602085013561421f81614057565b9250604085013567ffffffffffffffff81111561423b57600080fd5b61424787828801614159565b95989497509550505050565b6000806040838503121561426657600080fd5b823561427181614057565b946020939093013593505050565b60006020828403121561429157600080fd5b5035919050565b60028110613f9057600080fd5b6000806000606084860312156142ba57600080fd5b83356142c581614298565b95602085013595506040909401359392505050565b600080604083850312156142ed57600080fd5b823561427181614298565b60008060006060848603121561430d57600080fd5b833561431881614298565b925060208401359150604084013561432f81614057565b809150509250925092565b60ff81168114613f9057600080fd5b6000806040838503121561435c57600080fd5b823561436781614057565b915060208301356143778161433a565b809150509250929050565b60008083601f84011261439457600080fd5b50813567ffffffffffffffff8111156143ac57600080fd5b6020830191508360208260051b850101111561419b57600080fd5b60008060008060008060008060a0898b0312156143e357600080fd5b88356143ee81614298565b975060208901356143fe81614057565b9650604089013567ffffffffffffffff8082111561441b57600080fd5b6144278c838d01614382565b909850965060608b013591508082111561444057600080fd5b61444c8c838d01614382565b909650945060808b013591508082111561446557600080fd5b506144728b828c01614159565b999c989b5096995094979396929594505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156144f9577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08886030184526144e78583516140ba565b945092850192908501906001016144ad565b5092979650505050505050565b60008060006060848603121561451b57600080fd5b833561452681614298565b9250602084013561453681614057565b929592945050506040919091013590565b60008060008060008060008060a0898b03121561456357600080fd5b883561456e81614057565b9750602089013561457e81614057565b9650604089013567ffffffffffffffff8082111561459b57600080fd5b6145a78c838d01614159565b909850965060608b01359150808211156145c057600080fd5b6145cc8c838d01614382565b909650945060808b01359150808211156145e557600080fd5b506144728b828c01614382565b60008060006060848603121561460757600080fd5b833561461281614057565b925060208401359150604084013561432f8161433a565b600080600080600080600060a0888a03121561464457600080fd5b873561464f81614298565b9650602088013561465f81614057565b955060408801359450606088013567ffffffffffffffff8082111561468357600080fd5b61468f8b838c01614382565b909650945060808a01359150808211156146a857600080fd5b506146b58a828b01614382565b989b979a50959850939692959293505050565b600181811c908216806146dc57607f821691505b602082108103614715577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b8015158114613f9057600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff8111828210171561477b5761477b614729565b60405290565b60405160a0810167ffffffffffffffff8111828210171561477b5761477b614729565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156147eb576147eb614729565b604052919050565b600067ffffffffffffffff82111561480d5761480d614729565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600061484c614847846147f3565b6147a4565b905082815283838301111561486057600080fd5b828260208301376000602084830101529392505050565b6000806040838503121561488a57600080fd5b82356148958161471b565b9150602083013567ffffffffffffffff8111156148b157600080fd5b8301601f810185136148c257600080fd5b6148d185823560208401614839565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361493b5761493b6148db565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60006020828403121561498357600080fd5b8151610d8681614057565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600067ffffffffffffffff8211156149d7576149d7614729565b5060051b60200190565b600082601f8301126149f257600080fd5b610d8683833560208501614839565b6000614a0f614847846149bd565b80848252602080830192508560051b850136811115614a2d57600080fd5b855b81811015614a6957803567ffffffffffffffff811115614a4f5760008081fd5b614a5b36828a016149e1565b865250938201938201614a2f565b50919695505050505050565b60008151614a87818560208601614096565b9290920192915050565b60008351614aa3818460208801614096565b835190830190614ab7818360208801614096565b01949350505050565b600082601f830112614ad157600080fd5b8151614adf614847826147f3565b818152846020838601011115614af457600080fd5b611e7e826020830160208701614096565b805167ffffffffffffffff81168114614b1d57600080fd5b919050565b600060208284031215614b3457600080fd5b815167ffffffffffffffff80821115614b4c57600080fd5b9083019060c08286031215614b6057600080fd5b614b68614758565b825182811115614b7757600080fd5b614b8387828601614ac0565b82525060208301519150614b9682614057565b81602082015260408301519150614bac8261433a565b81604082015260608301519150614bc282614057565b81606082015260808301516080820152614bde60a08401614b05565b60a082015295945050505050565b7f7b226e616d65223a2022476c6f62616c20495020417373657420230000000000815260008351614c2481601b850160208801614096565b7f222c20226465736372697074696f6e223a20224950204f726720417373657420601b918401918201527f526567697374726174696f6e2044657461696c73222c20226174747269627574603b8201527f6573223a205b0000000000000000000000000000000000000000000000000000605b8201527f7b2274726169745f74797065223a20224e616d65222c202276616c7565223a2060618201527f220000000000000000000000000000000000000000000000000000000000000060818201528351614cf9816082840160208801614096565b7f227d2c000000000000000000000000000000000000000000000000000000000060829290910191820152608501949350505050565b7f7b2274726169745f74797065223a20224950204f7267222c202276616c75652281527f3a20220000000000000000000000000000000000000000000000000000000000602082015260008351614d8d816023850160208801614096565b80830190507f227d2c00000000000000000000000000000000000000000000000000000000008060238301527f7b2274726169745f74797065223a202243757272656e74204950204f776e657260268301527f222c202276616c7565223a20220000000000000000000000000000000000000060468301528451614e18816053850160208901614096565b6053920191820152605601949350505050565b7f7b2274726169745f74797065223a2022496e697469616c20526567697374726181527f6e74222c202276616c7565223a20220000000000000000000000000000000000602082015260008651614e8981602f850160208b01614096565b80830190507f227d2c000000000000000000000000000000000000000000000000000000000080602f8301527f7b2274726169745f74797065223a20224950204f72672041737365742054797060328301527f65222c202276616c7565223a202200000000000000000000000000000000000060528301528751614f14816060850160208c01614096565b60609201918201527f7b2274726169745f74797065223a2022537461747573222c202276616c75652260638201527f3a20220000000000000000000000000000000000000000000000000000000000608382015261508461505b615055615006614f88615000614fb182608689018e614a75565b7f227d2c0000000000000000000000000000000000000000000000000000000000815260030190565b7f7b2274726169745f74797065223a202248617368222c202276616c7565223a2081527f2200000000000000000000000000000000000000000000000000000000000000602082015260210190565b8a614a75565b7f7b2274726169745f74797065223a2022526567697374726174696f6e2044617481527f65222c202276616c7565223a20220000000000000000000000000000000000006020820152602e0190565b86614a75565b7f227d000000000000000000000000000000000000000000000000000000000000815260020190565b98975050505050505050565b600084516150a2818460208901614096565b8451908301906150b6818360208901614096565b84519101906150c9818360208801614096565b7f5d7d000000000000000000000000000000000000000000000000000000000000910190815260020195945050505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c00000081526000825161513381601d850160208701614096565b91909101601d0192915050565b60208082528181018390526000908460408401835b8681101561519057823561516881614057565b73ffffffffffffffffffffffffffffffffffffffff1682529183019190830190600101615155565b509695505050505050565b6000602082840312156151ad57600080fd5b8151610d868161471b565b600080604083850312156151cb57600080fd5b82359150602083013567ffffffffffffffff8111156151e957600080fd5b6148d1858286016149e1565b6000806040838503121561520857600080fd5b825167ffffffffffffffff8082111561522057600080fd5b61522c86838701614ac0565b9350602085015191508082111561524257600080fd5b506148d185828601614ac0565b6000602080838503121561526257600080fd5b825167ffffffffffffffff8082111561527a57600080fd5b818501915085601f83011261528e57600080fd5b815161529c614847826149bd565b81815260059190911b830184019084810190888311156152bb57600080fd5b8585015b838110156152f3578051858111156152d75760008081fd5b6152e58b89838a0101614ac0565b8452509186019186016152bf565b5098975050505050505050565b60008060006060848603121561531557600080fd5b835161532081614057565b602085015190935061533181614057565b80925050604084015190509250925092565b60006020828403121561535557600080fd5b815167ffffffffffffffff8082111561536d57600080fd5b9083019060a0828603121561538157600080fd5b615389614781565b825161539481614057565b815260208301516153a48161433a565b60208201526040830151828111156153bb57600080fd5b6153c787828601614ac0565b604083015250606083015160608201526080830151828111156153e957600080fd5b6153f587828601614ac0565b60808301525095945050505050565b80820281158282048414176105cc576105cc6148db565b808201808211156105cc576105cc6148db565b60008161543d5761543d6148db565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b600082615499577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b601f8211156138cf57600081815260208120601f850160051c810160208610156154c55750805b601f850160051c820191505b818110156125ad578281556001016154d1565b815167ffffffffffffffff8111156154fe576154fe614729565b6155128161550c84546146c8565b8461549e565b602080601f831160018114615565576000841561552f5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b1785556125ad565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156155b257888601518255948401946001909101908401615593565b50858210156155ee57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b60208152600082516040602084015261561a60608401826140ba565b905060208401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0848303016040850152610cc582826140ba565b6000806040838503121561566857600080fd5b825161567381614298565b602084015190925067ffffffffffffffff81111561569057600080fd5b6148d185828601614ac0565b600080604083850312156156af57600080fd5b82519150602083015167ffffffffffffffff81111561569057600080fd5b6040815260006156e060408301856140ba565b8281036020840152610cc581856140ba565b60408152600061570560408301856140ba565b905073ffffffffffffffffffffffffffffffffffffffff831660208301529392505050565b60008060006060848603121561573f57600080fd5b835161574a81614298565b602085015190935067ffffffffffffffff81111561576757600080fd5b61577386828701614ac0565b925050604084015190509250925092565b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250608060408301526157bd60808301856140ba565b905082606083015295945050505050565b6000602082840312156157e057600080fd5b5051919050565b85815284602082015260a06040820152600061580660a08301866140ba565b846060840152828103608084015261508481856140ba56fe4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2fa2646970667358221220649f1162533c82b294440c39a1f9ce1aa0719a40999a2c158b524cbd3206043764736f6c634300081300330000000000000000000000007a7bc5640637b74abecc6e908ed548ee1969c948000000000000000000000000e8ab207a5c21162db1ee75e378a92c82d550a8d100000000000000000000000080e012ca980e1d3993d8bee99828619e5532b12b000000000000000000000000ee19ace40db1ba8b0dbbc5e57061a3268bd08c6a000000000000000000000000bd132e42baafe3648170770f2d45dba59166e06d", + "nonce": "0x7db", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x64bc029efaf8f9426011cc82e072b64aa8582e9b745dab34e44649e220908336", + "transactionType": "CREATE", + "contractName": "RelationshipModule", + "contractAddress": "0xf95Ed3608ce1F86DaC4FA12a2202BE56ADe1164F", + "function": null, + "arguments": [ + "(0x7a7BC5640637b74ABEcc6e908Ed548eE1969c948, 0xe8ab207A5C21162Db1ee75e378A92C82d550a8d1, 0x80e012Ca980E1d3993d8beE99828619E5532B12b, 0xEe19aCE40dB1BA8B0DbBc5e57061A3268bd08c6A)", + "0xbD132e42baaFe3648170770F2D45dbA59166e06d" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x5377a4", + "value": "0x0", + "data": "0x6101006040523480156200001257600080fd5b5060405162004e5d38038062004e5d833981016040819052620000359162000298565b6020820151819083906001600160a01b038116620000665760405163134141bd60e11b815260040160405180910390fd5b6001600160a01b039081166080528151166200009557604051636028d8f760e01b815260040160405180910390fd5b80516001600160a01b0390811660a052604082015116620000c957604051635a70c46160e11b815260040160405180910390fd5b60408101516001600160a01b0390811660c052606090910151811660e052620000fc908216637965db0b60e01b6200018f565b6200013f576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600580546001600160a01b0319166001600160a01b0383169081179091556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a250505062000350565b60006200019c83620001b7565b8015620001b05750620001b08383620001f0565b9392505050565b6000620001cc826301ffc9a760e01b620001f0565b8015620001ea5750620001e8826001600160e01b0319620001f0565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801562000263575060208210155b8015620002705750600081115b979650505050505050565b80516001600160a01b03811681146200029357600080fd5b919050565b60008082840360a0811215620002ad57600080fd5b6080811215620002bc57600080fd5b50604051608081016001600160401b0381118282101715620002ee57634e487b7160e01b600052604160045260246000fd5b604052620002fc846200027b565b81526200030c602085016200027b565b60208201526200031f604085016200027b565b604082015262000332606085016200027b565b6060820152915062000347608084016200027b565b90509250929050565b60805160a05160c05160e051614aa9620003b4600039600061028201526000818161043801526134960152600081816103d8015261339401526000818161039e01528181610c9201528181611472015281816122ad01526135da0152614aa96000f3fe608060405234801561001057600080fd5b50600436106101985760003560e01c806376ced32d116100e3578063d2faf8b01161008c578063e8fb5c9b11610066578063e8fb5c9b14610420578063f0ebdc8314610433578063fba854e01461045a57600080fd5b8063d2faf8b0146103d3578063e5720404146103fa578063e7d8e9311461040d57600080fd5b8063b6efd29d116100bd578063b6efd29d14610386578063b95ddb5214610399578063bc12fcca146103c057600080fd5b806376ced32d1461030257806377379d9414610360578063a5b04d451461037357600080fd5b80634fa4467c116101455780636191d3561161011f5780636191d356146102c957806368a4f071146102dc5780637448c568146102ef57600080fd5b80634fa4467c146102555780634fcbd2131461025d57806351e06b901461027d57600080fd5b80632fa7bc99116101765780632fa7bc99146101fb578063322e41b51461020e57806332ee68131461022e57600080fd5b806301ffc9a71461019d57806319129e5a146101c557806329b2632b146101da575b600080fd5b6101b06101ab3660046138b1565b61046d565b60405190151581526020015b60405180910390f35b6101d86101d3366004613925565b610552565b005b6101ed6101e8366004613942565b6106b8565b6040519081526020016101bc565b6101d86102093660046139c6565b6106fb565b61022161021c366004613a12565b610b28565b6040516101bc9190613a7b565b6101ed7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81565b6101ed600a81565b61027061026b366004613ae7565b610c78565b6040516101bc9190613b4c565b6102a47f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101bc565b6101d86102d7366004613bb1565b610cfe565b6102706102ea366004613c70565b610e7e565b6101ed6102fd366004613ca5565b611053565b610315610310366004613dd8565b611067565b60408051825173ffffffffffffffffffffffffffffffffffffffff908116825260208085015190830152838301511691810191909152606091820151918101919091526080016101bc565b6101b061036e366004613e28565b611215565b6101d8610381366004613e6a565b61124d565b610270610394366004613eab565b611458565b6102a47f000000000000000000000000000000000000000000000000000000000000000081565b6101ed6103ce366004613ca5565b6115b2565b6102a47f000000000000000000000000000000000000000000000000000000000000000081565b6102a4610408366004613c70565b6115be565b6101b061041b366004613942565b6116b6565b6101ed61042e366004613e28565b6116fd565b6102a47f000000000000000000000000000000000000000000000000000000000000000081565b6101d8610468366004613ed2565b61171a565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f2fa7bc9900000000000000000000000000000000000000000000000000000000148061050057507fffffffff0000000000000000000000000000000000000000000000000000000082167ff924008e00000000000000000000000000000000000000000000000000000000145b8061054c57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b600061055e81336118f8565b6105a2576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b6105e273ffffffffffffffffffffffffffffffffffffffff83167f7965db0b0000000000000000000000000000000000000000000000000000000061199b565b610648576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c0000000000000000000000000000000000006044820152606401610599565b600580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a25050565b6000600a6000836040516020016106cf9190613f9c565b604051602081830303815290604052805190602001208152602001908152602001600020549050919050565b60008061070a83850185614096565b915091508115610a17576000858152600460205260408120600701805491610731836140b4565b9091555050600085815260046020908152604091829020825161010081018452815473ffffffffffffffffffffffffffffffffffffffff908116825260018301541692810192909252600281018054610a11948401919061079190614113565b80601f01602080910402602001604051908101604052809291908181526020018280546107bd90614113565b801561080a5780601f106107df5761010080835404028352916020019161080a565b820191906000526020600020905b8154815290600101906020018083116107ed57829003601f168201915b5050505050815260200160038201805480602002602001604051908101604052809291908181526020016000905b828210156108e457838290600052602060002001805461085790614113565b80601f016020809104026020016040519081016040528092919081815260200182805461088390614113565b80156108d05780601f106108a5576101008083540402835291602001916108d0565b820191906000526020600020905b8154815290600101906020018083116108b357829003601f168201915b505050505081526020019060010190610838565b50505050815260200160048201805480602002602001604051908101604052809291908181526020016000905b828210156109bd57838290600052602060002001805461093090614113565b80601f016020809104026020016040519081016040528092919081815260200182805461095c90614113565b80156109a95780601f1061097e576101008083540402835291602001916109a9565b820191906000526020600020905b81548152906001019060200180831161098c57829003601f168201915b505050505081526020019060010190610911565b5050509082525060058201546020820152600682015460409091019060ff1660018111156109ed576109ed614166565b60018111156109fe576109fe614166565b81526020016007820154815250506119b7565b50610a7c565b6000858152600460205260409081902060010154905173ffffffffffffffffffffffffffffffffffffffff909116907f7f7ce7cf4c1b43e1bf51034d0ad7062abb9d4529c7bb0510d512249b0fb7145290610a73908490613b4c565b60405180910390a25b600085815260046020526040812080547fffffffffffffffffffffffff00000000000000000000000000000000000000009081168255600182018054909116905590610acb60028301826137b0565b610ad96003830160006137ed565b610ae76004830160006137ed565b506000600582018190556006820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690556007909101555050505050565b610b866040518060a0016040528060608152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081525090565b60008281526009602052604090819020815160a08101909252805482908290610bae90614113565b80601f0160208091040260200160405190810160405280929190818152602001828054610bda90614113565b8015610c275780601f10610bfc57610100808354040283529160200191610c27565b820191906000526020600020905b815481529060010190602001808311610c0a57829003601f168201915b5050509183525050600182015473ffffffffffffffffffffffffffffffffffffffff908116602083015260028301541660408201526003820154606082015260049091015460809091015292915050565b60603373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610ce9576040517f72823b5400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610cf585858585611ac1565b95945050505050565b8673ffffffffffffffffffffffffffffffffffffffff8116610d4c576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dbb91906141a0565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e1f576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610e618989898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611bc392505050565b9050610e728a8a838989898961171a565b50505050505050505050565b60606000610e8c8585611bf6565b805480602002602001604051908101604052809291908181526020016000905b82821015610f58578382906000526020600020018054610ecb90614113565b80601f0160208091040260200160405190810160405280929190818152602001828054610ef790614113565b8015610f445780601f10610f1957610100808354040283529160200191610f44565b820191906000526020600020905b815481529060010190602001808311610f2757829003601f168201915b505050505081526020019060010190610eac565b50505050905080518310610f9b576040517f9c7692bf00000000000000000000000000000000000000000000000000000000815260048101849052602401610599565b610fa58585611bf6565b8381548110610fb657610fb66141bd565b906000526020600020018054610fcb90614113565b80601f0160208091040260200160405190810160405280929190818152602001828054610ff790614113565b80156110445780601f1061101957610100808354040283529160200191611044565b820191906000526020600020905b81548152906001019060200180831161102757829003601f168201915b50505050509150509392505050565b600061105f8383611c38565b549392505050565b60408051608081018252600080825260208201819052918101829052606081019190915273ffffffffffffffffffffffffffffffffffffffff8316611115576006826040516110b691906141ec565b908152604080519182900360209081018320608084018352805473ffffffffffffffffffffffffffffffffffffffff908116855260018201549285019290925260028101549091169183019190915260030154606082015290506111a0565b60076000848460405160200161112c929190614208565b60408051601f1981840301815291815281516020928301208352828201939093529082016000208251608081018452815473ffffffffffffffffffffffffffffffffffffffff9081168252600183015493820193909352600282015490921692820192909252600390910154606082015290505b805173ffffffffffffffffffffffffffffffffffffffff1615806111dc5750604081015173ffffffffffffffffffffffffffffffffffffffff16155b1561054c57816040517fd8952ceb0000000000000000000000000000000000000000000000000000000081526004016105999190613b4c565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6112438585856116fd565b1415949350505050565b8173ffffffffffffffffffffffffffffffffffffffff811661129b576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061130a91906141a0565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461136e576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084600181111561138257611382614166565b14801561139c575060008281526020819052604090205415155b156113d45760008281526020819052604081206113b89161380b565b60008281526002602052604081206113cf916137ed565b611416565b600082815260016020526040902054156114165760008281526001602052604081206113ff9161380b565b6000828152600360205260408120611416916137ed565b8184600181111561142957611429614166565b6040517f1fe48a4ec69671720d8bdd8f8a6853d16f486c0bb91fcaf5b8ffc4932b8bc9f490600090a350505050565b60603373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146114c9576040517f72823b5400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6114d589898989611c7a565b60006114e38a8a8a8a612040565b905060006040518061010001604052808c73ffffffffffffffffffffffffffffffffffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505090825250602001611571888a61425b565b8152602001611580868861425b565b81526020810184905260400160008152602001600081525090506115a3816119b7565b9b9a5050505050505050505050565b600061105f8383611bf6565b6000806115cb8585611c38565b80548060200260200160405190810160405280929190818152602001828054801561162c57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311611601575b5050505050905080518310611670576040517f9c7692bf00000000000000000000000000000000000000000000000000000000815260048101849052602401610599565b61167a8585611c38565b838154811061168b5761168b6141bd565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1695945050505050565b6000600a6000836040516020016116cd9190613f9c565b60405160208183030381529060405280519060200120815260200190815260200160002054600014159050919050565b600061171261170c8585611c38565b83612069565b949350505050565b8573ffffffffffffffffffffffffffffffffffffffff8116611768576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156117b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117d791906141a0565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461183b576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61184688888861124d565b6118a26118538988611c38565b61185d8a89611bf6565b87878080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061189d925088915089905061425b565b612103565b858860018111156118b5576118b5614166565b7f5e140eb5bed8bcb1664a04c0be4aa419e0d2dbf1277a4a6770882a0beb3b91b287876040516118e69291906142cf565b60405180910390a35050505050505050565b6005546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810184905273ffffffffffffffffffffffffffffffffffffffff838116602483015260009216906391d1485490604401602060405180830381865afa158015611970573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611994919061432a565b9392505050565b60006119a68361253d565b8015611994575061199483836125a1565b606060008260c0015160018111156119d1576119d1614166565b1480156119e457506119e282612670565b155b15611a4457816020015173ffffffffffffffffffffffffffffffffffffffff167fa1e5a8c0fde3fa4d7320c3f9de0ab0a2c1ee6e891e6a513ca0811ddcf768b59460405160405180910390a2505060408051602081019091526000815290565b611a5b826000015183602001518460400151612a47565b600160c0840152600060e08401529050611a7482612670565b50816020015173ffffffffffffffffffffffffffffffffffffffff167f4ec4635a4d1f6ebe9ee3a059f74fc5d802e04d2d115c4090337a34e3b137c98a60405160405180910390a2919050565b6060611acd8585612c20565b600080611adc84860186614347565b915091507f99bf0fbd60208ca164accd299e2c0a8b4475c1a2df53c2d7160870f6825365288203611b2857611b2381806020019051810190611b1e919061449d565b612db0565b611ba9565b7fe5801b46183bd353d44247232707bb62253655a0580ade69a754ba7157ddf8fd8203611b7757600081806020019051810190611b659190614575565b9050611b718882613055565b50611ba9565b6040517f7265e5c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505060408051602081019091526000815295945050505050565b60008282604051602001611bd8929190614208565b60405160208183030381529060405280519060200120905092915050565b600080836001811115611c0b57611c0b614166565b03611c245750600081815260026020526040902061054c565b50600081815260036020526040902061054c565b600080836001811115611c4d57611c4d614166565b03611c665750600081815260208190526040902061054c565b50600081815260016020526040902061054c565b6000611c88828401846145aa565b90506000611c9a868360000151611067565b602083015190915073ffffffffffffffffffffffffffffffffffffffff16611cee576040517f3489abf600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805173ffffffffffffffffffffffffffffffffffffffff90811614611d7a57806000015173ffffffffffffffffffffffffffffffffffffffff16826020015173ffffffffffffffffffffffffffffffffffffffff1614611d7a576040517f3489abf600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081015115611e695760408083015190517fc3cc244a00000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff89169163c3cc244a91611de09160040190815260200190565b602060405180830381865afa158015611dfd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e21919061465a565b6020830151909150600160ff83161b16611e67576040517ff3c6318200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b606082015173ffffffffffffffffffffffffffffffffffffffff16611eba576040517f642321ac00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604081015173ffffffffffffffffffffffffffffffffffffffff90811614611f4957806040015173ffffffffffffffffffffffffffffffffffffffff16826060015173ffffffffffffffffffffffffffffffffffffffff1614611f49576040517f642321ac00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6060810151156120385760808201516040517fc3cc244a00000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff89169163c3cc244a91611faf9160040190815260200190565b602060405180830381865afa158015611fcc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ff0919061465a565b6060830151909150600160ff83161b16612036576040517f5a790ab800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b505050505050565b60008061204f838501856145aa565b905061205f868260000151611bc3565b9695505050505050565b8154600090815b818110156120d9578373ffffffffffffffffffffffffffffffffffffffff168582815481106120a1576120a16141bd565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16036120d157915061054c9050565b600101612070565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff949350505050565b8151600a811115612140576040517f760fb4ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8082511461217a576040517f3021beb200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b8181101561203857600073ffffffffffffffffffffffffffffffffffffffff168482815181106121af576121af6141bd565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1603612204576040517f7d4de38200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000811180156122745750836001820381518110612224576122246141bd565b602002602001015173ffffffffffffffffffffffffffffffffffffffff16848281518110612254576122546141bd565b602002602001015173ffffffffffffffffffffffffffffffffffffffff16145b156122ab576040517fd696c40800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166382984f308583815181106122f9576122f96141bd565b60200260200101516040518263ffffffff1660e01b8152600401612339919073ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b602060405180830381865afa158015612356573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061237a919061432a565b6123e757838181518110612390576123906141bd565b60200260200101516040517f5a987388000000000000000000000000000000000000000000000000000000008152600401610599919073ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b8381815181106123f9576123f96141bd565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1663a913b88184838151811061242e5761242e6141bd565b60200260200101516040518263ffffffff1660e01b81526004016124529190613b4c565b60006040518083038186803b15801561246a57600080fd5b505afa15801561247e573d6000803e3d6000fd5b5050505085848281518110612495576124956141bd565b60209081029190910181015182546001810184556000938452919092200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9092169190911790558251859084908390811061250b5761250b6141bd565b6020908102919091018101518254600181018455600093845291909220019061253490826146c0565b5060010161217d565b6000612569827f01ffc9a7000000000000000000000000000000000000000000000000000000006125a1565b801561054c575061259a827fffffffff000000000000000000000000000000000000000000000000000000006125a1565b1592915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015612659575060208210155b80156126655750600081115b979650505050505050565b6000806126858360c001518460a00151611c38565b8054806020026020016040519081016040528092919081815260200182805480156126e657602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116126bb575b5050505050905060006127018460c001518560a00151611bf6565b805480602002602001604051908101604052809291908181526020016000905b828210156127cd57838290600052602060002001805461274090614113565b80601f016020809104026020016040519081016040528092919081815260200182805461276c90614113565b80156127b95780601f1061278e576101008083540402835291602001916127b9565b820191906000526020600020905b81548152906001019060200180831161279c57829003601f168201915b505050505081526020019060010190612721565b50508451929350600091508190508660c0015160018111156127f1576127f1614166565b14612800578560800151612806565b85606001515b90508181511461285e578560c00151600181111561282657612826614166565b6040517f3171c36f00000000000000000000000000000000000000000000000000000000815260ff9091166004820152602401610599565b60e08601515b82811015612a3a57808760e001818152505060006040518060400160405280868481518110612895576128956141bd565b602002602001015181526020018484815181106128b4576128b46141bd565b6020026020010151815250905060006129118784815181106128d8576128d86141bd565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673800000000000000000000000000000000000000016151590565b156129d657868381518110612928576129286141bd565b602002602001015173ffffffffffffffffffffffffffffffffffffffff166334e5d29f8360405160200161295c91906147bc565b6040516020818303038152906040526040518263ffffffff1660e01b81526004016129879190613b4c565b6000604051808303816000875af11580156129a6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526129ce91908101906147f5565b5090506129fd565b6129fa8784815181106129eb576129eb6141bd565b6020026020010151838b613191565b90505b6001816001811115612a1157612a11614166565b14612a255750600098975050505050505050565b50508080612a32906140b4565b915050612864565b5060019695505050505050565b6060600082806020019051810190612a5f919061483c565b90506000600860008154612a72906140b4565b91829055506040805160a0810182528451815260208086015173ffffffffffffffffffffffffffffffffffffffff90811682840152606080880151909116838501528684015190830152608080870151908301526000848152600990915291909120815192935090918291908190612aea90826146c0565b506020828101516001830180547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff9384161790915560408086015160028601805490931693169290921790556060840151600384015560809093015160049092019190915590518391600a91600091612b7d91869101613a7b565b60405160208183030381529060405280519060200120815260200190815260200160002081905550817fc1ab5d0231434d664068cd9e5f80a04152484f1844e564dd9fee5c687caa0d7c84600001518560200151866040015187606001518860800151604051612bf19594939291906148ec565b60405180910390a260408051602081018490520160405160208183030381529060405293505050509392505050565b73ffffffffffffffffffffffffffffffffffffffff8216612cdd57612c657f637821dcee84aabec9c8cf4f6f643013a24ad27fd41511ffd937aea80d8619a9826118f8565b612cd9576040517f75000dc00000000000000000000000000000000000000000000000000000000081527f637821dcee84aabec9c8cf4f6f643013a24ad27fd41511ffd937aea80d8619a9600482015273ffffffffffffffffffffffffffffffffffffffff82166024820152604401610599565b5050565b8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612d3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d6391906141a0565b73ffffffffffffffffffffffffffffffffffffffff1614612cd9576040517fdc13a9c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080612dce83604001516000015184602001518560600151613375565b91509150600080612df085604001516020015186602001518760800151613375565b91509150600060405180608001604052808673ffffffffffffffffffffffffffffffffffffffff1681526020018581526020018473ffffffffffffffffffffffffffffffffffffffff168152602001838152509050600073ffffffffffffffffffffffffffffffffffffffff16866020015173ffffffffffffffffffffffffffffffffffffffff1603612f16578060068760000151604051612e9291906141ec565b9081526040805160209281900383019020835181547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff92831617835593850151600183015591840151600282018054909416921691909117909155606090910151600390910155612fcb565b806007600088602001518960000151604051602001612f36929190614208565b60408051808303601f190181529181528151602092830120835282820193909352908201600020835181547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff9283161783559285015160018301559284015160028201805490931693169290921790556060909101516003909101555b856020015173ffffffffffffffffffffffffffffffffffffffff167f5afe4586ed79afd39271a5d07aaa8d60de58e6e9a48ebf10c8f1ce828b592e7587600001518360000151896040015160000151856020015186604001518c604001516020015188606001516040516130459796959493929190614975565b60405180910390a2505050505050565b73ffffffffffffffffffffffffffffffffffffffff82166130d75760068160405161308091906141ec565b90815260405190819003602001902080547fffffffffffffffffffffffff00000000000000000000000000000000000000009081168255600060018301819055600283018054909216909155600390910155613154565b6007600083836040516020016130ee929190614208565b60408051601f19818403018152918152815160209283012083529082019290925201600090812080547fffffffffffffffffffffffff00000000000000000000000000000000000000009081168255600182018390556002820180549091169055600301555b7fa1b9abc85838f61f05343c3b5b89fe250131975f2b25b6029a263e253dc0e7fd81836040516131859291906149e1565b60405180910390a15050565b60008060008573ffffffffffffffffffffffffffffffffffffffff16635260a98c866040516020016131c391906147bc565b604051602081830303815290604052306040518363ffffffff1660e01b81526004016131f09291906149e1565b6000604051808303816000875af115801561320f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526132379190810190614a19565b9193509091506000905082600181111561325357613253614166565b0361336c57600081815260046020908152604091829020865181547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff928316178355928801516001830180549094169116179091559085015185919060028201906132d690826146c0565b50606082015180516132f2916003840191602090910190613829565b506080820151805161330e916004840191602090910190613829565b5060a0820151600582015560c08201516006820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001838181111561335957613359614166565b021790555060e082015181600701559050505b50949350505050565b600080600185600581111561338c5761338c614166565b036133bc57507f000000000000000000000000000000000000000000000000000000000000000090506000613560565b60028560058111156133d0576133d0614166565b0361347a5773ffffffffffffffffffffffffffffffffffffffff8416613422576040517fe86db48e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61342c8484613568565b8251600003613467576040517f521299a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8361347184613766565b91509150613560565b600385600581111561348e5761348e614166565b036134be57507f000000000000000000000000000000000000000000000000000000000000000090506000613560565b60048560058111156134d2576134d2614166565b036134f6575073ffffffffffffffffffffffffffffffffffffffff90506000613560565b600585600581111561350a5761350a614166565b0361352e575073ffffffffffffffffffffffffffffffffffffffff90506000613560565b6040517f92c6e29000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b935093915050565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a9161360d91600401613b4c565b602060405180830381865afa15801561362a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061364e91906141a0565b825190915060005b8181101561375f578273ffffffffffffffffffffffffffffffffffffffff16638a8cb0b48686848151811061368d5761368d6141bd565b60200260200101516040518363ffffffff1660e01b81526004016136d692919073ffffffffffffffffffffffffffffffffffffffff92909216825260ff16602082015260400190565b602060405180830381865afa1580156136f3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613717919061432a565b61374d576040517fa4ba834600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80613757816140b4565b915050613656565b5050505050565b600080805b83518110156137a957838181518110613786576137866141bd565b602002602001015160ff1660ff166001901b82179150808060010191505061376b565b5092915050565b5080546137bc90614113565b6000825580601f106137cc575050565b601f0160209004906000526020600020908101906137ea919061387f565b50565b50805460008255906000526020600020908101906137ea9190613894565b50805460008255906000526020600020908101906137ea919061387f565b82805482825590600052602060002090810192821561386f579160200282015b8281111561386f578251829061385f90826146c0565b5091602001919060010190613849565b5061387b929150613894565b5090565b5b8082111561387b5760008155600101613880565b8082111561387b5760006138a882826137b0565b50600101613894565b6000602082840312156138c357600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461199457600080fd5b73ffffffffffffffffffffffffffffffffffffffff811681146137ea57600080fd5b8035613920816138f3565b919050565b60006020828403121561393757600080fd5b8135611994816138f3565b60006020828403121561395457600080fd5b813567ffffffffffffffff81111561396b57600080fd5b820160a0818503121561199457600080fd5b60008083601f84011261398f57600080fd5b50813567ffffffffffffffff8111156139a757600080fd5b6020830191508360208285010111156139bf57600080fd5b9250929050565b6000806000604084860312156139db57600080fd5b83359250602084013567ffffffffffffffff8111156139f957600080fd5b613a058682870161397d565b9497909650939450505050565b600060208284031215613a2457600080fd5b5035919050565b60005b83811015613a46578181015183820152602001613a2e565b50506000910152565b60008151808452613a67816020860160208601613a2b565b601f01601f19169290920160200192915050565b602081526000825160a06020840152613a9760c0840182613a4f565b9050602084015173ffffffffffffffffffffffffffffffffffffffff8082166040860152806040870151166060860152505060608401516080840152608084015160a08401528091505092915050565b60008060008060608587031215613afd57600080fd5b8435613b08816138f3565b93506020850135613b18816138f3565b9250604085013567ffffffffffffffff811115613b3457600080fd5b613b408782880161397d565b95989497509550505050565b6020815260006119946020830184613a4f565b600281106137ea57600080fd5b60008083601f840112613b7e57600080fd5b50813567ffffffffffffffff811115613b9657600080fd5b6020830191508360208260051b85010111156139bf57600080fd5b60008060008060008060008060a0898b031215613bcd57600080fd5b8835613bd881613b5f565b97506020890135613be8816138f3565b9650604089013567ffffffffffffffff80821115613c0557600080fd5b613c118c838d0161397d565b909850965060608b0135915080821115613c2a57600080fd5b613c368c838d01613b6c565b909650945060808b0135915080821115613c4f57600080fd5b50613c5c8b828c01613b6c565b999c989b5096995094979396929594505050565b600080600060608486031215613c8557600080fd5b8335613c9081613b5f565b95602085013595506040909401359392505050565b60008060408385031215613cb857600080fd5b8235613cc381613b5f565b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160a0810167ffffffffffffffff81118282101715613d2357613d23613cd1565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715613d5257613d52613cd1565b604052919050565b600067ffffffffffffffff821115613d7457613d74613cd1565b50601f01601f191660200190565b600082601f830112613d9357600080fd5b8135613da6613da182613d5a565b613d29565b818152846020838601011115613dbb57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060408385031215613deb57600080fd5b8235613df6816138f3565b9150602083013567ffffffffffffffff811115613e1257600080fd5b613e1e85828601613d82565b9150509250929050565b600080600060608486031215613e3d57600080fd5b8335613e4881613b5f565b9250602084013591506040840135613e5f816138f3565b809150509250925092565b600080600060608486031215613e7f57600080fd5b8335613e8a81613b5f565b92506020840135613e9a816138f3565b929592945050506040919091013590565b60008060008060008060008060a0898b031215613ec757600080fd5b8835613bd8816138f3565b600080600080600080600060a0888a031215613eed57600080fd5b8735613ef881613b5f565b96506020880135613f08816138f3565b955060408801359450606088013567ffffffffffffffff80821115613f2c57600080fd5b613f388b838c01613b6c565b909650945060808a0135915080821115613f5157600080fd5b50613f5e8a828b01613b6c565b989b979a50959850939692959293505050565b818352818160208501375060006020828401015260006020601f19601f840116840101905092915050565b60208152600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112613fd457600080fd5b830160208101903567ffffffffffffffff811115613ff157600080fd5b80360382131561400057600080fd5b60a0602085015261401560c085018284613f71565b91505061402460208501613915565b73ffffffffffffffffffffffffffffffffffffffff811660408501525061404d60408501613915565b73ffffffffffffffffffffffffffffffffffffffff811660608501525060608401356080840152608084013560a08401528091505092915050565b80151581146137ea57600080fd5b600080604083850312156140a957600080fd5b8235613df681614088565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361410c577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b600181811c9082168061412757607f821691505b602082108103614160577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b8051613920816138f3565b6000602082840312156141b257600080fd5b8151611994816138f3565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082516141fe818460208701613a2b565b9190910192915050565b73ffffffffffffffffffffffffffffffffffffffff831681526040602082015260006117126040830184613a4f565b600067ffffffffffffffff82111561425157614251613cd1565b5060051b60200190565b6000614269613da184614237565b80848252602080830192508560051b85013681111561428757600080fd5b855b818110156142c357803567ffffffffffffffff8111156142a95760008081fd5b6142b536828a01613d82565b865250938201938201614289565b50919695505050505050565b60208082528181018390526000908460408401835b8681101561431f5782356142f7816138f3565b73ffffffffffffffffffffffffffffffffffffffff16825291830191908301906001016142e4565b509695505050505050565b60006020828403121561433c57600080fd5b815161199481614088565b6000806040838503121561435a57600080fd5b82359150602083013567ffffffffffffffff811115613e1257600080fd5b600082601f83011261438957600080fd5b8151614397613da182613d5a565b8181528460208386010111156143ac57600080fd5b611712826020830160208701613a2b565b80516006811061392057600080fd5b6000604082840312156143de57600080fd5b6040516040810181811067ffffffffffffffff8211171561440157614401613cd1565b604052905080614410836143bd565b815261441e602084016143bd565b60208201525092915050565b805160ff8116811461392057600080fd5b600082601f83011261444c57600080fd5b8151602061445c613da183614237565b82815260059290921b8401810191818101908684111561447b57600080fd5b8286015b8481101561431f576144908161442a565b835291830191830161447f565b6000602082840312156144af57600080fd5b815167ffffffffffffffff808211156144c757600080fd5b9083019060c082860312156144db57600080fd5b6144e3613d00565b8251828111156144f257600080fd5b6144fe87828601614378565b82525061450d60208401614195565b602082015261451f86604085016143cc565b604082015260808301518281111561453657600080fd5b6145428782860161443b565b60608301525060a08301518281111561455a57600080fd5b6145668782860161443b565b60808301525095945050505050565b60006020828403121561458757600080fd5b815167ffffffffffffffff81111561459e57600080fd5b61171284828501614378565b6000602082840312156145bc57600080fd5b813567ffffffffffffffff808211156145d457600080fd5b9083019060a082860312156145e857600080fd5b6145f0613d00565b8235828111156145ff57600080fd5b61460b87828601613d82565b8252506020830135915061461e826138f3565b816020820152604083013560408201526060830135915061463e826138f3565b8160608201526080830135608082015280935050505092915050565b60006020828403121561466c57600080fd5b6119948261442a565b601f8211156146bb57600081815260208120601f850160051c8101602086101561469c5750805b601f850160051c820191505b81811015612038578281556001016146a8565b505050565b815167ffffffffffffffff8111156146da576146da613cd1565b6146ee816146e88454614113565b84614675565b602080601f831160018114614741576000841561470b5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555612038565b600085815260208120601f198616915b8281101561477057888601518255948401946001909101908401614751565b50858210156147ac57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b6020815260008251604060208401526147d86060840182613a4f565b90506020840151601f19848303016040850152610cf58282613a4f565b6000806040838503121561480857600080fd5b825161481381613b5f565b602084015190925067ffffffffffffffff81111561483057600080fd5b613e1e85828601614378565b60006020828403121561484e57600080fd5b815167ffffffffffffffff8082111561486657600080fd5b9083019060a0828603121561487a57600080fd5b614882613d00565b82518281111561489157600080fd5b61489d87828601614378565b825250602083015191506148b0826138f3565b81602082015260408301516040820152606083015191506148d0826138f3565b8160608201526080830151608082015280935050505092915050565b60a0815260006148ff60a0830188613a4f565b73ffffffffffffffffffffffffffffffffffffffff968716602084015260408301959095525091909316606082015260800191909152919050565b60068110614971577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b60e08152600061498860e083018a613a4f565b905073ffffffffffffffffffffffffffffffffffffffff80891660208401526149b4604084018961493a565b60608301879052851660808301526149cf60a083018561493a565b8260c083015298975050505050505050565b6040815260006149f46040830185613a4f565b905073ffffffffffffffffffffffffffffffffffffffff831660208301529392505050565b600080600060608486031215614a2e57600080fd5b8351614a3981613b5f565b602085015190935067ffffffffffffffff811115614a5657600080fd5b614a6286828701614378565b92505060408401519050925092509256fea2646970667358221220258178ab529cffb4ff863013666f66a9b26a909e8f1e6c95e23e6fe2c2394bd364736f6c634300081300330000000000000000000000007a7bc5640637b74abecc6e908ed548ee1969c948000000000000000000000000e8ab207a5c21162db1ee75e378a92c82d550a8d100000000000000000000000080e012ca980e1d3993d8bee99828619e5532b12b000000000000000000000000ee19ace40db1ba8b0dbbc5e57061a3268bd08c6a000000000000000000000000bd132e42baafe3648170770f2d45dba59166e06d", + "nonce": "0x7dc", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x44b2c8211f99f9b1d8151f54ee3f87cdb552f13c2346dbd6e03cd0d00134117d", + "transactionType": "CREATE", + "contractName": "LicensingModule", + "contractAddress": "0xC3960374E4448f815f53C1FE38b38cf444e6BEB8", + "function": null, + "arguments": [ + "(0x7a7BC5640637b74ABEcc6e908Ed548eE1969c948, 0xe8ab207A5C21162Db1ee75e378A92C82d550a8d1, 0x80e012Ca980E1d3993d8beE99828619E5532B12b, 0xEe19aCE40dB1BA8B0DbBc5e57061A3268bd08c6A)", + "0x43C1C831D370f36149183d31FdAC50b131289949", + "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x5650df", + "value": "0x0", + "data": "0x6101406040523480156200001257600080fd5b50604051620050eb380380620050eb833981016040819052620000359162000167565b602083015183906001600160a01b038116620000645760405163134141bd60e11b815260040160405180910390fd5b6001600160a01b039081166080528151166200009357604051636028d8f760e01b815260040160405180910390fd5b80516001600160a01b0390811660a052604082015116620000c757604051635a70c46160e11b815260040160405180910390fd5b60408101516001600160a01b0390811660c052606090910151811660e0528216620001055760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03808316610100528116620001345760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03166101205250620002319050565b80516001600160a01b03811681146200016257600080fd5b919050565b600080600083850360c08112156200017e57600080fd5b60808112156200018d57600080fd5b50604051608081016001600160401b0381118282101715620001bf57634e487b7160e01b600052604160045260246000fd5b604052620001cd856200014a565b8152620001dd602086016200014a565b6020820152620001f0604086016200014a565b604082015262000203606086016200014a565b6060820152925062000218608085016200014a565b91506200022860a085016200014a565b90509250925092565b60805160a05160c05160e0516101005161012051614dfa620002f1600039600081816102de015261348f0152600081816103180152818161231d015281816124e3015281816126430152613394015260006102260152600081816103ff01528181611f7a0152818161206b01528181612a1401528181612b0d01528181612c330152818161323c01526135250152600081816103b201526132ce0152600081816103780152818161096001528181610f3c01526118270152614dfa6000f3fe608060405234801561001057600080fd5b50600436106101825760003560e01c806376a4b13b116100d8578063bc12fcca1161008c578063e8fb5c9b11610066578063e8fb5c9b146103e7578063f0ebdc83146103fa578063fba854e01461042157600080fd5b8063bc12fcca1461039a578063d2faf8b0146103ad578063e5720404146103d457600080fd5b8063a5b04d45116100bd578063a5b04d451461034d578063b6efd29d14610360578063b95ddb521461037357600080fd5b806376a4b13b1461031357806377379d941461033a57600080fd5b806351e06b901161013a57806368a4f0711161011457806368a4f071146102c6578063743fee4a146102d95780637448c5681461030057600080fd5b806351e06b9014610221578063562573a91461026d578063582d35d7146102b357600080fd5b806332ee68131161016b57806332ee6813146101c45780634fa4467c146101f95780634fcbd2131461020157600080fd5b806301ffc9a7146101875780632fa7bc99146101af575b600080fd5b61019a610195366004613b09565b610434565b60405190151581526020015b60405180910390f35b6101c26101bd366004613b94565b610519565b005b6101eb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81565b6040519081526020016101a6565b6101eb600a81565b61021461020f366004613c02565b610946565b6040516101a69190613cb7565b6102487f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101a6565b6102a661027b366004613cca565b73ffffffffffffffffffffffffffffffffffffffff1660009081526006602052604090205460ff1690565b6040516101a69190613d2a565b6102146102c1366004613d38565b6109ce565b6102146102d4366004613d81565b610af1565b6102487f000000000000000000000000000000000000000000000000000000000000000081565b6101eb61030e366004613db6565b610ccb565b6102487f000000000000000000000000000000000000000000000000000000000000000081565b61019a610348366004613de2565b610cdf565b6101c261035b366004613e24565b610d17565b61021461036e366004613eaa565b610f22565b6102487f000000000000000000000000000000000000000000000000000000000000000081565b6101eb6103a8366004613db6565b611085565b6102487f000000000000000000000000000000000000000000000000000000000000000081565b6102486103e2366004613d81565b611091565b6101eb6103f5366004613de2565b611189565b6102487f000000000000000000000000000000000000000000000000000000000000000081565b6101c261042f366004613f69565b61119e565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f2fa7bc990000000000000000000000000000000000000000000000000000000014806104c757507fffffffff0000000000000000000000000000000000000000000000000000000082167ff924008e00000000000000000000000000000000000000000000000000000000145b8061051357507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60008061052883850185614128565b91509150811561083557600085815260046020526040812060070180549161054f8361418c565b9091555050600085815260046020908152604091829020825161010081018452815473ffffffffffffffffffffffffffffffffffffffff90811682526001830154169281019290925260028101805461082f94840191906105af906141eb565b80601f01602080910402602001604051908101604052809291908181526020018280546105db906141eb565b80156106285780601f106105fd57610100808354040283529160200191610628565b820191906000526020600020905b81548152906001019060200180831161060b57829003601f168201915b5050505050815260200160038201805480602002602001604051908101604052809291908181526020016000905b82821015610702578382906000526020600020018054610675906141eb565b80601f01602080910402602001604051908101604052809291908181526020018280546106a1906141eb565b80156106ee5780601f106106c3576101008083540402835291602001916106ee565b820191906000526020600020905b8154815290600101906020018083116106d157829003601f168201915b505050505081526020019060010190610656565b50505050815260200160048201805480602002602001604051908101604052809291908181526020016000905b828210156107db57838290600052602060002001805461074e906141eb565b80601f016020809104026020016040519081016040528092919081815260200182805461077a906141eb565b80156107c75780601f1061079c576101008083540402835291602001916107c7565b820191906000526020600020905b8154815290600101906020018083116107aa57829003601f168201915b50505050508152602001906001019061072f565b5050509082525060058201546020820152600682015460409091019060ff16600181111561080b5761080b613ce7565b600181111561081c5761081c613ce7565b815260200160078201548152505061137c565b5061089a565b6000858152600460205260409081902060010154905173ffffffffffffffffffffffffffffffffffffffff909116907f7f7ce7cf4c1b43e1bf51034d0ad7062abb9d4529c7bb0510d512249b0fb7145290610891908490613cb7565b60405180910390a25b600085815260046020526040812080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811682556001820180549091169055906108e96002830182613a08565b6108f7600383016000613a45565b610905600483016000613a45565b506000600582018190556006820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690556007909101555050505050565b60603373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146109b7576040517f72823b5400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6109c385858585611486565b90505b949350505050565b6060600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610a5085858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061150892505050565b81526020019081526020016000208054610a69906141eb565b80601f0160208091040260200160405190810160405280929190818152602001828054610a95906141eb565b8015610ae25780601f10610ab757610100808354040283529160200191610ae2565b820191906000526020600020905b815481529060010190602001808311610ac557829003601f168201915b505050505090505b9392505050565b60606000610aff858561155f565b805480602002602001604051908101604052809291908181526020016000905b82821015610bcb578382906000526020600020018054610b3e906141eb565b80601f0160208091040260200160405190810160405280929190818152602001828054610b6a906141eb565b8015610bb75780601f10610b8c57610100808354040283529160200191610bb7565b820191906000526020600020905b815481529060010190602001808311610b9a57829003601f168201915b505050505081526020019060010190610b1f565b50505050905080518310610c13576040517f9c7692bf000000000000000000000000000000000000000000000000000000008152600481018490526024015b60405180910390fd5b610c1d858561155f565b8381548110610c2e57610c2e61423e565b906000526020600020018054610c43906141eb565b80601f0160208091040260200160405190810160405280929190818152602001828054610c6f906141eb565b8015610cbc5780601f10610c9157610100808354040283529160200191610cbc565b820191906000526020600020905b815481529060010190602001808311610c9f57829003601f168201915b50505050509150509392505050565b6000610cd783836115a1565b549392505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610d0d858585611189565b1415949350505050565b8173ffffffffffffffffffffffffffffffffffffffff8116610d65576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610db0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dd4919061426d565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e38576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000846001811115610e4c57610e4c613ce7565b148015610e66575060008281526020819052604090205415155b15610e9e576000828152602081905260408120610e8291613a63565b6000828152600260205260408120610e9991613a45565b610ee0565b60008281526001602052604090205415610ee0576000828152600160205260408120610ec991613a63565b6000828152600360205260408120610ee091613a45565b81846001811115610ef357610ef3613ce7565b6040517f1fe48a4ec69671720d8bdd8f8a6853d16f486c0bb91fcaf5b8ffc4932b8bc9f490600090a350505050565b60603373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610f93576040517f72823b5400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60007fff5c818c3a09617e24e0ba5e97a8b336e42589e94d6f586a74a28d768ee2c8cb905060006040518061010001604052808c73ffffffffffffffffffffffffffffffffffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505090825250602001611044888a6142ce565b815260200161105386886142ce565b81526020810184905260400160008152602001600081525090506110768161137c565b9b9a5050505050505050505050565b6000610cd7838361155f565b60008061109e85856115a1565b8054806020026020016040519081016040528092919081815260200182805480156110ff57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116110d4575b5050505050905080518310611143576040517f9c7692bf00000000000000000000000000000000000000000000000000000000815260048101849052602401610c0a565b61114d85856115a1565b838154811061115e5761115e61423e565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1695945050505050565b60006109c661119885856115a1565b836115e3565b8573ffffffffffffffffffffffffffffffffffffffff81166111ec576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611237573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061125b919061426d565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146112bf576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6112ca888888610d17565b6113266112d789886115a1565b6112e18a8961155f565b87878080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061132192508891508990506142ce565b61167d565b8588600181111561133957611339613ce7565b7f5e140eb5bed8bcb1664a04c0be4aa419e0d2dbf1277a4a6770882a0beb3b91b2878760405161136a929190614342565b60405180910390a35050505050505050565b606060008260c00151600181111561139657611396613ce7565b1480156113a957506113a782611abf565b155b1561140957816020015173ffffffffffffffffffffffffffffffffffffffff167fa1e5a8c0fde3fa4d7320c3f9de0ab0a2c1ee6e891e6a513ca0811ddcf768b59460405160405180910390a2505060408051602081019091526000815290565b611420826000015183602001518460400151611e96565b600160c0840152600060e0840152905061143982611abf565b50816020015173ffffffffffffffffffffffffffffffffffffffff167f4ec4635a4d1f6ebe9ee3a059f74fc5d802e04d2d115c4090337a34e3b137c98a60405160405180910390a2919050565b60606000806114978486018661439d565b915091507f8b21f20183a523515c357db6dba25c92b138630b63988ca3e60a6be86c8da04582036114d6576114cd878783612129565b925050506109c6565b6040517f96bb42f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080829050601f8151111561154c57826040517f305a27a9000000000000000000000000000000000000000000000000000000008152600401610c0a9190613cb7565b8051611557826143da565b179392505050565b60008083600181111561157457611574613ce7565b0361158d57506000818152600260205260409020610513565b506000818152600360205260409020610513565b6000808360018111156115b6576115b6613ce7565b036115cf57506000818152602081905260409020610513565b506000818152600160205260409020610513565b8154600090815b81811015611653578373ffffffffffffffffffffffffffffffffffffffff1685828154811061161b5761161b61423e565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff160361164b5791506105139050565b6001016115ea565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff949350505050565b8151600a8111156116ba576040517f760fb4ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b808251146116f4576040517f3021beb200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b81811015611ab757600073ffffffffffffffffffffffffffffffffffffffff168482815181106117295761172961423e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff160361177e576040517f7d4de38200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000811180156117ee575083600182038151811061179e5761179e61423e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff168482815181106117ce576117ce61423e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff16145b15611825576040517fd696c40800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166382984f308583815181106118735761187361423e565b60200260200101516040518263ffffffff1660e01b81526004016118b3919073ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b602060405180830381865afa1580156118d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118f4919061441c565b6119615783818151811061190a5761190a61423e565b60200260200101516040517f5a987388000000000000000000000000000000000000000000000000000000008152600401610c0a919073ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b8381815181106119735761197361423e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1663a913b8818483815181106119a8576119a861423e565b60200260200101516040518263ffffffff1660e01b81526004016119cc9190613cb7565b60006040518083038186803b1580156119e457600080fd5b505afa1580156119f8573d6000803e3d6000fd5b5050505085848281518110611a0f57611a0f61423e565b60209081029190910181015182546001810184556000938452919092200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90921691909117905582518590849083908110611a8557611a8561423e565b60209081029190910181015182546001810184556000938452919092200190611aae9082614484565b506001016116f7565b505050505050565b600080611ad48360c001518460a001516115a1565b805480602002602001604051908101604052809291908181526020018280548015611b3557602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311611b0a575b505050505090506000611b508460c001518560a0015161155f565b805480602002602001604051908101604052809291908181526020016000905b82821015611c1c578382906000526020600020018054611b8f906141eb565b80601f0160208091040260200160405190810160405280929190818152602001828054611bbb906141eb565b8015611c085780601f10611bdd57610100808354040283529160200191611c08565b820191906000526020600020905b815481529060010190602001808311611beb57829003601f168201915b505050505081526020019060010190611b70565b50508451929350600091508190508660c001516001811115611c4057611c40613ce7565b14611c4f578560800151611c55565b85606001515b905081815114611cad578560c001516001811115611c7557611c75613ce7565b6040517f3171c36f00000000000000000000000000000000000000000000000000000000815260ff9091166004820152602401610c0a565b60e08601515b82811015611e8957808760e001818152505060006040518060400160405280868481518110611ce457611ce461423e565b60200260200101518152602001848481518110611d0357611d0361423e565b602002602001015181525090506000611d60878481518110611d2757611d2761423e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673800000000000000000000000000000000000000016151590565b15611e2557868381518110611d7757611d7761423e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff166334e5d29f83604051602001611dab9190614580565b6040516020818303038152906040526040518263ffffffff1660e01b8152600401611dd69190613cb7565b6000604051808303816000875af1158015611df5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611e1d9190810190614607565b509050611e4c565b611e49878481518110611e3a57611e3a61423e565b6020026020010151838b6127bd565b90505b6001816001811115611e6057611e60613ce7565b14611e745750600098975050505050505050565b50508080611e819061418c565b915050611cb3565b5060019695505050505050565b606060008083806020019051810190611eaf919061464e565b915091507f3f92a83f1dd77188c62fa393a54ccf9854be836ca6c243397d0acbbce04723878203611eee57611ee58686836129a1565b92505050610aea565b7f5281374dd3fc2bb7839f50fddfb6a14a666cb4d23b20d6aecf9b9950d103b3368203611ff257600081806020019051810190611f2b919061467f565b6040517f1f09e4e50000000000000000000000000000000000000000000000000000000081526004810182905273ffffffffffffffffffffffffffffffffffffffff88811660248301529192507f000000000000000000000000000000000000000000000000000000000000000090911690631f09e4e590604401600060405180830381600087803b158015611fc057600080fd5b505af1158015611fd4573d6000803e3d6000fd5b50505050604051806020016040528060008152509350505050610aea565b7f29def77ab981c01a6b53c58b23dd89ac4447095f721298424063ed3f16962ac682036120f757600080828060200190518101906120309190614698565b6040517f71e074dd000000000000000000000000000000000000000000000000000000008152600481018390526024810182905291935091507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906371e074dd90604401600060405180830381600087803b1580156120c457600080fd5b505af11580156120d8573d6000803e3d6000fd5b5050505060405180602001604052806000815250945050505050610aea565b6040517f8c3cdde800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60608273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561218d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121b1919061426d565b73ffffffffffffffffffffffffffffffffffffffff16146121fe576040517f679dd15600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600082806020019051810190612214919061477f565b905060008160400151600281111561222e5761222e613ce7565b03612265576040517fbe53f1bf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff821660009081526006602052604090205460ff1660028111156122a2576122a2613ce7565b146122d9576040517f58d7c9ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602082015182516040517f7859a97e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001691637859a97e916123519190600401613cb7565b602060405180830381865afa15801561236e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612392919061467f565b815111156123cc576040517f7c22012400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408084015173ffffffffffffffffffffffffffffffffffffffff8416600090815260066020529190912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600183600281111561242f5761242f613ce7565b0217905550825173ffffffffffffffffffffffffffffffffffffffff83166000908152600760205260409020906124669082614484565b5073ffffffffffffffffffffffffffffffffffffffff808316600081815260056020526040908190208451875192517feae376e300000000000000000000000000000000000000000000000000000000815291949093927fffedbcce1b94ebe928a55b7ca34c76074cbe7f467d561b9c0589d5d985b39be39290917f0000000000000000000000000000000000000000000000000000000000000000169063eae376e390612518908490600401613cb7565b600060405180830381865afa158015612535573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261255d919081019061482b565b886040015160405161257193929190614860565b60405180910390a260005b818110156127a05760008482815181106125985761259861423e565b6020026020010151905060008460008360000151815260200190815260200160002080546125c5906141eb565b905011156125ff576040517f1590386a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b865181516040517fc2e26bbb00000000000000000000000000000000000000000000000000000000815260009273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169263c2e26bbb92612678929190600401614895565b600060405180830381865afa158015612695573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526126bd9190810190614965565b90506126cd818360200151612e03565b612703576040517fac6293b300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60208083015183516000908152918790526040909120906127249082614484565b508673ffffffffffffffffffffffffffffffffffffffff167f9c3f6f42e7e2cb05b8a3b21a99f597eb17f3f57ab9156b34f81fb51f221a1d3a61276a84600001516130ac565b836020015185602001516040516127839392919061499a565b60405180910390a2505080806127989061418c565b91505061257c565b505060408051602081019091526000815298975050505050505050565b60008060008573ffffffffffffffffffffffffffffffffffffffff16635260a98c866040516020016127ef9190614580565b604051602081830303815290604052306040518363ffffffff1660e01b815260040161281c9291906149df565b6000604051808303816000875af115801561283b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526128639190810190614a17565b9193509091506000905082600181111561287f5761287f613ce7565b0361299857600081815260046020908152604091829020865181547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff928316178355928801516001830180549094169116179091559085015185919060028201906129029082614484565b506060820151805161291e916003840191602090910190613a81565b506080820151805161293a916004840191602090910190613a81565b5060a0820151600582015560c08201516006820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001838181111561298557612985613ce7565b021790555060e082015181600701559050505b50949350505050565b60606000828060200190518101906129b99190614a71565b905060006129d18686846020015185604001516130eb565b90508160200151600014612aca5760208201516040517fe705c2b800000000000000000000000000000000000000000000000000000000815260048101919091527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063e705c2b890602401602060405180830381865afa158015612a70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a94919061441c565b612aca576040517f37efd03900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602082015115801590612b8d575060208201516040517f3c06e1dc00000000000000000000000000000000000000000000000000000000815260048101919091527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690633c06e1dc90602401602060405180830381865afa158015612b69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b8d919061441c565b15612cca5781515115612bcc576040517f4af02eb800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602082015160408084015190517fd09d894e000000000000000000000000000000000000000000000000000000008152600481019290925273ffffffffffffffffffffffffffffffffffffffff8381166024840152878116604484015260648301919091527f0000000000000000000000000000000000000000000000000000000000000000169063d09d894e906084016020604051808303816000875af1158015612c7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ca0919061467f565b604051602001612cb291815260200190565b60405160208183030381529060405292505050610aea565b8473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614612d2f576040517f2d05516900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612ca086868385600760008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054612d80906141eb565b80601f0160208091040260200160405190810160405280929190818152602001828054612dac906141eb565b8015612df95780601f10612dce57610100808354040283529160200191612df9565b820191906000526020600020905b815481529060010190602001808311612ddc57829003601f168201915b505050505061338f565b60007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470828051906020012003612e3b57506001610513565b600083602001516005811115612e5357612e53613ce7565b03612e765781806020019051810190612e6c919061441c565b5060019050610513565b600183602001516005811115612e8e57612e8e613ce7565b03612ebb5781806020019051810190612ea7919061467f565b600003612eb657506000610513565b6130a3565b600283602001516005811115612ed357612ed3613ce7565b03612f2757600073ffffffffffffffffffffffffffffffffffffffff1682806020019051810190612f04919061426d565b73ffffffffffffffffffffffffffffffffffffffff1603612eb657506000610513565b600383602001516005811115612f3f57612f3f613ce7565b036130075781806020019051810190612f58919061482b565b50604051602001612f9a9060208082526001908201527f2000000000000000000000000000000000000000000000000000000000000000604082015260600190565b6040516020818303038152906040528051906020012082805190602001201480612ffa5750604051602001612fda90602080825260009082015260400190565b604051602081830303815290604052805190602001208280519060200120145b15612eb657506000610513565b60048360200151600581111561301f5761301f613ce7565b036130555760008280602001905181019061303a9190614af5565b9050805160000361304f576000915050610513565b506130a3565b60058360200151600581111561306d5761306d613ce7565b036130a3576000836060015180602001905181019061308c9190614af5565b905080516000036130a1576000915050610513565b505b50600192915050565b606060006130b9836135d3565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b73ffffffffffffffffffffffffffffffffffffffff841660009081526006602052604081205460ff168181600281111561312757613127613ce7565b0361315e576040517f8c17640800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600181600281111561317257613172613ce7565b036131ee578573ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156131c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131e6919061426d565b9150506109c6565b600281600281111561320257613202613ce7565b0361335d578315613299576040517f6352211e000000000000000000000000000000000000000000000000000000008152600481018590527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690636352211e906024015b602060405180830381865afa1580156131c2573d6000803e3d6000fd5b8215613312576040517f299d1cf6000000000000000000000000000000000000000000000000000000008152600481018490527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063299d1cf69060240161327c565b8573ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156131c2573d6000803e3d6000fd5b6040517fbe53f1bf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e75afa55846040518263ffffffff1660e01b81526004016133eb9190613cb7565b600060405180830381865afa158015613408573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526134309190810190614b86565b90506000806000806134478b896000015187613614565b935093509350935060006040518061014001604052806001600381111561347057613470613ce7565b81526020018515158152602001841515815260200183151581526020017f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018d73ffffffffffffffffffffffffffffffffffffffff16815260200161350a8a611508565b81526020018a6040015181526020018a6020015181525090507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663eb683a49828d886040518463ffffffff1660e01b815260040161358093929190614cb0565b6020604051808303816000875af115801561359f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135c3919061467f565b9c9b505050505050505050505050565b600060ff8216601f811115610513576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815173ffffffffffffffffffffffffffffffffffffffff841660009081526005602052604081208351606093839283928067ffffffffffffffff81111561365d5761365d614016565b6040519080825280602002602001820160405280156136a357816020015b60408051808201909152600081526060602082015281526020019060019003908161367b5790505b50965060005b818110156139375760008982815181106136c5576136c561423e565b6020026020010151905060008460008360000151815260200190815260200160002080546136f2906141eb565b80601f016020809104026020016040519081016040528092919081815260200182805461371e906141eb565b801561376b5780601f106137405761010080835404028352916020019161376b565b820191906000526020600020905b81548152906001019060200180831161374e57829003601f168201915b50505050509050606060005b878110156137d15760008e82815181106137935761379361423e565b602002602001015190506137ae816000015186600001511490565b156137be576020015191506137d1565b50806137c98161418c565b915050613777565b5060006137df828486613952565b9050604051806040016040528085600001518152602001828152508c868151811061380c5761380c61423e565b60200260200101819052507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081805190602001200361384e5750505050613925565b61389184600001516040518060400160405280601381526020017f44657269766174697665732d416c6c6f776564000000000000000000000000008152506139f5565b156138b157808060200190518101906138aa919061441c565b9a50613920565b6138f484600001516040518060400160405280601b81526020017f44657269766174697665732d416c6c6f7765642d4f7074696f6e7300000000008152506139f5565b156139205760008180602001905181019061390f919061467f565b6001811615159b5060021615159950505b505050505b8061392f8161418c565b9150506136a9565b50856139465760009450600093505b50505093509350935093565b8251606090156139dc57825115613995576040517f42445ce000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61399f8285612e03565b6139d5576040517f5bcde08d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5082610aea565b8251156139ea575081610aea565b506040810151610aea565b6000610aea83613a0484611508565b1490565b508054613a14906141eb565b6000825580601f10613a24575050565b601f016020900490600052602060002090810190613a429190613ad7565b50565b5080546000825590600052602060002090810190613a429190613aec565b5080546000825590600052602060002090810190613a429190613ad7565b828054828255906000526020600020908101928215613ac7579160200282015b82811115613ac75782518290613ab79082614484565b5091602001919060010190613aa1565b50613ad3929150613aec565b5090565b5b80821115613ad35760008155600101613ad8565b80821115613ad3576000613b008282613a08565b50600101613aec565b600060208284031215613b1b57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610aea57600080fd5b60008083601f840112613b5d57600080fd5b50813567ffffffffffffffff811115613b7557600080fd5b602083019150836020828501011115613b8d57600080fd5b9250929050565b600080600060408486031215613ba957600080fd5b83359250602084013567ffffffffffffffff811115613bc757600080fd5b613bd386828701613b4b565b9497909650939450505050565b73ffffffffffffffffffffffffffffffffffffffff81168114613a4257600080fd5b60008060008060608587031215613c1857600080fd5b8435613c2381613be0565b93506020850135613c3381613be0565b9250604085013567ffffffffffffffff811115613c4f57600080fd5b613c5b87828801613b4b565b95989497509550505050565b60005b83811015613c82578181015183820152602001613c6a565b50506000910152565b60008151808452613ca3816020860160208601613c67565b601f01601f19169290920160200192915050565b602081526000610aea6020830184613c8b565b600060208284031215613cdc57600080fd5b8135610aea81613be0565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60038110613d2657613d26613ce7565b9052565b602081016105138284613d16565b600080600060408486031215613d4d57600080fd5b8335613d5881613be0565b9250602084013567ffffffffffffffff811115613bc757600080fd5b60028110613a4257600080fd5b600080600060608486031215613d9657600080fd5b8335613da181613d74565b95602085013595506040909401359392505050565b60008060408385031215613dc957600080fd5b8235613dd481613d74565b946020939093013593505050565b600080600060608486031215613df757600080fd5b8335613e0281613d74565b9250602084013591506040840135613e1981613be0565b809150509250925092565b600080600060608486031215613e3957600080fd5b8335613e4481613d74565b92506020840135613e5481613be0565b929592945050506040919091013590565b60008083601f840112613e7757600080fd5b50813567ffffffffffffffff811115613e8f57600080fd5b6020830191508360208260051b8501011115613b8d57600080fd5b60008060008060008060008060a0898b031215613ec657600080fd5b8835613ed181613be0565b97506020890135613ee181613be0565b9650604089013567ffffffffffffffff80821115613efe57600080fd5b613f0a8c838d01613b4b565b909850965060608b0135915080821115613f2357600080fd5b613f2f8c838d01613e65565b909650945060808b0135915080821115613f4857600080fd5b50613f558b828c01613e65565b999c989b5096995094979396929594505050565b600080600080600080600060a0888a031215613f8457600080fd5b8735613f8f81613d74565b96506020880135613f9f81613be0565b955060408801359450606088013567ffffffffffffffff80821115613fc357600080fd5b613fcf8b838c01613e65565b909650945060808a0135915080821115613fe857600080fd5b50613ff58a828b01613e65565b989b979a50959850939692959293505050565b8015158114613a4257600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561406857614068614016565b60405290565b6040516060810167ffffffffffffffff8111828210171561406857614068614016565b604051601f8201601f1916810167ffffffffffffffff811182821017156140ba576140ba614016565b604052919050565b600067ffffffffffffffff8211156140dc576140dc614016565b50601f01601f191660200190565b60006140fd6140f8846140c2565b614091565b905082815283838301111561411157600080fd5b828260208301376000602084830101529392505050565b6000806040838503121561413b57600080fd5b823561414681614008565b9150602083013567ffffffffffffffff81111561416257600080fd5b8301601f8101851361417357600080fd5b614182858235602084016140ea565b9150509250929050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036141e4577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b600181811c908216806141ff57607f821691505b602082108103614238577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006020828403121561427f57600080fd5b8151610aea81613be0565b600067ffffffffffffffff8211156142a4576142a4614016565b5060051b60200190565b600082601f8301126142bf57600080fd5b610aea838335602085016140ea565b60006142dc6140f88461428a565b80848252602080830192508560051b8501368111156142fa57600080fd5b855b8181101561433657803567ffffffffffffffff81111561431c5760008081fd5b61432836828a016142ae565b8652509382019382016142fc565b50919695505050505050565b60208082528181018390526000908460408401835b8681101561439257823561436a81613be0565b73ffffffffffffffffffffffffffffffffffffffff1682529183019190830190600101614357565b509695505050505050565b600080604083850312156143b057600080fd5b82359150602083013567ffffffffffffffff8111156143ce57600080fd5b614182858286016142ae565b80516020808301519190811015614238577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60209190910360031b1b16919050565b60006020828403121561442e57600080fd5b8151610aea81614008565b601f82111561447f57600081815260208120601f850160051c810160208610156144605750805b601f850160051c820191505b81811015611ab75782815560010161446c565b505050565b815167ffffffffffffffff81111561449e5761449e614016565b6144b2816144ac84546141eb565b84614439565b602080601f83116001811461450557600084156144cf5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555611ab7565b600085815260208120601f198616915b8281101561453457888601518255948401946001909101908401614515565b508582101561457057878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b60208152600082516040602084015261459c6060840182613c8b565b90506020840151601f198483030160408501526145b98282613c8b565b95945050505050565b600082601f8301126145d357600080fd5b81516145e16140f8826140c2565b8181528460208386010111156145f657600080fd5b6109c6826020830160208701613c67565b6000806040838503121561461a57600080fd5b825161462581613d74565b602084015190925067ffffffffffffffff81111561464257600080fd5b614182858286016145c2565b6000806040838503121561466157600080fd5b82519150602083015167ffffffffffffffff81111561464257600080fd5b60006020828403121561469157600080fd5b5051919050565b600080604083850312156146ab57600080fd5b505080516020909101519092909150565b600082601f8301126146cd57600080fd5b815160206146dd6140f88361428a565b82815260059290921b840181019181810190868411156146fc57600080fd5b8286015b8481101561439257805167ffffffffffffffff808211156147215760008081fd5b8189019150604080601f19848d0301121561473c5760008081fd5b614744614045565b83880151815290830151908282111561475d5760008081fd5b61476b8c89848701016145c2565b818901528652505050918301918301614700565b60006020828403121561479157600080fd5b815167ffffffffffffffff808211156147a957600080fd5b90830190606082860312156147bd57600080fd5b6147c561406e565b8251828111156147d457600080fd5b6147e0878286016145c2565b8252506020830151828111156147f557600080fd5b614801878286016146bc565b602083015250604083015192506003831061481b57600080fd5b6040810192909252509392505050565b60006020828403121561483d57600080fd5b815167ffffffffffffffff81111561485457600080fd5b6109c6848285016145c2565b6060815260006148736060830186613c8b565b82810360208401526148858186613c8b565b9150506109c66040830184613d16565b6040815260006148a86040830185613c8b565b90508260208301529392505050565b6000608082840312156148c957600080fd5b6040516080810167ffffffffffffffff82821081831117156148ed576148ed614016565b8160405282935084518352602085015191506006821061490c57600080fd5b816020840152604085015191508082111561492657600080fd5b614932868387016145c2565b6040840152606085015191508082111561494b57600080fd5b50614958858286016145c2565b6060830152505092915050565b60006020828403121561497757600080fd5b815167ffffffffffffffff81111561498e57600080fd5b6109c6848285016148b7565b6060815260006149ad6060830186613c8b565b600685106149bd576149bd613ce7565b84602084015282810360408401526149d58185613c8b565b9695505050505050565b6040815260006149f26040830185613c8b565b905073ffffffffffffffffffffffffffffffffffffffff831660208301529392505050565b600080600060608486031215614a2c57600080fd5b8351614a3781613d74565b602085015190935067ffffffffffffffff811115614a5457600080fd5b614a60868287016145c2565b925050604084015190509250925092565b600060208284031215614a8357600080fd5b815167ffffffffffffffff80821115614a9b57600080fd5b9083019060608286031215614aaf57600080fd5b614ab761406e565b825182811115614ac657600080fd5b614ad2878286016146bc565b825250602083015160208201526040830151604082015280935050505092915050565b60006020808385031215614b0857600080fd5b825167ffffffffffffffff811115614b1f57600080fd5b8301601f81018513614b3057600080fd5b8051614b3e6140f88261428a565b81815260059190911b82018301908381019087831115614b5d57600080fd5b928401925b82841015614b7b57835182529284019290840190614b62565b979650505050505050565b60006020808385031215614b9957600080fd5b825167ffffffffffffffff80821115614bb157600080fd5b818501915085601f830112614bc557600080fd5b8151614bd36140f88261428a565b81815260059190911b83018401908481019088831115614bf257600080fd5b8585015b83811015614c2a57805185811115614c0e5760008081fd5b614c1c8b89838a01016148b7565b845250918601918601614bf6565b5098975050505050505050565b60048110613d2657613d26613ce7565b600081518084526020808501808196508360051b8101915082860160005b85811015614ca35782840389528151805185528501516040868601819052614c8f81870183613c8b565b9a87019a9550505090840190600101614c65565b5091979650505050505050565b6000610180614cc0838751614c37565b6020860151614cd3602085018215159052565b506040860151614ce7604085018215159052565b506060860151614cfb606085018215159052565b506080860151614d23608085018273ffffffffffffffffffffffffffffffffffffffff169052565b5060a0860151614d4b60a085018273ffffffffffffffffffffffffffffffffffffffff169052565b5060c0860151614d7360c085018273ffffffffffffffffffffffffffffffffffffffff169052565b5060e086810151908401526101008087015190840152610120808701519084015273ffffffffffffffffffffffffffffffffffffffff8516610140840152806101608401526149d581840185614c4756fea2646970667358221220d0c7dac5f95a838db3de11f5024ffd7d80a9e4596e8caaf4c9009d0ad0f26fcd64736f6c634300081300330000000000000000000000007a7bc5640637b74abecc6e908ed548ee1969c948000000000000000000000000e8ab207a5c21162db1ee75e378a92c82d550a8d100000000000000000000000080e012ca980e1d3993d8bee99828619e5532b12b000000000000000000000000ee19ace40db1ba8b0dbbc5e57061a3268bd08c6a00000000000000000000000043c1c831d370f36149183d31fdac50b131289949000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "nonce": "0x7dd", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x828ddeda633112c57ba796830900c7292b8de35e2360fbaec8b2f6f779fc7856", + "transactionType": "CREATE", + "contractName": "HooksFactory", + "contractAddress": "0xeDa0dBB8fc6362A6c1508b42aA2B1ba00Cd0d891", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x61e81", + "value": "0x0", + "data": "0x608060405234801561001057600080fd5b506104a7806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c806391e7e5b414610030575b600080fd5b61004361003e366004610315565b61006c565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6000808260405160200161008291815260200190565b6040516020818303038152906040528051906020012060001c905060005b6105dc8110156101385760006100b68284610426565b8751602089012090915060006100cc8383610142565b9050600073800000000000000000000000000000000000000089146100f25760016100f5565b60025b60ff1690506003609e83901c168103610121576101146000858c610158565b965050505050505061013b565b50505050808061013090610439565b9150506100a0565b50505b9392505050565b600061014f8383306102bc565b90505b92915050565b6000834710156101c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f437265617465323a20696e73756666696369656e742062616c616e636500000060448201526064015b60405180910390fd5b8151600003610234576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f437265617465323a2062797465636f6465206c656e677468206973207a65726f60448201526064016101c0565b8282516020840186f5905073ffffffffffffffffffffffffffffffffffffffff811661013b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f437265617465323a204661696c6564206f6e206465706c6f790000000000000060448201526064016101c0565b6000604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060006060848603121561032a57600080fd5b833567ffffffffffffffff8082111561034257600080fd5b818601915086601f83011261035657600080fd5b813581811115610368576103686102e6565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156103ae576103ae6102e6565b816040528281528960208487010111156103c757600080fd5b82602086016020830137600060208483010152809750505050505060208401359150604084013590509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820180821115610152576101526103f7565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361046a5761046a6103f7565b506001019056fea2646970667358221220b9424546b77d6959490d75f2d31169e7b2dd7e680376ab4166cc87ad4d0349cf64736f6c63430008130033", + "nonce": "0x7de", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x9206432724c9b48a7774cad6710672b22f14df585b41c22c119c392c00abb3bd", + "transactionType": "CALL", + "contractName": "HooksFactory", + "contractAddress": "0xeDa0dBB8fc6362A6c1508b42aA2B1ba00Cd0d891", + "function": "deploy(bytes,uint256,uint256):(address)", + "arguments": [ + "0x60806040523480156200001157600080fd5b5060405162000f8838038062000f888339810160408190526200003491620001d1565b808080620000536001600160a01b038216637965db0b60e01b620000e5565b62000096576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b038316908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a250505050620001fc565b6000620000f2836200010d565b801562000106575062000106838362000146565b9392505050565b600062000122826301ffc9a760e01b62000146565b80156200014057506200013e826001600160e01b031962000146565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d91506000519050828015620001b9575060208210155b8015620001c65750600081115b979650505050505050565b600060208284031215620001e457600080fd5b81516001600160a01b03811681146200010657600080fd5b610d7c806200020c6000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806319129e5a1461005157806334e5d29f146100665780635260a98c14610090578063a913b881146100b2575b600080fd5b61006461005f3660046108c2565b6100c5565b005b610079610074366004610928565b610229565b604051610087929190610a09565b60405180910390f35b6100a361009e366004610a31565b610328565b60405161008793929190610a88565b6100646100c0366004610928565b6103ca565b60006100d1813361040d565b610115576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b61015573ffffffffffffffffffffffffffffffffffffffff83167f7965db0b000000000000000000000000000000000000000000000000000000006104b0565b6101bb576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c000000000000000000000000000000000000604482015260640161010c565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050565b600060607f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db610258813361040d565b610297576040517f75000dc00000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440161010c565b60006102a585870187610b92565b90506102b481600001516104cc565b6102c6816000015182602001516105df565b600194509250833073ffffffffffffffffffffffffffffffffffffffff167fdfd1fe8825f45c847f436243dea4246c2ed6c29b2ee09d385de7a3049566b69788888760405161031793929190610c39565b60405180910390a350509250929050565b6000606060007f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db610359813361040d565b610398576040517f75000dc00000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440161010c565b6040517fcce14c2300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61040982828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506104cc92505050565b5050565b600080546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff8481166024830152909116906391d1485490604401602060405180830381865afa158015610485573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a99190610c9f565b9392505050565b60006104bb83610769565b80156104a957506104a983836107ce565b6000818060200190518101906104e29190610d11565b805190915073ffffffffffffffffffffffffffffffffffffffff8116610534576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61057473ffffffffffffffffffffffffffffffffffffffff82167f80ac58cd000000000000000000000000000000000000000000000000000000006104b0565b6105da576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f4945524337323100000000000000000000000000000000000000000000000000604482015260640161010c565b505050565b60606000838060200190518101906105f79190610d11565b905060008380602001905181019061060f9190610d11565b805190915073ffffffffffffffffffffffffffffffffffffffff16610660576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815181516040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91821660048201529116906370a0823190602401602060405180830381865afa1580156106d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f49190610d2d565b60000361075157815181516040517fe9dee8af00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff92831660048201529116602482015260440161010c565b50506040805160208101909152600081529392505050565b6000610795827f01ffc9a7000000000000000000000000000000000000000000000000000000006107ce565b80156107c857506107c6827fffffffff000000000000000000000000000000000000000000000000000000006107ce565b155b92915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015610886575060208210155b80156108925750600081115b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff811681146108bf57600080fd5b50565b6000602082840312156108d457600080fd5b81356104a98161089d565b60008083601f8401126108f157600080fd5b50813567ffffffffffffffff81111561090957600080fd5b60208301915083602082850101111561092157600080fd5b9250929050565b6000806020838503121561093b57600080fd5b823567ffffffffffffffff81111561095257600080fd5b61095e858286016108df565b90969095509350505050565b600281106109a1577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b6000815180845260005b818110156109cb576020818501810151868301820152016109af565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b610a13818461096a565b604060208201526000610a2960408301846109a5565b949350505050565b600080600060408486031215610a4657600080fd5b833567ffffffffffffffff811115610a5d57600080fd5b610a69868287016108df565b9094509250506020840135610a7d8161089d565b809150509250925092565b610a92818561096a565b606060208201526000610aa860608301856109a5565b9050826040830152949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112610af857600080fd5b813567ffffffffffffffff80821115610b1357610b13610ab8565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715610b5957610b59610ab8565b81604052838152866020858801011115610b7257600080fd5b836020870160208301376000602085830101528094505050505092915050565b600060208284031215610ba457600080fd5b813567ffffffffffffffff80821115610bbc57600080fd5b9083019060408286031215610bd057600080fd5b604051604081018181108382111715610beb57610beb610ab8565b604052823582811115610bfd57600080fd5b610c0987828601610ae7565b825250602083013582811115610c1e57600080fd5b610c2a87828601610ae7565b60208301525095945050505050565b604081528260408201528284606083013760006060848301015260007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011682016060838203016020840152610c9560608201856109a5565b9695505050505050565b600060208284031215610cb157600080fd5b815180151581146104a957600080fd5b600060208284031215610cd357600080fd5b6040516020810181811067ffffffffffffffff82111715610cf657610cf6610ab8565b80604052508091508251610d098161089d565b905292915050565b600060208284031215610d2357600080fd5b6104a98383610cc1565b600060208284031215610d3f57600080fd5b505191905056fea2646970667358221220ac089ae2ad4a08453a0e62d5ef88cd54351c5b108b99b3628d8b974af06257d264736f6c63430008130033000000000000000000000000bd132e42baafe3648170770f2d45dba59166e06d", + "730750818665451459101842416358141509827966271488", + "1702012200" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xeda0dbb8fc6362a6c1508b42aa2b1ba00cd0d891", + "gas": "0x11b8ab", + "value": "0x0", + "data": "0x91e7e5b400000000000000000000000000000000000000000000000000000000000000600000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006572a5280000000000000000000000000000000000000000000000000000000000000fa860806040523480156200001157600080fd5b5060405162000f8838038062000f888339810160408190526200003491620001d1565b808080620000536001600160a01b038216637965db0b60e01b620000e5565b62000096576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b038316908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a250505050620001fc565b6000620000f2836200010d565b801562000106575062000106838362000146565b9392505050565b600062000122826301ffc9a760e01b62000146565b80156200014057506200013e826001600160e01b031962000146565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d91506000519050828015620001b9575060208210155b8015620001c65750600081115b979650505050505050565b600060208284031215620001e457600080fd5b81516001600160a01b03811681146200010657600080fd5b610d7c806200020c6000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806319129e5a1461005157806334e5d29f146100665780635260a98c14610090578063a913b881146100b2575b600080fd5b61006461005f3660046108c2565b6100c5565b005b610079610074366004610928565b610229565b604051610087929190610a09565b60405180910390f35b6100a361009e366004610a31565b610328565b60405161008793929190610a88565b6100646100c0366004610928565b6103ca565b60006100d1813361040d565b610115576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b61015573ffffffffffffffffffffffffffffffffffffffff83167f7965db0b000000000000000000000000000000000000000000000000000000006104b0565b6101bb576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c000000000000000000000000000000000000604482015260640161010c565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050565b600060607f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db610258813361040d565b610297576040517f75000dc00000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440161010c565b60006102a585870187610b92565b90506102b481600001516104cc565b6102c6816000015182602001516105df565b600194509250833073ffffffffffffffffffffffffffffffffffffffff167fdfd1fe8825f45c847f436243dea4246c2ed6c29b2ee09d385de7a3049566b69788888760405161031793929190610c39565b60405180910390a350509250929050565b6000606060007f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db610359813361040d565b610398576040517f75000dc00000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440161010c565b6040517fcce14c2300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61040982828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506104cc92505050565b5050565b600080546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff8481166024830152909116906391d1485490604401602060405180830381865afa158015610485573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a99190610c9f565b9392505050565b60006104bb83610769565b80156104a957506104a983836107ce565b6000818060200190518101906104e29190610d11565b805190915073ffffffffffffffffffffffffffffffffffffffff8116610534576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61057473ffffffffffffffffffffffffffffffffffffffff82167f80ac58cd000000000000000000000000000000000000000000000000000000006104b0565b6105da576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f4945524337323100000000000000000000000000000000000000000000000000604482015260640161010c565b505050565b60606000838060200190518101906105f79190610d11565b905060008380602001905181019061060f9190610d11565b805190915073ffffffffffffffffffffffffffffffffffffffff16610660576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815181516040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91821660048201529116906370a0823190602401602060405180830381865afa1580156106d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f49190610d2d565b60000361075157815181516040517fe9dee8af00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff92831660048201529116602482015260440161010c565b50506040805160208101909152600081529392505050565b6000610795827f01ffc9a7000000000000000000000000000000000000000000000000000000006107ce565b80156107c857506107c6827fffffffff000000000000000000000000000000000000000000000000000000006107ce565b155b92915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015610886575060208210155b80156108925750600081115b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff811681146108bf57600080fd5b50565b6000602082840312156108d457600080fd5b81356104a98161089d565b60008083601f8401126108f157600080fd5b50813567ffffffffffffffff81111561090957600080fd5b60208301915083602082850101111561092157600080fd5b9250929050565b6000806020838503121561093b57600080fd5b823567ffffffffffffffff81111561095257600080fd5b61095e858286016108df565b90969095509350505050565b600281106109a1577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b6000815180845260005b818110156109cb576020818501810151868301820152016109af565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b610a13818461096a565b604060208201526000610a2960408301846109a5565b949350505050565b600080600060408486031215610a4657600080fd5b833567ffffffffffffffff811115610a5d57600080fd5b610a69868287016108df565b9094509250506020840135610a7d8161089d565b809150509250925092565b610a92818561096a565b606060208201526000610aa860608301856109a5565b9050826040830152949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112610af857600080fd5b813567ffffffffffffffff80821115610b1357610b13610ab8565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715610b5957610b59610ab8565b81604052838152866020858801011115610b7257600080fd5b836020870160208301376000602085830101528094505050505092915050565b600060208284031215610ba457600080fd5b813567ffffffffffffffff80821115610bbc57600080fd5b9083019060408286031215610bd057600080fd5b604051604081018181108382111715610beb57610beb610ab8565b604052823582811115610bfd57600080fd5b610c0987828601610ae7565b825250602083013582811115610c1e57600080fd5b610c2a87828601610ae7565b60208301525095945050505050565b604081528260408201528284606083013760006060848301015260007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011682016060838203016020840152610c9560608201856109a5565b9695505050505050565b600060208284031215610cb157600080fd5b815180151581146104a957600080fd5b600060208284031215610cd357600080fd5b6040516020810181811067ffffffffffffffff82111715610cf657610cf6610ab8565b80604052508091508251610d098161089d565b905292915050565b600060208284031215610d2357600080fd5b6104a98383610cc1565b600060208284031215610d3f57600080fd5b505191905056fea2646970667358221220ac089ae2ad4a08453a0e62d5ef88cd54351c5b108b99b3628d8b974af06257d264736f6c63430008130033000000000000000000000000bd132e42baafe3648170770f2d45dba59166e06d000000000000000000000000000000000000000000000000", + "nonce": "0x7df", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE2", + "address": "0x86831b4A5D9222F120acF3D0a6C6d3f4Fa7C1268", + "initCode": "60806040523480156200001157600080fd5b5060405162000f8838038062000f888339810160408190526200003491620001d1565b808080620000536001600160a01b038216637965db0b60e01b620000e5565b62000096576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b038316908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a250505050620001fc565b6000620000f2836200010d565b801562000106575062000106838362000146565b9392505050565b600062000122826301ffc9a760e01b62000146565b80156200014057506200013e826001600160e01b031962000146565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d91506000519050828015620001b9575060208210155b8015620001c65750600081115b979650505050505050565b600060208284031215620001e457600080fd5b81516001600160a01b03811681146200010657600080fd5b610d7c806200020c6000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806319129e5a1461005157806334e5d29f146100665780635260a98c14610090578063a913b881146100b2575b600080fd5b61006461005f3660046108c2565b6100c5565b005b610079610074366004610928565b610229565b604051610087929190610a09565b60405180910390f35b6100a361009e366004610a31565b610328565b60405161008793929190610a88565b6100646100c0366004610928565b6103ca565b60006100d1813361040d565b610115576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b61015573ffffffffffffffffffffffffffffffffffffffff83167f7965db0b000000000000000000000000000000000000000000000000000000006104b0565b6101bb576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c000000000000000000000000000000000000604482015260640161010c565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050565b600060607f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db610258813361040d565b610297576040517f75000dc00000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440161010c565b60006102a585870187610b92565b90506102b481600001516104cc565b6102c6816000015182602001516105df565b600194509250833073ffffffffffffffffffffffffffffffffffffffff167fdfd1fe8825f45c847f436243dea4246c2ed6c29b2ee09d385de7a3049566b69788888760405161031793929190610c39565b60405180910390a350509250929050565b6000606060007f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db610359813361040d565b610398576040517f75000dc00000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440161010c565b6040517fcce14c2300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61040982828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506104cc92505050565b5050565b600080546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff8481166024830152909116906391d1485490604401602060405180830381865afa158015610485573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a99190610c9f565b9392505050565b60006104bb83610769565b80156104a957506104a983836107ce565b6000818060200190518101906104e29190610d11565b805190915073ffffffffffffffffffffffffffffffffffffffff8116610534576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61057473ffffffffffffffffffffffffffffffffffffffff82167f80ac58cd000000000000000000000000000000000000000000000000000000006104b0565b6105da576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f4945524337323100000000000000000000000000000000000000000000000000604482015260640161010c565b505050565b60606000838060200190518101906105f79190610d11565b905060008380602001905181019061060f9190610d11565b805190915073ffffffffffffffffffffffffffffffffffffffff16610660576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815181516040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91821660048201529116906370a0823190602401602060405180830381865afa1580156106d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f49190610d2d565b60000361075157815181516040517fe9dee8af00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff92831660048201529116602482015260440161010c565b50506040805160208101909152600081529392505050565b6000610795827f01ffc9a7000000000000000000000000000000000000000000000000000000006107ce565b80156107c857506107c6827fffffffff000000000000000000000000000000000000000000000000000000006107ce565b155b92915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015610886575060208210155b80156108925750600081115b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff811681146108bf57600080fd5b50565b6000602082840312156108d457600080fd5b81356104a98161089d565b60008083601f8401126108f157600080fd5b50813567ffffffffffffffff81111561090957600080fd5b60208301915083602082850101111561092157600080fd5b9250929050565b6000806020838503121561093b57600080fd5b823567ffffffffffffffff81111561095257600080fd5b61095e858286016108df565b90969095509350505050565b600281106109a1577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b6000815180845260005b818110156109cb576020818501810151868301820152016109af565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b610a13818461096a565b604060208201526000610a2960408301846109a5565b949350505050565b600080600060408486031215610a4657600080fd5b833567ffffffffffffffff811115610a5d57600080fd5b610a69868287016108df565b9094509250506020840135610a7d8161089d565b809150509250925092565b610a92818561096a565b606060208201526000610aa860608301856109a5565b9050826040830152949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112610af857600080fd5b813567ffffffffffffffff80821115610b1357610b13610ab8565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715610b5957610b59610ab8565b81604052838152866020858801011115610b7257600080fd5b836020870160208301376000602085830101528094505050505092915050565b600060208284031215610ba457600080fd5b813567ffffffffffffffff80821115610bbc57600080fd5b9083019060408286031215610bd057600080fd5b604051604081018181108382111715610beb57610beb610ab8565b604052823582811115610bfd57600080fd5b610c0987828601610ae7565b825250602083013582811115610c1e57600080fd5b610c2a87828601610ae7565b60208301525095945050505050565b604081528260408201528284606083013760006060848301015260007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011682016060838203016020840152610c9560608201856109a5565b9695505050505050565b600060208284031215610cb157600080fd5b815180151581146104a957600080fd5b600060208284031215610cd357600080fd5b6040516020810181811067ffffffffffffffff82111715610cf657610cf6610ab8565b80604052508091508251610d098161089d565b905292915050565b600060208284031215610d2357600080fd5b6104a98383610cc1565b600060208284031215610d3f57600080fd5b505191905056fea2646970667358221220ac089ae2ad4a08453a0e62d5ef88cd54351c5b108b99b3628d8b974af06257d264736f6c63430008130033000000000000000000000000bd132e42baafe3648170770f2d45dba59166e06d" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0xda976994e9135aba7aea99be59688074366d7020913ef7ff79ef9fcba0a30003", + "transactionType": "CALL", + "contractName": "HooksFactory", + "contractAddress": "0xeDa0dBB8fc6362A6c1508b42aA2B1ba00Cd0d891", + "function": "deploy(bytes,uint256,uint256):(address)", + "arguments": [ + "0x60c06040523480156200001157600080fd5b506040516200182038038062001820833981016040819052620000349162000250565b828080620000536001600160a01b038216637965db0b60e01b62000147565b62000096576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b038316908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050506001600160a01b038116620001065760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0382166200012e5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b039081166080521660a052506200029a565b600062000154836200016f565b8015620001685750620001688383620001a8565b9392505050565b600062000184826301ffc9a760e01b620001a8565b8015620001a25750620001a0826001600160e01b0319620001a8565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d915060005190508280156200021b575060208210155b8015620002285750600081115b979650505050505050565b80516001600160a01b03811681146200024b57600080fd5b919050565b6000806000606084860312156200026657600080fd5b620002718462000233565b9250620002816020850162000233565b9150620002916040850162000233565b90509250925092565b60805160a051611559620002c7600039600081816101520152610e010152600061088101526115596000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80633d0aa6e51161005b5780633d0aa6e5146101185780635260a98c1461012b5780635ab6d0011461014d578063a913b8811461017457600080fd5b80630a5989761461008257806319129e5a146100e257806334e5d29f146100f7575b600080fd5b6100b8610090366004610f9c565b60016020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100f56100f0366004610fda565b610187565b005b61010a610105366004611040565b6102eb565b6040516100d9929190611121565b6100f5610126366004611149565b61038b565b61013e61013936600461116b565b610521565b6040516100d9939291906111c2565b6100b87f000000000000000000000000000000000000000000000000000000000000000081565b6100f5610182366004611040565b61077d565b600061019381336107c0565b6101d7576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b61021773ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000610863565b61027d576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c00000000000000000000000000000000000060448201526064016101ce565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050565b600060607f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db61031a81336107c0565b610359576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016101ce565b6040517f24baa24800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408051602080820183526000808352858152600390915291822060040154610100900460ff16610418576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f52657175657374206e6f7420666f756e6400000000000000000000000000000060448201526064016101ce565b6000848152600360208190526040909120015483101561046c575060408051808201909152601e81527f42616c616e6365206f6620546f6b656e206973206e6f7420656e6f75676800006020820152610471565b600191505b600084815260036020818152604080842080547fffffffffffffffffffffffff0000000000000000000000000000000000000000908116825560018201805482169055600282018054909116905592830193909355600490910180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000169055905161051b9186916105079186918691016111f2565b60405160208183030381529060405261087f565b50505050565b6000606060007f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db61055281336107c0565b610591576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016101ce565b73ffffffffffffffffffffffffffffffffffffffff85166105de576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61061e73ffffffffffffffffffffffffffffffffffffffff86167f2fa7bc9900000000000000000000000000000000000000000000000000000000610863565b610684576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f4943616c6c6261636b48616e646c65720000000000000000000000000000000060448201526064016101ce565b600061069287890189611310565b90506106a18160000151610a9f565b6106b381600001518260200151610ba4565b600081815260016020526040812080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8b1617905596509094509250848673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167f320acf383fac55c3eff3aad884406f0fa211a5c451266edd9de8151bb26b7054868c8c8a60405161076a94939291906113a1565b60405180910390a4505093509350939050565b6107bc82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610a9f92505050565b5050565b600080546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff8481166024830152909116906391d1485490604401602060405180830381865afa158015610838573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085c9190611403565b9392505050565b600061086e83610e68565b801561085c575061085c8383610ecd565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff8116331461090d576040517f5dc645bb00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff821660248201526044016101ce565b60008381526001602052604090205473ffffffffffffffffffffffffffffffffffffffff1661096b576040517fc88d34d7000000000000000000000000000000000000000000000000000000008152600481018490526024016101ce565b6000838152600160205260409081902054905173ffffffffffffffffffffffffffffffffffffffff9091169030907fb8da071166b4cdb339d32ac1c86452cf0ba046f8aeb8230c00d0ce19c173884c906109c89087908790611425565b60405180910390a3600083815260016020526040908190205490517f2fa7bc9900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690632fa7bc9990610a359086908690600401611425565b600060405180830381600087803b158015610a4f57600080fd5b505af1158015610a63573d6000803e3d6000fd5b505050600093845250506001602052506040902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b600081806020019051810190610ab5919061143e565b805190915073ffffffffffffffffffffffffffffffffffffffff16610b36576040517f7662892900000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f746f6b656e41646472657373206973203000000000000000000000000000000060448201526064016101ce565b80602001516000036107bc576040517f7662892900000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f62616c616e63655468726573686f6c642069732030000000000000000000000060448201526064016101ce565b606060008084806020019051810190610bbd919061143e565b9050600084806020019051810190610bd59190611478565b600280549192503091906000610bea836114c4565b9091555060405160609290921b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660208301526034820152605401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152828252805160209182012081840183526000808552835160c08101855233808252885173ffffffffffffffffffffffffffffffffffffffff908116838701908152895182168489019081528b8801516060860190815260808601878152600160a088018181528a8a5260039b8c9052988c9020975188549087167fffffffffffffffffffffffff0000000000000000000000000000000000000000918216178955945190880180549187169186169190911790559151600287018054918616919094161790925590519684019690965594516004928301805494511515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff921515929092167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000090951694909417179092558751875195517f3114f43a0000000000000000000000000000000000000000000000000000000081529182018490526024820192909252908316604482015292821660648401523060848401527f3d0aa6e50000000000000000000000000000000000000000000000000000000060a48401529296509194507f000000000000000000000000000000000000000000000000000000000000000090911690633114f43a9060c401600060405180830381600087803b158015610e4757600080fd5b505af1158015610e5b573d6000803e3d6000fd5b5050505050509250929050565b6000610e94827f01ffc9a700000000000000000000000000000000000000000000000000000000610ecd565b8015610ec75750610ec5827fffffffff00000000000000000000000000000000000000000000000000000000610ecd565b155b92915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015610f85575060208210155b8015610f915750600081115b979650505050505050565b600060208284031215610fae57600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610fd757600080fd5b50565b600060208284031215610fec57600080fd5b813561085c81610fb5565b60008083601f84011261100957600080fd5b50813567ffffffffffffffff81111561102157600080fd5b60208301915083602082850101111561103957600080fd5b9250929050565b6000806020838503121561105357600080fd5b823567ffffffffffffffff81111561106a57600080fd5b61107685828601610ff7565b90969095509350505050565b600281106110b9577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b6000815180845260005b818110156110e3576020818501810151868301820152016110c7565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b61112b8184611082565b60406020820152600061114160408301846110bd565b949350505050565b6000806040838503121561115c57600080fd5b50508035926020909101359150565b60008060006040848603121561118057600080fd5b833567ffffffffffffffff81111561119757600080fd5b6111a386828701610ff7565b90945092505060208401356111b781610fb5565b809150509250925092565b6111cc8185611082565b6060602082015260006111e260608301856110bd565b9050826040830152949350505050565b821515815260406020820152600061114160408301846110bd565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561125f5761125f61120d565b60405290565b600082601f83011261127657600080fd5b813567ffffffffffffffff808211156112915761129161120d565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156112d7576112d761120d565b816040528381528660208588010111156112f057600080fd5b836020870160208301376000602085830101528094505050505092915050565b60006020828403121561132257600080fd5b813567ffffffffffffffff8082111561133a57600080fd5b908301906040828603121561134e57600080fd5b61135661123c565b82358281111561136557600080fd5b61137187828601611265565b82525060208301358281111561138657600080fd5b61139287828601611265565b60208301525095945050505050565b848152606060208201528260608201528284608083013760006080848301015260007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011682016080838203016040840152610f9160808201856110bd565b60006020828403121561141557600080fd5b8151801515811461085c57600080fd5b82815260406020820152600061114160408301846110bd565b60006040828403121561145057600080fd5b61145861123c565b825161146381610fb5565b81526020928301519281019290925250919050565b60006020828403121561148a57600080fd5b6040516020810181811067ffffffffffffffff821117156114ad576114ad61120d565b60405282516114bb81610fb5565b81529392505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361151c577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b506001019056fea2646970667358221220d8b168046b7ea8ef58a98e4718a596bce0ccd4e82ab63c88943c3c5258310fb564736f6c63430008130033000000000000000000000000bd132e42baafe3648170770f2d45dba59166e06d00000000000000000000000004401ff04e6c01a8f1e5696ad6aa053c86b73cd300000000000000000000000077cbcc0e29e10f1eea24e0d109aab26c5b2abd88", + "365375409332725729550921208179070754913983135744", + "1702012200" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xeda0dbb8fc6362a6c1508b42aa2b1ba00cd0d891", + "gas": "0x1af3fa", + "value": "0x0", + "data": "0x91e7e5b400000000000000000000000000000000000000000000000000000000000000600000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006572a528000000000000000000000000000000000000000000000000000000000000188060c06040523480156200001157600080fd5b506040516200182038038062001820833981016040819052620000349162000250565b828080620000536001600160a01b038216637965db0b60e01b62000147565b62000096576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b038316908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050506001600160a01b038116620001065760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0382166200012e5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b039081166080521660a052506200029a565b600062000154836200016f565b8015620001685750620001688383620001a8565b9392505050565b600062000184826301ffc9a760e01b620001a8565b8015620001a25750620001a0826001600160e01b0319620001a8565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d915060005190508280156200021b575060208210155b8015620002285750600081115b979650505050505050565b80516001600160a01b03811681146200024b57600080fd5b919050565b6000806000606084860312156200026657600080fd5b620002718462000233565b9250620002816020850162000233565b9150620002916040850162000233565b90509250925092565b60805160a051611559620002c7600039600081816101520152610e010152600061088101526115596000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80633d0aa6e51161005b5780633d0aa6e5146101185780635260a98c1461012b5780635ab6d0011461014d578063a913b8811461017457600080fd5b80630a5989761461008257806319129e5a146100e257806334e5d29f146100f7575b600080fd5b6100b8610090366004610f9c565b60016020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100f56100f0366004610fda565b610187565b005b61010a610105366004611040565b6102eb565b6040516100d9929190611121565b6100f5610126366004611149565b61038b565b61013e61013936600461116b565b610521565b6040516100d9939291906111c2565b6100b87f000000000000000000000000000000000000000000000000000000000000000081565b6100f5610182366004611040565b61077d565b600061019381336107c0565b6101d7576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b61021773ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000610863565b61027d576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c00000000000000000000000000000000000060448201526064016101ce565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050565b600060607f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db61031a81336107c0565b610359576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016101ce565b6040517f24baa24800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408051602080820183526000808352858152600390915291822060040154610100900460ff16610418576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f52657175657374206e6f7420666f756e6400000000000000000000000000000060448201526064016101ce565b6000848152600360208190526040909120015483101561046c575060408051808201909152601e81527f42616c616e6365206f6620546f6b656e206973206e6f7420656e6f75676800006020820152610471565b600191505b600084815260036020818152604080842080547fffffffffffffffffffffffff0000000000000000000000000000000000000000908116825560018201805482169055600282018054909116905592830193909355600490910180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000169055905161051b9186916105079186918691016111f2565b60405160208183030381529060405261087f565b50505050565b6000606060007f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db61055281336107c0565b610591576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016101ce565b73ffffffffffffffffffffffffffffffffffffffff85166105de576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61061e73ffffffffffffffffffffffffffffffffffffffff86167f2fa7bc9900000000000000000000000000000000000000000000000000000000610863565b610684576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f4943616c6c6261636b48616e646c65720000000000000000000000000000000060448201526064016101ce565b600061069287890189611310565b90506106a18160000151610a9f565b6106b381600001518260200151610ba4565b600081815260016020526040812080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8b1617905596509094509250848673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167f320acf383fac55c3eff3aad884406f0fa211a5c451266edd9de8151bb26b7054868c8c8a60405161076a94939291906113a1565b60405180910390a4505093509350939050565b6107bc82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610a9f92505050565b5050565b600080546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff8481166024830152909116906391d1485490604401602060405180830381865afa158015610838573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085c9190611403565b9392505050565b600061086e83610e68565b801561085c575061085c8383610ecd565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff8116331461090d576040517f5dc645bb00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff821660248201526044016101ce565b60008381526001602052604090205473ffffffffffffffffffffffffffffffffffffffff1661096b576040517fc88d34d7000000000000000000000000000000000000000000000000000000008152600481018490526024016101ce565b6000838152600160205260409081902054905173ffffffffffffffffffffffffffffffffffffffff9091169030907fb8da071166b4cdb339d32ac1c86452cf0ba046f8aeb8230c00d0ce19c173884c906109c89087908790611425565b60405180910390a3600083815260016020526040908190205490517f2fa7bc9900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690632fa7bc9990610a359086908690600401611425565b600060405180830381600087803b158015610a4f57600080fd5b505af1158015610a63573d6000803e3d6000fd5b505050600093845250506001602052506040902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b600081806020019051810190610ab5919061143e565b805190915073ffffffffffffffffffffffffffffffffffffffff16610b36576040517f7662892900000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f746f6b656e41646472657373206973203000000000000000000000000000000060448201526064016101ce565b80602001516000036107bc576040517f7662892900000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f62616c616e63655468726573686f6c642069732030000000000000000000000060448201526064016101ce565b606060008084806020019051810190610bbd919061143e565b9050600084806020019051810190610bd59190611478565b600280549192503091906000610bea836114c4565b9091555060405160609290921b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660208301526034820152605401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152828252805160209182012081840183526000808552835160c08101855233808252885173ffffffffffffffffffffffffffffffffffffffff908116838701908152895182168489019081528b8801516060860190815260808601878152600160a088018181528a8a5260039b8c9052988c9020975188549087167fffffffffffffffffffffffff0000000000000000000000000000000000000000918216178955945190880180549187169186169190911790559151600287018054918616919094161790925590519684019690965594516004928301805494511515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff921515929092167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000090951694909417179092558751875195517f3114f43a0000000000000000000000000000000000000000000000000000000081529182018490526024820192909252908316604482015292821660648401523060848401527f3d0aa6e50000000000000000000000000000000000000000000000000000000060a48401529296509194507f000000000000000000000000000000000000000000000000000000000000000090911690633114f43a9060c401600060405180830381600087803b158015610e4757600080fd5b505af1158015610e5b573d6000803e3d6000fd5b5050505050509250929050565b6000610e94827f01ffc9a700000000000000000000000000000000000000000000000000000000610ecd565b8015610ec75750610ec5827fffffffff00000000000000000000000000000000000000000000000000000000610ecd565b155b92915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015610f85575060208210155b8015610f915750600081115b979650505050505050565b600060208284031215610fae57600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610fd757600080fd5b50565b600060208284031215610fec57600080fd5b813561085c81610fb5565b60008083601f84011261100957600080fd5b50813567ffffffffffffffff81111561102157600080fd5b60208301915083602082850101111561103957600080fd5b9250929050565b6000806020838503121561105357600080fd5b823567ffffffffffffffff81111561106a57600080fd5b61107685828601610ff7565b90969095509350505050565b600281106110b9577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b6000815180845260005b818110156110e3576020818501810151868301820152016110c7565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b61112b8184611082565b60406020820152600061114160408301846110bd565b949350505050565b6000806040838503121561115c57600080fd5b50508035926020909101359150565b60008060006040848603121561118057600080fd5b833567ffffffffffffffff81111561119757600080fd5b6111a386828701610ff7565b90945092505060208401356111b781610fb5565b809150509250925092565b6111cc8185611082565b6060602082015260006111e260608301856110bd565b9050826040830152949350505050565b821515815260406020820152600061114160408301846110bd565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561125f5761125f61120d565b60405290565b600082601f83011261127657600080fd5b813567ffffffffffffffff808211156112915761129161120d565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156112d7576112d761120d565b816040528381528660208588010111156112f057600080fd5b836020870160208301376000602085830101528094505050505092915050565b60006020828403121561132257600080fd5b813567ffffffffffffffff8082111561133a57600080fd5b908301906040828603121561134e57600080fd5b61135661123c565b82358281111561136557600080fd5b61137187828601611265565b82525060208301358281111561138657600080fd5b61139287828601611265565b60208301525095945050505050565b848152606060208201528260608201528284608083013760006080848301015260007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011682016080838203016040840152610f9160808201856110bd565b60006020828403121561141557600080fd5b8151801515811461085c57600080fd5b82815260406020820152600061114160408301846110bd565b60006040828403121561145057600080fd5b61145861123c565b825161146381610fb5565b81526020928301519281019290925250919050565b60006020828403121561148a57600080fd5b6040516020810181811067ffffffffffffffff821117156114ad576114ad61120d565b60405282516114bb81610fb5565b81529392505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361151c577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b506001019056fea2646970667358221220d8b168046b7ea8ef58a98e4718a596bce0ccd4e82ab63c88943c3c5258310fb564736f6c63430008130033000000000000000000000000bd132e42baafe3648170770f2d45dba59166e06d00000000000000000000000004401ff04e6c01a8f1e5696ad6aa053c86b73cd300000000000000000000000077cbcc0e29e10f1eea24e0d109aab26c5b2abd88", + "nonce": "0x7e0", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE2", + "address": "0x4d892B952A2Fd7941f02F0C531d33BDa1fD5b28a", + "initCode": "60c06040523480156200001157600080fd5b506040516200182038038062001820833981016040819052620000349162000250565b828080620000536001600160a01b038216637965db0b60e01b62000147565b62000096576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b038316908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050506001600160a01b038116620001065760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0382166200012e5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b039081166080521660a052506200029a565b600062000154836200016f565b8015620001685750620001688383620001a8565b9392505050565b600062000184826301ffc9a760e01b620001a8565b8015620001a25750620001a0826001600160e01b0319620001a8565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d915060005190508280156200021b575060208210155b8015620002285750600081115b979650505050505050565b80516001600160a01b03811681146200024b57600080fd5b919050565b6000806000606084860312156200026657600080fd5b620002718462000233565b9250620002816020850162000233565b9150620002916040850162000233565b90509250925092565b60805160a051611559620002c7600039600081816101520152610e010152600061088101526115596000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80633d0aa6e51161005b5780633d0aa6e5146101185780635260a98c1461012b5780635ab6d0011461014d578063a913b8811461017457600080fd5b80630a5989761461008257806319129e5a146100e257806334e5d29f146100f7575b600080fd5b6100b8610090366004610f9c565b60016020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100f56100f0366004610fda565b610187565b005b61010a610105366004611040565b6102eb565b6040516100d9929190611121565b6100f5610126366004611149565b61038b565b61013e61013936600461116b565b610521565b6040516100d9939291906111c2565b6100b87f000000000000000000000000000000000000000000000000000000000000000081565b6100f5610182366004611040565b61077d565b600061019381336107c0565b6101d7576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b61021773ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000610863565b61027d576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c00000000000000000000000000000000000060448201526064016101ce565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050565b600060607f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db61031a81336107c0565b610359576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016101ce565b6040517f24baa24800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408051602080820183526000808352858152600390915291822060040154610100900460ff16610418576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f52657175657374206e6f7420666f756e6400000000000000000000000000000060448201526064016101ce565b6000848152600360208190526040909120015483101561046c575060408051808201909152601e81527f42616c616e6365206f6620546f6b656e206973206e6f7420656e6f75676800006020820152610471565b600191505b600084815260036020818152604080842080547fffffffffffffffffffffffff0000000000000000000000000000000000000000908116825560018201805482169055600282018054909116905592830193909355600490910180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000169055905161051b9186916105079186918691016111f2565b60405160208183030381529060405261087f565b50505050565b6000606060007f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db61055281336107c0565b610591576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016101ce565b73ffffffffffffffffffffffffffffffffffffffff85166105de576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61061e73ffffffffffffffffffffffffffffffffffffffff86167f2fa7bc9900000000000000000000000000000000000000000000000000000000610863565b610684576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f4943616c6c6261636b48616e646c65720000000000000000000000000000000060448201526064016101ce565b600061069287890189611310565b90506106a18160000151610a9f565b6106b381600001518260200151610ba4565b600081815260016020526040812080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8b1617905596509094509250848673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167f320acf383fac55c3eff3aad884406f0fa211a5c451266edd9de8151bb26b7054868c8c8a60405161076a94939291906113a1565b60405180910390a4505093509350939050565b6107bc82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610a9f92505050565b5050565b600080546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff8481166024830152909116906391d1485490604401602060405180830381865afa158015610838573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085c9190611403565b9392505050565b600061086e83610e68565b801561085c575061085c8383610ecd565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff8116331461090d576040517f5dc645bb00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff821660248201526044016101ce565b60008381526001602052604090205473ffffffffffffffffffffffffffffffffffffffff1661096b576040517fc88d34d7000000000000000000000000000000000000000000000000000000008152600481018490526024016101ce565b6000838152600160205260409081902054905173ffffffffffffffffffffffffffffffffffffffff9091169030907fb8da071166b4cdb339d32ac1c86452cf0ba046f8aeb8230c00d0ce19c173884c906109c89087908790611425565b60405180910390a3600083815260016020526040908190205490517f2fa7bc9900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690632fa7bc9990610a359086908690600401611425565b600060405180830381600087803b158015610a4f57600080fd5b505af1158015610a63573d6000803e3d6000fd5b505050600093845250506001602052506040902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b600081806020019051810190610ab5919061143e565b805190915073ffffffffffffffffffffffffffffffffffffffff16610b36576040517f7662892900000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f746f6b656e41646472657373206973203000000000000000000000000000000060448201526064016101ce565b80602001516000036107bc576040517f7662892900000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f62616c616e63655468726573686f6c642069732030000000000000000000000060448201526064016101ce565b606060008084806020019051810190610bbd919061143e565b9050600084806020019051810190610bd59190611478565b600280549192503091906000610bea836114c4565b9091555060405160609290921b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660208301526034820152605401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152828252805160209182012081840183526000808552835160c08101855233808252885173ffffffffffffffffffffffffffffffffffffffff908116838701908152895182168489019081528b8801516060860190815260808601878152600160a088018181528a8a5260039b8c9052988c9020975188549087167fffffffffffffffffffffffff0000000000000000000000000000000000000000918216178955945190880180549187169186169190911790559151600287018054918616919094161790925590519684019690965594516004928301805494511515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff921515929092167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000090951694909417179092558751875195517f3114f43a0000000000000000000000000000000000000000000000000000000081529182018490526024820192909252908316604482015292821660648401523060848401527f3d0aa6e50000000000000000000000000000000000000000000000000000000060a48401529296509194507f000000000000000000000000000000000000000000000000000000000000000090911690633114f43a9060c401600060405180830381600087803b158015610e4757600080fd5b505af1158015610e5b573d6000803e3d6000fd5b5050505050509250929050565b6000610e94827f01ffc9a700000000000000000000000000000000000000000000000000000000610ecd565b8015610ec75750610ec5827fffffffff00000000000000000000000000000000000000000000000000000000610ecd565b155b92915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015610f85575060208210155b8015610f915750600081115b979650505050505050565b600060208284031215610fae57600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610fd757600080fd5b50565b600060208284031215610fec57600080fd5b813561085c81610fb5565b60008083601f84011261100957600080fd5b50813567ffffffffffffffff81111561102157600080fd5b60208301915083602082850101111561103957600080fd5b9250929050565b6000806020838503121561105357600080fd5b823567ffffffffffffffff81111561106a57600080fd5b61107685828601610ff7565b90969095509350505050565b600281106110b9577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b6000815180845260005b818110156110e3576020818501810151868301820152016110c7565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b61112b8184611082565b60406020820152600061114160408301846110bd565b949350505050565b6000806040838503121561115c57600080fd5b50508035926020909101359150565b60008060006040848603121561118057600080fd5b833567ffffffffffffffff81111561119757600080fd5b6111a386828701610ff7565b90945092505060208401356111b781610fb5565b809150509250925092565b6111cc8185611082565b6060602082015260006111e260608301856110bd565b9050826040830152949350505050565b821515815260406020820152600061114160408301846110bd565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561125f5761125f61120d565b60405290565b600082601f83011261127657600080fd5b813567ffffffffffffffff808211156112915761129161120d565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156112d7576112d761120d565b816040528381528660208588010111156112f057600080fd5b836020870160208301376000602085830101528094505050505092915050565b60006020828403121561132257600080fd5b813567ffffffffffffffff8082111561133a57600080fd5b908301906040828603121561134e57600080fd5b61135661123c565b82358281111561136557600080fd5b61137187828601611265565b82525060208301358281111561138657600080fd5b61139287828601611265565b60208301525095945050505050565b848152606060208201528260608201528284608083013760006080848301015260007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011682016080838203016040840152610f9160808201856110bd565b60006020828403121561141557600080fd5b8151801515811461085c57600080fd5b82815260406020820152600061114160408301846110bd565b60006040828403121561145057600080fd5b61145861123c565b825161146381610fb5565b81526020928301519281019290925250919050565b60006020828403121561148a57600080fd5b6040516020810181811067ffffffffffffffff821117156114ad576114ad61120d565b60405282516114bb81610fb5565b81529392505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361151c577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b506001019056fea2646970667358221220d8b168046b7ea8ef58a98e4718a596bce0ccd4e82ab63c88943c3c5258310fb564736f6c63430008130033000000000000000000000000bd132e42baafe3648170770f2d45dba59166e06d00000000000000000000000004401ff04e6c01a8f1e5696ad6aa053c86b73cd300000000000000000000000077cbcc0e29e10f1eea24e0d109aab26c5b2abd88" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0x13a1e659dd04778e2534959154ce6c2ce03e94d0c8da0a7e6529e6a9987e2f29", + "transactionType": "CREATE", + "contractName": "MockERC721", + "contractAddress": "0x968549Ee4c1f0225b4B0D7c08A11Fc36E3345277", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x1edc92", + "value": "0x0", + "data": "0x60806040523480156200001157600080fd5b506040518060400160405280600a8152602001694d6f636b45524337323160b01b815250604051806040016040528060048152602001634d37323160e01b815250816000908162000063919062000120565b50600162000072828262000120565b505050620001ec565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000a657607f821691505b602082108103620000c757634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200011b57600081815260208120601f850160051c81016020861015620000f65750805b601f850160051c820191505b81811015620001175782815560010162000102565b5050505b505050565b81516001600160401b038111156200013c576200013c6200007b565b62000154816200014d845462000091565b84620000cd565b602080601f8311600181146200018c5760008415620001735750858301515b600019600386901b1c1916600185901b17855562000117565b600085815260208120601f198616915b82811015620001bd578886015182559484019460019091019084016200019c565b5085821015620001dc5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b611a7980620001fc6000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80636352211e1161008c578063a22cb46511610066578063a22cb465146101ee578063b88d4fde14610201578063c87b56dd14610214578063e985e9c51461022757600080fd5b80636352211e146101b257806370a08231146101c557806395d89b41146101e657600080fd5b8063095ea7b3116100c8578063095ea7b31461016457806323b872dd1461017957806340c10f191461018c57806342842e0e1461019f57600080fd5b806301ffc9a7146100ef57806306fdde0314610117578063081812fc1461012c575b600080fd5b6101026100fd366004611662565b610270565b60405190151581526020015b60405180910390f35b61011f610355565b60405161010e91906116ed565b61013f61013a366004611700565b6103e7565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161010e565b610177610172366004611742565b61041b565b005b61017761018736600461176c565b6105ac565b61017761019a366004611742565b61064d565b6101776101ad36600461176c565b61065b565b61013f6101c0366004611700565b610676565b6101d86101d33660046117a8565b610702565b60405190815260200161010e565b61011f6107d0565b6101776101fc3660046117c3565b6107df565b61017761020f36600461182e565b6107ea565b61011f610222366004611700565b610892565b610102610235366004611928565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260056020908152604080832093909416825291909152205460ff1690565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061030357507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b8061034f57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6060600080546103649061195b565b80601f01602080910402602001604051908101604052809291908181526020018280546103909061195b565b80156103dd5780601f106103b2576101008083540402835291602001916103dd565b820191906000526020600020905b8154815290600101906020018083116103c057829003601f168201915b5050505050905090565b60006103f282610906565b5060009081526004602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b600061042682610676565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036104e8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff8216148061051157506105118133610235565b61059d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c00000060648201526084016104df565b6105a78383610994565b505050565b6105b63382610a34565b610642576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f7665640000000000000000000000000000000000000060648201526084016104df565b6105a7838383610af4565b6106578282610def565b5050565b6105a7838383604051806020016040528060008152506107ea565b60008181526002602052604081205473ffffffffffffffffffffffffffffffffffffffff168061034f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e204944000000000000000060448201526064016104df565b600073ffffffffffffffffffffffffffffffffffffffff82166107a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e6572000000000000000000000000000000000000000000000060648201526084016104df565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526003602052604090205490565b6060600180546103649061195b565b610657338383610e09565b6107f43383610a34565b610880576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f7665640000000000000000000000000000000000000060648201526084016104df565b61088c84848484610f36565b50505050565b606061089d82610906565b60006108b460408051602081019091526000815290565b905060008151116108d457604051806020016040528060008152506108ff565b806108de84610fd9565b6040516020016108ef9291906119ae565b6040516020818303038152906040525b9392505050565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff16610991576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e204944000000000000000060448201526064016104df565b50565b600081815260046020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811790915581906109ee82610676565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080610a4083610676565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480610aae575073ffffffffffffffffffffffffffffffffffffffff80821660009081526005602090815260408083209388168352929052205460ff165b80610aec57508373ffffffffffffffffffffffffffffffffffffffff16610ad4846103e7565b73ffffffffffffffffffffffffffffffffffffffff16145b949350505050565b8273ffffffffffffffffffffffffffffffffffffffff16610b1482610676565b73ffffffffffffffffffffffffffffffffffffffff1614610bb7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e657200000000000000000000000000000000000000000000000000000060648201526084016104df565b73ffffffffffffffffffffffffffffffffffffffff8216610c59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016104df565b8273ffffffffffffffffffffffffffffffffffffffff16610c7982610676565b73ffffffffffffffffffffffffffffffffffffffff1614610d1c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e657200000000000000000000000000000000000000000000000000000060648201526084016104df565b600081815260046020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff8781168086526003855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b610657828260405180602001604052806000815250611097565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610e9e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016104df565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526005602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b610f41848484610af4565b610f4d8484848461113a565b61088c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016104df565b60606000610fe68361132d565b600101905060008167ffffffffffffffff811115611006576110066117ff565b6040519080825280601f01601f191660200182016040528015611030576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a850494508461103a57509392505050565b6110a1838361140f565b6110ae600084848461113a565b6105a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016104df565b600073ffffffffffffffffffffffffffffffffffffffff84163b15611322576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a02906111b19033908990889088906004016119dd565b6020604051808303816000875af192505050801561120a575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261120791810190611a26565b60015b6112d7573d808015611238576040519150601f19603f3d011682016040523d82523d6000602084013e61123d565b606091505b5080516000036112cf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016104df565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050610aec565b506001949350505050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611376577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef810000000083106113a2576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106113c057662386f26fc10000830492506010015b6305f5e10083106113d8576305f5e100830492506008015b61271083106113ec57612710830492506004015b606483106113fe576064830492506002015b600a831061034f5760010192915050565b73ffffffffffffffffffffffffffffffffffffffff821661148c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016104df565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1615611518576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016104df565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff16156115a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016104df565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260036020908152604080832080546001019055848352600290915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b7fffffffff000000000000000000000000000000000000000000000000000000008116811461099157600080fd5b60006020828403121561167457600080fd5b81356108ff81611634565b60005b8381101561169a578181015183820152602001611682565b50506000910152565b600081518084526116bb81602086016020860161167f565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006108ff60208301846116a3565b60006020828403121561171257600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461173d57600080fd5b919050565b6000806040838503121561175557600080fd5b61175e83611719565b946020939093013593505050565b60008060006060848603121561178157600080fd5b61178a84611719565b925061179860208501611719565b9150604084013590509250925092565b6000602082840312156117ba57600080fd5b6108ff82611719565b600080604083850312156117d657600080fd5b6117df83611719565b9150602083013580151581146117f457600080fd5b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000806000806080858703121561184457600080fd5b61184d85611719565b935061185b60208601611719565b925060408501359150606085013567ffffffffffffffff8082111561187f57600080fd5b818701915087601f83011261189357600080fd5b8135818111156118a5576118a56117ff565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156118eb576118eb6117ff565b816040528281528a602084870101111561190457600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b6000806040838503121561193b57600080fd5b61194483611719565b915061195260208401611719565b90509250929050565b600181811c9082168061196f57607f821691505b6020821081036119a8577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b600083516119c081846020880161167f565b8351908301906119d481836020880161167f565b01949350505050565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525083604083015260806060830152611a1c60808301846116a3565b9695505050505050565b600060208284031215611a3857600080fd5b81516108ff8161163456fea2646970667358221220d673ef7c8f1def245d3be39f8336c1275d8505ccfbf91acc7ee1bdd6cae4c30264736f6c63430008130033", + "nonce": "0x7e1", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x58cd7fcee85fcad12ab154e9a0d45e3787554cc80385b1840a6fe5e36273d514", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xbd132e42baafe3648170770f2d45dba59166e06d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15d189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "nonce": "0x7e2", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x67349b7216fc33a6e2a8a255f3285b0dae9a4eaa5e4fc1a2172f891e520a0513", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xbd132e42baafe3648170770f2d45dba59166e06d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15d637821dcee84aabec9c8cf4f6f643013a24ad27fd41511ffd937aea80d8619a9000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "nonce": "0x7e3", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x953cb573878dbe83c59b56040fe8d9068358bbf48ee627756558a1327d4061f7", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xbd132e42baafe3648170770f2d45dba59166e06d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15da8b84e71bc3552b48fea3678097679554a90f0e2c12c536a8bd697c05041e279000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "nonce": "0x7e4", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xfc09d0c802a8d44978bd51819cccd35f6506d94f2c6f4505163d913e8193e6b7", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xbd132e42baafe3648170770f2d45dba59166e06d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15d256895704541e78004f0fd55953a8bcc54c628755b14fbf53afdc556473f9bd0000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "nonce": "0x7e5", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x94be769bcfed58a939b9edf7f3b8b63772bc3af08cce1b6377e66db49e6610b3", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xbd132e42baafe3648170770f2d45dba59166e06d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15d02f7fd2cb4d8e8ad75bab0a56a6f1ed7091336a83e11ccacc4e51f915215ab4c000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "nonce": "0x7e6", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x398123940e144d2784258e2fd1668f57fb2b74ec13fdaf001c6f1886d5f624b5", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xbd132e42baafe3648170770f2d45dba59166e06d", + "gas": "0x140e3", + "value": "0x0", + "data": "0x2f2ff15dc9a6ce5d86bdc06f8d57f20091bf09bf611e57d0626b65aa9ebb3c9179ba650f000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "nonce": "0x7e7", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xe8154ec89579d99d4c3f6ad14aea0834022dc75be9286875026d1a4028289169", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xbd132e42baafe3648170770f2d45dba59166e06d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15de4a10d29decbd34c09a62a511d4fd993a7d8cbbf58d7d4278711c29c9148b8f7000000000000000000000000a7c6184c4090923a5710ef0c8aab5f157e88e586", + "nonce": "0x7e8", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xa9ec9139d42ac086654b12d08663b1ddae171a1affcbc1c2b40a30fc18ed274f", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xbd132e42baafe3648170770f2d45dba59166e06d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15de4a10d29decbd34c09a62a511d4fd993a7d8cbbf58d7d4278711c29c9148b8f7000000000000000000000000ee19ace40db1ba8b0dbbc5e57061a3268bd08c6a", + "nonce": "0x7e9", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xf412c1fafea0d0fd167098d3b6b7563b5434f506f22042981ae757eabd99dc37", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xbd132e42baafe3648170770f2d45dba59166e06d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15d33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db000000000000000000000000e8ab207a5c21162db1ee75e378a92c82d550a8d1", + "nonce": "0x7ea", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xc9f5af89d0023264557a6419c438142f1e21d03a2318c25df5f0077f75ea5042", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xbd132e42baafe3648170770f2d45dba59166e06d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15d33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db000000000000000000000000f59e8d2bd2176f481f0f95568e21a70a07d9cdbc", + "nonce": "0x7eb", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x6aaa7126e0fa454d3cf1e85c82e55fd51fa28fdbae9cbca0b907d25e03b2f946", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xbd132e42baafe3648170770f2d45dba59166e06d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15d33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db000000000000000000000000f95ed3608ce1f86dac4fa12a2202be56ade1164f", + "nonce": "0x7ec", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x229cd2f075e6bbc41d90bc0c3e362b6af8bf2c7acd5baf02cb585fd5e5fc69b0", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xbd132e42baafe3648170770f2d45dba59166e06d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15d33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db000000000000000000000000c3960374e4448f815f53c1fe38b38cf444e6beb8", + "nonce": "0x7ed", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x07bf3e8274a4ef381dbb6f4de7cca49d710476a121e4e7e85794011883808ef9", + "transactionType": "CALL", + "contractName": "ModuleRegistry", + "contractAddress": "0xe8ab207A5C21162Db1ee75e378A92C82d550a8d1", + "function": "registerProtocolModule(string,address)", + "arguments": [ + "REGISTRATION_MODULE", + "0xf59e8d2bD2176f481f0F95568E21a70A07D9CDbC" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xe8ab207a5c21162db1ee75e378a92c82d550a8d1", + "gas": "0x1447b", + "value": "0x0", + "data": "0xd08906d60000000000000000000000000000000000000000000000000000000000000040000000000000000000000000f59e8d2bd2176f481f0f95568e21a70a07d9cdbc0000000000000000000000000000000000000000000000000000000000000013524547495354524154494f4e5f4d4f44554c4500000000000000000000000000", + "nonce": "0x7ee", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x82970d6a02b85066dd446c11279b1a4e3ea8b530e2ea72ded580c4fc8d7d562a", + "transactionType": "CALL", + "contractName": "ModuleRegistry", + "contractAddress": "0xe8ab207A5C21162Db1ee75e378A92C82d550a8d1", + "function": "registerProtocolModule(string,address)", + "arguments": [ + "RELATIONSHIP_MODULE", + "0xf95Ed3608ce1F86DaC4FA12a2202BE56ADe1164F" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xe8ab207a5c21162db1ee75e378a92c82d550a8d1", + "gas": "0x1447b", + "value": "0x0", + "data": "0xd08906d60000000000000000000000000000000000000000000000000000000000000040000000000000000000000000f95ed3608ce1f86dac4fa12a2202be56ade1164f000000000000000000000000000000000000000000000000000000000000001352454c4154494f4e534849505f4d4f44554c4500000000000000000000000000", + "nonce": "0x7ef", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x6f7d6393c9f1c9ccb741fffd0adebbeff90c7d9c6ac9134c0808d992b303c038", + "transactionType": "CALL", + "contractName": "ModuleRegistry", + "contractAddress": "0xe8ab207A5C21162Db1ee75e378A92C82d550a8d1", + "function": "registerProtocolModule(string,address)", + "arguments": [ + "LICENSING_MODULE", + "0xC3960374E4448f815f53C1FE38b38cf444e6BEB8" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xe8ab207a5c21162db1ee75e378a92c82d550a8d1", + "gas": "0x1444a", + "value": "0x0", + "data": "0xd08906d60000000000000000000000000000000000000000000000000000000000000040000000000000000000000000c3960374e4448f815f53c1fe38b38cf444e6beb800000000000000000000000000000000000000000000000000000000000000104c4943454e53494e475f4d4f44554c4500000000000000000000000000000000", + "nonce": "0x7f0", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x7bacc38c975611ef1a04099734cfc6afd4617e205e1ad102b57921239bb1c3e8", + "transactionType": "CALL", + "contractName": "StoryProtocol", + "contractAddress": "0xa7C6184c4090923A5710ef0C8aaB5F157E88e586", + "function": "registerIpOrg(address,string,string,string[]):(address)", + "arguments": [ + "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "Sample IP Org", + "SIPO", + "[STORY, CHARACTER]" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xa7c6184c4090923a5710ef0c8aab5f157e88e586", + "gas": "0x61a7b", + "value": "0x0", + "data": "0x98e8e6ea000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000d53616d706c65204950204f72670000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000045349504f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000553544f525900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000094348415241435445520000000000000000000000000000000000000000000000", + "nonce": "0x7f1", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0xc12Cf8a549e39E76e2E3BBc1dF51B7D2a78a0ae2", + "initCode": "3d602d80600a3d3981f3363d3d373d3d3d363d733f684d5be59136751dd7c85c2973cb79175573385af43d82803e903d91602b57fd5bf3" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0xe687421e933d6f1b5804f3955d4113264f977d6e833bc740fd930a3b670393d8", + "transactionType": "CALL", + "contractName": "ModuleRegistry", + "contractAddress": "0xe8ab207A5C21162Db1ee75e378A92C82d550a8d1", + "function": "registerProtocolHook(string,address)", + "arguments": [ + "TOKEN_GATED_HOOK", + "0x86831b4A5D9222F120acF3D0a6C6d3f4Fa7C1268" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xe8ab207a5c21162db1ee75e378a92c82d550a8d1", + "gas": "0x1bddc", + "value": "0x0", + "data": "0xd04d78c6000000000000000000000000000000000000000000000000000000000000004000000000000000000000000086831b4a5d9222f120acf3d0a6c6d3f4fa7c12680000000000000000000000000000000000000000000000000000000000000010544f4b454e5f47415445445f484f4f4b00000000000000000000000000000000", + "nonce": "0x7f2", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x1352860bf150127da50dd598a0e2c705da7d0ed5cad7b077ca35958b8e2f7060", + "transactionType": "CALL", + "contractName": "ModuleRegistry", + "contractAddress": "0xe8ab207A5C21162Db1ee75e378A92C82d550a8d1", + "function": "registerProtocolHook(string,address)", + "arguments": [ + "POLYGON_TOKEN_HOOK", + "0x4d892B952A2Fd7941f02F0C531d33BDa1fD5b28a" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xe8ab207a5c21162db1ee75e378a92c82d550a8d1", + "gas": "0x1bdfd", + "value": "0x0", + "data": "0xd04d78c600000000000000000000000000000000000000000000000000000000000000400000000000000000000000004d892b952a2fd7941f02f0c531d33bda1fd5b28a0000000000000000000000000000000000000000000000000000000000000012504f4c59474f4e5f544f4b454e5f484f4f4b0000000000000000000000000000", + "nonce": "0x7f3", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xf463364846b29395cf1d137598d4b5a6773a796b24ebe85342f2feaa8e11883e", + "transactionType": "CALL", + "contractName": "RegistrationModule", + "contractAddress": "0xf59e8d2bD2176f481f0F95568E21a70A07D9CDbC", + "function": "registerHooks(uint8,address,address[],bytes[],bytes)", + "arguments": [ + "0", + "0xc12Cf8a549e39E76e2E3BBc1dF51B7D2a78a0ae2", + "[0x86831b4A5D9222F120acF3D0a6C6d3f4Fa7C1268, 0x4d892B952A2Fd7941f02F0C531d33BDa1fD5b28a]", + "[0x000000000000000000000000968549ee4c1f0225b4b0d7c08a11fc36e3345277, 0x000000000000000000000000968549ee4c1f0225b4b0d7c08a11fc36e33452770000000000000000000000000000000000000000000000000000000000000001]", + "0xe761f303268b55a3dc96719551acb95ca3bd1ebeef4b720be68dd92563627a3f" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xf59e8d2bd2176f481f0f95568e21a70a07d9cdbc", + "gas": "0x60afd", + "value": "0x0", + "data": "0x9533563d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c12cf8a549e39e76e2e3bbc1df51b7d2a78a0ae200000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000200000000000000000000000086831b4a5d9222f120acf3d0a6c6d3f4fa7c12680000000000000000000000004d892b952a2fd7941f02f0c531d33bda1fd5b28a0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000020000000000000000000000000968549ee4c1f0225b4b0d7c08a11fc36e33452770000000000000000000000000000000000000000000000000000000000000040000000000000000000000000968549ee4c1f0225b4b0d7c08a11fc36e334527700000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020e761f303268b55a3dc96719551acb95ca3bd1ebeef4b720be68dd92563627a3f", + "nonce": "0x7f4", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xfd3461bee9dc15465dc2b63aef1fbe4f7e3652728e7e30f1db40614b639a7917", + "transactionType": "CALL", + "contractName": "LicensingFrameworkRepo", + "contractAddress": "0x43C1C831D370f36149183d31FdAC50b131289949", + "function": "addFramework((string,string,(bytes32,uint8,bytes,bytes)[]))", + "arguments": [ + "(SPUML-1.0, https://github.com/storyprotocol/protocol-contracts/blob/main/SPUML-v1.pdf, [(0x4368616e6e656c732d4f662d446973747269627574696f6e0000000000000018, 4, 0x, 0x), (0x4174747269627574696f6e00000000000000000000000000000000000000000b, 0, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x), (0x44657269766174697665732d416c6c6f77656400000000000000000000000013, 0, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x), (0x44657269766174697665732d416c6c6f7765642d4f7074696f6e73000000001b, 5, 0x, 0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000003416c6c6f7765642d576974682d417070726f76616c0000000000000000000015416c6c6f7765642d5265636970726f63616c2d4c6963656e736500000000001a416c6c6f7765642d576974682d4174747269627574696f6e0000000000000018)])" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x43c1c831d370f36149183d31fdac50b131289949", + "gas": "0x164d60", + "value": "0x0", + "data": "0xc8cea2150000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000095350554d4c2d312e300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004a68747470733a2f2f6769746875622e636f6d2f73746f727970726f746f636f6c2f70726f746f636f6c2d636f6e7472616374732f626c6f622f6d61696e2f5350554d4c2d76312e70646600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000003004368616e6e656c732d4f662d446973747269627574696f6e00000000000000180000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004174747269627574696f6e00000000000000000000000000000000000000000b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044657269766174697665732d416c6c6f776564000000000000000000000000130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044657269766174697665732d416c6c6f7765642d4f7074696f6e73000000001b0000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000003416c6c6f7765642d576974682d417070726f76616c0000000000000000000015416c6c6f7765642d5265636970726f63616c2d4c6963656e736500000000001a416c6c6f7765642d576974682d4174747269627574696f6e0000000000000018", + "nonce": "0x7f5", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xe7f72cc7669b6512afe7f2e02fc04c294a2c0092c62e97054f2fef6fac7f97e3", + "transactionIndex": "0x2", + "blockHash": "0x9792252c2d3919835aa1a39a0f90c8f26a457ca88ec54b98b8fe97bf56d7ea0d", + "blockNumber": "0x49ebaf", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x1a340a", + "gasUsed": "0x198ffa", + "contractAddress": "0x992EEc8204daf0CD34010De0a83cB768a055982f", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb91947dc" + }, + { + "transactionHash": "0x684dc36789c2611d21e56c306469ae9ed327cb790c768bfe80715b22844b0330", + "transactionIndex": "0x3", + "blockHash": "0x9792252c2d3919835aa1a39a0f90c8f26a457ca88ec54b98b8fe97bf56d7ea0d", + "blockNumber": "0x49ebaf", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x1d15ef", + "gasUsed": "0x2e1e5", + "contractAddress": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "logs": [ + { + "address": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "topics": [ + "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", + "0x000000000000000000000000992eec8204daf0cd34010de0a83cb768a055982f" + ], + "data": "0x", + "blockHash": "0x9792252c2d3919835aa1a39a0f90c8f26a457ca88ec54b98b8fe97bf56d7ea0d", + "blockNumber": "0x49ebaf", + "transactionHash": "0x684dc36789c2611d21e56c306469ae9ed327cb790c768bfe80715b22844b0330", + "transactionIndex": "0x3", + "logIndex": "0x0", + "removed": false + }, + { + "address": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0x9792252c2d3919835aa1a39a0f90c8f26a457ca88ec54b98b8fe97bf56d7ea0d", + "blockNumber": "0x49ebaf", + "transactionHash": "0x684dc36789c2611d21e56c306469ae9ed327cb790c768bfe80715b22844b0330", + "transactionIndex": "0x3", + "logIndex": "0x1", + "removed": false + }, + { + "address": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "topics": [ + "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x9792252c2d3919835aa1a39a0f90c8f26a457ca88ec54b98b8fe97bf56d7ea0d", + "blockNumber": "0x49ebaf", + "transactionHash": "0x684dc36789c2611d21e56c306469ae9ed327cb790c768bfe80715b22844b0330", + "transactionIndex": "0x3", + "logIndex": "0x2", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000004000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000002000000000000020000000000000000000000000000020000000004000000000800000000000000080000000000080000000000000000000000000000000000000000000000000080000000000000000000000000000000000000002000000400000000000000000000001000000000000800000020000000000000000000040000000000008000000100000000000020000000000000000000000000000000040000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb91947dc" + }, + { + "transactionHash": "0x918d79032216292c73e69df31d5dc6b96eec366b4f98482294f7685425d3780d", + "transactionIndex": "0x4", + "blockHash": "0x9792252c2d3919835aa1a39a0f90c8f26a457ca88ec54b98b8fe97bf56d7ea0d", + "blockNumber": "0x49ebaf", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x36207c", + "gasUsed": "0x190a8d", + "contractAddress": "0x43C1C831D370f36149183d31FdAC50b131289949", + "logs": [ + { + "address": "0x43C1C831D370f36149183d31FdAC50b131289949", + "topics": [ + "0xc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da9709", + "0x000000000000000000000000bd132e42baafe3648170770f2d45dba59166e06d" + ], + "data": "0x", + "blockHash": "0x9792252c2d3919835aa1a39a0f90c8f26a457ca88ec54b98b8fe97bf56d7ea0d", + "blockNumber": "0x49ebaf", + "transactionHash": "0x918d79032216292c73e69df31d5dc6b96eec366b4f98482294f7685425d3780d", + "transactionIndex": "0x4", + "logIndex": "0x3", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000200000000000000000000000000000000020000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000800000000004000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb91947dc" + }, + { + "transactionHash": "0xd3ddafaca2e81ff6081857324791c6529045bfa8d71e9a5b28e6919ceed2fef2", + "transactionIndex": "0x5", + "blockHash": "0x9792252c2d3919835aa1a39a0f90c8f26a457ca88ec54b98b8fe97bf56d7ea0d", + "blockNumber": "0x49ebaf", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x547087", + "gasUsed": "0x1e500b", + "contractAddress": "0xe8ab207A5C21162Db1ee75e378A92C82d550a8d1", + "logs": [ + { + "address": "0xe8ab207A5C21162Db1ee75e378A92C82d550a8d1", + "topics": [ + "0xc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da9709", + "0x000000000000000000000000bd132e42baafe3648170770f2d45dba59166e06d" + ], + "data": "0x", + "blockHash": "0x9792252c2d3919835aa1a39a0f90c8f26a457ca88ec54b98b8fe97bf56d7ea0d", + "blockNumber": "0x49ebaf", + "transactionHash": "0xd3ddafaca2e81ff6081857324791c6529045bfa8d71e9a5b28e6919ceed2fef2", + "transactionIndex": "0x5", + "logIndex": "0x4", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000010000000000040020000000000000000000000000000000000000000000200000000000000000000000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb91947dc" + }, + { + "transactionHash": "0x1f3dc0d59df858826799989459af30bd37cf4fa01610ea98add6f5813cd2cafc", + "transactionIndex": "0x6", + "blockHash": "0x9792252c2d3919835aa1a39a0f90c8f26a457ca88ec54b98b8fe97bf56d7ea0d", + "blockNumber": "0x49ebaf", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x633130", + "gasUsed": "0xec0a9", + "contractAddress": "0x7a7BC5640637b74ABEcc6e908Ed548eE1969c948", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb91947dc" + }, + { + "transactionHash": "0x47b0c667bac6c924bd3eb35e1d2940d026a0e1f55f298389d0296cfc530aada2", + "transactionIndex": "0x7", + "blockHash": "0x9792252c2d3919835aa1a39a0f90c8f26a457ca88ec54b98b8fe97bf56d7ea0d", + "blockNumber": "0x49ebaf", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x9328bd", + "gasUsed": "0x2ff78d", + "contractAddress": "0x80e012Ca980E1d3993d8beE99828619E5532B12b", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb91947dc" + }, + { + "transactionHash": "0x837f18a854f0ec5dd019e632a81e4b6ab1533e75db88a7530c815ba404b062e8", + "transactionIndex": "0x8", + "blockHash": "0x9792252c2d3919835aa1a39a0f90c8f26a457ca88ec54b98b8fe97bf56d7ea0d", + "blockNumber": "0x49ebaf", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0xdbe45b", + "gasUsed": "0x48bb9e", + "contractAddress": "0x1C20873a915505cBaFb576B3B152EeCE6a0BFD60", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb91947dc" + }, + { + "transactionHash": "0x464bce28e69e0182ef78e8e98c6752dc85cff86990ab8563a2ee076df5c9000e", + "transactionIndex": "0x9", + "blockHash": "0x9792252c2d3919835aa1a39a0f90c8f26a457ca88ec54b98b8fe97bf56d7ea0d", + "blockNumber": "0x49ebaf", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x101ec8c", + "gasUsed": "0x260831", + "contractAddress": "0xEe19aCE40dB1BA8B0DbBc5e57061A3268bd08c6A", + "logs": [ + { + "address": "0xEe19aCE40dB1BA8B0DbBc5e57061A3268bd08c6A", + "topics": [ + "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", + "0x0000000000000000000000001c20873a915505cbafb576b3b152eece6a0bfd60" + ], + "data": "0x", + "blockHash": "0x9792252c2d3919835aa1a39a0f90c8f26a457ca88ec54b98b8fe97bf56d7ea0d", + "blockNumber": "0x49ebaf", + "transactionHash": "0x464bce28e69e0182ef78e8e98c6752dc85cff86990ab8563a2ee076df5c9000e", + "transactionIndex": "0x9", + "logIndex": "0x5", + "removed": false + }, + { + "address": "0x3F684D5bE59136751DD7C85C2973cb7917557338", + "topics": [ + "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x9792252c2d3919835aa1a39a0f90c8f26a457ca88ec54b98b8fe97bf56d7ea0d", + "blockNumber": "0x49ebaf", + "transactionHash": "0x464bce28e69e0182ef78e8e98c6752dc85cff86990ab8563a2ee076df5c9000e", + "transactionIndex": "0x9", + "logIndex": "0x6", + "removed": false + }, + { + "address": "0xEe19aCE40dB1BA8B0DbBc5e57061A3268bd08c6A", + "topics": [ + "0xc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da9709", + "0x000000000000000000000000bd132e42baafe3648170770f2d45dba59166e06d" + ], + "data": "0x", + "blockHash": "0x9792252c2d3919835aa1a39a0f90c8f26a457ca88ec54b98b8fe97bf56d7ea0d", + "blockNumber": "0x49ebaf", + "transactionHash": "0x464bce28e69e0182ef78e8e98c6752dc85cff86990ab8563a2ee076df5c9000e", + "transactionIndex": "0x9", + "logIndex": "0x7", + "removed": false + }, + { + "address": "0xEe19aCE40dB1BA8B0DbBc5e57061A3268bd08c6A", + "topics": [ + "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x9792252c2d3919835aa1a39a0f90c8f26a457ca88ec54b98b8fe97bf56d7ea0d", + "blockNumber": "0x49ebaf", + "transactionHash": "0x464bce28e69e0182ef78e8e98c6752dc85cff86990ab8563a2ee076df5c9000e", + "transactionIndex": "0x9", + "logIndex": "0x8", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000400000000000000002000000000000000000000000000000000020000000000000000000000000000000000000000000200000000000000000000000000002000020000000000000000000400000000000000000000000000000100000000000000000000000000000000000000000000000000200000000000000008000000000000000800080000000400000000000000000000000000000000000000400000100010000000000000000000000000000000020000000000000200000040000001000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb91947dc" + }, + { + "transactionHash": "0xb447729820016d5c91ffff7cee07046a95a4f6da7ec1171b77d49eae37193e5e", + "transactionIndex": "0xa", + "blockHash": "0x9792252c2d3919835aa1a39a0f90c8f26a457ca88ec54b98b8fe97bf56d7ea0d", + "blockNumber": "0x49ebaf", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x121ec3c", + "gasUsed": "0x1fffb0", + "contractAddress": "0xa7C6184c4090923A5710ef0C8aaB5F157E88e586", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb91947dc" + }, + { + "transactionHash": "0x7f5332cc990b07f875117b1337f10ef6722a5befedf0a958d1212b671fbf3ee3", + "transactionIndex": "0xb", + "blockHash": "0x9792252c2d3919835aa1a39a0f90c8f26a457ca88ec54b98b8fe97bf56d7ea0d", + "blockNumber": "0x49ebaf", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x16dd31f", + "gasUsed": "0x4be6e3", + "contractAddress": "0xf59e8d2bD2176f481f0F95568E21a70A07D9CDbC", + "logs": [ + { + "address": "0xf59e8d2bD2176f481f0F95568E21a70A07D9CDbC", + "topics": [ + "0xc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da9709", + "0x000000000000000000000000bd132e42baafe3648170770f2d45dba59166e06d" + ], + "data": "0x", + "blockHash": "0x9792252c2d3919835aa1a39a0f90c8f26a457ca88ec54b98b8fe97bf56d7ea0d", + "blockNumber": "0x49ebaf", + "transactionHash": "0x7f5332cc990b07f875117b1337f10ef6722a5befedf0a958d1212b671fbf3ee3", + "transactionIndex": "0xb", + "logIndex": "0x9", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x20000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000200000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000001000000000004000000000", + "type": "0x2", + "effectiveGasPrice": "0xb91947dc" + }, + { + "transactionHash": "0x64bc029efaf8f9426011cc82e072b64aa8582e9b745dab34e44649e220908336", + "transactionIndex": "0xc", + "blockHash": "0x9792252c2d3919835aa1a39a0f90c8f26a457ca88ec54b98b8fe97bf56d7ea0d", + "blockNumber": "0x49ebaf", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x1ae0cb5", + "gasUsed": "0x403996", + "contractAddress": "0xf95Ed3608ce1F86DaC4FA12a2202BE56ADe1164F", + "logs": [ + { + "address": "0xf95Ed3608ce1F86DaC4FA12a2202BE56ADe1164F", + "topics": [ + "0xc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da9709", + "0x000000000000000000000000bd132e42baafe3648170770f2d45dba59166e06d" + ], + "data": "0x", + "blockHash": "0x9792252c2d3919835aa1a39a0f90c8f26a457ca88ec54b98b8fe97bf56d7ea0d", + "blockNumber": "0x49ebaf", + "transactionHash": "0x64bc029efaf8f9426011cc82e072b64aa8582e9b745dab34e44649e220908336", + "transactionIndex": "0xc", + "logIndex": "0xa", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000400000000000000000000000000000000000020000000000000000000000000000000000000000000200000000000000000000000000000000024000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb91947dc" + }, + { + "transactionHash": "0x44b2c8211f99f9b1d8151f54ee3f87cdb552f13c2346dbd6e03cd0d00134117d", + "transactionIndex": "0x6", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x469e0f", + "gasUsed": "0x426ab4", + "contractAddress": "0xC3960374E4448f815f53C1FE38b38cf444e6BEB8", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9e25786" + }, + { + "transactionHash": "0x828ddeda633112c57ba796830900c7292b8de35e2360fbaec8b2f6f779fc7856", + "transactionIndex": "0x7", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x4b535e", + "gasUsed": "0x4b54f", + "contractAddress": "0xeDa0dBB8fc6362A6c1508b42aA2B1ba00Cd0d891", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9e25786" + }, + { + "transactionHash": "0x9206432724c9b48a7774cad6710672b22f14df585b41c22c119c392c00abb3bd", + "transactionIndex": "0x8", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0xeDa0dBB8fc6362A6c1508b42aA2B1ba00Cd0d891", + "cumulativeGasUsed": "0x5828d2", + "gasUsed": "0xcd574", + "contractAddress": null, + "logs": [ + { + "address": "0x86831b4A5D9222F120acF3D0a6C6d3f4Fa7C1268", + "topics": [ + "0xc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da9709", + "0x000000000000000000000000bd132e42baafe3648170770f2d45dba59166e06d" + ], + "data": "0x", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "transactionHash": "0x9206432724c9b48a7774cad6710672b22f14df585b41c22c119c392c00abb3bd", + "transactionIndex": "0x8", + "logIndex": "0x4", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000080000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000200000000000000000000000000000000020000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000010000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9e25786" + }, + { + "transactionHash": "0xda976994e9135aba7aea99be59688074366d7020913ef7ff79ef9fcba0a30003", + "transactionIndex": "0x9", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0xeDa0dBB8fc6362A6c1508b42aA2B1ba00Cd0d891", + "cumulativeGasUsed": "0x6badd0", + "gasUsed": "0x1384fe", + "contractAddress": null, + "logs": [ + { + "address": "0x4d892B952A2Fd7941f02F0C531d33BDa1fD5b28a", + "topics": [ + "0xc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da9709", + "0x000000000000000000000000bd132e42baafe3648170770f2d45dba59166e06d" + ], + "data": "0x", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "transactionHash": "0xda976994e9135aba7aea99be59688074366d7020913ef7ff79ef9fcba0a30003", + "transactionIndex": "0x9", + "logIndex": "0x5", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000080000000000000000000000000000000000000000000020000000000000000000000000000000000000000000200000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000200000000000000000004000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9e25786" + }, + { + "transactionHash": "0x13a1e659dd04778e2534959154ce6c2ce03e94d0c8da0a7e6529e6a9987e2f29", + "transactionIndex": "0xa", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x836cf5", + "gasUsed": "0x17bf25", + "contractAddress": "0x968549Ee4c1f0225b4B0D7c08A11Fc36E3345277", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9e25786" + }, + { + "transactionHash": "0x58cd7fcee85fcad12ab154e9a0d45e3787554cc80385b1840a6fe5e36273d514", + "transactionIndex": "0xb", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "cumulativeGasUsed": "0x84486a", + "gasUsed": "0xdb75", + "contractAddress": null, + "logs": [ + { + "address": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "transactionHash": "0x58cd7fcee85fcad12ab154e9a0d45e3787554cc80385b1840a6fe5e36273d514", + "transactionIndex": "0xb", + "logIndex": "0x6", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000004000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000800000000000000000000000000020000000000000000000000000000000000000004000000000000000000000000000000010000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000001000000000000000000000000000000000000000000000000000008000000100000000000000000080000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9e25786" + }, + { + "transactionHash": "0x67349b7216fc33a6e2a8a255f3285b0dae9a4eaa5e4fc1a2172f891e520a0513", + "transactionIndex": "0xc", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "cumulativeGasUsed": "0x8523df", + "gasUsed": "0xdb75", + "contractAddress": null, + "logs": [ + { + "address": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x637821dcee84aabec9c8cf4f6f643013a24ad27fd41511ffd937aea80d8619a9", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "transactionHash": "0x67349b7216fc33a6e2a8a255f3285b0dae9a4eaa5e4fc1a2172f891e520a0513", + "transactionIndex": "0xc", + "logIndex": "0x7", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000004008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000800000000000000000000000000020000000000000000000000000000000000000004000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000001000000000000000000000000000000000000000000000000000008000000100000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9e25786" + }, + { + "transactionHash": "0x953cb573878dbe83c59b56040fe8d9068358bbf48ee627756558a1327d4061f7", + "transactionIndex": "0xd", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "cumulativeGasUsed": "0x85ff54", + "gasUsed": "0xdb75", + "contractAddress": null, + "logs": [ + { + "address": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0xa8b84e71bc3552b48fea3678097679554a90f0e2c12c536a8bd697c05041e279", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "transactionHash": "0x953cb573878dbe83c59b56040fe8d9068358bbf48ee627756558a1327d4061f7", + "transactionIndex": "0xd", + "logIndex": "0x8", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000004000000000000000000000000000000000000000020000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000010800000000000000000000000000020000000000000000000000000000000000000004000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000001000000000000000000000000000000000000000000000000000008000000100000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9e25786" + }, + { + "transactionHash": "0xfc09d0c802a8d44978bd51819cccd35f6506d94f2c6f4505163d913e8193e6b7", + "transactionIndex": "0xe", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "cumulativeGasUsed": "0x86dac9", + "gasUsed": "0xdb75", + "contractAddress": null, + "logs": [ + { + "address": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x256895704541e78004f0fd55953a8bcc54c628755b14fbf53afdc556473f9bd0", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "transactionHash": "0xfc09d0c802a8d44978bd51819cccd35f6506d94f2c6f4505163d913e8193e6b7", + "transactionIndex": "0xe", + "logIndex": "0x9", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000004000000000000000000000000000000040000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000800000000000000000000000000020000000000001000000000000000000000000004000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000001000000000000000000000000000000000000000000000000000008000000100000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9e25786" + }, + { + "transactionHash": "0x94be769bcfed58a939b9edf7f3b8b63772bc3af08cce1b6377e66db49e6610b3", + "transactionIndex": "0xf", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "cumulativeGasUsed": "0x87b63e", + "gasUsed": "0xdb75", + "contractAddress": null, + "logs": [ + { + "address": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x02f7fd2cb4d8e8ad75bab0a56a6f1ed7091336a83e11ccacc4e51f915215ab4c", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "transactionHash": "0x94be769bcfed58a939b9edf7f3b8b63772bc3af08cce1b6377e66db49e6610b3", + "transactionIndex": "0xf", + "logIndex": "0xa", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000020000000000000080000000000000000000000004000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000080000000000000000000000000002000000000000000000000000000001000000000000000000000000000000000000000000000000000008000000100000000000000000000000000000000000000000000000000000000000040000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9e25786" + }, + { + "transactionHash": "0x398123940e144d2784258e2fd1668f57fb2b74ec13fdaf001c6f1886d5f624b5", + "transactionIndex": "0x10", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "cumulativeGasUsed": "0x8891a7", + "gasUsed": "0xdb69", + "contractAddress": null, + "logs": [ + { + "address": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0xc9a6ce5d86bdc06f8d57f20091bf09bf611e57d0626b65aa9ebb3c9179ba650f", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "transactionHash": "0x398123940e144d2784258e2fd1668f57fb2b74ec13fdaf001c6f1886d5f624b5", + "transactionIndex": "0x10", + "logIndex": "0xb", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000004000000000000000000000000000000000000000000000000000000000000000000008000000000000020000000000000000000000000000000000000000000000000000800000000000000000000000000020000000000000000000000000000000000000004000000000000000000000020000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000001000000000000000000000000000000000000000000000000000008000000100000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9e25786" + }, + { + "transactionHash": "0xe8154ec89579d99d4c3f6ad14aea0834022dc75be9286875026d1a4028289169", + "transactionIndex": "0x11", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "cumulativeGasUsed": "0x896d1c", + "gasUsed": "0xdb75", + "contractAddress": null, + "logs": [ + { + "address": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0xe4a10d29decbd34c09a62a511d4fd993a7d8cbbf58d7d4278711c29c9148b8f7", + "0x000000000000000000000000a7c6184c4090923a5710ef0c8aab5f157e88e586", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "transactionHash": "0xe8154ec89579d99d4c3f6ad14aea0834022dc75be9286875026d1a4028289169", + "transactionIndex": "0x11", + "logIndex": "0xc", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x0000010400000000000000000000000000000000000000000000000000000480000000000000200000000000000000000000000000000000000000000000000000000000000001080000000000000000000000000002000000000000000000000000000000000000000400000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000100000000000000000000000000000000000000000000000000000c000000100000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9e25786" + }, + { + "transactionHash": "0xa9ec9139d42ac086654b12d08663b1ddae171a1affcbc1c2b40a30fc18ed274f", + "transactionIndex": "0x12", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "cumulativeGasUsed": "0x8a4891", + "gasUsed": "0xdb75", + "contractAddress": null, + "logs": [ + { + "address": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0xe4a10d29decbd34c09a62a511d4fd993a7d8cbbf58d7d4278711c29c9148b8f7", + "0x000000000000000000000000ee19ace40db1ba8b0dbbc5e57061a3268bd08c6a", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "transactionHash": "0xa9ec9139d42ac086654b12d08663b1ddae171a1affcbc1c2b40a30fc18ed274f", + "transactionIndex": "0x12", + "logIndex": "0xd", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000104000000000000000000000000000000000000000000000000000004800000000000000000000000000000000000000000000000400000000000000000000000000000000800000000000000000000000000020000000000000000000000000000000000000004000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000008000000000000000000002000002000000000000000000000001000000000000000000000000000000000000000000000000000008000000100000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9e25786" + }, + { + "transactionHash": "0xf412c1fafea0d0fd167098d3b6b7563b5434f506f22042981ae757eabd99dc37", + "transactionIndex": "0x13", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "cumulativeGasUsed": "0x8b2406", + "gasUsed": "0xdb75", + "contractAddress": null, + "logs": [ + { + "address": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db", + "0x000000000000000000000000e8ab207a5c21162db1ee75e378a92c82d550a8d1", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "transactionHash": "0xf412c1fafea0d0fd167098d3b6b7563b5434f506f22042981ae757eabd99dc37", + "transactionIndex": "0x13", + "logIndex": "0xe", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000200020000000000000000000000000200000000000004000000080000000000000000000000000000080000000000000000000000000000000000000000000000000000000000180000000000000000000000000000002000000000000000000000000000001000000000000000000000000000000000000000000000000000008000000100000000000000000000100000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9e25786" + }, + { + "transactionHash": "0xc9f5af89d0023264557a6419c438142f1e21d03a2318c25df5f0077f75ea5042", + "transactionIndex": "0x14", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "cumulativeGasUsed": "0x8bff7b", + "gasUsed": "0xdb75", + "contractAddress": null, + "logs": [ + { + "address": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db", + "0x000000000000000000000000f59e8d2bd2176f481f0f95568e21a70a07d9cdbc", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "transactionHash": "0xc9f5af89d0023264557a6419c438142f1e21d03a2318c25df5f0077f75ea5042", + "transactionIndex": "0x14", + "logIndex": "0xf", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000400000000000000000020000000000000000000000000200000000000004000000000000000000000000000000000000080000000000000000000000000000000040000000000000000000000000190000000000000000000000000000002000000000000000000000000000001000000000000000000000000000000000000000000000000000008000000100000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9e25786" + }, + { + "transactionHash": "0x6aaa7126e0fa454d3cf1e85c82e55fd51fa28fdbae9cbca0b907d25e03b2f946", + "transactionIndex": "0x15", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "cumulativeGasUsed": "0x8cdaf0", + "gasUsed": "0xdb75", + "contractAddress": null, + "logs": [ + { + "address": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db", + "0x000000000000000000000000f95ed3608ce1f86dac4fa12a2202be56ade1164f", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "transactionHash": "0x6aaa7126e0fa454d3cf1e85c82e55fd51fa28fdbae9cbca0b907d25e03b2f946", + "transactionIndex": "0x15", + "logIndex": "0x10", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800800004000000000000000000020000000000000000000000000200000000000004000000000000000000000000000000000000080000000000000000000000000080000000000000000000000000000000180000000000000000000000000000002000000000000000000000000000001000000000000000000000000000000000000000000000000000008000000100000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9e25786" + }, + { + "transactionHash": "0x229cd2f075e6bbc41d90bc0c3e362b6af8bf2c7acd5baf02cb585fd5e5fc69b0", + "transactionIndex": "0x16", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "cumulativeGasUsed": "0x8db665", + "gasUsed": "0xdb75", + "contractAddress": null, + "logs": [ + { + "address": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db", + "0x000000000000000000000000c3960374e4448f815f53c1fe38b38cf444e6beb8", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "transactionHash": "0x229cd2f075e6bbc41d90bc0c3e362b6af8bf2c7acd5baf02cb585fd5e5fc69b0", + "transactionIndex": "0x16", + "logIndex": "0x11", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000004000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000020000000000000000000020000000000000000000000000200000000000004000000000000000000000000000000000000080000000000000000000000000000000000100000000000000000000000180000000000000000000000000000002000000000000000000000000000001000000000000000000000000000000000000000000000000000008000000100000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9e25786" + }, + { + "transactionHash": "0x07bf3e8274a4ef381dbb6f4de7cca49d710476a121e4e7e85794011883808ef9", + "transactionIndex": "0x17", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0xe8ab207A5C21162Db1ee75e378A92C82d550a8d1", + "cumulativeGasUsed": "0x8ea151", + "gasUsed": "0xeaec", + "contractAddress": null, + "logs": [ + { + "address": "0xe8ab207A5C21162Db1ee75e378A92C82d550a8d1", + "topics": [ + "0x14d77cb3ef4c75b9a031527cf63890f47708121a75c8b9c9cddbacc19defd122", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000f59e8d2bd2176f481f0f95568e21a70a07d9cdbc" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000013524547495354524154494f4e5f4d4f44554c4500000000000000000000000000", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "transactionHash": "0x07bf3e8274a4ef381dbb6f4de7cca49d710476a121e4e7e85794011883808ef9", + "transactionIndex": "0x17", + "logIndex": "0x12", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000010000000000040000000000000000000000000000000000000000000000000000000000000000000000480000000000000000000000000000000000040000000000020000000000000000000800000000000000000000000000000000000000000400000000000000000040000000000000000000000000010000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9e25786" + }, + { + "transactionHash": "0x82970d6a02b85066dd446c11279b1a4e3ea8b530e2ea72ded580c4fc8d7d562a", + "transactionIndex": "0x18", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0xe8ab207A5C21162Db1ee75e378A92C82d550a8d1", + "cumulativeGasUsed": "0x8f8c3d", + "gasUsed": "0xeaec", + "contractAddress": null, + "logs": [ + { + "address": "0xe8ab207A5C21162Db1ee75e378A92C82d550a8d1", + "topics": [ + "0x14d77cb3ef4c75b9a031527cf63890f47708121a75c8b9c9cddbacc19defd122", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000f95ed3608ce1f86dac4fa12a2202be56ade1164f" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001352454c4154494f4e534849505f4d4f44554c4500000000000000000000000000", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "transactionHash": "0x82970d6a02b85066dd446c11279b1a4e3ea8b530e2ea72ded580c4fc8d7d562a", + "transactionIndex": "0x18", + "logIndex": "0x13", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000010000000000040000000000000000000000000000000000000000000000000000000000000000800004080000000000000000000000000000000000040000000000020000000000000000000800000000000000000000000000000000000000000400000000000080000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9e25786" + }, + { + "transactionHash": "0x6f7d6393c9f1c9ccb741fffd0adebbeff90c7d9c6ac9134c0808d992b303c038", + "transactionIndex": "0x19", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0xe8ab207A5C21162Db1ee75e378A92C82d550a8d1", + "cumulativeGasUsed": "0x907705", + "gasUsed": "0xeac8", + "contractAddress": null, + "logs": [ + { + "address": "0xe8ab207A5C21162Db1ee75e378A92C82d550a8d1", + "topics": [ + "0x14d77cb3ef4c75b9a031527cf63890f47708121a75c8b9c9cddbacc19defd122", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000c3960374e4448f815f53c1fe38b38cf444e6beb8" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000104c4943454e53494e475f4d4f44554c4500000000000000000000000000000000", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "transactionHash": "0x6f7d6393c9f1c9ccb741fffd0adebbeff90c7d9c6ac9134c0808d992b303c038", + "transactionIndex": "0x19", + "logIndex": "0x14", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000004000000000000010000000000040000000000000000000000000000000000000000000000000000000000000000000020080000000000000000000000000000000000040000000000020000000000000000000800000000000000000000000000000000000000000400000000000000000000100000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9e25786" + }, + { + "transactionHash": "0x7bacc38c975611ef1a04099734cfc6afd4617e205e1ad102b57921239bb1c3e8", + "transactionIndex": "0x1a", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0xa7C6184c4090923A5710ef0C8aaB5F157E88e586", + "cumulativeGasUsed": "0x94e23f", + "gasUsed": "0x46b3a", + "contractAddress": null, + "logs": [ + { + "address": "0xc12Cf8a549e39E76e2E3BBc1dF51B7D2a78a0ae2", + "topics": [ + "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "transactionHash": "0x7bacc38c975611ef1a04099734cfc6afd4617e205e1ad102b57921239bb1c3e8", + "transactionIndex": "0x1a", + "logIndex": "0x15", + "removed": false + }, + { + "address": "0xe8ab207A5C21162Db1ee75e378A92C82d550a8d1", + "topics": [ + "0x48786003f3d30e41bfa4ee09afdeb9bfb04b7e06e2f74f3177da393a793bbc33", + "0x000000000000000000000000c12cf8a549e39e76e2e3bbc1df51b7d2a78a0ae2", + "0x000000000000000000000000ee19ace40db1ba8b0dbbc5e57061a3268bd08c6a" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000013524547495354524154494f4e5f4d4f44554c450000000000000000000000000000000000000000000000000000000000000000000000000000000000000001609aeb830ec91a14c97a5446cc7c86a42f73a78f37f9a77afa238b5d11520ddfbc000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000553544f525900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000094348415241435445520000000000000000000000000000000000000000000000", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "transactionHash": "0x7bacc38c975611ef1a04099734cfc6afd4617e205e1ad102b57921239bb1c3e8", + "transactionIndex": "0x1a", + "logIndex": "0x16", + "removed": false + }, + { + "address": "0xEe19aCE40dB1BA8B0DbBc5e57061A3268bd08c6A", + "topics": [ + "0x81e084d978860accc83df39f75b801d9019e40d18643b9b39f4cd2a70ca35adb" + ], + "data": "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab000000000000000000000000c12cf8a549e39e76e2e3bbc1df51b7d2a78a0ae200000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000d53616d706c65204950204f72670000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000045349504f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000553544f525900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000094348415241435445520000000000000000000000000000000000000000000000", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "transactionHash": "0x7bacc38c975611ef1a04099734cfc6afd4617e205e1ad102b57921239bb1c3e8", + "transactionIndex": "0x1a", + "logIndex": "0x17", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000008000000000400000000000000000000000000010008000000040000000000008000020000000000400000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000008000000000000000000000000000000000000000200000080000000000000000000000000000080000000000000000008000000000000000000000000002400000000040000000000000000000001000008000000000000000000200000040000001000000000000000400000000002000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9e25786" + }, + { + "transactionHash": "0xe687421e933d6f1b5804f3955d4113264f977d6e833bc740fd930a3b670393d8", + "transactionIndex": "0x1b", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0xe8ab207A5C21162Db1ee75e378A92C82d550a8d1", + "cumulativeGasUsed": "0x96250b", + "gasUsed": "0x142cc", + "contractAddress": null, + "logs": [ + { + "address": "0xe8ab207A5C21162Db1ee75e378A92C82d550a8d1", + "topics": [ + "0x33f12a9d70fd5f6771d495aae3b2cf0abc703cbaa526982b65446f1ef8816f9b", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000086831b4a5d9222f120acf3d0a6c6d3f4fa7c1268" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010544f4b454e5f47415445445f484f4f4b00000000000000000000000000000000", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "transactionHash": "0xe687421e933d6f1b5804f3955d4113264f977d6e833bc740fd930a3b670393d8", + "transactionIndex": "0x1b", + "logIndex": "0x18", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000010000000000040000000000000000000000000000000000000800000000000000000000100000000000001000000000000000000000000000000000040000080000020000000000000000000800000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000020000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9e25786" + }, + { + "transactionHash": "0x1352860bf150127da50dd598a0e2c705da7d0ed5cad7b077ca35958b8e2f7060", + "transactionIndex": "0x1c", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0xe8ab207A5C21162Db1ee75e378A92C82d550a8d1", + "cumulativeGasUsed": "0x9767ef", + "gasUsed": "0x142e4", + "contractAddress": null, + "logs": [ + { + "address": "0xe8ab207A5C21162Db1ee75e378A92C82d550a8d1", + "topics": [ + "0x33f12a9d70fd5f6771d495aae3b2cf0abc703cbaa526982b65446f1ef8816f9b", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000004d892b952a2fd7941f02f0c531d33bda1fd5b28a" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000012504f4c59474f4e5f544f4b454e5f484f4f4b0000000000000000000000000000", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "transactionHash": "0x1352860bf150127da50dd598a0e2c705da7d0ed5cad7b077ca35958b8e2f7060", + "transactionIndex": "0x1c", + "logIndex": "0x19", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000020000000000000000000000000000000000000000000000000000010000000000040000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000040000080000020000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000020000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9e25786" + }, + { + "transactionHash": "0xf463364846b29395cf1d137598d4b5a6773a796b24ebe85342f2feaa8e11883e", + "transactionIndex": "0x1d", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0xf59e8d2bD2176f481f0F95568E21a70A07D9CDbC", + "cumulativeGasUsed": "0x9bc7ee", + "gasUsed": "0x45fff", + "contractAddress": null, + "logs": [ + { + "address": "0xf59e8d2bD2176f481f0F95568E21a70A07D9CDbC", + "topics": [ + "0x1fe48a4ec69671720d8bdd8f8a6853d16f486c0bb91fcaf5b8ffc4932b8bc9f4", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x531d1efb5ee017c697ef9726617712403582bd5a57b6a47b9a186603e8706556" + ], + "data": "0x", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "transactionHash": "0xf463364846b29395cf1d137598d4b5a6773a796b24ebe85342f2feaa8e11883e", + "transactionIndex": "0x1d", + "logIndex": "0x1a", + "removed": false + }, + { + "address": "0xf59e8d2bD2176f481f0F95568E21a70A07D9CDbC", + "topics": [ + "0x5e140eb5bed8bcb1664a04c0be4aa419e0d2dbf1277a4a6770882a0beb3b91b2", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x531d1efb5ee017c697ef9726617712403582bd5a57b6a47b9a186603e8706556" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000086831b4a5d9222f120acf3d0a6c6d3f4fa7c12680000000000000000000000004d892b952a2fd7941f02f0c531d33bda1fd5b28a", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "transactionHash": "0xf463364846b29395cf1d137598d4b5a6773a796b24ebe85342f2feaa8e11883e", + "transactionIndex": "0x1d", + "logIndex": "0x1b", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x20000200000000000004000000000000000000000000004000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000800000000000000000000000001000000000000000000000000000000000000040000000000000001000000000000040000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000001000000000004000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9e25786" + }, + { + "transactionHash": "0xfd3461bee9dc15465dc2b63aef1fbe4f7e3652728e7e30f1db40614b639a7917", + "transactionIndex": "0x1e", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x43C1C831D370f36149183d31FdAC50b131289949", + "cumulativeGasUsed": "0xabed6b", + "gasUsed": "0x10257d", + "contractAddress": null, + "logs": [ + { + "address": "0x43C1C831D370f36149183d31FdAC50b131289949", + "topics": [ + "0x25be0d4acedf2199ce49f3044ddf933ebe2febd8c63bd2cdd7ed12b458fc3361" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000604368616e6e656c732d4f662d446973747269627574696f6e000000000000001800000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000095350554d4c2d312e3000000000000000000000000000000000000000000000004368616e6e656c732d4f662d446973747269627574696f6e00000000000000180000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "transactionHash": "0xfd3461bee9dc15465dc2b63aef1fbe4f7e3652728e7e30f1db40614b639a7917", + "transactionIndex": "0x1e", + "logIndex": "0x1c", + "removed": false + }, + { + "address": "0x43C1C831D370f36149183d31FdAC50b131289949", + "topics": [ + "0x25be0d4acedf2199ce49f3044ddf933ebe2febd8c63bd2cdd7ed12b458fc3361" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000604174747269627574696f6e00000000000000000000000000000000000000000b00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000095350554d4c2d312e3000000000000000000000000000000000000000000000004174747269627574696f6e00000000000000000000000000000000000000000b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "transactionHash": "0xfd3461bee9dc15465dc2b63aef1fbe4f7e3652728e7e30f1db40614b639a7917", + "transactionIndex": "0x1e", + "logIndex": "0x1d", + "removed": false + }, + { + "address": "0x43C1C831D370f36149183d31FdAC50b131289949", + "topics": [ + "0x25be0d4acedf2199ce49f3044ddf933ebe2febd8c63bd2cdd7ed12b458fc3361" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000006044657269766174697665732d416c6c6f7765640000000000000000000000001300000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000095350554d4c2d312e30000000000000000000000000000000000000000000000044657269766174697665732d416c6c6f776564000000000000000000000000130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "transactionHash": "0xfd3461bee9dc15465dc2b63aef1fbe4f7e3652728e7e30f1db40614b639a7917", + "transactionIndex": "0x1e", + "logIndex": "0x1e", + "removed": false + }, + { + "address": "0x43C1C831D370f36149183d31FdAC50b131289949", + "topics": [ + "0x25be0d4acedf2199ce49f3044ddf933ebe2febd8c63bd2cdd7ed12b458fc3361" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000006044657269766174697665732d416c6c6f7765642d4f7074696f6e73000000001b00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000095350554d4c2d312e30000000000000000000000000000000000000000000000044657269766174697665732d416c6c6f7765642d4f7074696f6e73000000001b0000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000003416c6c6f7765642d576974682d417070726f76616c0000000000000000000015416c6c6f7765642d5265636970726f63616c2d4c6963656e736500000000001a416c6c6f7765642d576974682d4174747269627574696f6e0000000000000018", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "transactionHash": "0xfd3461bee9dc15465dc2b63aef1fbe4f7e3652728e7e30f1db40614b639a7917", + "transactionIndex": "0x1e", + "logIndex": "0x1f", + "removed": false + }, + { + "address": "0x43C1C831D370f36149183d31FdAC50b131289949", + "topics": [ + "0xcc3b4b42d496457f15f49a410f201fdb906b09fbff771f240a8dc8418abe68be" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000095350554d4c2d312e300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004a68747470733a2f2f6769746875622e636f6d2f73746f727970726f746f636f6c2f70726f746f636f6c2d636f6e7472616374732f626c6f622f6d61696e2f5350554d4c2d76312e70646600000000000000000000000000000000000000000000", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "transactionHash": "0xfd3461bee9dc15465dc2b63aef1fbe4f7e3652728e7e30f1db40614b639a7917", + "transactionIndex": "0x1e", + "logIndex": "0x20", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000010000000000000000000000000000000000001000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000002000000000000000000000000000000000000000000000004000000000000000000000000000001000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9e25786" + } + ], + "libraries": [], + "pending": [], + "path": "/Users/drmanhattan/Workspace/StoryProtocol/protocol-contracts/broadcast/Main.s.sol/11155111/run-latest.json", + "returns": {}, + "timestamp": 1702012251, + "chain": 11155111, + "multi": false, + "commit": "d1b1d7f" +} \ No newline at end of file diff --git a/broadcast/Main.s.sol/11155111/run-1702012356.json b/broadcast/Main.s.sol/11155111/run-1702012356.json new file mode 100644 index 00000000..ee7642c0 --- /dev/null +++ b/broadcast/Main.s.sol/11155111/run-1702012356.json @@ -0,0 +1,2035 @@ +{ + "transactions": [ + { + "hash": "0xe7f72cc7669b6512afe7f2e02fc04c294a2c0092c62e97054f2fef6fac7f97e3", + "transactionType": "CREATE", + "contractName": "AccessControlSingleton", + "contractAddress": "0x992EEc8204daf0CD34010De0a83cB768a055982f", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x2138be", + "value": "0x0", + "data": "0x60a06040523060805234801561001457600080fd5b50608051611d9061004c600039600081816104d101528181610581015281816106d60152818161078601526108cb0152611d906000f3fe6080604052600436106100dd5760003560e01c806352d1902d1161007f578063a217fddf11610059578063a217fddf146102a8578063ac9650d8146102bd578063c4d66de8146102ea578063d547741f1461030a57600080fd5b806352d1902d146101ea57806354fd4d50146101ff57806391d148541461025557600080fd5b80632f2ff15d116100bb5780632f2ff15d1461017757806336568abe146101975780633659cfe6146101b75780634f1ef286146101d757600080fd5b806301ffc9a7146100e25780631e4e009114610117578063248a9ca314610139575b600080fd5b3480156100ee57600080fd5b506101026100fd3660046117aa565b61032a565b60405190151581526020015b60405180910390f35b34801561012357600080fd5b506101376101323660046117ec565b6103c3565b005b34801561014557600080fd5b5061016961015436600461180e565b60009081526065602052604090206001015490565b60405190815260200161010e565b34801561018357600080fd5b50610137610192366004611850565b6103dd565b3480156101a357600080fd5b506101376101b2366004611850565b610402565b3480156101c357600080fd5b506101376101d236600461187c565b6104ba565b6101376101e53660046118c6565b6106bf565b3480156101f657600080fd5b506101696108b1565b34801561020b57600080fd5b506102486040518060400160405280600581526020017f302e312e3000000000000000000000000000000000000000000000000000000081525081565b60405161010e9190611a14565b34801561026157600080fd5b50610102610270366004611850565b600091825260656020908152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b3480156102b457600080fd5b50610169600081565b3480156102c957600080fd5b506102dd6102d8366004611a27565b61099d565b60405161010e9190611a9c565b3480156102f657600080fd5b5061013761030536600461187c565b610a92565b34801561031657600080fd5b50610137610325366004611850565b610c84565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806103bd57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60006103ce81610ca9565b6103d88383610cb3565b505050565b6000828152606560205260409020600101546103f881610ca9565b6103d88383610cfe565b73ffffffffffffffffffffffffffffffffffffffff811633146104ac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b6104b68282610df2565b5050565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016300361057f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016104a3565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166105f47f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610697576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016104a3565b6106a081610ead565b604080516000808252602082019092526106bc91839190610ed7565b50565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610784576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016104a3565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166107f97f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff161461089c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016104a3565b6108a582610ead565b6104b682826001610ed7565b60003073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610978576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016104a3565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b60608167ffffffffffffffff8111156109b8576109b8611897565b6040519080825280602002602001820160405280156109eb57816020015b60608152602001906001900390816109d65790505b50905060005b82811015610a8b57610a5b30858584818110610a0f57610a0f611b1c565b9050602002810190610a219190611b4b565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506110d692505050565b828281518110610a6d57610a6d611b1c565b60200260200101819052508080610a8390611be6565b9150506109f1565b5092915050565b600054610100900460ff1615808015610ab25750600054600160ff909116105b80610acc5750303b158015610acc575060005460ff166001145b610b58576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016104a3565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610bb657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b73ffffffffffffffffffffffffffffffffffffffff8216610c03576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c0b611102565b610c13611102565b610c1e600083610cfe565b80156104b657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b600082815260656020526040902060010154610c9f81610ca9565b6103d88383610df2565b6106bc813361119b565b600082815260656020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff166104b657600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff85168452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055610d943390565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16156104b657600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e36104b681610ca9565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610f0a576103d883611255565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610f8f575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252610f8c91810190611c1e565b60015b61101b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016104a3565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81146110ca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016104a3565b506103d883838361135f565b60606110fb8383604051806060016040528060278152602001611d346027913961138a565b9392505050565b600054610100900460ff16611199576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016104a3565b565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff166104b6576111db8161140f565b6111e683602061142e565b6040516020016111f7929190611c37565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a00000000000000000000000000000000000000000000000000000000082526104a391600401611a14565b73ffffffffffffffffffffffffffffffffffffffff81163b6112f9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016104a3565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61136883611671565b6000825111806113755750805b156103d85761138483836110d6565b50505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516113b49190611cb8565b600060405180830381855af49150503d80600081146113ef576040519150601f19603f3d011682016040523d82523d6000602084013e6113f4565b606091505b5091509150611405868383876116be565b9695505050505050565b60606103bd73ffffffffffffffffffffffffffffffffffffffff831660145b6060600061143d836002611cd4565b611448906002611ceb565b67ffffffffffffffff81111561146057611460611897565b6040519080825280601f01601f19166020018201604052801561148a576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106114c1576114c1611b1c565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061152457611524611b1c565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000611560846002611cd4565b61156b906001611ceb565b90505b6001811115611608577f303132333435363738396162636465660000000000000000000000000000000085600f16601081106115ac576115ac611b1c565b1a60f81b8282815181106115c2576115c2611b1c565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c9361160181611cfe565b905061156e565b5083156110fb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016104a3565b61167a81611255565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060831561175457825160000361174d5773ffffffffffffffffffffffffffffffffffffffff85163b61174d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016104a3565b508161175e565b61175e8383611766565b949350505050565b8151156117765781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104a39190611a14565b6000602082840312156117bc57600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146110fb57600080fd5b600080604083850312156117ff57600080fd5b50508035926020909101359150565b60006020828403121561182057600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461184b57600080fd5b919050565b6000806040838503121561186357600080fd5b8235915061187360208401611827565b90509250929050565b60006020828403121561188e57600080fd5b6110fb82611827565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080604083850312156118d957600080fd5b6118e283611827565b9150602083013567ffffffffffffffff808211156118ff57600080fd5b818501915085601f83011261191357600080fd5b81358181111561192557611925611897565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561196b5761196b611897565b8160405282815288602084870101111561198457600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b838110156119c15781810151838201526020016119a9565b50506000910152565b600081518084526119e28160208601602086016119a6565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006110fb60208301846119ca565b60008060208385031215611a3a57600080fd5b823567ffffffffffffffff80821115611a5257600080fd5b818501915085601f830112611a6657600080fd5b813581811115611a7557600080fd5b8660208260051b8501011115611a8a57600080fd5b60209290920196919550909350505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015611b0f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452611afd8583516119ca565b94509285019290850190600101611ac3565b5092979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611b8057600080fd5b83018035915067ffffffffffffffff821115611b9b57600080fd5b602001915036819003821315611bb057600080fd5b9250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611c1757611c17611bb7565b5060010190565b600060208284031215611c3057600080fd5b5051919050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351611c6f8160178501602088016119a6565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351611cac8160288401602088016119a6565b01602801949350505050565b60008251611cca8184602087016119a6565b9190910192915050565b80820281158282048414176103bd576103bd611bb7565b808201808211156103bd576103bd611bb7565b600081611d0d57611d0d611bb7565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220c1f5e7366e6e39b285e4066626c260cad32cb7f5868a153eb73217f270d2937864736f6c63430008130033", + "nonce": "0x7d2", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x684dc36789c2611d21e56c306469ae9ed327cb790c768bfe80715b22844b0330", + "transactionType": "CREATE", + "contractName": "ERC1967Proxy", + "contractAddress": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "function": null, + "arguments": [ + "0x992EEc8204daf0CD34010De0a83cB768a055982f", + "0xc4d66de8000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x3bece", + "value": "0x0", + "data": "0x60806040526040516104ee3803806104ee833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c760279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60be806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea264697066735822122091c81c9b8ac755a7e1e08c0e9f65600d21e642457fb84c7f9e0d0a65b62d269064736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564000000000000000000000000992eec8204daf0cd34010de0a83cb768a055982f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de8000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab00000000000000000000000000000000000000000000000000000000", + "nonce": "0x7d3", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x918d79032216292c73e69df31d5dc6b96eec366b4f98482294f7685425d3780d", + "transactionType": "CREATE", + "contractName": "LicensingFrameworkRepo", + "contractAddress": "0x43C1C831D370f36149183d31FdAC50b131289949", + "function": null, + "arguments": [ + "0xbD132e42baaFe3648170770F2D45dbA59166e06d" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x208b42", + "value": "0x0", + "data": "0x60806040523480156200001157600080fd5b5060405162001e1f38038062001e1f8339810160408190526200003491620001cd565b80620000516001600160a01b038216637965db0b60e01b620000e1565b62000094576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b038316908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050620001f8565b6000620000ee8362000109565b801562000102575062000102838362000142565b9392505050565b60006200011e826301ffc9a760e01b62000142565b80156200013c57506200013a826001600160e01b031962000142565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d91506000519050828015620001b5575060208210155b8015620001c25750600081115b979650505050505050565b600060208284031215620001e057600080fd5b81516001600160a01b03811681146200010257600080fd5b611c1780620002086000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063c2e26bbb1161005b578063c2e26bbb14610108578063c8cea2151461011b578063e75afa551461012e578063eae376e31461014e57600080fd5b806319129e5a1461008d5780637859a97e146100a25780639faddd20146100c8578063ac9650d8146100e8575b600080fd5b6100a061009b366004611198565b61016e565b005b6100b56100b0366004611217565b6102d2565b6040519081526020015b60405180910390f35b6100db6100d6366004611259565b610302565b6040516100bf91906113d1565b6100fb6100f63660046113e4565b6104e8565b6040516100bf9190611459565b6100db610116366004611259565b6105dd565b6100a06101293660046114d9565b6107cb565b61014161013c366004611217565b6109c4565b6040516100bf9190611514565b61016161015c366004611217565b610bae565b6040516100bf9190611587565b600061017a8133610c62565b6101be576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b6101fe73ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000610d05565b610264576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c00000000000000000000000000000000000060448201526064016101b5565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050565b6000600183836040516102e692919061159a565b9081526040519081900360200190206003015490505b92915050565b604080516080810182526000808252602082015260609181018290528181019190915260006001858560405161033992919061159a565b9081526020016040518091039020905080600301838154811061035e5761035e6115aa565b9060005260206000209060040201604051806080016040529081600082015481526020016001820160009054906101000a900460ff1660058111156103a5576103a56112a5565b60058111156103b6576103b66112a5565b81526020016002820180546103ca906115d9565b80601f01602080910402602001604051908101604052809291908181526020018280546103f6906115d9565b80156104435780601f1061041857610100808354040283529160200191610443565b820191906000526020600020905b81548152906001019060200180831161042657829003601f168201915b5050505050815260200160038201805461045c906115d9565b80601f0160208091040260200160405190810160405280929190818152602001828054610488906115d9565b80156104d55780601f106104aa576101008083540402835291602001916104d5565b820191906000526020600020905b8154815290600101906020018083116104b857829003601f168201915b5050505050815250509150509392505050565b60608167ffffffffffffffff8111156105035761050361162c565b60405190808252806020026020018201604052801561053657816020015b60608152602001906001900390816105215790505b50905060005b828110156105d6576105a63085858481811061055a5761055a6115aa565b905060200281019061056c919061165b565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610d2192505050565b8282815181106105b8576105b86115aa565b602002602001018190525080806105ce906116c0565b91505061053c565b5092915050565b60408051608081018252600080825260208201526060918101829052818101919091526002600085858560405160200161061993929190611768565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181528151602092830120835282820193909352908201600020825160808101909352805483526001810154909183019060ff166005811115610689576106896112a5565b600581111561069a5761069a6112a5565b81526020016002820180546106ae906115d9565b80601f01602080910402602001604051908101604052809291908181526020018280546106da906115d9565b80156107275780601f106106fc57610100808354040283529160200191610727565b820191906000526020600020905b81548152906001019060200180831161070a57829003601f168201915b50505050508152602001600382018054610740906115d9565b80601f016020809104026020016040519081016040528092919081815260200182805461076c906115d9565b80156107b95780601f1061078e576101008083540402835291602001916107b9565b820191906000526020600020905b81548152906001019060200180831161079c57829003601f168201915b50505050508152505090509392505050565b7f256895704541e78004f0fd55953a8bcc54c628755b14fbf53afdc556473f9bd06107f68133610c62565b610835576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016101b5565b60006001610843848061165b565b60405161085192919061159a565b90815260200160405180910390209050600061086f82600101610d46565b11156108a7576040517f7e5d56bb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006108b6604085018561178c565b91505060968111156108f4576040517fb6cb3c0400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b818110156109525761094061090c868061165b565b610919604089018961178c565b85818110610929576109296115aa565b905060200281019061093b91906117f4565b610d50565b8061094a816116c0565b9150506108f7565b50610960602085018561165b565b839161096d919083611881565b507fcc3b4b42d496457f15f49a410f201fdb906b09fbff771f240a8dc8418abe68be610999858061165b565b6109a6602088018861165b565b6040516109b6949392919061199c565b60405180910390a150505050565b6060600183836040516109d892919061159a565b9081526020016040518091039020600301805480602002602001604051908101604052809291908181526020016000905b82821015610ba25783829060005260206000209060040201604051806080016040529081600082015481526020016001820160009054906101000a900460ff166005811115610a5a57610a5a6112a5565b6005811115610a6b57610a6b6112a5565b8152602001600282018054610a7f906115d9565b80601f0160208091040260200160405190810160405280929190818152602001828054610aab906115d9565b8015610af85780601f10610acd57610100808354040283529160200191610af8565b820191906000526020600020905b815481529060010190602001808311610adb57829003601f168201915b50505050508152602001600382018054610b11906115d9565b80601f0160208091040260200160405190810160405280929190818152602001828054610b3d906115d9565b8015610b8a5780601f10610b5f57610100808354040283529160200191610b8a565b820191906000526020600020905b815481529060010190602001808311610b6d57829003601f168201915b50505050508152505081526020019060010190610a09565b50505050905092915050565b606060018383604051610bc292919061159a565b9081526040519081900360200190208054610bdc906115d9565b80601f0160208091040260200160405190810160405280929190818152602001828054610c08906115d9565b8015610c555780601f10610c2a57610100808354040283529160200191610c55565b820191906000526020600020905b815481529060010190602001808311610c3857829003601f168201915b5050505050905092915050565b600080546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff8481166024830152909116906391d1485490604401602060405180830381865afa158015610cda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cfe91906119c3565b9392505050565b6000610d1083610e81565b8015610cfe5750610cfe8383610ee5565b6060610cfe8383604051806060016040528060278152602001611bbb60279139610fb4565b60006102fc825490565b600060018484604051610d6492919061159a565b90815260405190819003602001902090508135610d846001830182611039565b15610dbb576040517f982f2a2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610dc86001830182611051565b508260026000878785604051602001610de393929190611768565b6040516020818303038152906040528051906020012081526020019081526020016000208181610e1391906119f5565b505060038201805460018101825560009182526020909120849160040201610e3b82826119f5565b50507f25be0d4acedf2199ce49f3044ddf933ebe2febd8c63bd2cdd7ed12b458fc336185858386604051610e729493929190611b13565b60405180910390a15050505050565b6000610ead827f01ffc9a700000000000000000000000000000000000000000000000000000000610ee5565b80156102fc5750610ede827fffffffff00000000000000000000000000000000000000000000000000000000610ee5565b1592915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015610f9d575060208210155b8015610fa95750600081115b979650505050505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051610fde9190611ba8565b600060405180830381855af49150503d8060008114611019576040519150601f19603f3d011682016040523d82523d6000602084013e61101e565b606091505b509150915061102f8683838761105d565b9695505050505050565b60008181526001830160205260408120541515610cfe565b6000610cfe8383611105565b606083156110f35782516000036110ec5773ffffffffffffffffffffffffffffffffffffffff85163b6110ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016101b5565b50816110fd565b6110fd8383611154565b949350505050565b600081815260018301602052604081205461114c575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556102fc565b5060006102fc565b8151156111645781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101b59190611587565b6000602082840312156111aa57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610cfe57600080fd5b60008083601f8401126111e057600080fd5b50813567ffffffffffffffff8111156111f857600080fd5b60208301915083602082850101111561121057600080fd5b9250929050565b6000806020838503121561122a57600080fd5b823567ffffffffffffffff81111561124157600080fd5b61124d858286016111ce565b90969095509350505050565b60008060006040848603121561126e57600080fd5b833567ffffffffffffffff81111561128557600080fd5b611291868287016111ce565b909790965060209590950135949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6006811061130b577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b60005b8381101561132a578181015183820152602001611312565b50506000910152565b6000815180845261134b81602086016020860161130f565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b805182526000602082015161139560208501826112d4565b506040820151608060408501526113af6080850182611333565b9050606083015184820360608601526113c88282611333565b95945050505050565b602081526000610cfe602083018461137d565b600080602083850312156113f757600080fd5b823567ffffffffffffffff8082111561140f57600080fd5b818501915085601f83011261142357600080fd5b81358181111561143257600080fd5b8660208260051b850101111561144757600080fd5b60209290920196919550909350505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156114cc577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08886030184526114ba858351611333565b94509285019290850190600101611480565b5092979650505050505050565b6000602082840312156114eb57600080fd5b813567ffffffffffffffff81111561150257600080fd5b820160608185031215610cfe57600080fd5b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156114cc577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc088860301845261157585835161137d565b9450928501929085019060010161153b565b602081526000610cfe6020830184611333565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600181811c908216806115ed57607f821691505b602082108103611626577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261169057600080fd5b83018035915067ffffffffffffffff8211156116ab57600080fd5b60200191503681900382131561121057600080fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611718577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60408152600061177c60408301858761171f565b9050826020830152949350505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126117c157600080fd5b83018035915067ffffffffffffffff8211156117dc57600080fd5b6020019150600581901b360382131561121057600080fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8183360301811261182857600080fd5b9190910192915050565b601f82111561187c57600081815260208120601f850160051c810160208610156118595750805b601f850160051c820191505b8181101561187857828155600101611865565b5050505b505050565b67ffffffffffffffff8311156118995761189961162c565b6118ad836118a783546115d9565b83611832565b6000601f8411600181146118ff57600085156118c95750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355611995565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b8281101561194e578685013582556020948501946001909201910161192e565b5086821015611989577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b6040815260006119b060408301868861171f565b8281036020840152610fa981858761171f565b6000602082840312156119d557600080fd5b81518015158114610cfe57600080fd5b600681106119f257600080fd5b50565b81358155600181016020830135611a0b816119e5565b60068110611a42577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0082541660ff821681178355505050611a7e604083018361165b565b611a8c818360028601611881565b5050611a9b606083018361165b565b611aa9818360038601611881565b50505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611ae457600080fd5b830160208101925035905067ffffffffffffffff811115611b0457600080fd5b80360382131561121057600080fd5b606081526000611b2760608301868861171f565b8460208401528281036040840152833581526020840135611b47816119e5565b611b5460208301826112d4565b50611b626040850185611aaf565b60806040840152611b7760808401828461171f565b915050611b876060860186611aaf565b8383036060850152611b9a83828461171f565b9a9950505050505050505050565b6000825161182881846020870161130f56fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212208f3e172f26b1e16118674b4d7985c156f2849b9f9fd282fb3045456dfd7724a564736f6c63430008130033000000000000000000000000bd132e42baafe3648170770f2d45dba59166e06d", + "nonce": "0x7d4", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xd3ddafaca2e81ff6081857324791c6529045bfa8d71e9a5b28e6919ceed2fef2", + "transactionType": "CREATE", + "contractName": "ModuleRegistry", + "contractAddress": "0xe8ab207A5C21162Db1ee75e378A92C82d550a8d1", + "function": null, + "arguments": [ + "0xbD132e42baaFe3648170770F2D45dbA59166e06d" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x276514", + "value": "0x0", + "data": "0x60806040523480156200001157600080fd5b506040516200246c3803806200246c8339810160408190526200003491620001cd565b80620000516001600160a01b038216637965db0b60e01b620000e1565b62000094576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b038316908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050620001f8565b6000620000ee8362000109565b801562000102575062000102838362000142565b9392505050565b60006200011e826301ffc9a760e01b62000142565b80156200013c57506200013a826001600160e01b031962000142565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d91506000519050828015620001b5575060208210155b8015620001c25750600081115b979650505050505050565b600060208284031215620001e057600080fd5b81516001600160a01b03811681146200010257600080fd5b61226480620002086000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c80638694509411610097578063d04d78c611610066578063d04d78c614610225578063d08906d614610238578063e1fc45ce1461024b578063eca535191461025e57600080fd5b806386945094146101df578063ac9650d8146101f2578063b38609e814610212578063c7bdcb8a146101df57600080fd5b80634066edd9116100d35780634066edd914610179578063449f1a961461018c5780635c7a980b146101c457806382984f30146101cc57600080fd5b806319129e5a1461010557806320b76ffc1461011a57806337e22bd41461012d5780633af83c1814610156575b600080fd5b6101186101133660046115ac565b610271565b005b610118610128366004611612565b6103d5565b61014061013b366004611854565b6103eb565b60405161014d9190611982565b60405180910390f35b610169610164366004611995565b610405565b604051901515815260200161014d565b6101186101873660046119ec565b610460565b61019f61019a3660046119ec565b610672565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161014d565b61019f600081565b6101696101da3660046115ac565b6106b4565b61019f6101ed3660046119ec565b610718565b610205610200366004611a73565b61072c565b60405161014d9190611afb565b610140610220366004611b0e565b610821565b610118610233366004611995565b610939565b610118610246366004611995565b610acd565b610140610259366004611bf6565b610c1d565b61011861026c3660046119ec565b610ca3565b600061027d8133610e63565b6102c1576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b61030173ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000610f06565b610367576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c00000000000000000000000000000000000060448201526064016102b8565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050565b6103e3853386868686610f22565b505050505050565b60606103fb8633878787876110d0565b9695505050505050565b60008173ffffffffffffffffffffffffffffffffffffffff1660018585604051610430929190611c8b565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff161490509392505050565b7fc9a6ce5d86bdc06f8d57f20091bf09bf611e57d0626b65aa9ebb3c9179ba650f61048b8133610e63565b6104ca576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016102b8565b600073ffffffffffffffffffffffffffffffffffffffff16600284846040516104f4929190611c8b565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff16036105555782826040517f3fbd33b30000000000000000000000000000000000000000000000000000000081526004016102b8929190611ce4565b600060028484604051610569929190611c8b565b9081526040519081900360200181205473ffffffffffffffffffffffffffffffffffffffff1691506002906105a19086908690611c8b565b908152604080516020928190038301902080547fffffffffffffffffffffffff000000000000000000000000000000000000000016905573ffffffffffffffffffffffffffffffffffffffff831660009081526003909252812061060491611524565b8073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f946d7ea49afbef075e4d6f78364557a1cd3e32b89d9a963d6d041caac5e8953a8686604051610664929190611ce4565b60405180910390a350505050565b600060028383604051610686929190611c8b565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff16905092915050565b73ffffffffffffffffffffffffffffffffffffffff811660008181526003602052604080822090519192916002916106eb91611d4b565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff161492915050565b600060018383604051610686929190611c8b565b60608167ffffffffffffffff81111561074757610747611695565b60405190808252806020026020018201604052801561077a57816020015b60608152602001906001900390816107655790505b50905060005b8281101561081a576107ea3085858481811061079e5761079e611ddf565b90506020028101906107b09190611e0e565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061126992505050565b8282815181106107fc576107fc611ddf565b6020026020010181905250808061081290611e73565b915050610780565b5092915050565b60607fe4a10d29decbd34c09a62a511d4fd993a7d8cbbf58d7d4278711c29c9148b8f761084e8133610e63565b61088d576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016102b8565b6109298c8c8c8c8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061091a92508c91508d9050611ed2565b610924898b611ed2565b6110d0565b9c9b505050505050505050505050565b7fc9a6ce5d86bdc06f8d57f20091bf09bf611e57d0626b65aa9ebb3c9179ba650f6109648133610e63565b6109a3576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016102b8565b73ffffffffffffffffffffffffffffffffffffffff82166109f0576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8160028585604051610a03929190611c8b565b908152604080516020928190038301902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9485161790559184166000908152600390915220610a6c848683611f2a565b508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f33f12a9d70fd5f6771d495aae3b2cf0abc703cbaa526982b65446f1ef8816f9b8686604051610664929190611ce4565b7fc9a6ce5d86bdc06f8d57f20091bf09bf611e57d0626b65aa9ebb3c9179ba650f610af88133610e63565b610b37576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016102b8565b73ffffffffffffffffffffffffffffffffffffffff8216610b84576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8160018585604051610b97929190611c8b565b908152604051908190036020018120805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff0000000000000000000000000000000000000000909116179055908316906000907f14d77cb3ef4c75b9a031527cf63890f47708121a75c8b9c9cddbacc19defd122906106649088908890611ce4565b60607fe4a10d29decbd34c09a62a511d4fd993a7d8cbbf58d7d4278711c29c9148b8f7610c4a8133610e63565b610c89576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016102b8565b610c97888888888888610f22565b98975050505050505050565b7fc9a6ce5d86bdc06f8d57f20091bf09bf611e57d0626b65aa9ebb3c9179ba650f610cce8133610e63565b610d0d576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016102b8565b600073ffffffffffffffffffffffffffffffffffffffff1660018484604051610d37929190611c8b565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff1603610d985782826040517f97385f510000000000000000000000000000000000000000000000000000000081526004016102b8929190611ce4565b600060018484604051610dac929190611c8b565b9081526040519081900360200181205473ffffffffffffffffffffffffffffffffffffffff169150600190610de49086908690611c8b565b90815260405190819003602001812080547fffffffffffffffffffffffff000000000000000000000000000000000000000016905573ffffffffffffffffffffffffffffffffffffffff8216906000907f335f1d2bb0046b3a423088788bb8d6350f8a36ff7d554592f91d8102ea0ce4d7906106649088908890611ce4565b600080546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff8481166024830152909116906391d1485490604401602060405180830381865afa158015610edb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eff9190612045565b9392505050565b6000610f118361128e565b8015610eff5750610eff83836112f3565b6060600060018686604051610f38929190611c8b565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff16905080610f9b5785856040517f97385f510000000000000000000000000000000000000000000000000000000081526004016102b8929190611ce4565b6040517f4fcbd21300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821690634fcbd21390610ff3908b908b9089908990600401612067565b6000604051808303816000875af1158015611012573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261105891908101906120a1565b91508673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167f48786003f3d30e41bfa4ee09afdeb9bfb04b7e06e2f74f3177da393a793bbc33888888886040516110bd9493929190612118565b60405180910390a3509695505050505050565b606060006001866040516110e4919061213f565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff1690508061114557856040517f97385f510000000000000000000000000000000000000000000000000000000081526004016102b89190611982565b6040517fb6efd29d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82169063b6efd29d9061119f908b908b908a908a908a9060040161215b565b6000604051808303816000875af11580156111be573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261120491908101906120a1565b91508673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fc370e2f187a6d9446aca617bbcd60f84f24a0020a0c55dbc4ff5c8a3ce87abb5888888886040516110bd94939291906121ba565b6060610eff8383604051806060016040528060278152602001612208602791396113c2565b60006112ba827f01ffc9a7000000000000000000000000000000000000000000000000000000006112f3565b80156112ed57506112eb827fffffffff000000000000000000000000000000000000000000000000000000006112f3565b155b92915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d915060005190508280156113ab575060208210155b80156113b75750600081115b979650505050505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516113ec919061213f565b600060405180830381855af49150503d8060008114611427576040519150601f19603f3d011682016040523d82523d6000602084013e61142c565b606091505b50915091506103fb86838387606083156114ce5782516000036114c75773ffffffffffffffffffffffffffffffffffffffff85163b6114c7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102b8565b50816114d8565b6114d883836114e0565b949350505050565b8151156114f05781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102b89190611982565b50805461153090611cf8565b6000825580601f10611540575050565b601f01602090049060005260206000209081019061155e9190611561565b50565b5b808211156115765760008155600101611562565b5090565b73ffffffffffffffffffffffffffffffffffffffff8116811461155e57600080fd5b80356115a78161157a565b919050565b6000602082840312156115be57600080fd5b8135610eff8161157a565b60008083601f8401126115db57600080fd5b50813567ffffffffffffffff8111156115f357600080fd5b60208301915083602082850101111561160b57600080fd5b9250929050565b60008060008060006060868803121561162a57600080fd5b85356116358161157a565b9450602086013567ffffffffffffffff8082111561165257600080fd5b61165e89838a016115c9565b9096509450604088013591508082111561167757600080fd5b50611684888289016115c9565b969995985093965092949392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561170b5761170b611695565b604052919050565b600067ffffffffffffffff82111561172d5761172d611695565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f83011261176a57600080fd5b813561177d61177882611713565b6116c4565b81815284602083860101111561179257600080fd5b816020850160208301376000918101602001919091529392505050565b600067ffffffffffffffff808411156117ca576117ca611695565b8360051b60206117db8183016116c4565b868152935090840190808401878311156117f457600080fd5b855b838110156118285780358581111561180e5760008081fd5b61181a8a828a01611759565b8352509082019082016117f6565b50505050509392505050565b600082601f83011261184557600080fd5b610eff838335602085016117af565b600080600080600060a0868803121561186c57600080fd5b85356118778161157a565b9450602086013567ffffffffffffffff8082111561189457600080fd5b6118a089838a01611759565b955060408801359150808211156118b657600080fd5b6118c289838a01611759565b945060608801359150808211156118d857600080fd5b6118e489838a01611834565b935060808801359150808211156118fa57600080fd5b5061190788828901611834565b9150509295509295909350565b60005b8381101561192f578181015183820152602001611917565b50506000910152565b60008151808452611950816020860160208601611914565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610eff6020830184611938565b6000806000604084860312156119aa57600080fd5b833567ffffffffffffffff8111156119c157600080fd5b6119cd868287016115c9565b90945092505060208401356119e18161157a565b809150509250925092565b600080602083850312156119ff57600080fd5b823567ffffffffffffffff811115611a1657600080fd5b611a22858286016115c9565b90969095509350505050565b60008083601f840112611a4057600080fd5b50813567ffffffffffffffff811115611a5857600080fd5b6020830191508360208260051b850101111561160b57600080fd5b60008060208385031215611a8657600080fd5b823567ffffffffffffffff811115611a9d57600080fd5b611a2285828601611a2e565b6000815180845260208085019450848260051b860182860160005b85811015611aee578383038952611adc838351611938565b98850198925090840190600101611ac4565b5090979650505050505050565b602081526000610eff6020830184611aa9565b60008060008060008060008060008060c08b8d031215611b2d57600080fd5b611b368b61159c565b9950611b4460208c0161159c565b985060408b013567ffffffffffffffff80821115611b6157600080fd5b611b6d8e838f016115c9565b909a50985060608d0135915080821115611b8657600080fd5b611b928e838f016115c9565b909850965060808d0135915080821115611bab57600080fd5b611bb78e838f01611a2e565b909650945060a08d0135915080821115611bd057600080fd5b50611bdd8d828e01611a2e565b915080935050809150509295989b9194979a5092959850565b60008060008060008060808789031215611c0f57600080fd5b8635611c1a8161157a565b95506020870135611c2a8161157a565b9450604087013567ffffffffffffffff80821115611c4757600080fd5b611c538a838b016115c9565b90965094506060890135915080821115611c6c57600080fd5b50611c7989828a016115c9565b979a9699509497509295939492505050565b8183823760009101908152919050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6020815260006114d8602083018486611c9b565b600181811c90821680611d0c57607f821691505b602082108103611d45577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b6000808354611d5981611cf8565b60018281168015611d715760018114611da457611dd3565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0084168752821515830287019450611dd3565b8760005260208060002060005b85811015611dca5781548a820152908401908201611db1565b50505082870194505b50929695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611e4357600080fd5b83018035915067ffffffffffffffff821115611e5e57600080fd5b60200191503681900382131561160b57600080fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611ecb577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b6000610eff3684846117af565b601f821115611f2557600081815260208120601f850160051c81016020861015611f065750805b601f850160051c820191505b818110156103e357828155600101611f12565b505050565b67ffffffffffffffff831115611f4257611f42611695565b611f5683611f508354611cf8565b83611edf565b6000601f841160018114611fa85760008515611f725750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b17835561203e565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b82811015611ff75786850135825560209485019460019092019101611fd7565b5086821015612032577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b60006020828403121561205757600080fd5b81518015158114610eff57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250606060408301526103fb606083018486611c9b565b6000602082840312156120b357600080fd5b815167ffffffffffffffff8111156120ca57600080fd5b8201601f810184136120db57600080fd5b80516120e961177882611713565b8181528560208385010111156120fe57600080fd5b61210f826020830160208601611914565b95945050505050565b60408152600061212c604083018688611c9b565b82810360208401526113b7818587611c9b565b60008251612151818460208701611914565b9190910192915050565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525060a0604083015261219460a0830186611938565b82810360608401526121a68186611aa9565b90508281036080840152610c978185611aa9565b6080815260006121cd6080830187611938565b82810360208401526121df8187611938565b905082810360408401526121f38186611aa9565b905082810360608401526113b78185611aa956fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220db500e1b4c73af951db86225ddf5da0ca8d3d8bec7e9430df8a7b51035fa9ee564736f6c63430008130033000000000000000000000000bd132e42baafe3648170770f2d45dba59166e06d", + "nonce": "0x7d5", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x1f3dc0d59df858826799989459af30bd37cf4fa01610ea98add6f5813cd2cafc", + "transactionType": "CREATE", + "contractName": "IPAssetRegistry", + "contractAddress": "0x7a7BC5640637b74ABEcc6e908Ed548eE1969c948", + "function": null, + "arguments": [ + "0xe8ab207A5C21162Db1ee75e378A92C82d550a8d1" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x132c3f", + "value": "0x0", + "data": "0x60a0604052600060015534801561001557600080fd5b5060405161113e38038061113e83398101604081905261003491610045565b6001600160a01b0316608052610075565b60006020828403121561005757600080fd5b81516001600160a01b038116811461006e57600080fd5b9392505050565b6080516110926100ac6000396000818161018e0152818161023f0152818161040f0152818161057c01526106af01526110926000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806387cb967a1161005b57806387cb967a14610150578063b95ddb5214610189578063c47f8bfa146101b0578063d896dd64146101d057600080fd5b8063251fe79c1461008d578063299d1cf6146100a257806342d21ef7146100df578063601a924c1461012f575b600080fd5b6100a061009b366004610b62565b6101e3565b005b6100b56100b0366004610b92565b61039b565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61011d6100ed366004610b92565b60009081526020819052604090206001015474010000000000000000000000000000000000000000900460ff1690565b60405160ff90911681526020016100d6565b61014261013d366004610bda565b61051d565b6040519081526020016100d6565b6100b561015e366004610b92565b60009081526020819052604090206002015473ffffffffffffffffffffffffffffffffffffffff1690565b6100b57f000000000000000000000000000000000000000000000000000000000000000081565b6101c36101be366004610b92565b610951565b6040516100d69190610d3a565b6100a06101de366004610dbd565b610aa0565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815233917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a9161028791600401610de8565b602060405180830381865afa1580156102a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102c89190610dfb565b73ffffffffffffffffffffffffffffffffffffffff1614610315576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008281526020819052604080822060020180547fffffffffffffffffffffffff0000000000000000000000000000000000000000811673ffffffffffffffffffffffffffffffffffffffff8681169182179093559251911692839186917f147c62691502c52a4a793c136ab712d9695053acdd62d44170a823bc377a59f591a4505050565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a000000000000000000000000000000000000000000000000000000008152600091829173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a916104439190600401610de8565b602060405180830381865afa158015610460573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104849190610dfb565b6040517f6352211e0000000000000000000000000000000000000000000000000000000081526004810185905290915073ffffffffffffffffffffffffffffffffffffffff821690636352211e90602401602060405180830381865afa1580156104f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105169190610dfb565b9392505050565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260009133917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a916105c59190600401610de8565b602060405180830381865afa1580156105e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106069190610dfb565b73ffffffffffffffffffffffffffffffffffffffff1614610653576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815233917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a916106f791600401610de8565b602060405180830381865afa158015610714573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107389190610dfb565b73ffffffffffffffffffffffffffffffffffffffff1614610785576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016000815461079490610e18565b91829055506040805160c08101825285815273ffffffffffffffffffffffffffffffffffffffff8781166020808401919091526001838501529089166060830152608082018690524267ffffffffffffffff811660a084015260008581529182905292902081519394509192909190819061080f9082610f19565b50602082015160018201805460408086015160ff1674010000000000000000000000000000000000000000027fffffffffffffffffffffff00000000000000000000000000000000000000000090921673ffffffffffffffffffffffffffffffffffffffff948516179190911790915560608401516002840180549184167fffffffffffffffffffffffff0000000000000000000000000000000000000000929092169190911790556080840151600384015560a0909301516004909201805467ffffffffffffffff9093167fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909316929092179091559051868216918816907f964ceb922535d169779e716f1dea5a577aeef2427e753bdb9eace345bca56b929061094090869089908990611033565b60405180910390a350949350505050565b6040805160c081018252606080825260006020830181905292820183905281018290526080810182905260a081019190915260008281526020819052604090819020815160c081019092528054829082906109ab90610e77565b80601f01602080910402602001604051908101604052809291908181526020018280546109d790610e77565b8015610a245780601f106109f957610100808354040283529160200191610a24565b820191906000526020600020905b815481529060010190602001808311610a0757829003601f168201915b5050509183525050600182015473ffffffffffffffffffffffffffffffffffffffff80821660208401527401000000000000000000000000000000000000000090910460ff16604083015260028301541660608201526003820154608082015260049091015467ffffffffffffffff1660a09091015292915050565b60008281526020818152604091829020600101805460ff858116740100000000000000000000000000000000000000008181027fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff8516179094558551939092041680835292820152849283917fd98efe2dd5b76c52df27ca251c889b2339e9f49fdd2e02e72abbae1136a1f014910160405180910390a250505050565b73ffffffffffffffffffffffffffffffffffffffff81168114610b5f57600080fd5b50565b60008060408385031215610b7557600080fd5b823591506020830135610b8781610b3d565b809150509250929050565b600060208284031215610ba457600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060008060808587031215610bf057600080fd5b8435610bfb81610b3d565b93506020850135610c0b81610b3d565b9250604085013567ffffffffffffffff80821115610c2857600080fd5b818701915087601f830112610c3c57600080fd5b813581811115610c4e57610c4e610bab565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715610c9457610c94610bab565b816040528281528a6020848701011115610cad57600080fd5b826020860160208301376000928101602001929092525095989497509495606001359450505050565b6000815180845260005b81811015610cfc57602081850181015186830182015201610ce0565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081526000825160c06020840152610d5660e0840182610cd6565b9050602084015173ffffffffffffffffffffffffffffffffffffffff808216604086015260ff60408701511660608601528060608701511660808601525050608084015160a084015267ffffffffffffffff60a08501511660c08401528091505092915050565b60008060408385031215610dd057600080fd5b82359150602083013560ff81168114610b8757600080fd5b6020815260006105166020830184610cd6565b600060208284031215610e0d57600080fd5b815161051681610b3d565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610e70577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b600181811c90821680610e8b57607f821691505b602082108103610ec4577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f821115610f1457600081815260208120601f850160051c81016020861015610ef15750805b601f850160051c820191505b81811015610f1057828155600101610efd565b5050505b505050565b815167ffffffffffffffff811115610f3357610f33610bab565b610f4781610f418454610e77565b84610eca565b602080601f831160018114610f9a5760008415610f645750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610f10565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015610fe757888601518255948401946001909101908401610fc8565b508582101561102357878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b83815260606020820152600061104c6060830185610cd6565b905082604083015294935050505056fea26469706673582212208eaf86cacb600d9314b9d1d5d2261f9c609ee632773c3332418ebe9b5cc85fba64736f6c63430008130033000000000000000000000000e8ab207a5c21162db1ee75e378a92c82d550a8d1", + "nonce": "0x7d6", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x47b0c667bac6c924bd3eb35e1d2940d026a0e1f55f298389d0296cfc530aada2", + "transactionType": "CREATE", + "contractName": "LicenseRegistry", + "contractAddress": "0x80e012Ca980E1d3993d8beE99828619E5532B12b", + "function": null, + "arguments": [ + "0x7a7BC5640637b74ABEcc6e908Ed548eE1969c948", + "0xe8ab207A5C21162Db1ee75e378A92C82d550a8d1", + "0x43C1C831D370f36149183d31FdAC50b131289949" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x3e569c", + "value": "0x0", + "data": "0x60e06040523480156200001157600080fd5b5060405162003ab038038062003ab0833981016040819052620000349162000160565b6040518060400160405280601a81526020017f53746f72792050726f746f636f6c204c6963656e7365204e4654000000000000815250604051806040016040528060048152602001631313919560e21b81525081600090816200009891906200024f565b506001620000a782826200024f565b5050506001600160a01b038316620000d25760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b038084166080528216620001005760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0380831660a05281166200012e5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b031660c052506200031b9050565b80516001600160a01b03811681146200015b57600080fd5b919050565b6000806000606084860312156200017657600080fd5b620001818462000143565b9250620001916020850162000143565b9150620001a16040850162000143565b90509250925092565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620001d557607f821691505b602082108103620001f657634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200024a57600081815260208120601f850160051c81016020861015620002255750805b601f850160051c820191505b81811015620002465782815560010162000231565b5050505b505050565b81516001600160401b038111156200026b576200026b620001aa565b62000283816200027c8454620001c0565b84620001fc565b602080601f831160018114620002bb5760008415620002a25750858301515b600019600386901b1c1916600185901b17855562000246565b600085815260208120601f198616915b82811015620002ec57888601518255948401946001909101908401620002cb565b50858210156200030b5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60805160a05160c0516137426200036e600039600061043401526000818161048901528181610adb0152818161106c015281816112980152611808015260008181610522015261225301526137426000f3fe608060405234801561001057600080fd5b506004361061020b5760003560e01c806370a082311161012a578063c8c0eb87116100bd578063e006e5a71161008c578063e705c2b811610071578063e705c2b8146105b3578063e985e9c5146105c6578063eb683a491461060f57600080fd5b8063e006e5a714610567578063e58efef61461057a57600080fd5b8063c8c0eb87146104cc578063d09d894e1461050a578063d2faf8b01461051d578063d7f9ab8b1461054457600080fd5b8063a22cb465116100f9578063a22cb4651461045e578063b88d4fde14610471578063b95ddb5214610484578063c87b56dd146104ab57600080fd5b806370a082311461040957806371e074dd1461041c57806376a4b13b1461042f57806395d89b411461045657600080fd5b8063357a595a116101a2578063439d4b5c11610171578063439d4b5c1461039257806356227341146103a55780636103b2ce146103d65780636352211e146103f657600080fd5b8063357a595a1461031957806337f8ebfb1461032c5780633c06e1dc1461035657806342842e0e1461037f57600080fd5b806308a4f072116101de57806308a4f072146102be578063095ea7b3146102de5780631f09e4e5146102f357806323b872dd1461030657600080fd5b806301ffc9a714610210578063056569af1461023857806306fdde0314610296578063081812fc146102ab575b600080fd5b61022361021e366004612a88565b610622565b60405190151581526020015b60405180910390f35b610271610246366004612aac565b60009081526006602052604090206001015473ffffffffffffffffffffffffffffffffffffffff1690565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161022f565b61029e610707565b60405161022f9190612b29565b6102716102b9366004612aac565b610799565b6102d16102cc366004612aac565b6107cd565b60405161022f9190612b3c565b6102f16102ec366004612bf7565b6108db565b005b6102f1610301366004612c21565b610a6c565b6102f1610314366004612c4d565b610b96565b6102f1610327366004612aac565b610c37565b61022361033a366004612aac565b6000908152600660205260409020546301000000900460ff1690565b610223610364366004612aac565b60009081526006602052604090205462010000900460ff1690565b6102f161038d366004612c4d565b610c44565b6102f16103a0366004612aac565b610c5f565b6103c86103b3366004612aac565b60009081526006602052604090206005015490565b60405190815260200161022f565b6103e96103e4366004612aac565b610d25565b60405161022f9190612cf3565b610271610404366004612aac565b610ea1565b6103c8610417366004612de3565b610f2d565b6102f161042a366004612dfe565b610ffb565b6102717f000000000000000000000000000000000000000000000000000000000000000081565b61029e611164565b6102f161046c366004612e39565b611173565b6102f161047f366004612fc9565b61117e565b6102717f000000000000000000000000000000000000000000000000000000000000000081565b61029e6104b9366004612aac565b5060408051602081019091526000815290565b6102716104da366004612aac565b600090815260066020526040902054640100000000900473ffffffffffffffffffffffffffffffffffffffff1690565b6103c8610518366004613031565b611226565b6102717f000000000000000000000000000000000000000000000000000000000000000081565b6103c8610552366004612aac565b60009081526006602052604090206004015490565b610271610575366004612aac565b6116c7565b610271610588366004612aac565b60009081526006602052604090206002015473ffffffffffffffffffffffffffffffffffffffff1690565b6102236105c1366004612aac565b6116d2565b6102236105d4366004613075565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260056020908152604080832093909416825291909152205460ff1690565b6103c861061d3660046131a9565b611796565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd0000000000000000000000000000000000000000000000000000000014806106b557507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b8061070157507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b606060008054610716906132b0565b80601f0160208091040260200160405190810160405280929190818152602001828054610742906132b0565b801561078f5780601f106107645761010080835404028352916020019161078f565b820191906000526020600020905b81548152906001019060200180831161077257829003601f168201915b5050505050905090565b60006107a482611bb0565b5060009081526004602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b606060076000838152602001908152602001600020805480602002602001604051908101604052809291908181526020016000905b828210156108d057838290600052602060002090600202016040518060400160405290816000820154815260200160018201805461083f906132b0565b80601f016020809104026020016040519081016040528092919081815260200182805461086b906132b0565b80156108b85780601f1061088d576101008083540402835291602001916108b8565b820191906000526020600020905b81548152906001019060200180831161089b57829003601f168201915b50505050508152505081526020019060010190610802565b505050509050919050565b60006108e682610ea1565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036109a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff821614806109d157506109d181336105d4565b610a5d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000606482015260840161099f565b610a678383611c3b565b505050565b604080518082018252601081527f4c4943454e53494e475f4d4f44554c4500000000000000000000000000000000602082015290517f3af83c1800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001691633af83c1891610b1191903390600401613303565b602060405180830381865afa158015610b2e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b52919061333b565b610b88576040517f039cb0ee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b928282611cdb565b5050565b610ba03382611e2a565b610c2c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f76656400000000000000000000000000000000000000606482015260840161099f565b610a67838383611ee9565b610c418133611cdb565b50565b610a678383836040518060200160405280600081525061117e565b600081815260066020526040902054640100000000900473ffffffffffffffffffffffffffffffffffffffff163314610cc4576040517f95e4a90e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008181526006602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660031790555182917ff8ecc300d4504a2b49692052f138b7e697df679cf0580522720ce405bd01be5591a250565b6040805161014081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810191909152600082815260066020526040812090815460ff166003811115610d9b57610d9b612c89565b03610dd2576040517fc28093d700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408051610140810190915281548290829060ff166003811115610df857610df8612c89565b6003811115610e0957610e09612c89565b8152815461010080820460ff9081161515602085015262010000830481161515604085015263010000008304161515606084015264010000000090910473ffffffffffffffffffffffffffffffffffffffff90811660808401526001840154811660a084015260028401541660c0830152600383015460e0830152600483015490820152600590910154610120909101529392505050565b60008181526002602052604081205473ffffffffffffffffffffffffffffffffffffffff1680610701576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e2049440000000000000000604482015260640161099f565b600073ffffffffffffffffffffffffffffffffffffffff8216610fd2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e65720000000000000000000000000000000000000000000000606482015260840161099f565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526003602052604090205490565b604080518082018252601081527f4c4943454e53494e475f4d4f44554c4500000000000000000000000000000000602082015290517f3af83c18000000000000000000000000000000000000000000000000000000008152839173ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001691633af83c18916110a1913390600401613303565b602060405180830381865afa1580156110be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110e2919061333b565b15801561112357506110f381610ea1565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b1561115a576040517fc1b4742400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a6783836121e4565b606060018054610716906132b0565b610b9233838361239b565b6111883383611e2a565b611214576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f76656400000000000000000000000000000000000000606482015260840161099f565b611220848484846124c8565b50505050565b604080518082018252601081527f4c4943454e53494e475f4d4f44554c4500000000000000000000000000000000602082015290517f3af83c1800000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001691633af83c18916112cd913390600401613303565b602060405180830381865afa1580156112ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061130e919061333b565b611344576040517f039cb0ee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61134d856116d2565b611383576040517f72b0a52c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600085815260066020526040808220815161014081019092528054829060ff1660038111156113b4576113b4612c89565b60038111156113c5576113c5612c89565b8152815461010080820460ff9081161515602085015262010000830481161515604085015263010000008304161515606084015264010000000090910473ffffffffffffffffffffffffffffffffffffffff90811660808401526001840154811660a084015260028401541660c0830152600383015460e08301526004830154908201526005909101546101209091015260088054919250600091829061146b90613358565b9182905550610120830188905273ffffffffffffffffffffffffffffffffffffffff871660a084015261010083018590526060830151909150156114ae57600282525b600087815260076020526040808220838352912081546114ce9290612980565b506000818152600660205260409020825181548492919082907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600183600381111561151d5761151d612c89565b021790555060208201518154604080850151606086015160808701517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000ff90941661010095151586027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff16176201000092151592909202919091177fffffffffffffffff000000000000000000000000000000000000000000ffffff166301000000911515919091027fffffffffffffffff0000000000000000000000000000000000000000ffffffff161764010000000073ffffffffffffffffffffffffffffffffffffffff9384160217845560a08501516001850180547fffffffffffffffffffffffff000000000000000000000000000000000000000090811692851692909217905560c086015160028601805490921693169290921790915560e08401516003840155908301516004830155610120909201516005909101555181907f0eaf6d681055f593c54be5a95da92bb2249915d24efbd7686fd32f6f89784204906116a9908590612cf3565b60405180910390a26116bb858261256b565b9150505b949350505050565b600061070182610ea1565b6000816000036116e457506000919050565b811561178e57600260008381526006602052604090205460ff16600381111561170f5761170f612c89565b148061173b575060008281526006602052604081205460ff16600381111561173957611739612c89565b145b806117685750600360008381526006602052604090205460ff16600381111561176657611766612c89565b145b1561177557506000919050565b60009182526006602052604090912060050154906116e4565b506001919050565b604080518082018252601081527f4c4943454e53494e475f4d4f44554c4500000000000000000000000000000000602082015290517f3af83c1800000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001691633af83c189161183d913390600401613303565b602060405180830381865afa15801561185a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061187e919061333b565b6118b4576040517f039cb0ee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b835160018160038111156118ca576118ca612c89565b141580156118ea575060028160038111156118e7576118e7612c89565b14155b15611921576040517f92439ccc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060086000815461193290613358565b9182905550600081815260066020526040902087518154929350889282907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600183600381111561198657611986612c89565b021790555060208201518154604080850151606086015160808701517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000ff90941661010095151586027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff16176201000092151592909202919091177fffffffffffffffff000000000000000000000000000000000000000000ffffff166301000000911515919091027fffffffffffffffff0000000000000000000000000000000000000000ffffffff161764010000000073ffffffffffffffffffffffffffffffffffffffff9384160217845560a08501516001850180547fffffffffffffffffffffffff000000000000000000000000000000000000000090811692851692909217905560c086015160028601805490921693169290921790915560e08401516003840155908301516004830155610120909201516005909101555181907f0eaf6d681055f593c54be5a95da92bb2249915d24efbd7686fd32f6f8978420490611b12908990612cf3565b60405180910390a2611b24858261256b565b83516000828152600760205260408120905b82811015611ba35781878281518110611b5157611b516133b7565b6020908102919091018101518254600181810185556000948552938390208251600290920201908155918101519092820190611b8d9082613434565b5050508080611b9b90613358565b915050611b36565b5091979650505050505050565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff16610c41576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e2049440000000000000000604482015260640161099f565b600081815260046020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091558190611c9582610ea1565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000828152600660205260409020600181015473ffffffffffffffffffffffffffffffffffffffff838116911614611d3f576040517f54c26a8800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002815460ff166003811115611d5757611d57612c89565b14611d8e576040517ff40190f500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611d9b81600501546116d2565b611dd1576040517f72b0a52c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117815560405183907fa3ada00687872cb827044ee48684890eeb5caffc2d7abf015ea327c7d7d06b8490600090a2505050565b600080611e3683610ea1565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611ea4575073ffffffffffffffffffffffffffffffffffffffff80821660009081526005602090815260408083209388168352929052205460ff165b806116bf57508373ffffffffffffffffffffffffffffffffffffffff16611eca84610799565b73ffffffffffffffffffffffffffffffffffffffff1614949350505050565b8273ffffffffffffffffffffffffffffffffffffffff16611f0982610ea1565b73ffffffffffffffffffffffffffffffffffffffff1614611fac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e6572000000000000000000000000000000000000000000000000000000606482015260840161099f565b73ffffffffffffffffffffffffffffffffffffffff821661204e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161099f565b8273ffffffffffffffffffffffffffffffffffffffff1661206e82610ea1565b73ffffffffffffffffffffffffffffffffffffffff1614612111576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e6572000000000000000000000000000000000000000000000000000000606482015260840161099f565b600081815260046020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff8781168086526003855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b816121ee816116d2565b612224576040517fa15e441100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f42d21ef7000000000000000000000000000000000000000000000000000000008152600481018390527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906342d21ef790602401602060405180830381865afa1580156122af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122d3919061354e565b60ff1660011461230f576040517f32a7f99e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008381526006602052604090206004015415612358576040517fed035e9700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008381526006602052604080822060040184905551839185917f9d2bbd85f58e2a13e5a13a8d77b039e02a44b601338e36691ab827a547b2353e9190a3505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612430576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161099f565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526005602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6124d3848484611ee9565b6124df84848484612790565b611220576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e7465720000000000000000000000000000606482015260840161099f565b73ffffffffffffffffffffffffffffffffffffffff82166125e8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161099f565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1615612674576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161099f565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1615612700576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161099f565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260036020908152604080832080546001019055848352600290915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b600073ffffffffffffffffffffffffffffffffffffffff84163b15612978576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a0290612807903390899088908890600401613571565b6020604051808303816000875af1925050508015612860575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261285d918101906135ba565b60015b61292d573d80801561288e576040519150601f19603f3d011682016040523d82523d6000602084013e612893565b606091505b508051600003612925576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e7465720000000000000000000000000000606482015260840161099f565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a02000000000000000000000000000000000000000000000000000000001490506116bf565b5060016116bf565b8280548282559060005260206000209060020281019282156129dd5760005260206000209160020282015b828111156129dd578254825582826001808201906129cb908401826135d7565b505050916002019190600201906129ab565b506129e99291506129ed565b5090565b808211156129e9576000808255612a076001830182612a10565b506002016129ed565b508054612a1c906132b0565b6000825580601f10612a2c575050565b601f016020900490600052602060002090810190610c4191905b808211156129e95760008155600101612a46565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610c4157600080fd5b600060208284031215612a9a57600080fd5b8135612aa581612a5a565b9392505050565b600060208284031215612abe57600080fd5b5035919050565b6000815180845260005b81811015612aeb57602081850181015186830182015201612acf565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081526000612aa56020830184612ac5565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015612bc0578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0018552815180518452870151878401879052612bad87850182612ac5565b9588019593505090860190600101612b63565b509098975050505050505050565b803573ffffffffffffffffffffffffffffffffffffffff81168114612bf257600080fd5b919050565b60008060408385031215612c0a57600080fd5b612c1383612bce565b946020939093013593505050565b60008060408385031215612c3457600080fd5b82359150612c4460208401612bce565b90509250929050565b600080600060608486031215612c6257600080fd5b612c6b84612bce565b9250612c7960208501612bce565b9150604084013590509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60048110612cef577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b600061014082019050612d07828451612cb8565b6020830151612d1a602084018215159052565b506040830151612d2e604084018215159052565b506060830151612d42606084018215159052565b506080830151612d6a608084018273ffffffffffffffffffffffffffffffffffffffff169052565b5060a0830151612d9260a084018273ffffffffffffffffffffffffffffffffffffffff169052565b5060c0830151612dba60c084018273ffffffffffffffffffffffffffffffffffffffff169052565b5060e083015160e083015261010080840151818401525061012080840151818401525092915050565b600060208284031215612df557600080fd5b612aa582612bce565b60008060408385031215612e1157600080fd5b50508035926020909101359150565b8015158114610c4157600080fd5b8035612bf281612e20565b60008060408385031215612e4c57600080fd5b612e5583612bce565b91506020830135612e6581612e20565b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715612ec257612ec2612e70565b60405290565b604051610140810167ffffffffffffffff81118282101715612ec257612ec2612e70565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715612f3357612f33612e70565b604052919050565b600082601f830112612f4c57600080fd5b813567ffffffffffffffff811115612f6657612f66612e70565b612f9760207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601612eec565b818152846020838601011115612fac57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060808587031215612fdf57600080fd5b612fe885612bce565b9350612ff660208601612bce565b925060408501359150606085013567ffffffffffffffff81111561301957600080fd5b61302587828801612f3b565b91505092959194509250565b6000806000806080858703121561304757600080fd5b8435935061305760208601612bce565b925061306560408601612bce565b9396929550929360600135925050565b6000806040838503121561308857600080fd5b61309183612bce565b9150612c4460208401612bce565b803560048110612bf257600080fd5b600082601f8301126130bf57600080fd5b8135602067ffffffffffffffff808311156130dc576130dc612e70565b8260051b6130eb838201612eec565b938452858101830193838101908886111561310557600080fd5b84880192505b8583101561319d578235848111156131235760008081fd5b88016040818b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0018113156131595760008081fd5b613161612e9f565b82880135815290820135908682111561317a5760008081fd5b6131888c8984860101612f3b565b8189015284525050918401919084019061310b565b98975050505050505050565b60008060008385036101808112156131c057600080fd5b610140808212156131d057600080fd5b6131d8612ec8565b91506131e38661309f565b82526131f160208701612e2e565b602083015261320260408701612e2e565b604083015261321360608701612e2e565b606083015261322460808701612bce565b608083015261323560a08701612bce565b60a083015261324660c08701612bce565b60c083015260e086013560e083015261010080870135818401525061012080870135818401525081945061327b818701612bce565b9350505061016084013567ffffffffffffffff81111561329a57600080fd5b6132a6868287016130ae565b9150509250925092565b600181811c908216806132c457607f821691505b6020821081036132fd577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b6040815260006133166040830185612ac5565b905073ffffffffffffffffffffffffffffffffffffffff831660208301529392505050565b60006020828403121561334d57600080fd5b8151612aa581612e20565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036133b0577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b601f821115610a6757600081815260208120601f850160051c8101602086101561340d5750805b601f850160051c820191505b8181101561342c57828155600101613419565b505050505050565b815167ffffffffffffffff81111561344e5761344e612e70565b6134628161345c84546132b0565b846133e6565b602080601f8311600181146134b5576000841561347f5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b17855561342c565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015613502578886015182559484019460019091019084016134e3565b508582101561353e57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121561356057600080fd5b815160ff81168114612aa557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250836040830152608060608301526135b06080830184612ac5565b9695505050505050565b6000602082840312156135cc57600080fd5b8151612aa581612a5a565b8181036135e2575050565b6135ec82546132b0565b67ffffffffffffffff81111561360457613604612e70565b6136128161345c84546132b0565b6000601f821160018114613664576000831561362e5750848201545b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600385901b1c1916600184901b178455613705565b6000858152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0841690600086815260209020845b838110156136bc578286015482556001958601959091019060200161369c565b50858310156136f857818501547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b50505060018360011b0184555b505050505056fea264697066735822122005918b5bf82ecfc5cbade9a10b99b05effee689d7ff16f261a52e83b5a4c9b0464736f6c634300081300330000000000000000000000007a7bc5640637b74abecc6e908ed548ee1969c948000000000000000000000000e8ab207a5c21162db1ee75e378a92c82d550a8d100000000000000000000000043c1c831d370f36149183d31fdac50b131289949", + "nonce": "0x7d7", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x837f18a854f0ec5dd019e632a81e4b6ab1533e75db88a7530c815ba404b062e8", + "transactionType": "CREATE", + "contractName": "IPOrgController", + "contractAddress": "0x1C20873a915505cBaFb576B3B152EeCE6a0BFD60", + "function": null, + "arguments": [ + "0xe8ab207A5C21162Db1ee75e378A92C82d550a8d1" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x5e866f", + "value": "0x0", + "data": "0x60c0604052306080523480156200001557600080fd5b50604051620056d6380380620056d683398101604081905262000038916200004a565b6001600160a01b031660a0526200007c565b6000602082840312156200005d57600080fd5b81516001600160a01b03811681146200007557600080fd5b9392505050565b60805160a05161560a620000cc6000396000818161028b01528181610e88015261121b0152600081816106ae01528181610760015281816108bc0152818161096e0152610abe015261560a6000f3fe608060405260043610620000fb5760003560e01c806398e8e6ea1162000095578063caae51b81162000060578063caae51b814620002d2578063d8b67cc214620002f7578063eb3dcb7c146200031c578063fc1dad81146200035257600080fd5b806398e8e6ea146200022d578063a0f336f81462000252578063b95ddb521462000277578063c4d66de814620002ad57600080fd5b80633659cfe611620000d65780633659cfe6146200019b57806349403c8e14620001c05780634f1ef28614620001ef57806352d1902d146200020657600080fd5b806314afd79e146200010057806319129e5a146200014f57806331678cf61462000176575b600080fd5b3480156200010d57600080fd5b50620001256200011f366004620021c5565b6200039e565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b3480156200015c57600080fd5b50620001746200016e366004620021c5565b620003cf565b005b3480156200018357600080fd5b506200017462000195366004620021e3565b6200055b565b348015620001a857600080fd5b5062000174620001ba366004620021c5565b62000697565b348015620001cd57600080fd5b50606554620001259073ffffffffffffffffffffffffffffffffffffffff1681565b6200017462000200366004620022e5565b620008a5565b3480156200021357600080fd5b506200021e62000aa4565b60405190815260200162000146565b3480156200023a57600080fd5b50620001256200024c366004620023cc565b62000b92565b3480156200025f57600080fd5b506200017462000271366004620021c5565b62000f81565b3480156200028457600080fd5b50620001257f000000000000000000000000000000000000000000000000000000000000000081565b348015620002ba57600080fd5b5062000174620002cc366004620021c5565b620010ee565b348015620002df57600080fd5b5062000125620002f1366004620021c5565b6200134c565b3480156200030457600080fd5b506200017462000316366004620021c5565b6200137b565b3480156200032957600080fd5b50620003416200033b366004620021c5565b620014aa565b604051901515815260200162000146565b3480156200035f57600080fd5b507f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b65473ffffffffffffffffffffffffffffffffffffffff1662000125565b600080620003ac83620014e7565b54610100900473ffffffffffffffffffffffffffffffffffffffff169392505050565b6000620003dd813362001561565b62000422576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b6200046473ffffffffffffffffffffffffffffffffffffffff83167f7965db0b000000000000000000000000000000000000000000000000000000006200162e565b620004cc576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c000000000000000000000000000000000000604482015260640162000419565b7f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811782556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a2505050565b60006200056883620014e7565b8054909150610100900473ffffffffffffffffffffffffffffffffffffffff163314620005c1576040517f14d325a600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff82166200060f576040517f19f28cd700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84811691821790925560408051928616835260208301919091527f9d1eed91033af603ca90974d7f9dcffdc1a38de6e354262a1cd59243e6997f6091015b60405180910390a1505050565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630036200075e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c0000000000000000000000000000000000000000606482015260840162000419565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16620007d47f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff161462000879576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f78790000000000000000000000000000000000000000606482015260840162000419565b620008848162001656565b60408051600080825260208201909252620008a291839190620016c4565b50565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630036200096c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c0000000000000000000000000000000000000000606482015260840162000419565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16620009e27f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff161462000a87576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f78790000000000000000000000000000000000000000606482015260840162000419565b62000a928262001656565b62000aa082826001620016c4565b5050565b60003073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161462000b6d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c0000000000000000606482015260840162000419565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b600073ffffffffffffffffffffffffffffffffffffffff881662000be2576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60655462000c069073ffffffffffffffffffffffffffffffffffffffff16620018d4565b6040517f4cd88b7600000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff821690634cd88b769062000c63908a908a908a908a90600401620024fd565b600060405180830381600087803b15801562000c7e57600080fd5b505af115801562000c93573d6000803e3d6000fd5b50505050600062000ca36200199e565b60408051606081018252600180825273ffffffffffffffffffffffffffffffffffffffff8d8116602080850191825260008587018181528a851682528883528782209651875494517fffffffffffffffffffffff0000000000000000000000000000000000000000009095169015157fffffffffffffffffffffff0000000000000000000000000000000000000000ff16176101009486169490940293909317865591519490930180547fffffffffffffffffffffffff000000000000000000000000000000000000000016949092169390931790559151929350917f9aeb830ec91a14c97a5446cc7c86a42f73a78f37f9a77afa238b5d11520ddfbc9162000db1918891889101620025df565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905262000def929160200162002667565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181528282018252601383527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602084015290517fe1fc45ce00000000000000000000000000000000000000000000000000000000815290925073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163e1fc45ce9162000ec4918791309190879060040162002682565b6000604051808303816000875af115801562000ee4573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405262000f2c9190810190620026d1565b507f81e084d978860accc83df39f75b801d9019e40d18643b9b39f4cd2a70ca35adb8a848b8b8b8b8b8b60405162000f6c98979695949392919062002751565b60405180910390a15050979650505050505050565b600062000f8e82620014e7565b600181015490915073ffffffffffffffffffffffffffffffffffffffff16331462000fe5576040517f14d325a600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80546001820180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055336101009081027fffffffffffffffffffffff0000000000000000000000000000000000000000ff83161783556040805173ffffffffffffffffffffffffffffffffffffffff86811682526000602083015292909304909116917f9d1eed91033af603ca90974d7f9dcffdc1a38de6e354262a1cd59243e6997f60910160405180910390a16040805173ffffffffffffffffffffffffffffffffffffffff80861682528316602082015233918101919091527fa32ba34dcc7e0ace14cb99fb86f246e799dc1c9f82f03fc23290320b958e4af7906060016200068a565b600054610100900460ff16158080156200110f5750600054600160ff909116105b806200112b5750303b1580156200112b575060005460ff166001145b620011b9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840162000419565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156200121857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b307f0000000000000000000000000000000000000000000000000000000000000000604051620012489062002192565b73ffffffffffffffffffffffffffffffffffffffff928316815291166020820152604001604051809103906000f08015801562001289573d6000803e3d6000fd5b50606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055620012d9620019ce565b620012e48262001a69565b801562000aa057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15050565b6000806200135a83620014e7565b6001015473ffffffffffffffffffffffffffffffffffffffff169392505050565b60006200138882620014e7565b8054909150610100900473ffffffffffffffffffffffffffffffffffffffff163314620013e1576040517f14d325a600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600181015473ffffffffffffffffffffffffffffffffffffffff1662001433576040517f82fcfdf400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001690556040805173ffffffffffffffffffffffffffffffffffffffff84168152600060208201527f9d1eed91033af603ca90974d7f9dcffdc1a38de6e354262a1cd59243e6997f60910162001340565b600080620014b76200199e565b73ffffffffffffffffffffffffffffffffffffffff90931660009081526020939093525050604090205460ff1690565b600080620014f46200199e565b73ffffffffffffffffffffffffffffffffffffffff84166000908152602082905260409020805490935090915060ff166200155b576040517ff8e2020300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50919050565b6000807f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810187905273ffffffffffffffffffffffffffffffffffffffff86811660248301529293509116906391d1485490604401602060405180830381865afa158015620015fe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620016249190620027c8565b9150505b92915050565b60006200163b8362001d29565b80156200164f57506200164f838362001d92565b9392505050565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e362001683813362001561565b62000aa0576040517f75000dc00000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440162000419565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615620016ff57620016fa8362001e63565b505050565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562001787575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526200178491810190620027ec565b60015b62001815576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f742055555053000000000000000000000000000000000000606482015260840162000419565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114620018c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c65555549440000000000000000000000000000000000000000000000606482015260840162000419565b50620016fa83838362001f6f565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008260601b60e81c176000526e5af43d82803e903d91602b57fd5bf38260781b17602052603760096000f0905073ffffffffffffffffffffffffffffffffffffffff811662001999576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f455243313136373a20637265617465206661696c656400000000000000000000604482015260640162000419565b919050565b6000806200162860017f8d6a35d81367c6224789d71f67c0286162ba180a6bdb769f04c214735cdb8ce162002806565b600054610100900460ff1662001a67576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840162000419565b565b600054610100900460ff161580801562001a8a5750600054600160ff909116105b8062001aa65750303b15801562001aa6575060005460ff166001145b62001b34576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840162000419565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801562001b9357600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b62001bd573ffffffffffffffffffffffffffffffffffffffff83167f7965db0b000000000000000000000000000000000000000000000000000000006200162e565b62001c3d576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c000000000000000000000000000000000000604482015260640162000419565b7f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811782556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a250801562000aa057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200162001340565b600062001d57827f01ffc9a70000000000000000000000000000000000000000000000000000000062001d92565b801562001628575062001d8b827fffffffff0000000000000000000000000000000000000000000000000000000062001d92565b1592915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d9150600051905082801562001e4b575060208210155b801562001e585750600081115b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff81163b62001f09576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e747261637400000000000000000000000000000000000000606482015260840162000419565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b62001f7a8362001fa0565b60008251118062001f885750805b15620016fa5762001f9a838362001fef565b50505050565b62001fab8162001e63565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606200164f8383604051806060016040528060278152602001620055ae6027913960606000808573ffffffffffffffffffffffffffffffffffffffff16856040516200203d919062002841565b600060405180830381855af49150503d80600081146200207a576040519150601f19603f3d011682016040523d82523d6000602084013e6200207f565b606091505b509150915062002092868383876200209c565b9695505050505050565b60608315620021375782516000036200212f5773ffffffffffffffffffffffffffffffffffffffff85163b6200212f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640162000419565b508162002143565b6200214383836200214b565b949350505050565b8151156200215c5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200041991906200285f565b612d39806200287583390190565b803573ffffffffffffffffffffffffffffffffffffffff811681146200199957600080fd5b600060208284031215620021d857600080fd5b6200164f82620021a0565b60008060408385031215620021f757600080fd5b6200220283620021a0565b91506200221260208401620021a0565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156200229457620022946200221b565b604052919050565b600067ffffffffffffffff821115620022b957620022b96200221b565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60008060408385031215620022f957600080fd5b6200230483620021a0565b9150602083013567ffffffffffffffff8111156200232157600080fd5b8301601f810185136200233357600080fd5b80356200234a62002344826200229c565b6200224a565b8181528660208385010111156200236057600080fd5b816020840160208301376000602083830101528093505050509250929050565b60008083601f8401126200239357600080fd5b50813567ffffffffffffffff811115620023ac57600080fd5b602083019150836020828501011115620023c557600080fd5b9250929050565b60008060008060008060006080888a031215620023e857600080fd5b620023f388620021a0565b9650602088013567ffffffffffffffff808211156200241157600080fd5b6200241f8b838c0162002380565b909850965060408a01359150808211156200243957600080fd5b620024478b838c0162002380565b909650945060608a01359150808211156200246157600080fd5b818a0191508a601f8301126200247657600080fd5b8135818111156200248657600080fd5b8b60208260051b85010111156200249c57600080fd5b60208301945080935050505092959891949750929550565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60408152600062002513604083018688620024b4565b828103602084015262001e58818587620024b4565b81835260006020808501808196508560051b810191508460005b87811015620025d257828403895281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18836030181126200258357600080fd5b8701858101903567ffffffffffffffff811115620025a057600080fd5b803603821315620025b057600080fd5b620025bd868284620024b4565b9a87019a955050509084019060010162002542565b5091979650505050505050565b6020815260006200214360208301848662002528565b60005b8381101562002612578181015183820152602001620025f8565b50506000910152565b6000815180845262002635816020860160208601620025f5565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b8281526040602082015260006200214360408301846200261b565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525060806040830152620026bd60808301856200261b565b828103606084015262001e5881856200261b565b600060208284031215620026e457600080fd5b815167ffffffffffffffff811115620026fc57600080fd5b8201601f810184136200270e57600080fd5b80516200271f62002344826200229c565b8181528560208385010111156200273557600080fd5b62002748826020830160208601620025f5565b95945050505050565b600073ffffffffffffffffffffffffffffffffffffffff808b168352808a1660208401525060a060408301526200278d60a08301888a620024b4565b8281036060840152620027a2818789620024b4565b90508281036080840152620027b981858762002528565b9b9a5050505050505050505050565b600060208284031215620027db57600080fd5b815180151581146200164f57600080fd5b600060208284031215620027ff57600080fd5b5051919050565b8181038181111562001628577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000825162002855818460208701620025f5565b9190910192915050565b6020815260006200164f60208301846200261b56fe60c06040523480156200001157600080fd5b5060405162002d3938038062002d3983398101604081905262000034916200017d565b600054610100900460ff1615808015620000555750600054600160ff909116105b80620000715750303b15801562000071575060005460ff166001145b620000d95760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b6000805460ff191660011790558015620000fd576000805461ff0019166101001790555b6001600160a01b0380841660a0528216608052801562000157576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050620001b5565b80516001600160a01b03811681146200017857600080fd5b919050565b600080604083850312156200019157600080fd5b6200019c8362000160565b9150620001ac6020840162000160565b90509250929050565b60805160a051612b2662000213600039600081816103c101528181610b0f015261107b01526000818161031101528181610784015281816108dc01528181610cb701528181610e37015281816112ac015261147e0152612b266000f3fe608060405234801561001057600080fd5b50600436106101985760003560e01c806370a08231116100e3578063c3cc244a1161008c578063e985e9c511610066578063e985e9c514610373578063ee0fc121146103bc578063f3f6f0d7146103e357600080fd5b8063c3cc244a14610333578063c87b56dd14610358578063e8a3d4851461036b57600080fd5b8063a22cb465116100bd578063a22cb465146102e6578063b88d4fde146102f9578063b95ddb521461030c57600080fd5b806370a08231146102c35780638da5cb5b146102d657806395d89b41146102de57600080fd5b806342842e0e11610145578063626273a11161011f578063626273a11461028a5780636352211e1461029d578063691562a0146102b057600080fd5b806342842e0e1461025157806342966c68146102645780634cd88b761461027757600080fd5b8063095ea7b311610176578063095ea7b31461021257806318160ddd1461022757806323b872dd1461023e57600080fd5b806301ffc9a71461019d57806306fdde03146101c5578063081812fc146101da575b600080fd5b6101b06101ab36600461235b565b6103ec565b60405190151581526020015b60405180910390f35b6101cd6104d1565b6040516101bc91906123e6565b6101ed6101e83660046123f9565b610563565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101bc565b610225610220366004612434565b610597565b005b61023060985481565b6040519081526020016101bc565b61022561024c366004612460565b610728565b61022561025f366004612460565b610865565b6102256102723660046123f9565b610880565b6102256102853660046124ea565b6109d3565b6102306102983660046123f9565b610c43565b6101ed6102ab3660046123f9565b610dcd565b6102306102be366004612556565b610dd8565b6102306102d1366004612595565b610f7c565b6101ed61104a565b6101cd611100565b6102256102f43660046125b2565b61110f565b6102256103073660046126a9565b61111e565b6101ed7f000000000000000000000000000000000000000000000000000000000000000081565b6103466103413660046123f9565b6111c6565b60405160ff90911681526020016101bc565b6101cd6103663660046123f9565b611237565b6101cd611409565b6101b0610381366004612758565b73ffffffffffffffffffffffffffffffffffffffff9182166000908152606a6020908152604080832093909416825291909152205460ff1690565b6101ed7f000000000000000000000000000000000000000000000000000000000000000081565b61023060975481565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061047f57507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b806104cb57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6060606580546104e090612786565b80601f016020809104026020016040519081016040528092919081815260200182805461050c90612786565b80156105595780601f1061052e57610100808354040283529160200191610559565b820191906000526020600020905b81548152906001019060200180831161053c57829003601f168201915b5050505050905090565b600061056e826115aa565b5060009081526069602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60006105a282611635565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610664576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff8216148061068d575061068d8133610381565b610719576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000606482015260840161065b565b61072383836116c1565b505050565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815233917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a916107cc916004016123e6565b602060405180830381865afa1580156107e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061080d91906127d9565b73ffffffffffffffffffffffffffffffffffffffff161461085a576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610723838383611761565b6107238383836040518060200160405280600081525061111e565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815233917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a91610924916004016123e6565b602060405180830381865afa158015610941573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061096591906127d9565b73ffffffffffffffffffffffffffffffffffffffff16146109b2576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b609880549060006109c283612825565b91905055506109d081611a5c565b50565b600054610100900460ff16158080156109f35750600054600160ff909116105b80610a0d5750303b158015610a0d575060005460ff166001145b610a99576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840161065b565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610af757600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610b66576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610bd985858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f89018190048102820181019092528781529250879150869081908401838280828437600092019190915250611b3492505050565b8015610c3c57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a000000000000000000000000000000000000000000000000000000008152600091829173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a91610ceb91906004016123e6565b602060405180830381865afa158015610d08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d2c91906127d9565b6040517f5f32b4300000000000000000000000000000000000000000000000000000000081523060048201526024810185905290915073ffffffffffffffffffffffffffffffffffffffff821690635f32b430906044016020604051808303816000875af1158015610da2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dc6919061285a565b9392505050565b60006104cb82611635565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260009133917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a91610e8091906004016123e6565b602060405180830381865afa158015610e9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec191906127d9565b73ffffffffffffffffffffffffffffffffffffffff1614610f0e576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60988054906000610f1e83612873565b9190505550609760008154610f3290612873565b9182905550600081815260996020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff851617905590506104cb8382611bd5565b600073ffffffffffffffffffffffffffffffffffffffff8216611021576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e65720000000000000000000000000000000000000000000000606482015260840161065b565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526068602052604090205490565b6040517f14afd79e0000000000000000000000000000000000000000000000000000000081523060048201526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906314afd79e90602401602060405180830381865afa1580156110d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110fb91906127d9565b905090565b6060606680546104e090612786565b61111a338383611dfa565b5050565b6111283383611f27565b6111b4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f76656400000000000000000000000000000000000000606482015260840161065b565b6111c084848484611fe7565b50505050565b60008181526067602052604081205473ffffffffffffffffffffffffffffffffffffffff16611221576040517f6831df8d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060009081526099602052604090205460ff1690565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260609160009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a916112e091906004016123e6565b602060405180830381865afa1580156112fd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061132191906127d9565b90508073ffffffffffffffffffffffffffffffffffffffff1663e8d72654308561134a876111c6565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815273ffffffffffffffffffffffffffffffffffffffff9093166004840152602483019190915260ff166044820152606401600060405180830381865afa1580156113c3573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610dc691908101906128ab565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260609160009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a916114b291906004016123e6565b602060405180830381865afa1580156114cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114f391906127d9565b6040517e844d1300000000000000000000000000000000000000000000000000000000815230600482015290915073ffffffffffffffffffffffffffffffffffffffff82169062844d1390602401600060405180830381865afa15801561155e573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526115a491908101906128ab565b91505090565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff166109d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e2049440000000000000000604482015260640161065b565b60008181526067602052604081205473ffffffffffffffffffffffffffffffffffffffff16806104cb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e2049440000000000000000604482015260640161065b565b600081815260696020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117909155819061171b82611635565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b8273ffffffffffffffffffffffffffffffffffffffff1661178182611635565b73ffffffffffffffffffffffffffffffffffffffff1614611824576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e6572000000000000000000000000000000000000000000000000000000606482015260840161065b565b73ffffffffffffffffffffffffffffffffffffffff82166118c6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161065b565b8273ffffffffffffffffffffffffffffffffffffffff166118e682611635565b73ffffffffffffffffffffffffffffffffffffffff1614611989576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e6572000000000000000000000000000000000000000000000000000000606482015260840161065b565b600081815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff8781168086526068855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905590871680865283862080546001019055868652606790945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6000611a6782611635565b9050611a7282611635565b600083815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff85168085526068845282852080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190558785526067909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b600054610100900460ff16611bcb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161065b565b61111a828261208a565b73ffffffffffffffffffffffffffffffffffffffff8216611c52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161065b565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff1615611cde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161065b565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff1615611d6a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161065b565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260686020908152604080832080546001019055848352606790915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611e8f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161065b565b73ffffffffffffffffffffffffffffffffffffffff8381166000818152606a602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b600080611f3383611635565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611fa1575073ffffffffffffffffffffffffffffffffffffffff8082166000908152606a602090815260408083209388168352929052205460ff165b80611fdf57508373ffffffffffffffffffffffffffffffffffffffff16611fc784610563565b73ffffffffffffffffffffffffffffffffffffffff16145b949350505050565b611ff2848484611761565b611ffe8484848461213a565b6111c0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e7465720000000000000000000000000000606482015260840161065b565b600054610100900460ff16612121576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161065b565b606561212d8382612970565b5060666107238282612970565b600073ffffffffffffffffffffffffffffffffffffffff84163b15612322576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a02906121b1903390899088908890600401612a8a565b6020604051808303816000875af192505050801561220a575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261220791810190612ad3565b60015b6122d7573d808015612238576040519150601f19603f3d011682016040523d82523d6000602084013e61223d565b606091505b5080516000036122cf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e7465720000000000000000000000000000606482015260840161065b565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050611fdf565b506001949350505050565b7fffffffff00000000000000000000000000000000000000000000000000000000811681146109d057600080fd5b60006020828403121561236d57600080fd5b8135610dc68161232d565b60005b8381101561239357818101518382015260200161237b565b50506000910152565b600081518084526123b4816020860160208601612378565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610dc6602083018461239c565b60006020828403121561240b57600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff811681146109d057600080fd5b6000806040838503121561244757600080fd5b823561245281612412565b946020939093013593505050565b60008060006060848603121561247557600080fd5b833561248081612412565b9250602084013561249081612412565b929592945050506040919091013590565b60008083601f8401126124b357600080fd5b50813567ffffffffffffffff8111156124cb57600080fd5b6020830191508360208285010111156124e357600080fd5b9250929050565b6000806000806040858703121561250057600080fd5b843567ffffffffffffffff8082111561251857600080fd5b612524888389016124a1565b9096509450602087013591508082111561253d57600080fd5b5061254a878288016124a1565b95989497509550505050565b6000806040838503121561256957600080fd5b823561257481612412565b9150602083013560ff8116811461258a57600080fd5b809150509250929050565b6000602082840312156125a757600080fd5b8135610dc681612412565b600080604083850312156125c557600080fd5b82356125d081612412565b91506020830135801515811461258a57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561265b5761265b6125e5565b604052919050565b600067ffffffffffffffff82111561267d5761267d6125e5565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600080600080608085870312156126bf57600080fd5b84356126ca81612412565b935060208501356126da81612412565b925060408501359150606085013567ffffffffffffffff8111156126fd57600080fd5b8501601f8101871361270e57600080fd5b803561272161271c82612663565b612614565b81815288602083850101111561273657600080fd5b8160208401602083013760006020838301015280935050505092959194509250565b6000806040838503121561276b57600080fd5b823561277681612412565b9150602083013561258a81612412565b600181811c9082168061279a57607f821691505b6020821081036127d3577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b6000602082840312156127eb57600080fd5b8151610dc681612412565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600081612834576128346127f6565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b60006020828403121561286c57600080fd5b5051919050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036128a4576128a46127f6565b5060010190565b6000602082840312156128bd57600080fd5b815167ffffffffffffffff8111156128d457600080fd5b8201601f810184136128e557600080fd5b80516128f361271c82612663565b81815285602083850101111561290857600080fd5b612919826020830160208601612378565b95945050505050565b601f82111561072357600081815260208120601f850160051c810160208610156129495750805b601f850160051c820191505b8181101561296857828155600101612955565b505050505050565b815167ffffffffffffffff81111561298a5761298a6125e5565b61299e816129988454612786565b84612922565b602080601f8311600181146129f157600084156129bb5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555612968565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015612a3e57888601518255948401946001909101908401612a1f565b5085821015612a7a57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525083604083015260806060830152612ac9608083018461239c565b9695505050505050565b600060208284031215612ae557600080fd5b8151610dc68161232d56fea26469706673582212202f539941999670b371ba76bce5df1736fd82afb2c9c939e8219ae46e05215f2064736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220c5ad7174fbcec6fe1a447b9d3bc0f95e4d23c7be87864477488c24c33653be3664736f6c63430008130033000000000000000000000000e8ab207a5c21162db1ee75e378a92c82d550a8d1", + "nonce": "0x7d8", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x464bce28e69e0182ef78e8e98c6752dc85cff86990ab8563a2ee076df5c9000e", + "transactionType": "CREATE", + "contractName": "ERC1967Proxy", + "contractAddress": "0xEe19aCE40dB1BA8B0DbBc5e57061A3268bd08c6A", + "function": null, + "arguments": [ + "0x1C20873a915505cBaFb576B3B152EeCE6a0BFD60", + "0xc4d66de8000000000000000000000000bd132e42baafe3648170770f2d45dba59166e06d" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x316ce5", + "value": "0x0", + "data": "0x60806040526040516104ee3803806104ee833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c760279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60be806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea264697066735822122091c81c9b8ac755a7e1e08c0e9f65600d21e642457fb84c7f9e0d0a65b62d269064736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c65640000000000000000000000001c20873a915505cbafb576b3b152eece6a0bfd6000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de8000000000000000000000000bd132e42baafe3648170770f2d45dba59166e06d00000000000000000000000000000000000000000000000000000000", + "nonce": "0x7d9", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0x3F684D5bE59136751DD7C85C2973cb7917557338", + "initCode": "60c06040523480156200001157600080fd5b5060405162002d3938038062002d3983398101604081905262000034916200017d565b600054610100900460ff1615808015620000555750600054600160ff909116105b80620000715750303b15801562000071575060005460ff166001145b620000d95760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b6000805460ff191660011790558015620000fd576000805461ff0019166101001790555b6001600160a01b0380841660a0528216608052801562000157576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050620001b5565b80516001600160a01b03811681146200017857600080fd5b919050565b600080604083850312156200019157600080fd5b6200019c8362000160565b9150620001ac6020840162000160565b90509250929050565b60805160a051612b2662000213600039600081816103c101528181610b0f015261107b01526000818161031101528181610784015281816108dc01528181610cb701528181610e37015281816112ac015261147e0152612b266000f3fe608060405234801561001057600080fd5b50600436106101985760003560e01c806370a08231116100e3578063c3cc244a1161008c578063e985e9c511610066578063e985e9c514610373578063ee0fc121146103bc578063f3f6f0d7146103e357600080fd5b8063c3cc244a14610333578063c87b56dd14610358578063e8a3d4851461036b57600080fd5b8063a22cb465116100bd578063a22cb465146102e6578063b88d4fde146102f9578063b95ddb521461030c57600080fd5b806370a08231146102c35780638da5cb5b146102d657806395d89b41146102de57600080fd5b806342842e0e11610145578063626273a11161011f578063626273a11461028a5780636352211e1461029d578063691562a0146102b057600080fd5b806342842e0e1461025157806342966c68146102645780634cd88b761461027757600080fd5b8063095ea7b311610176578063095ea7b31461021257806318160ddd1461022757806323b872dd1461023e57600080fd5b806301ffc9a71461019d57806306fdde03146101c5578063081812fc146101da575b600080fd5b6101b06101ab36600461235b565b6103ec565b60405190151581526020015b60405180910390f35b6101cd6104d1565b6040516101bc91906123e6565b6101ed6101e83660046123f9565b610563565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101bc565b610225610220366004612434565b610597565b005b61023060985481565b6040519081526020016101bc565b61022561024c366004612460565b610728565b61022561025f366004612460565b610865565b6102256102723660046123f9565b610880565b6102256102853660046124ea565b6109d3565b6102306102983660046123f9565b610c43565b6101ed6102ab3660046123f9565b610dcd565b6102306102be366004612556565b610dd8565b6102306102d1366004612595565b610f7c565b6101ed61104a565b6101cd611100565b6102256102f43660046125b2565b61110f565b6102256103073660046126a9565b61111e565b6101ed7f000000000000000000000000000000000000000000000000000000000000000081565b6103466103413660046123f9565b6111c6565b60405160ff90911681526020016101bc565b6101cd6103663660046123f9565b611237565b6101cd611409565b6101b0610381366004612758565b73ffffffffffffffffffffffffffffffffffffffff9182166000908152606a6020908152604080832093909416825291909152205460ff1690565b6101ed7f000000000000000000000000000000000000000000000000000000000000000081565b61023060975481565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061047f57507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b806104cb57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6060606580546104e090612786565b80601f016020809104026020016040519081016040528092919081815260200182805461050c90612786565b80156105595780601f1061052e57610100808354040283529160200191610559565b820191906000526020600020905b81548152906001019060200180831161053c57829003601f168201915b5050505050905090565b600061056e826115aa565b5060009081526069602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60006105a282611635565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610664576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff8216148061068d575061068d8133610381565b610719576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000606482015260840161065b565b61072383836116c1565b505050565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815233917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a916107cc916004016123e6565b602060405180830381865afa1580156107e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061080d91906127d9565b73ffffffffffffffffffffffffffffffffffffffff161461085a576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610723838383611761565b6107238383836040518060200160405280600081525061111e565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815233917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a91610924916004016123e6565b602060405180830381865afa158015610941573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061096591906127d9565b73ffffffffffffffffffffffffffffffffffffffff16146109b2576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b609880549060006109c283612825565b91905055506109d081611a5c565b50565b600054610100900460ff16158080156109f35750600054600160ff909116105b80610a0d5750303b158015610a0d575060005460ff166001145b610a99576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840161065b565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610af757600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610b66576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610bd985858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f89018190048102820181019092528781529250879150869081908401838280828437600092019190915250611b3492505050565b8015610c3c57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a000000000000000000000000000000000000000000000000000000008152600091829173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a91610ceb91906004016123e6565b602060405180830381865afa158015610d08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d2c91906127d9565b6040517f5f32b4300000000000000000000000000000000000000000000000000000000081523060048201526024810185905290915073ffffffffffffffffffffffffffffffffffffffff821690635f32b430906044016020604051808303816000875af1158015610da2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dc6919061285a565b9392505050565b60006104cb82611635565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260009133917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a91610e8091906004016123e6565b602060405180830381865afa158015610e9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec191906127d9565b73ffffffffffffffffffffffffffffffffffffffff1614610f0e576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60988054906000610f1e83612873565b9190505550609760008154610f3290612873565b9182905550600081815260996020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff851617905590506104cb8382611bd5565b600073ffffffffffffffffffffffffffffffffffffffff8216611021576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e65720000000000000000000000000000000000000000000000606482015260840161065b565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526068602052604090205490565b6040517f14afd79e0000000000000000000000000000000000000000000000000000000081523060048201526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906314afd79e90602401602060405180830381865afa1580156110d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110fb91906127d9565b905090565b6060606680546104e090612786565b61111a338383611dfa565b5050565b6111283383611f27565b6111b4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f76656400000000000000000000000000000000000000606482015260840161065b565b6111c084848484611fe7565b50505050565b60008181526067602052604081205473ffffffffffffffffffffffffffffffffffffffff16611221576040517f6831df8d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060009081526099602052604090205460ff1690565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260609160009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a916112e091906004016123e6565b602060405180830381865afa1580156112fd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061132191906127d9565b90508073ffffffffffffffffffffffffffffffffffffffff1663e8d72654308561134a876111c6565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815273ffffffffffffffffffffffffffffffffffffffff9093166004840152602483019190915260ff166044820152606401600060405180830381865afa1580156113c3573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610dc691908101906128ab565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260609160009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a916114b291906004016123e6565b602060405180830381865afa1580156114cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114f391906127d9565b6040517e844d1300000000000000000000000000000000000000000000000000000000815230600482015290915073ffffffffffffffffffffffffffffffffffffffff82169062844d1390602401600060405180830381865afa15801561155e573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526115a491908101906128ab565b91505090565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff166109d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e2049440000000000000000604482015260640161065b565b60008181526067602052604081205473ffffffffffffffffffffffffffffffffffffffff16806104cb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e2049440000000000000000604482015260640161065b565b600081815260696020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117909155819061171b82611635565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b8273ffffffffffffffffffffffffffffffffffffffff1661178182611635565b73ffffffffffffffffffffffffffffffffffffffff1614611824576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e6572000000000000000000000000000000000000000000000000000000606482015260840161065b565b73ffffffffffffffffffffffffffffffffffffffff82166118c6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161065b565b8273ffffffffffffffffffffffffffffffffffffffff166118e682611635565b73ffffffffffffffffffffffffffffffffffffffff1614611989576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e6572000000000000000000000000000000000000000000000000000000606482015260840161065b565b600081815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff8781168086526068855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905590871680865283862080546001019055868652606790945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6000611a6782611635565b9050611a7282611635565b600083815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff85168085526068845282852080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190558785526067909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b600054610100900460ff16611bcb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161065b565b61111a828261208a565b73ffffffffffffffffffffffffffffffffffffffff8216611c52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161065b565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff1615611cde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161065b565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff1615611d6a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161065b565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260686020908152604080832080546001019055848352606790915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611e8f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161065b565b73ffffffffffffffffffffffffffffffffffffffff8381166000818152606a602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b600080611f3383611635565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611fa1575073ffffffffffffffffffffffffffffffffffffffff8082166000908152606a602090815260408083209388168352929052205460ff165b80611fdf57508373ffffffffffffffffffffffffffffffffffffffff16611fc784610563565b73ffffffffffffffffffffffffffffffffffffffff16145b949350505050565b611ff2848484611761565b611ffe8484848461213a565b6111c0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e7465720000000000000000000000000000606482015260840161065b565b600054610100900460ff16612121576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161065b565b606561212d8382612970565b5060666107238282612970565b600073ffffffffffffffffffffffffffffffffffffffff84163b15612322576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a02906121b1903390899088908890600401612a8a565b6020604051808303816000875af192505050801561220a575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261220791810190612ad3565b60015b6122d7573d808015612238576040519150601f19603f3d011682016040523d82523d6000602084013e61223d565b606091505b5080516000036122cf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e7465720000000000000000000000000000606482015260840161065b565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050611fdf565b506001949350505050565b7fffffffff00000000000000000000000000000000000000000000000000000000811681146109d057600080fd5b60006020828403121561236d57600080fd5b8135610dc68161232d565b60005b8381101561239357818101518382015260200161237b565b50506000910152565b600081518084526123b4816020860160208601612378565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610dc6602083018461239c565b60006020828403121561240b57600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff811681146109d057600080fd5b6000806040838503121561244757600080fd5b823561245281612412565b946020939093013593505050565b60008060006060848603121561247557600080fd5b833561248081612412565b9250602084013561249081612412565b929592945050506040919091013590565b60008083601f8401126124b357600080fd5b50813567ffffffffffffffff8111156124cb57600080fd5b6020830191508360208285010111156124e357600080fd5b9250929050565b6000806000806040858703121561250057600080fd5b843567ffffffffffffffff8082111561251857600080fd5b612524888389016124a1565b9096509450602087013591508082111561253d57600080fd5b5061254a878288016124a1565b95989497509550505050565b6000806040838503121561256957600080fd5b823561257481612412565b9150602083013560ff8116811461258a57600080fd5b809150509250929050565b6000602082840312156125a757600080fd5b8135610dc681612412565b600080604083850312156125c557600080fd5b82356125d081612412565b91506020830135801515811461258a57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561265b5761265b6125e5565b604052919050565b600067ffffffffffffffff82111561267d5761267d6125e5565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600080600080608085870312156126bf57600080fd5b84356126ca81612412565b935060208501356126da81612412565b925060408501359150606085013567ffffffffffffffff8111156126fd57600080fd5b8501601f8101871361270e57600080fd5b803561272161271c82612663565b612614565b81815288602083850101111561273657600080fd5b8160208401602083013760006020838301015280935050505092959194509250565b6000806040838503121561276b57600080fd5b823561277681612412565b9150602083013561258a81612412565b600181811c9082168061279a57607f821691505b6020821081036127d3577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b6000602082840312156127eb57600080fd5b8151610dc681612412565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600081612834576128346127f6565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b60006020828403121561286c57600080fd5b5051919050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036128a4576128a46127f6565b5060010190565b6000602082840312156128bd57600080fd5b815167ffffffffffffffff8111156128d457600080fd5b8201601f810184136128e557600080fd5b80516128f361271c82612663565b81815285602083850101111561290857600080fd5b612919826020830160208601612378565b95945050505050565b601f82111561072357600081815260208120601f850160051c810160208610156129495750805b601f850160051c820191505b8181101561296857828155600101612955565b505050505050565b815167ffffffffffffffff81111561298a5761298a6125e5565b61299e816129988454612786565b84612922565b602080601f8311600181146129f157600084156129bb5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555612968565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015612a3e57888601518255948401946001909101908401612a1f565b5085821015612a7a57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525083604083015260806060830152612ac9608083018461239c565b9695505050505050565b600060208284031215612ae557600080fd5b8151610dc68161232d56fea26469706673582212202f539941999670b371ba76bce5df1736fd82afb2c9c939e8219ae46e05215f2064736f6c63430008130033000000000000000000000000ee19ace40db1ba8b0dbbc5e57061a3268bd08c6a000000000000000000000000e8ab207a5c21162db1ee75e378a92c82d550a8d1" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0xb447729820016d5c91ffff7cee07046a95a4f6da7ec1171b77d49eae37193e5e", + "transactionType": "CREATE", + "contractName": "StoryProtocol", + "contractAddress": "0xa7C6184c4090923A5710ef0C8aaB5F157E88e586", + "function": null, + "arguments": [ + "0xEe19aCE40dB1BA8B0DbBc5e57061A3268bd08c6A", + "0xe8ab207A5C21162Db1ee75e378A92C82d550a8d1" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x29960b", + "value": "0x0", + "data": "0x60c06040523480156200001157600080fd5b5060405162002667380380620026678339810160408190526200003491620000a2565b6001600160a01b03821615806200005257506001600160a01b038116155b15620000715760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b039182166080521660a052620000e1565b6001600160a01b03811681146200009f57600080fd5b50565b60008060408385031215620000b657600080fd5b8251620000c38162000089565b6020840151909250620000d68162000089565b809150509250929050565b60805160a05161250c6200015b600039600081816102530152818161036e0152818161044c015281816105aa015281816106f101528181610953015281816109dd01528181610bf101528181610df401528181610f800152818161107201526112950152600081816101750152610b5c015261250c6000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c806398e8e6ea11610097578063b108e1c611610066578063b108e1c61461023b578063b95ddb521461024e578063ce75e7fc14610275578063eb3b0cba1461028857600080fd5b806398e8e6ea146101e2578063a3a0428f146101f5578063a5823a3714610208578063ac9650d81461021b57600080fd5b80634d343a45116100d35780634d343a451461015d57806351e06b90146101705780635a5173bd146101bc5780637a103e33146101cf57600080fd5b806317031df1146100fa5780632d26ff3e146101275780633d20e00d1461013c575b600080fd5b61010d61010836600461154a565b61029b565b604080519283526020830191909152015b60405180910390f35b61013a6101353660046115f1565b610435565b005b61014f61014a36600461163e565b610581565b60405190815260200161011e565b61013a61016b36600461168b565b6106ef565b6101977f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161011e565b61013a6101ca3660046116b7565b610884565b61013a6101dd36600461174e565b6109db565b6101976101f0366004611796565b610b1c565b61014f61020336600461154a565b610bec565b61013a610216366004611843565b610d07565b61022e6102293660046118f4565b610e89565b60405161011e91906119db565b61013a6102493660046119ee565b610f7e565b6101977f000000000000000000000000000000000000000000000000000000000000000081565b61013a610283366004611a3e565b611070565b61013a610296366004611a73565b6111c2565b60008060007fe761f303268b55a3dc96719551acb95ca3bd1ebeef4b720be68dd92563627a3f886040516020016102d29190611b9b565b60408051601f19818403018152908290526102f09291602001611c30565b60408051601f198184030181528282018252601383527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602084015290517fb38609e800000000000000000000000000000000000000000000000000000000815290925060009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163b38609e8916103af918e91339188908f908f908f908f90600401611c99565b6000604051808303816000875af11580156103ce573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103f69190810190611d4c565b9050805160000361040f5760008093509350505061042a565b808060200190518101906104239190611df9565b9350935050505b965096945050505050565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001663e1fc45ce6104816040840160208501611e1d565b336040518060400160405280601381526020017f52454c4154494f4e534849505f4d4f44554c45000000000000000000000000008152507f99bf0fbd60208ca164accd299e2c0a8b4475c1a2df53c2d7160870f682536528866040516020016104ea9190611f2c565b60408051601f19818403018152908290526105089291602001611c30565b6040516020818303038152906040526040518563ffffffff1660e01b81526004016105369493929190611fff565b6000604051808303816000875af1158015610555573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261057d9190810190611d4c565b5050565b6000808660405160200161059591906120ee565b604051602081830303815290604052905060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663b38609e88a336040518060400160405280601081526020017f4c4943454e53494e475f4d4f44554c45000000000000000000000000000000008152507f3f92a83f1dd77188c62fa393a54ccf9854be836ca6c243397d0acbbce04723878760405160200161064f929190611c30565b6040516020818303038152906040528c8c8c8c6040518963ffffffff1660e01b8152600401610685989796959493929190611c99565b6000604051808303816000875af11580156106a4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106cc9190810190611d4c565b9050808060200190518101906106e29190612134565b9998505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663b38609e883336040518060400160405280601081526020017f4c4943454e53494e475f4d4f44554c45000000000000000000000000000000008152507f5281374dd3fc2bb7839f50fddfb6a14a666cb4d23b20d6aecf9b9950d103b3368660405160200161079791815260200190565b60408051601f19818403018152908290526107b59291602001611c30565b60408051808303601f1901815260008084526020840190925291906107ea565b60608152602001906001900390816107d55790505b506040805160008082526020820190925290610816565b60608152602001906001900390816108015790505b506040518763ffffffff1660e01b81526004016108389695949392919061214d565b6000604051808303816000875af1158015610857573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261087f9190810190611d4c565b505050565b60007f9aeb830ec91a14c97a5446cc7c86a42f73a78f37f9a77afa238b5d11520ddfbc83836040516020016108ba9291906121c0565b60408051601f19818403018152908290526108d89291602001611c30565b60408051601f198184030181528282018252601383527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602084015290517fe1fc45ce00000000000000000000000000000000000000000000000000000000815290925073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163e1fc45ce9161098d9188913391908790600401611fff565b6000604051808303816000875af11580156109ac573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109d49190810190611d4c565b5050505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e1fc45ce84336040518060400160405280601381526020017f52454c4154494f4e534849505f4d4f44554c45000000000000000000000000008152507fe5801b46183bd353d44247232707bb62253655a0580ade69a754ba7157ddf8fd8787604051602001610a839291906121d4565b60408051601f1981840301815290829052610aa19291602001611c30565b6040516020818303038152906040526040518563ffffffff1660e01b8152600401610acf9493929190611fff565b6000604051808303816000875af1158015610aee573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b169190810190611d4c565b50505050565b6040517f98e8e6ea00000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906398e8e6ea90610b9d908b908b908b908b908b908b908b906004016121e8565b6020604051808303816000875af1158015610bbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be0919061224e565b98975050505050505050565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663b38609e889336040518060400160405280601381526020017f52454c4154494f4e534849505f4d4f44554c45000000000000000000000000008152508b604051602001610c74919061226b565b6040516020818303038152906040528b8b8b8b6040518963ffffffff1660e01b8152600401610caa989796959493929190611c99565b6000604051808303816000875af1158015610cc9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610cf19190810190611d4c565b905080806020019051810190610be09190612134565b6040805173ffffffffffffffffffffffffffffffffffffffff898116602083015288168183015260608082018890528251808303909101815260808201909252600091610d79917fbc42750dbe73870bbe102106b22fd8bdfa53c7247eca196d8bb7da9527f0c1e5919060a001611c30565b60408051601f198184030181528282018252601383527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602084015290517fb38609e800000000000000000000000000000000000000000000000000000000815290925073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163b38609e891610e36918d9133919087908c908c908c908c90600401611c99565b6000604051808303816000875af1158015610e55573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e7d9190810190611d4c565b50505050505050505050565b60608167ffffffffffffffff811115610ea457610ea4611d1d565b604051908082528060200260200182016040528015610ed757816020015b6060815260200190600190039081610ec25790505b50905060005b82811015610f7757610f4730858584818110610efb57610efb6122f4565b9050602002810190610f0d9190612323565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061131f92505050565b828281518110610f5957610f596122f4565b60200260200101819052508080610f6f90612388565b915050610edd565b5092915050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e1fc45ce83336040518060400160405280601081526020017f4c4943454e53494e475f4d4f44554c45000000000000000000000000000000008152507f8b21f20183a523515c357db6dba25c92b138630b63988ca3e60a6be86c8da0458660405160200161102491906123e7565b60408051601f19818403018152908290526110429291602001611c30565b6040516020818303038152906040526040518563ffffffff1660e01b81526004016108389493929190611fff565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663b38609e884336040518060400160405280601081526020017f4c4943454e53494e475f4d4f44554c45000000000000000000000000000000008152507f29def77ab981c01a6b53c58b23dd89ac4447095f721298424063ed3f16962ac68787604051602001611121929190918252602082015260400190565b60408051601f198184030181529082905261113f9291602001611c30565b60408051808303601f190181526000808452602084019092529190611174565b606081526020019060019003908161115f5790505b5060408051600080825260208201909252906111a0565b606081526020019060019003908161118b5790505b506040518763ffffffff1660e01b8152600401610acf9695949392919061214d565b60007f88fae8356076de6f233fd00b30fad913df2329364a9e9242abdc96adccc3bfc9858585856040516020016111fc9493929190612459565b60408051601f198184030181529082905261121a9291602001611c30565b60408051601f198184030181528282018252601383527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602084015290517fe1fc45ce00000000000000000000000000000000000000000000000000000000815290925073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163e1fc45ce916112cf918a913391908790600401611fff565b6000604051808303816000875af11580156112ee573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113169190810190611d4c565b50505050505050565b606061134483836040518060600160405280602781526020016124b06027913961134b565b9392505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516113759190612480565b600060405180830381855af49150503d80600081146113b0576040519150601f19603f3d011682016040523d82523d6000602084013e6113b5565b606091505b50915091506113c6868383876113d0565b9695505050505050565b6060831561146b5782516000036114645773ffffffffffffffffffffffffffffffffffffffff85163b611464576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064015b60405180910390fd5b5081611475565b611475838361147d565b949350505050565b81511561148d5781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145b919061249c565b73ffffffffffffffffffffffffffffffffffffffff811681146114e357600080fd5b50565b600060a082840312156114f857600080fd5b50919050565b60008083601f84011261151057600080fd5b50813567ffffffffffffffff81111561152857600080fd5b6020830191508360208260051b850101111561154357600080fd5b9250929050565b6000806000806000806080878903121561156357600080fd5b863561156e816114c1565b9550602087013567ffffffffffffffff8082111561158b57600080fd5b6115978a838b016114e6565b965060408901359150808211156115ad57600080fd5b6115b98a838b016114fe565b909650945060608901359150808211156115d257600080fd5b506115df89828a016114fe565b979a9699509497509295939492505050565b60006020828403121561160357600080fd5b813567ffffffffffffffff81111561161a57600080fd5b820160c0818503121561134457600080fd5b6000606082840312156114f857600080fd5b6000806000806000806080878903121561165757600080fd5b8635611662816114c1565b9550602087013567ffffffffffffffff8082111561167f57600080fd5b6115978a838b0161162c565b6000806040838503121561169e57600080fd5b82356116a9816114c1565b946020939093013593505050565b6000806000604084860312156116cc57600080fd5b83356116d7816114c1565b9250602084013567ffffffffffffffff8111156116f357600080fd5b6116ff868287016114fe565b9497909650939450505050565b60008083601f84011261171e57600080fd5b50813567ffffffffffffffff81111561173657600080fd5b60208301915083602082850101111561154357600080fd5b60008060006040848603121561176357600080fd5b833561176e816114c1565b9250602084013567ffffffffffffffff81111561178a57600080fd5b6116ff8682870161170c565b60008060008060008060006080888a0312156117b157600080fd5b87356117bc816114c1565b9650602088013567ffffffffffffffff808211156117d957600080fd5b6117e58b838c0161170c565b909850965060408a01359150808211156117fe57600080fd5b61180a8b838c0161170c565b909650945060608a013591508082111561182357600080fd5b506118308a828b016114fe565b989b979a50959850939692959293505050565b60008060008060008060008060c0898b03121561185f57600080fd5b883561186a816114c1565b9750602089013561187a816114c1565b9650604089013561188a816114c1565b955060608901359450608089013567ffffffffffffffff808211156118ae57600080fd5b6118ba8c838d016114fe565b909650945060a08b01359150808211156118d357600080fd5b506118e08b828c016114fe565b999c989b5096995094979396929594505050565b6000806020838503121561190757600080fd5b823567ffffffffffffffff81111561191e57600080fd5b61192a858286016114fe565b90969095509350505050565b60005b83811015611951578181015183820152602001611939565b50506000910152565b60008151808452611972816020860160208601611936565b601f01601f19169290920160200192915050565b600081518084526020808501808196508360051b8101915082860160005b858110156119ce5782840389526119bc84835161195a565b988501989350908401906001016119a4565b5091979650505050505050565b6020815260006113446020830184611986565b60008060408385031215611a0157600080fd5b8235611a0c816114c1565b9150602083013567ffffffffffffffff811115611a2857600080fd5b611a348582860161162c565b9150509250929050565b600080600060608486031215611a5357600080fd5b8335611a5e816114c1565b95602085013595506040909401359392505050565b600080600080600060608688031215611a8b57600080fd5b8535611a96816114c1565b9450602086013567ffffffffffffffff80821115611ab357600080fd5b611abf89838a0161170c565b90965094506040880135915080821115611ad857600080fd5b50611ae58882890161170c565b969995985093965092949392505050565b803560ff81168114611b0757600080fd5b919050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611b4157600080fd5b830160208101925035905067ffffffffffffffff811115611b6157600080fd5b80360382131561154357600080fd5b818352818160208501375060006020828401015260006020601f19601f840116840101905092915050565b6020815260008235611bac816114c1565b73ffffffffffffffffffffffffffffffffffffffff811660208401525060ff611bd760208501611af6565b166040830152611bea6040840184611b0c565b60a06060850152611bff60c085018284611b70565b91505060608401356080840152611c196080850185611b0c565b601f198584030160a08601526113c6838284611b70565b828152604060208201526000611475604083018461195a565b81835260006020808501808196508560051b810191508460005b878110156119ce578284038952611c7a8288611b0c565b611c85868284611b70565b9a87019a9550505090840190600101611c63565b600073ffffffffffffffffffffffffffffffffffffffff808b168352808a1660208401525060c06040830152611cd260c083018961195a565b8281036060840152611ce4818961195a565b90508281036080840152611cf9818789611c49565b905082810360a0840152611d0e818587611c49565b9b9a5050505050505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600060208284031215611d5e57600080fd5b815167ffffffffffffffff80821115611d7657600080fd5b818401915084601f830112611d8a57600080fd5b815181811115611d9c57611d9c611d1d565b604051601f8201601f19908116603f01168101908382118183101715611dc457611dc4611d1d565b81604052828152876020848701011115611ddd57600080fd5b611dee836020830160208801611936565b979650505050505050565b60008060408385031215611e0c57600080fd5b505080516020909101519092909150565b600060208284031215611e2f57600080fd5b8135611344816114c1565b803560068110611b0757600080fd5b60068110611e80577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611eb957600080fd5b830160208101925035905067ffffffffffffffff811115611ed957600080fd5b8060051b360382131561154357600080fd5b8183526000602080850194508260005b85811015611f215760ff611f0e83611af6565b1687529582019590820190600101611efb565b509495945050505050565b602081526000611f3c8384611b0c565b60c06020850152611f5160e085018284611b70565b9150506020840135611f62816114c1565b73ffffffffffffffffffffffffffffffffffffffff8116604085015250611f9760608401611f9260408701611e3a565b611e49565b611fa360608501611e3a565b611fb06080850182611e49565b50611fbe6080850185611e84565b601f19808685030160a0870152611fd6848385611eeb565b9350611fe560a0880188611e84565b93509150808685030160c0870152506113c6838383611eeb565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525060806040830152612038608083018561195a565b8281036060840152611dee818561195a565b81835260006020808501808196508560051b81019150846000805b888110156120e0578385038a5282357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc18936030181126120a3578283fd5b88018035865260406120b788830183611b0c565b925081898901526120cb8289018483611b70565b9c89019c975050509286019250600101612065565b509298975050505050505050565b6020815260006120fe8384611e84565b6060602085015261211360808501828461204a565b91505060208401356040840152604084013560608401528091505092915050565b60006020828403121561214657600080fd5b5051919050565b600073ffffffffffffffffffffffffffffffffffffffff808916835280881660208401525060c0604083015261218660c083018761195a565b8281036060840152612198818761195a565b905082810360808401526121ac8186611986565b905082810360a08401526106e28185611986565b602081526000611475602083018486611c49565b602081526000611475602083018486611b70565b73ffffffffffffffffffffffffffffffffffffffff8816815260806020820152600061221860808301888a611b70565b828103604084015261222b818789611b70565b90508281036060840152612240818587611c49565b9a9950505050505050505050565b60006020828403121561226057600080fd5b8151611344816114c1565b60208152600061227b8384611b0c565b60a0602085015261229060c085018284611b70565b91505060208401356122a1816114c1565b73ffffffffffffffffffffffffffffffffffffffff808216604086015260408601356060860152606086013591506122d8826114c1565b16608084810191909152939093013560a0909201919091525090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261235857600080fd5b83018035915067ffffffffffffffff82111561237357600080fd5b60200191503681900382131561154357600080fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036123e0577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b6020815260006123f78384611b0c565b6060602085015261240c608085018284611b70565b91505061241c6020850185611e84565b601f1985840301604086015261243383828461204a565b9250505060408401356003811061244957600080fd5b6060939093019290925250919050565b60408152600061246d604083018688611b70565b8281036020840152611dee818587611b70565b60008251612492818460208701611936565b9190910192915050565b602081526000611344602083018461195a56fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212205bf994a91e6fba3b278809c0a83ee1a072556ea0f02b0e66fa33d78fe971388664736f6c63430008130033000000000000000000000000ee19ace40db1ba8b0dbbc5e57061a3268bd08c6a000000000000000000000000e8ab207a5c21162db1ee75e378a92c82d550a8d1", + "nonce": "0x7da", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x7f5332cc990b07f875117b1337f10ef6722a5befedf0a958d1212b671fbf3ee3", + "transactionType": "CREATE", + "contractName": "RegistrationModule", + "contractAddress": "0xf59e8d2bD2176f481f0F95568E21a70A07D9CDbC", + "function": null, + "arguments": [ + "(0x7a7BC5640637b74ABEcc6e908Ed548eE1969c948, 0xe8ab207A5C21162Db1ee75e378A92C82d550a8d1, 0x80e012Ca980E1d3993d8beE99828619E5532B12b, 0xEe19aCE40dB1BA8B0DbBc5e57061A3268bd08c6A)", + "0xbD132e42baaFe3648170770F2D45dbA59166e06d" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x62a498", + "value": "0x0", + "data": "0x6101006040523480156200001257600080fd5b5060405162005c4838038062005c48833981016040819052620000359162000298565b6020820151819083906001600160a01b038116620000665760405163134141bd60e11b815260040160405180910390fd5b6001600160a01b039081166080528151166200009557604051636028d8f760e01b815260040160405180910390fd5b80516001600160a01b0390811660a052604082015116620000c957604051635a70c46160e11b815260040160405180910390fd5b60408101516001600160a01b0390811660c052606090910151811660e052620000fc908216637965db0b60e01b6200018f565b6200013f576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600580546001600160a01b0319166001600160a01b0383169081179091556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a250505062000350565b60006200019c83620001b7565b8015620001b05750620001b08383620001f0565b9392505050565b6000620001cc826301ffc9a760e01b620001f0565b8015620001ea5750620001e8826001600160e01b0319620001f0565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801562000263575060208210155b8015620002705750600081115b979650505050505050565b80516001600160a01b03811681146200029357600080fd5b919050565b60008082840360a0811215620002ad57600080fd5b6080811215620002bc57600080fd5b50604051608081016001600160401b0381118282101715620002ee57634e487b7160e01b600052604160045260246000fd5b604052620002fc846200027b565b81526200030c602085016200027b565b60208201526200031f604085016200027b565b604082015262000332606085016200027b565b6060820152915062000347608084016200027b565b90509250929050565b60805160a05160c05160e051615894620003b4600039600081816102990152613699015260006104a401526000818161044401528181611c2d0152613ccc01526000818161040a01528181610c620152818161154a0152612ceb01526158946000f3fe608060405234801561001057600080fd5b50600436106101c35760003560e01c80638a8cb0b4116100f9578063bc12fcca11610097578063e8d7265411610071578063e8d7265414610479578063e8fb5c9b1461048c578063f0ebdc831461049f578063fba854e0146104c657600080fd5b8063bc12fcca1461042c578063d2faf8b01461043f578063e57204041461046657600080fd5b8063a5b04d45116100d3578063a5b04d45146103cc578063a6829872146103df578063b6efd29d146103f2578063b95ddb521461040557600080fd5b80638a8cb0b4146103575780639533563d146103995780639b722202146103ac57600080fd5b80634fcbd213116101665780636352211e116101405780636352211e1461030b57806368a4f0711461031e5780637448c5681461033157806377379d941461034457600080fd5b80634fcbd2131461028157806351e06b90146102945780635f32b430146102e057600080fd5b806319129e5a116101a257806319129e5a1461022a5780632fa7bc991461023f57806332ee6813146102525780634fa4467c1461027957600080fd5b8062844d13146101c857806301ffc9a7146101f157806302a8df9114610214575b600080fd5b6101db6101d6366004614079565b6104d9565b6040516101e89190614104565b60405180910390f35b6102046101ff366004614117565b6105d2565b60405190151581526020016101e8565b61021c60ff81565b6040519081526020016101e8565b61023d610238366004614079565b6106b5565b005b61023d61024d3660046141a2565b61081b565b61021c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81565b61021c600a81565b6101db61028f3660046141ee565b610c48565b6102bb7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101e8565b61021c6102ee366004614253565b600860209081526000928352604080842090915290825290205481565b6102bb61031936600461427f565b610cce565b6101db61032c3660046142a5565b610d8d565b61021c61033f3660046142da565b610f62565b6102046103523660046142f8565b610f76565b610204610365366004614349565b73ffffffffffffffffffffffffffffffffffffffff821660009081526007602052604090206002015460ff82161092915050565b61023d6103a73660046143c7565b610fae565b6103bf6103ba366004614079565b611181565b6040516101e89190614486565b61023d6103da366004614506565b611280565b6101db6103ed366004614253565b61148b565b6101db610400366004614547565b611530565b6102bb7f000000000000000000000000000000000000000000000000000000000000000081565b61021c61043a3660046142da565b61168a565b6102bb7f000000000000000000000000000000000000000000000000000000000000000081565b6102bb6104743660046142a5565b611696565b6101db6104873660046145f2565b61178e565b61021c61049a3660046142f8565b611e69565b6102bb7f000000000000000000000000000000000000000000000000000000000000000081565b61023d6104d4366004614629565b611e86565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260076020526040812060010180546060929190610511906146c8565b80601f016020809104026020016040519081016040528092919081815260200182805461053d906146c8565b801561058a5780601f1061055f5761010080835404028352916020019161058a565b820191906000526020600020905b81548152906001019060200180831161056d57829003601f168201915b5050505050905080516000036105cc576040517f87dc059f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f2fa7bc9900000000000000000000000000000000000000000000000000000000148061066557507fffffffff0000000000000000000000000000000000000000000000000000000082167ff924008e00000000000000000000000000000000000000000000000000000000145b806105cc57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316146105cc565b60006106c18133612064565b610705576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b61074573ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000612100565b6107ab576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c00000000000000000000000000000000000060448201526064016106fc565b600580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a25050565b60008061082a83850185614877565b915091508115610b375760008581526004602052604081206007018054916108518361490a565b9091555050600085815260046020908152604091829020825161010081018452815473ffffffffffffffffffffffffffffffffffffffff908116825260018301541692810192909252600281018054610b3194840191906108b1906146c8565b80601f01602080910402602001604051908101604052809291908181526020018280546108dd906146c8565b801561092a5780601f106108ff5761010080835404028352916020019161092a565b820191906000526020600020905b81548152906001019060200180831161090d57829003601f168201915b5050505050815260200160038201805480602002602001604051908101604052809291908181526020016000905b82821015610a04578382906000526020600020018054610977906146c8565b80601f01602080910402602001604051908101604052809291908181526020018280546109a3906146c8565b80156109f05780601f106109c5576101008083540402835291602001916109f0565b820191906000526020600020905b8154815290600101906020018083116109d357829003601f168201915b505050505081526020019060010190610958565b50505050815260200160048201805480602002602001604051908101604052809291908181526020016000905b82821015610add578382906000526020600020018054610a50906146c8565b80601f0160208091040260200160405190810160405280929190818152602001828054610a7c906146c8565b8015610ac95780601f10610a9e57610100808354040283529160200191610ac9565b820191906000526020600020905b815481529060010190602001808311610aac57829003601f168201915b505050505081526020019060010190610a31565b5050509082525060058201546020820152600682015460409091019060ff166001811115610b0d57610b0d614942565b6001811115610b1e57610b1e614942565b815260200160078201548152505061211c565b50610b9c565b6000858152600460205260409081902060010154905173ffffffffffffffffffffffffffffffffffffffff909116907f7f7ce7cf4c1b43e1bf51034d0ad7062abb9d4529c7bb0510d512249b0fb7145290610b93908490614104565b60405180910390a25b600085815260046020526040812080547fffffffffffffffffffffffff00000000000000000000000000000000000000009081168255600182018054909116905590610beb6002830182613f56565b610bf9600383016000613f93565b610c07600483016000613f93565b506000600582018190556006820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690556007909101555050505050565b60603373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610cb9576040517f72823b5400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610cc585858585612226565b95945050505050565b600081815260066020908152604080832081518083018352815473ffffffffffffffffffffffffffffffffffffffff1680825260019092015493810184905291517f6352211e00000000000000000000000000000000000000000000000000000000815260048101939093529091636352211e90602401602060405180830381865afa158015610d62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d869190614971565b9392505050565b60606000610d9b8585612334565b805480602002602001604051908101604052809291908181526020016000905b82821015610e67578382906000526020600020018054610dda906146c8565b80601f0160208091040260200160405190810160405280929190818152602001828054610e06906146c8565b8015610e535780601f10610e2857610100808354040283529160200191610e53565b820191906000526020600020905b815481529060010190602001808311610e3657829003601f168201915b505050505081526020019060010190610dbb565b50505050905080518310610eaa576040517f9c7692bf000000000000000000000000000000000000000000000000000000008152600481018490526024016106fc565b610eb48585612334565b8381548110610ec557610ec561498e565b906000526020600020018054610eda906146c8565b80601f0160208091040260200160405190810160405280929190818152602001828054610f06906146c8565b8015610f535780601f10610f2857610100808354040283529160200191610f53565b820191906000526020600020905b815481529060010190602001808311610f3657829003601f168201915b50505050509150509392505050565b6000610f6e8383612376565b549392505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610fa4858585611e69565b1415949350505050565b8673ffffffffffffffffffffffffffffffffffffffff8116610ffc576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611047573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061106b9190614971565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146110cf576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006110dd8385018561427f565b905060006111638a836040805173ffffffffffffffffffffffffffffffffffffffff84166020820152908101829052606080820152600c60808201527f524547495354524154494f4e000000000000000000000000000000000000000060a082015260009060c00160405160208183030381529060405280519060200120905092915050565b90506111748b8b838c8c8c8c611e86565b5050505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600760209081526040808320600201805482518185028101850190935280835260609492939192909184015b828210156112755783829060005260206000200180546111e8906146c8565b80601f0160208091040260200160405190810160405280929190818152602001828054611214906146c8565b80156112615780601f1061123657610100808354040283529160200191611261565b820191906000526020600020905b81548152906001019060200180831161124457829003601f168201915b5050505050815260200190600101906111c9565b505050509050919050565b8173ffffffffffffffffffffffffffffffffffffffff81166112ce576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611319573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061133d9190614971565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146113a1576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008460018111156113b5576113b5614942565b1480156113cf575060008281526020819052604090205415155b156114075760008281526020819052604081206113eb91613fb1565b600082815260026020526040812061140291613f93565b611449565b6000828152600160205260409020541561144957600082815260016020526040812061143291613fb1565b600082815260036020526040812061144991613f93565b8184600181111561145c5761145c614942565b6040517f1fe48a4ec69671720d8bdd8f8a6853d16f486c0bb91fcaf5b8ffc4932b8bc9f490600090a350505050565b6009602090815260009283526040808420909152908252902080546114af906146c8565b80601f01602080910402602001604051908101604052809291908181526020018280546114db906146c8565b80156115285780601f106114fd57610100808354040283529160200191611528565b820191906000526020600020905b81548152906001019060200180831161150b57829003601f168201915b505050505081565b60603373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146115a1576040517f72823b5400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115ad898989896123b8565b60006115bb8a8a8a8a6125b5565b905060006040518061010001604052808c73ffffffffffffffffffffffffffffffffffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505090825250602001611649888a614a01565b81526020016116588688614a01565b815260208101849052604001600081526020016000815250905061167b8161211c565b9b9a5050505050505050505050565b6000610f6e8383612334565b6000806116a38585612376565b80548060200260200160405190810160405280929190818152602001828054801561170457602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116116d9575b5050505050905080518310611748576040517f9c7692bf000000000000000000000000000000000000000000000000000000008152600481018490526024016106fc565b6117528585612376565b83815481106117635761176361498e565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1695945050505050565b73ffffffffffffffffffffffffffffffffffffffff831660008181526008602090815260408083208684529091528082205490517f6352211e0000000000000000000000000000000000000000000000000000000081526004810186905260609391929190636352211e90602401602060405180830381865afa158015611819573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061183d9190614971565b905073ffffffffffffffffffffffffffffffffffffffff811661188c576040517f85a9692000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff86166000908152600960209081526040808320888452909152812080546118c7906146c8565b905011156119915773ffffffffffffffffffffffffffffffffffffffff861660009081526009602090815260408083208884529091529020805461190a906146c8565b80601f0160208091040260200160405190810160405280929190818152602001828054611936906146c8565b80156119835780601f1061195857610100808354040283529160200191611983565b820191906000526020600020905b81548152906001019060200180831161196657829003601f168201915b505050505092505050610d86565b73ffffffffffffffffffffffffffffffffffffffff86166000908152600760205260408082208151606081019092528054829082906119cf906146c8565b80601f01602080910402602001604051908101604052809291908181526020018280546119fb906146c8565b8015611a485780601f10611a1d57610100808354040283529160200191611a48565b820191906000526020600020905b815481529060010190602001808311611a2b57829003601f168201915b50505050508152602001600182018054611a61906146c8565b80601f0160208091040260200160405190810160405280929190818152602001828054611a8d906146c8565b8015611ada5780601f10611aaf57610100808354040283529160200191611ada565b820191906000526020600020905b815481529060010190602001808311611abd57829003601f168201915b5050505050815260200160028201805480602002602001604051908101604052809291908181526020016000905b82821015611bb4578382906000526020600020018054611b27906146c8565b80601f0160208091040260200160405190810160405280929190818152602001828054611b53906146c8565b8015611ba05780601f10611b7557610100808354040283529160200191611ba0565b820191906000526020600020905b815481529060010190602001808311611b8357829003601f168201915b505050505081526020019060010190611b08565b5050509152505080515190915015611bfb578051611bd184612653565b604051602001611be2929190614a91565b6040516020818303038152906040529350505050610d86565b6040517fc47f8bfa000000000000000000000000000000000000000000000000000000008152600481018490526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063c47f8bfa90602401600060405180830381865afa158015611c89573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052611ccf9190810190614b22565b90506000611cdc85612653565b8251604051611cef929190602001614bec565b60405160208183030381529060405290506000611d27836060015173ffffffffffffffffffffffffffffffffffffffff166014612711565b611d488673ffffffffffffffffffffffffffffffffffffffff166014612711565b604051602001611d59929190614d2f565b60405160208183030381529060405290506000611d91846020015173ffffffffffffffffffffffffffffffffffffffff166014612711565b85604001518a60ff1681518110611daa57611daa61498e565b6020026020010151611dc2866040015160ff16612653565b6080870151611dd2906020612711565b611de98860a0015167ffffffffffffffff16612653565b604051602001611dfd959493929190614e2b565b6040516020818303038152906040529050611e3a838383604051602001611e2693929190615090565b604051602081830303815290604052612954565b604051602001611e4a91906150fb565b6040516020818303038152906040529750505050505050509392505050565b6000611e7e611e788585612376565b83612aa7565b949350505050565b8573ffffffffffffffffffffffffffffffffffffffff8116611ed4576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f1f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f439190614971565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611fa7576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611fb2888888611280565b61200e611fbf8988612376565b611fc98a89612334565b8787808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506120099250889150899050614a01565b612b41565b8588600181111561202157612021614942565b7f5e140eb5bed8bcb1664a04c0be4aa419e0d2dbf1277a4a6770882a0beb3b91b28787604051612052929190615140565b60405180910390a35050505050505050565b6005546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810184905273ffffffffffffffffffffffffffffffffffffffff838116602483015260009216906391d1485490604401602060405180830381865afa1580156120dc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d86919061519b565b600061210b83612f7b565b8015610d865750610d868383612fdf565b606060008260c00151600181111561213657612136614942565b1480156121495750612147826130ae565b155b156121a957816020015173ffffffffffffffffffffffffffffffffffffffff167fa1e5a8c0fde3fa4d7320c3f9de0ab0a2c1ee6e891e6a513ca0811ddcf768b59460405160405180910390a2505060408051602081019091526000815290565b6121c08260000151836020015184604001516134a3565b600160c0840152600060e084015290506121d9826130ae565b50816020015173ffffffffffffffffffffffffffffffffffffffff167f4ec4635a4d1f6ebe9ee3a059f74fc5d802e04d2d115c4090337a34e3b137c98a60405160405180910390a2919050565b606061223285856135db565b600080612241848601866151b8565b915091507f88fae8356076de6f233fd00b30fad913df2329364a9e9242abdc96adccc3bfc98203612299576000808280602001905181019061228391906151f5565b9150915061229289838361370c565b505061231a565b7f9aeb830ec91a14c97a5446cc7c86a42f73a78f37f9a77afa238b5d11520ddfbc82036122e8576000818060200190518101906122d6919061524f565b90506122e288826137a2565b5061231a565b6040517f04e4b46900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505060408051602081019091526000815295945050505050565b60008083600181111561234957612349614942565b03612362575060008181526002602052604090206105cc565b5060008181526003602052604090206105cc565b60008083600181111561238b5761238b614942565b036123a4575060008181526020819052604090206105cc565b5060008181526001602052604090206105cc565b6000806123c7838501856151b8565b915091507fbc42750dbe73870bbe102106b22fd8bdfa53c7247eca196d8bb7da9527f0c1e582036124bf5760008060008380602001905181019061240b9190615300565b9250925092508273ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614158061248057508773ffffffffffffffffffffffffffffffffffffffff1661246782610cce565b73ffffffffffffffffffffffffffffffffffffffff1614155b156124b7576040517f7e833cd700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050506125ad565b7fe761f303268b55a3dc96719551acb95ca3bd1ebeef4b720be68dd92563627a3f820361257b576000818060200190518101906124fc9190615343565b90508573ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff1614612567576040517f7e833cd700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612575878260200151613867565b506125ad565b6040517f9ca9add400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050505050565b6000806125c4838501856151b8565b50905061264986826040805173ffffffffffffffffffffffffffffffffffffffff84166020820152908101829052606080820152600c60808201527f524547495354524154494f4e000000000000000000000000000000000000000060a082015260009060c00160405160208183030381529060405280519060200120905092915050565b9695505050505050565b60606000612660836138d4565b600101905060008167ffffffffffffffff81111561268057612680614729565b6040519080825280601f01601f1916602001820160405280156126aa576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85049450846126b457509392505050565b60606000612720836002615404565b61272b90600261541b565b67ffffffffffffffff81111561274357612743614729565b6040519080825280601f01601f19166020018201604052801561276d576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106127a4576127a461498e565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106128075761280761498e565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000612843846002615404565b61284e90600161541b565b90505b60018111156128eb577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061288f5761288f61498e565b1a60f81b8282815181106128a5576128a561498e565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c936128e48161542e565b9050612851565b508315610d86576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016106fc565b6060815160000361297357505060408051602081019091526000815290565b600060405180606001604052806040815260200161581f60409139905060006003845160026129a2919061541b565b6129ac9190615463565b6129b7906004615404565b67ffffffffffffffff8111156129cf576129cf614729565b6040519080825280601f01601f1916602001820160405280156129f9576020820181803683370190505b509050600182016020820185865187015b80821015612a65576003820191508151603f8160121c168501518453600184019350603f81600c1c168501518453600184019350603f8160061c168501518453600184019350603f8116850151845350600183019250612a0a565b5050600386510660018114612a815760028114612a9457612a9c565b603d6001830353603d6002830353612a9c565b603d60018303535b509195945050505050565b8154600090815b81811015612b17578373ffffffffffffffffffffffffffffffffffffffff16858281548110612adf57612adf61498e565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1603612b0f5791506105cc9050565b600101612aae565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff949350505050565b8151600a811115612b7e576040517f760fb4ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80825114612bb8576040517f3021beb200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b818110156125ad57600073ffffffffffffffffffffffffffffffffffffffff16848281518110612bed57612bed61498e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1603612c42576040517f7d4de38200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600081118015612cb25750836001820381518110612c6257612c6261498e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff16848281518110612c9257612c9261498e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff16145b15612ce9576040517fd696c40800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166382984f30858381518110612d3757612d3761498e565b60200260200101516040518263ffffffff1660e01b8152600401612d77919073ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b602060405180830381865afa158015612d94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612db8919061519b565b612e2557838181518110612dce57612dce61498e565b60200260200101516040517f5a9873880000000000000000000000000000000000000000000000000000000081526004016106fc919073ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b838181518110612e3757612e3761498e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1663a913b881848381518110612e6c57612e6c61498e565b60200260200101516040518263ffffffff1660e01b8152600401612e909190614104565b60006040518083038186803b158015612ea857600080fd5b505afa158015612ebc573d6000803e3d6000fd5b5050505085848281518110612ed357612ed361498e565b60209081029190910181015182546001810184556000938452919092200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90921691909117905582518590849083908110612f4957612f4961498e565b60209081029190910181015182546001810184556000938452919092200190612f7290826154e4565b50600101612bbb565b6000612fa7827f01ffc9a700000000000000000000000000000000000000000000000000000000612fdf565b80156105cc5750612fd8827fffffffff00000000000000000000000000000000000000000000000000000000612fdf565b1592915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015613097575060208210155b80156130a35750600081115b979650505050505050565b6000806130c38360c001518460a00151612376565b80548060200260200160405190810160405280929190818152602001828054801561312457602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116130f9575b50505050509050600061313f8460c001518560a00151612334565b805480602002602001604051908101604052809291908181526020016000905b8282101561320b57838290600052602060002001805461317e906146c8565b80601f01602080910402602001604051908101604052809291908181526020018280546131aa906146c8565b80156131f75780601f106131cc576101008083540402835291602001916131f7565b820191906000526020600020905b8154815290600101906020018083116131da57829003601f168201915b50505050508152602001906001019061315f565b50508451929350600091508190508660c00151600181111561322f5761322f614942565b1461323e578560800151613244565b85606001515b90508181511461329c578560c00151600181111561326457613264614942565b6040517f3171c36f00000000000000000000000000000000000000000000000000000000815260ff90911660048201526024016106fc565b60e08601515b8281101561349657808760e0018181525050600060405180604001604052808684815181106132d3576132d361498e565b602002602001015181526020018484815181106132f2576132f261498e565b60200260200101518152509050600061334f8784815181106133165761331661498e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673800000000000000000000000000000000000000016151590565b15613432578683815181106133665761336661498e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff166334e5d29f8360405160200161339a91906155fe565b6040516020818303038152906040526040518263ffffffff1660e01b81526004016133c59190614104565b6000604051808303816000875af11580156133e4573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261342a9190810190615655565b509050613459565b6134568784815181106134475761344761498e565b6020026020010151838b6139b6565b90505b600181600181111561346d5761346d614942565b146134815750600098975050505050505050565b5050808061348e9061490a565b9150506132a2565b5060019695505050505050565b6060600080838060200190518101906134bc919061569c565b915091507fbc42750dbe73870bbe102106b22fd8bdfa53c7247eca196d8bb7da9527f0c1e5820361352e576000806000838060200190518101906135009190615300565b92509250925061351289828585613bb8565b6040518060200160405280600081525095505050505050610d86565b7fe761f303268b55a3dc96719551acb95ca3bd1ebeef4b720be68dd92563627a3f82036135c25760008180602001905181019061356b9190615343565b90506000806135928984600001518560400151866020015187606001518860800151613cc7565b60408051602081019390935282810191909152805180830382018152606090920190529550610d86945050505050565b5050604080516020810190915260008152949350505050565b8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561363d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136619190614971565b73ffffffffffffffffffffffffffffffffffffffff16141580156136d157508073ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1614155b15613708576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b73ffffffffffffffffffffffffffffffffffffffff831660009081526007602052604090208061373c84826154e4565b506001810161374b83826154e4565b508373ffffffffffffffffffffffffffffffffffffffff167f6c1850fce35387a891e82ca88e975790ab6f0709e9ed6842e01397f296012a7e84846040516137949291906156cd565b60405180910390a250505050565b805160ff8111156137df576040517f1c17d63a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff83166000908152600760205260408120905b8281101561386057816002018482815181106138245761382461498e565b6020908102919091018101518254600181018455600093845291909220019061384d90826154e4565b50806138588161490a565b915050613806565b5050505050565b73ffffffffffffffffffffffffffffffffffffffff821660009081526007602052604090206002015460ff808216908316106138cf576040517f12d7e46c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000831061391d577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef81000000008310613949576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061396757662386f26fc10000830492506010015b6305f5e100831061397f576305f5e100830492506008015b612710831061399357612710830492506004015b606483106139a5576064830492506002015b600a83106105cc5760010192915050565b60008060008573ffffffffffffffffffffffffffffffffffffffff16635260a98c866040516020016139e891906155fe565b604051602081830303815290604052306040518363ffffffff1660e01b8152600401613a159291906156f2565b6000604051808303816000875af1158015613a34573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052613a7a919081019061572a565b91935090915060009050826001811115613a9657613a96614942565b03613baf57600081815260046020908152604091829020865181547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff92831617835592880151600183018054909416911617909155908501518591906002820190613b1990826154e4565b5060608201518051613b35916003840191602090910190613fcf565b5060808201518051613b51916004840191602090910190613fcf565b5060a0820151600582015560c08201516006820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660018381811115613b9c57613b9c614942565b021790555060e082015181600701559050505b50949350505050565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301528281166024830152604482018590528516906323b872dd90606401600060405180830381600087803b158015613c3057600080fd5b505af1158015613c44573d6000803e3d6000fd5b5050505073ffffffffffffffffffffffffffffffffffffffff84811660008181526008602090815260408083208884528252918290205482518881528786169281019290925293851681830152905183917f0480e159be1c15e0022dfbc6d236db58db83a033908eca4876f796f60ed871b9919081900360600190a35050505050565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663601a924c898989886040518563ffffffff1660e01b8152600401613d299493929190615784565b6020604051808303816000875af1158015613d48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d6c91906157ce565b6040517f691562a000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff898116600483015260ff881660248301529193509089169063691562a0906044016020604051808303816000875af1158015613de7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e0b91906157ce565b73ffffffffffffffffffffffffffffffffffffffff89811660008181526008602090815260408083208684528252808320889055805180820182529384528382018681528884526006909252909120825181547fffffffffffffffffffffffff00000000000000000000000000000000000000001694169390931783555160019092019190915584519192509015613ed95773ffffffffffffffffffffffffffffffffffffffff891660009081526009602090815260408083208584529091529020613ed785826154e4565b505b8560ff168873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff167fd051b12b5a18291aec9a26b17774a4be2d10dce167cbdc5944c7942c78f901c186868c8b8b604051613f429594939291906157e7565b60405180910390a450965096945050505050565b508054613f62906146c8565b6000825580601f10613f72575050565b601f016020900490600052602060002090810190613f909190614025565b50565b5080546000825590600052602060002090810190613f90919061403a565b5080546000825590600052602060002090810190613f909190614025565b828054828255906000526020600020908101928215614015579160200282015b82811115614015578251829061400590826154e4565b5091602001919060010190613fef565b5061402192915061403a565b5090565b5b808211156140215760008155600101614026565b8082111561402157600061404e8282613f56565b5060010161403a565b73ffffffffffffffffffffffffffffffffffffffff81168114613f9057600080fd5b60006020828403121561408b57600080fd5b8135610d8681614057565b60005b838110156140b1578181015183820152602001614099565b50506000910152565b600081518084526140d2816020860160208601614096565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610d8660208301846140ba565b60006020828403121561412957600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610d8657600080fd5b60008083601f84011261416b57600080fd5b50813567ffffffffffffffff81111561418357600080fd5b60208301915083602082850101111561419b57600080fd5b9250929050565b6000806000604084860312156141b757600080fd5b83359250602084013567ffffffffffffffff8111156141d557600080fd5b6141e186828701614159565b9497909650939450505050565b6000806000806060858703121561420457600080fd5b843561420f81614057565b9350602085013561421f81614057565b9250604085013567ffffffffffffffff81111561423b57600080fd5b61424787828801614159565b95989497509550505050565b6000806040838503121561426657600080fd5b823561427181614057565b946020939093013593505050565b60006020828403121561429157600080fd5b5035919050565b60028110613f9057600080fd5b6000806000606084860312156142ba57600080fd5b83356142c581614298565b95602085013595506040909401359392505050565b600080604083850312156142ed57600080fd5b823561427181614298565b60008060006060848603121561430d57600080fd5b833561431881614298565b925060208401359150604084013561432f81614057565b809150509250925092565b60ff81168114613f9057600080fd5b6000806040838503121561435c57600080fd5b823561436781614057565b915060208301356143778161433a565b809150509250929050565b60008083601f84011261439457600080fd5b50813567ffffffffffffffff8111156143ac57600080fd5b6020830191508360208260051b850101111561419b57600080fd5b60008060008060008060008060a0898b0312156143e357600080fd5b88356143ee81614298565b975060208901356143fe81614057565b9650604089013567ffffffffffffffff8082111561441b57600080fd5b6144278c838d01614382565b909850965060608b013591508082111561444057600080fd5b61444c8c838d01614382565b909650945060808b013591508082111561446557600080fd5b506144728b828c01614159565b999c989b5096995094979396929594505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156144f9577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08886030184526144e78583516140ba565b945092850192908501906001016144ad565b5092979650505050505050565b60008060006060848603121561451b57600080fd5b833561452681614298565b9250602084013561453681614057565b929592945050506040919091013590565b60008060008060008060008060a0898b03121561456357600080fd5b883561456e81614057565b9750602089013561457e81614057565b9650604089013567ffffffffffffffff8082111561459b57600080fd5b6145a78c838d01614159565b909850965060608b01359150808211156145c057600080fd5b6145cc8c838d01614382565b909650945060808b01359150808211156145e557600080fd5b506144728b828c01614382565b60008060006060848603121561460757600080fd5b833561461281614057565b925060208401359150604084013561432f8161433a565b600080600080600080600060a0888a03121561464457600080fd5b873561464f81614298565b9650602088013561465f81614057565b955060408801359450606088013567ffffffffffffffff8082111561468357600080fd5b61468f8b838c01614382565b909650945060808a01359150808211156146a857600080fd5b506146b58a828b01614382565b989b979a50959850939692959293505050565b600181811c908216806146dc57607f821691505b602082108103614715577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b8015158114613f9057600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff8111828210171561477b5761477b614729565b60405290565b60405160a0810167ffffffffffffffff8111828210171561477b5761477b614729565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156147eb576147eb614729565b604052919050565b600067ffffffffffffffff82111561480d5761480d614729565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600061484c614847846147f3565b6147a4565b905082815283838301111561486057600080fd5b828260208301376000602084830101529392505050565b6000806040838503121561488a57600080fd5b82356148958161471b565b9150602083013567ffffffffffffffff8111156148b157600080fd5b8301601f810185136148c257600080fd5b6148d185823560208401614839565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361493b5761493b6148db565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60006020828403121561498357600080fd5b8151610d8681614057565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600067ffffffffffffffff8211156149d7576149d7614729565b5060051b60200190565b600082601f8301126149f257600080fd5b610d8683833560208501614839565b6000614a0f614847846149bd565b80848252602080830192508560051b850136811115614a2d57600080fd5b855b81811015614a6957803567ffffffffffffffff811115614a4f5760008081fd5b614a5b36828a016149e1565b865250938201938201614a2f565b50919695505050505050565b60008151614a87818560208601614096565b9290920192915050565b60008351614aa3818460208801614096565b835190830190614ab7818360208801614096565b01949350505050565b600082601f830112614ad157600080fd5b8151614adf614847826147f3565b818152846020838601011115614af457600080fd5b611e7e826020830160208701614096565b805167ffffffffffffffff81168114614b1d57600080fd5b919050565b600060208284031215614b3457600080fd5b815167ffffffffffffffff80821115614b4c57600080fd5b9083019060c08286031215614b6057600080fd5b614b68614758565b825182811115614b7757600080fd5b614b8387828601614ac0565b82525060208301519150614b9682614057565b81602082015260408301519150614bac8261433a565b81604082015260608301519150614bc282614057565b81606082015260808301516080820152614bde60a08401614b05565b60a082015295945050505050565b7f7b226e616d65223a2022476c6f62616c20495020417373657420230000000000815260008351614c2481601b850160208801614096565b7f222c20226465736372697074696f6e223a20224950204f726720417373657420601b918401918201527f526567697374726174696f6e2044657461696c73222c20226174747269627574603b8201527f6573223a205b0000000000000000000000000000000000000000000000000000605b8201527f7b2274726169745f74797065223a20224e616d65222c202276616c7565223a2060618201527f220000000000000000000000000000000000000000000000000000000000000060818201528351614cf9816082840160208801614096565b7f227d2c000000000000000000000000000000000000000000000000000000000060829290910191820152608501949350505050565b7f7b2274726169745f74797065223a20224950204f7267222c202276616c75652281527f3a20220000000000000000000000000000000000000000000000000000000000602082015260008351614d8d816023850160208801614096565b80830190507f227d2c00000000000000000000000000000000000000000000000000000000008060238301527f7b2274726169745f74797065223a202243757272656e74204950204f776e657260268301527f222c202276616c7565223a20220000000000000000000000000000000000000060468301528451614e18816053850160208901614096565b6053920191820152605601949350505050565b7f7b2274726169745f74797065223a2022496e697469616c20526567697374726181527f6e74222c202276616c7565223a20220000000000000000000000000000000000602082015260008651614e8981602f850160208b01614096565b80830190507f227d2c000000000000000000000000000000000000000000000000000000000080602f8301527f7b2274726169745f74797065223a20224950204f72672041737365742054797060328301527f65222c202276616c7565223a202200000000000000000000000000000000000060528301528751614f14816060850160208c01614096565b60609201918201527f7b2274726169745f74797065223a2022537461747573222c202276616c75652260638201527f3a20220000000000000000000000000000000000000000000000000000000000608382015261508461505b615055615006614f88615000614fb182608689018e614a75565b7f227d2c0000000000000000000000000000000000000000000000000000000000815260030190565b7f7b2274726169745f74797065223a202248617368222c202276616c7565223a2081527f2200000000000000000000000000000000000000000000000000000000000000602082015260210190565b8a614a75565b7f7b2274726169745f74797065223a2022526567697374726174696f6e2044617481527f65222c202276616c7565223a20220000000000000000000000000000000000006020820152602e0190565b86614a75565b7f227d000000000000000000000000000000000000000000000000000000000000815260020190565b98975050505050505050565b600084516150a2818460208901614096565b8451908301906150b6818360208901614096565b84519101906150c9818360208801614096565b7f5d7d000000000000000000000000000000000000000000000000000000000000910190815260020195945050505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c00000081526000825161513381601d850160208701614096565b91909101601d0192915050565b60208082528181018390526000908460408401835b8681101561519057823561516881614057565b73ffffffffffffffffffffffffffffffffffffffff1682529183019190830190600101615155565b509695505050505050565b6000602082840312156151ad57600080fd5b8151610d868161471b565b600080604083850312156151cb57600080fd5b82359150602083013567ffffffffffffffff8111156151e957600080fd5b6148d1858286016149e1565b6000806040838503121561520857600080fd5b825167ffffffffffffffff8082111561522057600080fd5b61522c86838701614ac0565b9350602085015191508082111561524257600080fd5b506148d185828601614ac0565b6000602080838503121561526257600080fd5b825167ffffffffffffffff8082111561527a57600080fd5b818501915085601f83011261528e57600080fd5b815161529c614847826149bd565b81815260059190911b830184019084810190888311156152bb57600080fd5b8585015b838110156152f3578051858111156152d75760008081fd5b6152e58b89838a0101614ac0565b8452509186019186016152bf565b5098975050505050505050565b60008060006060848603121561531557600080fd5b835161532081614057565b602085015190935061533181614057565b80925050604084015190509250925092565b60006020828403121561535557600080fd5b815167ffffffffffffffff8082111561536d57600080fd5b9083019060a0828603121561538157600080fd5b615389614781565b825161539481614057565b815260208301516153a48161433a565b60208201526040830151828111156153bb57600080fd5b6153c787828601614ac0565b604083015250606083015160608201526080830151828111156153e957600080fd5b6153f587828601614ac0565b60808301525095945050505050565b80820281158282048414176105cc576105cc6148db565b808201808211156105cc576105cc6148db565b60008161543d5761543d6148db565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b600082615499577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b601f8211156138cf57600081815260208120601f850160051c810160208610156154c55750805b601f850160051c820191505b818110156125ad578281556001016154d1565b815167ffffffffffffffff8111156154fe576154fe614729565b6155128161550c84546146c8565b8461549e565b602080601f831160018114615565576000841561552f5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b1785556125ad565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156155b257888601518255948401946001909101908401615593565b50858210156155ee57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b60208152600082516040602084015261561a60608401826140ba565b905060208401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0848303016040850152610cc582826140ba565b6000806040838503121561566857600080fd5b825161567381614298565b602084015190925067ffffffffffffffff81111561569057600080fd5b6148d185828601614ac0565b600080604083850312156156af57600080fd5b82519150602083015167ffffffffffffffff81111561569057600080fd5b6040815260006156e060408301856140ba565b8281036020840152610cc581856140ba565b60408152600061570560408301856140ba565b905073ffffffffffffffffffffffffffffffffffffffff831660208301529392505050565b60008060006060848603121561573f57600080fd5b835161574a81614298565b602085015190935067ffffffffffffffff81111561576757600080fd5b61577386828701614ac0565b925050604084015190509250925092565b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250608060408301526157bd60808301856140ba565b905082606083015295945050505050565b6000602082840312156157e057600080fd5b5051919050565b85815284602082015260a06040820152600061580660a08301866140ba565b846060840152828103608084015261508481856140ba56fe4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2fa2646970667358221220649f1162533c82b294440c39a1f9ce1aa0719a40999a2c158b524cbd3206043764736f6c634300081300330000000000000000000000007a7bc5640637b74abecc6e908ed548ee1969c948000000000000000000000000e8ab207a5c21162db1ee75e378a92c82d550a8d100000000000000000000000080e012ca980e1d3993d8bee99828619e5532b12b000000000000000000000000ee19ace40db1ba8b0dbbc5e57061a3268bd08c6a000000000000000000000000bd132e42baafe3648170770f2d45dba59166e06d", + "nonce": "0x7db", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x64bc029efaf8f9426011cc82e072b64aa8582e9b745dab34e44649e220908336", + "transactionType": "CREATE", + "contractName": "RelationshipModule", + "contractAddress": "0xf95Ed3608ce1F86DaC4FA12a2202BE56ADe1164F", + "function": null, + "arguments": [ + "(0x7a7BC5640637b74ABEcc6e908Ed548eE1969c948, 0xe8ab207A5C21162Db1ee75e378A92C82d550a8d1, 0x80e012Ca980E1d3993d8beE99828619E5532B12b, 0xEe19aCE40dB1BA8B0DbBc5e57061A3268bd08c6A)", + "0xbD132e42baaFe3648170770F2D45dbA59166e06d" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x5377a4", + "value": "0x0", + "data": "0x6101006040523480156200001257600080fd5b5060405162004e5d38038062004e5d833981016040819052620000359162000298565b6020820151819083906001600160a01b038116620000665760405163134141bd60e11b815260040160405180910390fd5b6001600160a01b039081166080528151166200009557604051636028d8f760e01b815260040160405180910390fd5b80516001600160a01b0390811660a052604082015116620000c957604051635a70c46160e11b815260040160405180910390fd5b60408101516001600160a01b0390811660c052606090910151811660e052620000fc908216637965db0b60e01b6200018f565b6200013f576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600580546001600160a01b0319166001600160a01b0383169081179091556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a250505062000350565b60006200019c83620001b7565b8015620001b05750620001b08383620001f0565b9392505050565b6000620001cc826301ffc9a760e01b620001f0565b8015620001ea5750620001e8826001600160e01b0319620001f0565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801562000263575060208210155b8015620002705750600081115b979650505050505050565b80516001600160a01b03811681146200029357600080fd5b919050565b60008082840360a0811215620002ad57600080fd5b6080811215620002bc57600080fd5b50604051608081016001600160401b0381118282101715620002ee57634e487b7160e01b600052604160045260246000fd5b604052620002fc846200027b565b81526200030c602085016200027b565b60208201526200031f604085016200027b565b604082015262000332606085016200027b565b6060820152915062000347608084016200027b565b90509250929050565b60805160a05160c05160e051614aa9620003b4600039600061028201526000818161043801526134960152600081816103d8015261339401526000818161039e01528181610c9201528181611472015281816122ad01526135da0152614aa96000f3fe608060405234801561001057600080fd5b50600436106101985760003560e01c806376ced32d116100e3578063d2faf8b01161008c578063e8fb5c9b11610066578063e8fb5c9b14610420578063f0ebdc8314610433578063fba854e01461045a57600080fd5b8063d2faf8b0146103d3578063e5720404146103fa578063e7d8e9311461040d57600080fd5b8063b6efd29d116100bd578063b6efd29d14610386578063b95ddb5214610399578063bc12fcca146103c057600080fd5b806376ced32d1461030257806377379d9414610360578063a5b04d451461037357600080fd5b80634fa4467c116101455780636191d3561161011f5780636191d356146102c957806368a4f071146102dc5780637448c568146102ef57600080fd5b80634fa4467c146102555780634fcbd2131461025d57806351e06b901461027d57600080fd5b80632fa7bc99116101765780632fa7bc99146101fb578063322e41b51461020e57806332ee68131461022e57600080fd5b806301ffc9a71461019d57806319129e5a146101c557806329b2632b146101da575b600080fd5b6101b06101ab3660046138b1565b61046d565b60405190151581526020015b60405180910390f35b6101d86101d3366004613925565b610552565b005b6101ed6101e8366004613942565b6106b8565b6040519081526020016101bc565b6101d86102093660046139c6565b6106fb565b61022161021c366004613a12565b610b28565b6040516101bc9190613a7b565b6101ed7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81565b6101ed600a81565b61027061026b366004613ae7565b610c78565b6040516101bc9190613b4c565b6102a47f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101bc565b6101d86102d7366004613bb1565b610cfe565b6102706102ea366004613c70565b610e7e565b6101ed6102fd366004613ca5565b611053565b610315610310366004613dd8565b611067565b60408051825173ffffffffffffffffffffffffffffffffffffffff908116825260208085015190830152838301511691810191909152606091820151918101919091526080016101bc565b6101b061036e366004613e28565b611215565b6101d8610381366004613e6a565b61124d565b610270610394366004613eab565b611458565b6102a47f000000000000000000000000000000000000000000000000000000000000000081565b6101ed6103ce366004613ca5565b6115b2565b6102a47f000000000000000000000000000000000000000000000000000000000000000081565b6102a4610408366004613c70565b6115be565b6101b061041b366004613942565b6116b6565b6101ed61042e366004613e28565b6116fd565b6102a47f000000000000000000000000000000000000000000000000000000000000000081565b6101d8610468366004613ed2565b61171a565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f2fa7bc9900000000000000000000000000000000000000000000000000000000148061050057507fffffffff0000000000000000000000000000000000000000000000000000000082167ff924008e00000000000000000000000000000000000000000000000000000000145b8061054c57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b600061055e81336118f8565b6105a2576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b6105e273ffffffffffffffffffffffffffffffffffffffff83167f7965db0b0000000000000000000000000000000000000000000000000000000061199b565b610648576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c0000000000000000000000000000000000006044820152606401610599565b600580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a25050565b6000600a6000836040516020016106cf9190613f9c565b604051602081830303815290604052805190602001208152602001908152602001600020549050919050565b60008061070a83850185614096565b915091508115610a17576000858152600460205260408120600701805491610731836140b4565b9091555050600085815260046020908152604091829020825161010081018452815473ffffffffffffffffffffffffffffffffffffffff908116825260018301541692810192909252600281018054610a11948401919061079190614113565b80601f01602080910402602001604051908101604052809291908181526020018280546107bd90614113565b801561080a5780601f106107df5761010080835404028352916020019161080a565b820191906000526020600020905b8154815290600101906020018083116107ed57829003601f168201915b5050505050815260200160038201805480602002602001604051908101604052809291908181526020016000905b828210156108e457838290600052602060002001805461085790614113565b80601f016020809104026020016040519081016040528092919081815260200182805461088390614113565b80156108d05780601f106108a5576101008083540402835291602001916108d0565b820191906000526020600020905b8154815290600101906020018083116108b357829003601f168201915b505050505081526020019060010190610838565b50505050815260200160048201805480602002602001604051908101604052809291908181526020016000905b828210156109bd57838290600052602060002001805461093090614113565b80601f016020809104026020016040519081016040528092919081815260200182805461095c90614113565b80156109a95780601f1061097e576101008083540402835291602001916109a9565b820191906000526020600020905b81548152906001019060200180831161098c57829003601f168201915b505050505081526020019060010190610911565b5050509082525060058201546020820152600682015460409091019060ff1660018111156109ed576109ed614166565b60018111156109fe576109fe614166565b81526020016007820154815250506119b7565b50610a7c565b6000858152600460205260409081902060010154905173ffffffffffffffffffffffffffffffffffffffff909116907f7f7ce7cf4c1b43e1bf51034d0ad7062abb9d4529c7bb0510d512249b0fb7145290610a73908490613b4c565b60405180910390a25b600085815260046020526040812080547fffffffffffffffffffffffff00000000000000000000000000000000000000009081168255600182018054909116905590610acb60028301826137b0565b610ad96003830160006137ed565b610ae76004830160006137ed565b506000600582018190556006820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690556007909101555050505050565b610b866040518060a0016040528060608152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081525090565b60008281526009602052604090819020815160a08101909252805482908290610bae90614113565b80601f0160208091040260200160405190810160405280929190818152602001828054610bda90614113565b8015610c275780601f10610bfc57610100808354040283529160200191610c27565b820191906000526020600020905b815481529060010190602001808311610c0a57829003601f168201915b5050509183525050600182015473ffffffffffffffffffffffffffffffffffffffff908116602083015260028301541660408201526003820154606082015260049091015460809091015292915050565b60603373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610ce9576040517f72823b5400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610cf585858585611ac1565b95945050505050565b8673ffffffffffffffffffffffffffffffffffffffff8116610d4c576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dbb91906141a0565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e1f576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610e618989898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611bc392505050565b9050610e728a8a838989898961171a565b50505050505050505050565b60606000610e8c8585611bf6565b805480602002602001604051908101604052809291908181526020016000905b82821015610f58578382906000526020600020018054610ecb90614113565b80601f0160208091040260200160405190810160405280929190818152602001828054610ef790614113565b8015610f445780601f10610f1957610100808354040283529160200191610f44565b820191906000526020600020905b815481529060010190602001808311610f2757829003601f168201915b505050505081526020019060010190610eac565b50505050905080518310610f9b576040517f9c7692bf00000000000000000000000000000000000000000000000000000000815260048101849052602401610599565b610fa58585611bf6565b8381548110610fb657610fb66141bd565b906000526020600020018054610fcb90614113565b80601f0160208091040260200160405190810160405280929190818152602001828054610ff790614113565b80156110445780601f1061101957610100808354040283529160200191611044565b820191906000526020600020905b81548152906001019060200180831161102757829003601f168201915b50505050509150509392505050565b600061105f8383611c38565b549392505050565b60408051608081018252600080825260208201819052918101829052606081019190915273ffffffffffffffffffffffffffffffffffffffff8316611115576006826040516110b691906141ec565b908152604080519182900360209081018320608084018352805473ffffffffffffffffffffffffffffffffffffffff908116855260018201549285019290925260028101549091169183019190915260030154606082015290506111a0565b60076000848460405160200161112c929190614208565b60408051601f1981840301815291815281516020928301208352828201939093529082016000208251608081018452815473ffffffffffffffffffffffffffffffffffffffff9081168252600183015493820193909352600282015490921692820192909252600390910154606082015290505b805173ffffffffffffffffffffffffffffffffffffffff1615806111dc5750604081015173ffffffffffffffffffffffffffffffffffffffff16155b1561054c57816040517fd8952ceb0000000000000000000000000000000000000000000000000000000081526004016105999190613b4c565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6112438585856116fd565b1415949350505050565b8173ffffffffffffffffffffffffffffffffffffffff811661129b576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061130a91906141a0565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461136e576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084600181111561138257611382614166565b14801561139c575060008281526020819052604090205415155b156113d45760008281526020819052604081206113b89161380b565b60008281526002602052604081206113cf916137ed565b611416565b600082815260016020526040902054156114165760008281526001602052604081206113ff9161380b565b6000828152600360205260408120611416916137ed565b8184600181111561142957611429614166565b6040517f1fe48a4ec69671720d8bdd8f8a6853d16f486c0bb91fcaf5b8ffc4932b8bc9f490600090a350505050565b60603373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146114c9576040517f72823b5400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6114d589898989611c7a565b60006114e38a8a8a8a612040565b905060006040518061010001604052808c73ffffffffffffffffffffffffffffffffffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505090825250602001611571888a61425b565b8152602001611580868861425b565b81526020810184905260400160008152602001600081525090506115a3816119b7565b9b9a5050505050505050505050565b600061105f8383611bf6565b6000806115cb8585611c38565b80548060200260200160405190810160405280929190818152602001828054801561162c57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311611601575b5050505050905080518310611670576040517f9c7692bf00000000000000000000000000000000000000000000000000000000815260048101849052602401610599565b61167a8585611c38565b838154811061168b5761168b6141bd565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1695945050505050565b6000600a6000836040516020016116cd9190613f9c565b60405160208183030381529060405280519060200120815260200190815260200160002054600014159050919050565b600061171261170c8585611c38565b83612069565b949350505050565b8573ffffffffffffffffffffffffffffffffffffffff8116611768576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156117b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117d791906141a0565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461183b576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61184688888861124d565b6118a26118538988611c38565b61185d8a89611bf6565b87878080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061189d925088915089905061425b565b612103565b858860018111156118b5576118b5614166565b7f5e140eb5bed8bcb1664a04c0be4aa419e0d2dbf1277a4a6770882a0beb3b91b287876040516118e69291906142cf565b60405180910390a35050505050505050565b6005546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810184905273ffffffffffffffffffffffffffffffffffffffff838116602483015260009216906391d1485490604401602060405180830381865afa158015611970573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611994919061432a565b9392505050565b60006119a68361253d565b8015611994575061199483836125a1565b606060008260c0015160018111156119d1576119d1614166565b1480156119e457506119e282612670565b155b15611a4457816020015173ffffffffffffffffffffffffffffffffffffffff167fa1e5a8c0fde3fa4d7320c3f9de0ab0a2c1ee6e891e6a513ca0811ddcf768b59460405160405180910390a2505060408051602081019091526000815290565b611a5b826000015183602001518460400151612a47565b600160c0840152600060e08401529050611a7482612670565b50816020015173ffffffffffffffffffffffffffffffffffffffff167f4ec4635a4d1f6ebe9ee3a059f74fc5d802e04d2d115c4090337a34e3b137c98a60405160405180910390a2919050565b6060611acd8585612c20565b600080611adc84860186614347565b915091507f99bf0fbd60208ca164accd299e2c0a8b4475c1a2df53c2d7160870f6825365288203611b2857611b2381806020019051810190611b1e919061449d565b612db0565b611ba9565b7fe5801b46183bd353d44247232707bb62253655a0580ade69a754ba7157ddf8fd8203611b7757600081806020019051810190611b659190614575565b9050611b718882613055565b50611ba9565b6040517f7265e5c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505060408051602081019091526000815295945050505050565b60008282604051602001611bd8929190614208565b60405160208183030381529060405280519060200120905092915050565b600080836001811115611c0b57611c0b614166565b03611c245750600081815260026020526040902061054c565b50600081815260036020526040902061054c565b600080836001811115611c4d57611c4d614166565b03611c665750600081815260208190526040902061054c565b50600081815260016020526040902061054c565b6000611c88828401846145aa565b90506000611c9a868360000151611067565b602083015190915073ffffffffffffffffffffffffffffffffffffffff16611cee576040517f3489abf600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805173ffffffffffffffffffffffffffffffffffffffff90811614611d7a57806000015173ffffffffffffffffffffffffffffffffffffffff16826020015173ffffffffffffffffffffffffffffffffffffffff1614611d7a576040517f3489abf600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081015115611e695760408083015190517fc3cc244a00000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff89169163c3cc244a91611de09160040190815260200190565b602060405180830381865afa158015611dfd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e21919061465a565b6020830151909150600160ff83161b16611e67576040517ff3c6318200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b606082015173ffffffffffffffffffffffffffffffffffffffff16611eba576040517f642321ac00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604081015173ffffffffffffffffffffffffffffffffffffffff90811614611f4957806040015173ffffffffffffffffffffffffffffffffffffffff16826060015173ffffffffffffffffffffffffffffffffffffffff1614611f49576040517f642321ac00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6060810151156120385760808201516040517fc3cc244a00000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff89169163c3cc244a91611faf9160040190815260200190565b602060405180830381865afa158015611fcc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ff0919061465a565b6060830151909150600160ff83161b16612036576040517f5a790ab800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b505050505050565b60008061204f838501856145aa565b905061205f868260000151611bc3565b9695505050505050565b8154600090815b818110156120d9578373ffffffffffffffffffffffffffffffffffffffff168582815481106120a1576120a16141bd565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16036120d157915061054c9050565b600101612070565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff949350505050565b8151600a811115612140576040517f760fb4ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8082511461217a576040517f3021beb200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b8181101561203857600073ffffffffffffffffffffffffffffffffffffffff168482815181106121af576121af6141bd565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1603612204576040517f7d4de38200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000811180156122745750836001820381518110612224576122246141bd565b602002602001015173ffffffffffffffffffffffffffffffffffffffff16848281518110612254576122546141bd565b602002602001015173ffffffffffffffffffffffffffffffffffffffff16145b156122ab576040517fd696c40800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166382984f308583815181106122f9576122f96141bd565b60200260200101516040518263ffffffff1660e01b8152600401612339919073ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b602060405180830381865afa158015612356573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061237a919061432a565b6123e757838181518110612390576123906141bd565b60200260200101516040517f5a987388000000000000000000000000000000000000000000000000000000008152600401610599919073ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b8381815181106123f9576123f96141bd565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1663a913b88184838151811061242e5761242e6141bd565b60200260200101516040518263ffffffff1660e01b81526004016124529190613b4c565b60006040518083038186803b15801561246a57600080fd5b505afa15801561247e573d6000803e3d6000fd5b5050505085848281518110612495576124956141bd565b60209081029190910181015182546001810184556000938452919092200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9092169190911790558251859084908390811061250b5761250b6141bd565b6020908102919091018101518254600181018455600093845291909220019061253490826146c0565b5060010161217d565b6000612569827f01ffc9a7000000000000000000000000000000000000000000000000000000006125a1565b801561054c575061259a827fffffffff000000000000000000000000000000000000000000000000000000006125a1565b1592915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015612659575060208210155b80156126655750600081115b979650505050505050565b6000806126858360c001518460a00151611c38565b8054806020026020016040519081016040528092919081815260200182805480156126e657602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116126bb575b5050505050905060006127018460c001518560a00151611bf6565b805480602002602001604051908101604052809291908181526020016000905b828210156127cd57838290600052602060002001805461274090614113565b80601f016020809104026020016040519081016040528092919081815260200182805461276c90614113565b80156127b95780601f1061278e576101008083540402835291602001916127b9565b820191906000526020600020905b81548152906001019060200180831161279c57829003601f168201915b505050505081526020019060010190612721565b50508451929350600091508190508660c0015160018111156127f1576127f1614166565b14612800578560800151612806565b85606001515b90508181511461285e578560c00151600181111561282657612826614166565b6040517f3171c36f00000000000000000000000000000000000000000000000000000000815260ff9091166004820152602401610599565b60e08601515b82811015612a3a57808760e001818152505060006040518060400160405280868481518110612895576128956141bd565b602002602001015181526020018484815181106128b4576128b46141bd565b6020026020010151815250905060006129118784815181106128d8576128d86141bd565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673800000000000000000000000000000000000000016151590565b156129d657868381518110612928576129286141bd565b602002602001015173ffffffffffffffffffffffffffffffffffffffff166334e5d29f8360405160200161295c91906147bc565b6040516020818303038152906040526040518263ffffffff1660e01b81526004016129879190613b4c565b6000604051808303816000875af11580156129a6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526129ce91908101906147f5565b5090506129fd565b6129fa8784815181106129eb576129eb6141bd565b6020026020010151838b613191565b90505b6001816001811115612a1157612a11614166565b14612a255750600098975050505050505050565b50508080612a32906140b4565b915050612864565b5060019695505050505050565b6060600082806020019051810190612a5f919061483c565b90506000600860008154612a72906140b4565b91829055506040805160a0810182528451815260208086015173ffffffffffffffffffffffffffffffffffffffff90811682840152606080880151909116838501528684015190830152608080870151908301526000848152600990915291909120815192935090918291908190612aea90826146c0565b506020828101516001830180547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff9384161790915560408086015160028601805490931693169290921790556060840151600384015560809093015160049092019190915590518391600a91600091612b7d91869101613a7b565b60405160208183030381529060405280519060200120815260200190815260200160002081905550817fc1ab5d0231434d664068cd9e5f80a04152484f1844e564dd9fee5c687caa0d7c84600001518560200151866040015187606001518860800151604051612bf19594939291906148ec565b60405180910390a260408051602081018490520160405160208183030381529060405293505050509392505050565b73ffffffffffffffffffffffffffffffffffffffff8216612cdd57612c657f637821dcee84aabec9c8cf4f6f643013a24ad27fd41511ffd937aea80d8619a9826118f8565b612cd9576040517f75000dc00000000000000000000000000000000000000000000000000000000081527f637821dcee84aabec9c8cf4f6f643013a24ad27fd41511ffd937aea80d8619a9600482015273ffffffffffffffffffffffffffffffffffffffff82166024820152604401610599565b5050565b8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612d3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d6391906141a0565b73ffffffffffffffffffffffffffffffffffffffff1614612cd9576040517fdc13a9c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080612dce83604001516000015184602001518560600151613375565b91509150600080612df085604001516020015186602001518760800151613375565b91509150600060405180608001604052808673ffffffffffffffffffffffffffffffffffffffff1681526020018581526020018473ffffffffffffffffffffffffffffffffffffffff168152602001838152509050600073ffffffffffffffffffffffffffffffffffffffff16866020015173ffffffffffffffffffffffffffffffffffffffff1603612f16578060068760000151604051612e9291906141ec565b9081526040805160209281900383019020835181547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff92831617835593850151600183015591840151600282018054909416921691909117909155606090910151600390910155612fcb565b806007600088602001518960000151604051602001612f36929190614208565b60408051808303601f190181529181528151602092830120835282820193909352908201600020835181547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff9283161783559285015160018301559284015160028201805490931693169290921790556060909101516003909101555b856020015173ffffffffffffffffffffffffffffffffffffffff167f5afe4586ed79afd39271a5d07aaa8d60de58e6e9a48ebf10c8f1ce828b592e7587600001518360000151896040015160000151856020015186604001518c604001516020015188606001516040516130459796959493929190614975565b60405180910390a2505050505050565b73ffffffffffffffffffffffffffffffffffffffff82166130d75760068160405161308091906141ec565b90815260405190819003602001902080547fffffffffffffffffffffffff00000000000000000000000000000000000000009081168255600060018301819055600283018054909216909155600390910155613154565b6007600083836040516020016130ee929190614208565b60408051601f19818403018152918152815160209283012083529082019290925201600090812080547fffffffffffffffffffffffff00000000000000000000000000000000000000009081168255600182018390556002820180549091169055600301555b7fa1b9abc85838f61f05343c3b5b89fe250131975f2b25b6029a263e253dc0e7fd81836040516131859291906149e1565b60405180910390a15050565b60008060008573ffffffffffffffffffffffffffffffffffffffff16635260a98c866040516020016131c391906147bc565b604051602081830303815290604052306040518363ffffffff1660e01b81526004016131f09291906149e1565b6000604051808303816000875af115801561320f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526132379190810190614a19565b9193509091506000905082600181111561325357613253614166565b0361336c57600081815260046020908152604091829020865181547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff928316178355928801516001830180549094169116179091559085015185919060028201906132d690826146c0565b50606082015180516132f2916003840191602090910190613829565b506080820151805161330e916004840191602090910190613829565b5060a0820151600582015560c08201516006820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001838181111561335957613359614166565b021790555060e082015181600701559050505b50949350505050565b600080600185600581111561338c5761338c614166565b036133bc57507f000000000000000000000000000000000000000000000000000000000000000090506000613560565b60028560058111156133d0576133d0614166565b0361347a5773ffffffffffffffffffffffffffffffffffffffff8416613422576040517fe86db48e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61342c8484613568565b8251600003613467576040517f521299a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8361347184613766565b91509150613560565b600385600581111561348e5761348e614166565b036134be57507f000000000000000000000000000000000000000000000000000000000000000090506000613560565b60048560058111156134d2576134d2614166565b036134f6575073ffffffffffffffffffffffffffffffffffffffff90506000613560565b600585600581111561350a5761350a614166565b0361352e575073ffffffffffffffffffffffffffffffffffffffff90506000613560565b6040517f92c6e29000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b935093915050565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a9161360d91600401613b4c565b602060405180830381865afa15801561362a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061364e91906141a0565b825190915060005b8181101561375f578273ffffffffffffffffffffffffffffffffffffffff16638a8cb0b48686848151811061368d5761368d6141bd565b60200260200101516040518363ffffffff1660e01b81526004016136d692919073ffffffffffffffffffffffffffffffffffffffff92909216825260ff16602082015260400190565b602060405180830381865afa1580156136f3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613717919061432a565b61374d576040517fa4ba834600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80613757816140b4565b915050613656565b5050505050565b600080805b83518110156137a957838181518110613786576137866141bd565b602002602001015160ff1660ff166001901b82179150808060010191505061376b565b5092915050565b5080546137bc90614113565b6000825580601f106137cc575050565b601f0160209004906000526020600020908101906137ea919061387f565b50565b50805460008255906000526020600020908101906137ea9190613894565b50805460008255906000526020600020908101906137ea919061387f565b82805482825590600052602060002090810192821561386f579160200282015b8281111561386f578251829061385f90826146c0565b5091602001919060010190613849565b5061387b929150613894565b5090565b5b8082111561387b5760008155600101613880565b8082111561387b5760006138a882826137b0565b50600101613894565b6000602082840312156138c357600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461199457600080fd5b73ffffffffffffffffffffffffffffffffffffffff811681146137ea57600080fd5b8035613920816138f3565b919050565b60006020828403121561393757600080fd5b8135611994816138f3565b60006020828403121561395457600080fd5b813567ffffffffffffffff81111561396b57600080fd5b820160a0818503121561199457600080fd5b60008083601f84011261398f57600080fd5b50813567ffffffffffffffff8111156139a757600080fd5b6020830191508360208285010111156139bf57600080fd5b9250929050565b6000806000604084860312156139db57600080fd5b83359250602084013567ffffffffffffffff8111156139f957600080fd5b613a058682870161397d565b9497909650939450505050565b600060208284031215613a2457600080fd5b5035919050565b60005b83811015613a46578181015183820152602001613a2e565b50506000910152565b60008151808452613a67816020860160208601613a2b565b601f01601f19169290920160200192915050565b602081526000825160a06020840152613a9760c0840182613a4f565b9050602084015173ffffffffffffffffffffffffffffffffffffffff8082166040860152806040870151166060860152505060608401516080840152608084015160a08401528091505092915050565b60008060008060608587031215613afd57600080fd5b8435613b08816138f3565b93506020850135613b18816138f3565b9250604085013567ffffffffffffffff811115613b3457600080fd5b613b408782880161397d565b95989497509550505050565b6020815260006119946020830184613a4f565b600281106137ea57600080fd5b60008083601f840112613b7e57600080fd5b50813567ffffffffffffffff811115613b9657600080fd5b6020830191508360208260051b85010111156139bf57600080fd5b60008060008060008060008060a0898b031215613bcd57600080fd5b8835613bd881613b5f565b97506020890135613be8816138f3565b9650604089013567ffffffffffffffff80821115613c0557600080fd5b613c118c838d0161397d565b909850965060608b0135915080821115613c2a57600080fd5b613c368c838d01613b6c565b909650945060808b0135915080821115613c4f57600080fd5b50613c5c8b828c01613b6c565b999c989b5096995094979396929594505050565b600080600060608486031215613c8557600080fd5b8335613c9081613b5f565b95602085013595506040909401359392505050565b60008060408385031215613cb857600080fd5b8235613cc381613b5f565b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160a0810167ffffffffffffffff81118282101715613d2357613d23613cd1565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715613d5257613d52613cd1565b604052919050565b600067ffffffffffffffff821115613d7457613d74613cd1565b50601f01601f191660200190565b600082601f830112613d9357600080fd5b8135613da6613da182613d5a565b613d29565b818152846020838601011115613dbb57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060408385031215613deb57600080fd5b8235613df6816138f3565b9150602083013567ffffffffffffffff811115613e1257600080fd5b613e1e85828601613d82565b9150509250929050565b600080600060608486031215613e3d57600080fd5b8335613e4881613b5f565b9250602084013591506040840135613e5f816138f3565b809150509250925092565b600080600060608486031215613e7f57600080fd5b8335613e8a81613b5f565b92506020840135613e9a816138f3565b929592945050506040919091013590565b60008060008060008060008060a0898b031215613ec757600080fd5b8835613bd8816138f3565b600080600080600080600060a0888a031215613eed57600080fd5b8735613ef881613b5f565b96506020880135613f08816138f3565b955060408801359450606088013567ffffffffffffffff80821115613f2c57600080fd5b613f388b838c01613b6c565b909650945060808a0135915080821115613f5157600080fd5b50613f5e8a828b01613b6c565b989b979a50959850939692959293505050565b818352818160208501375060006020828401015260006020601f19601f840116840101905092915050565b60208152600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112613fd457600080fd5b830160208101903567ffffffffffffffff811115613ff157600080fd5b80360382131561400057600080fd5b60a0602085015261401560c085018284613f71565b91505061402460208501613915565b73ffffffffffffffffffffffffffffffffffffffff811660408501525061404d60408501613915565b73ffffffffffffffffffffffffffffffffffffffff811660608501525060608401356080840152608084013560a08401528091505092915050565b80151581146137ea57600080fd5b600080604083850312156140a957600080fd5b8235613df681614088565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361410c577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b600181811c9082168061412757607f821691505b602082108103614160577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b8051613920816138f3565b6000602082840312156141b257600080fd5b8151611994816138f3565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082516141fe818460208701613a2b565b9190910192915050565b73ffffffffffffffffffffffffffffffffffffffff831681526040602082015260006117126040830184613a4f565b600067ffffffffffffffff82111561425157614251613cd1565b5060051b60200190565b6000614269613da184614237565b80848252602080830192508560051b85013681111561428757600080fd5b855b818110156142c357803567ffffffffffffffff8111156142a95760008081fd5b6142b536828a01613d82565b865250938201938201614289565b50919695505050505050565b60208082528181018390526000908460408401835b8681101561431f5782356142f7816138f3565b73ffffffffffffffffffffffffffffffffffffffff16825291830191908301906001016142e4565b509695505050505050565b60006020828403121561433c57600080fd5b815161199481614088565b6000806040838503121561435a57600080fd5b82359150602083013567ffffffffffffffff811115613e1257600080fd5b600082601f83011261438957600080fd5b8151614397613da182613d5a565b8181528460208386010111156143ac57600080fd5b611712826020830160208701613a2b565b80516006811061392057600080fd5b6000604082840312156143de57600080fd5b6040516040810181811067ffffffffffffffff8211171561440157614401613cd1565b604052905080614410836143bd565b815261441e602084016143bd565b60208201525092915050565b805160ff8116811461392057600080fd5b600082601f83011261444c57600080fd5b8151602061445c613da183614237565b82815260059290921b8401810191818101908684111561447b57600080fd5b8286015b8481101561431f576144908161442a565b835291830191830161447f565b6000602082840312156144af57600080fd5b815167ffffffffffffffff808211156144c757600080fd5b9083019060c082860312156144db57600080fd5b6144e3613d00565b8251828111156144f257600080fd5b6144fe87828601614378565b82525061450d60208401614195565b602082015261451f86604085016143cc565b604082015260808301518281111561453657600080fd5b6145428782860161443b565b60608301525060a08301518281111561455a57600080fd5b6145668782860161443b565b60808301525095945050505050565b60006020828403121561458757600080fd5b815167ffffffffffffffff81111561459e57600080fd5b61171284828501614378565b6000602082840312156145bc57600080fd5b813567ffffffffffffffff808211156145d457600080fd5b9083019060a082860312156145e857600080fd5b6145f0613d00565b8235828111156145ff57600080fd5b61460b87828601613d82565b8252506020830135915061461e826138f3565b816020820152604083013560408201526060830135915061463e826138f3565b8160608201526080830135608082015280935050505092915050565b60006020828403121561466c57600080fd5b6119948261442a565b601f8211156146bb57600081815260208120601f850160051c8101602086101561469c5750805b601f850160051c820191505b81811015612038578281556001016146a8565b505050565b815167ffffffffffffffff8111156146da576146da613cd1565b6146ee816146e88454614113565b84614675565b602080601f831160018114614741576000841561470b5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555612038565b600085815260208120601f198616915b8281101561477057888601518255948401946001909101908401614751565b50858210156147ac57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b6020815260008251604060208401526147d86060840182613a4f565b90506020840151601f19848303016040850152610cf58282613a4f565b6000806040838503121561480857600080fd5b825161481381613b5f565b602084015190925067ffffffffffffffff81111561483057600080fd5b613e1e85828601614378565b60006020828403121561484e57600080fd5b815167ffffffffffffffff8082111561486657600080fd5b9083019060a0828603121561487a57600080fd5b614882613d00565b82518281111561489157600080fd5b61489d87828601614378565b825250602083015191506148b0826138f3565b81602082015260408301516040820152606083015191506148d0826138f3565b8160608201526080830151608082015280935050505092915050565b60a0815260006148ff60a0830188613a4f565b73ffffffffffffffffffffffffffffffffffffffff968716602084015260408301959095525091909316606082015260800191909152919050565b60068110614971577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b60e08152600061498860e083018a613a4f565b905073ffffffffffffffffffffffffffffffffffffffff80891660208401526149b4604084018961493a565b60608301879052851660808301526149cf60a083018561493a565b8260c083015298975050505050505050565b6040815260006149f46040830185613a4f565b905073ffffffffffffffffffffffffffffffffffffffff831660208301529392505050565b600080600060608486031215614a2e57600080fd5b8351614a3981613b5f565b602085015190935067ffffffffffffffff811115614a5657600080fd5b614a6286828701614378565b92505060408401519050925092509256fea2646970667358221220258178ab529cffb4ff863013666f66a9b26a909e8f1e6c95e23e6fe2c2394bd364736f6c634300081300330000000000000000000000007a7bc5640637b74abecc6e908ed548ee1969c948000000000000000000000000e8ab207a5c21162db1ee75e378a92c82d550a8d100000000000000000000000080e012ca980e1d3993d8bee99828619e5532b12b000000000000000000000000ee19ace40db1ba8b0dbbc5e57061a3268bd08c6a000000000000000000000000bd132e42baafe3648170770f2d45dba59166e06d", + "nonce": "0x7dc", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x44b2c8211f99f9b1d8151f54ee3f87cdb552f13c2346dbd6e03cd0d00134117d", + "transactionType": "CREATE", + "contractName": "LicensingModule", + "contractAddress": "0xC3960374E4448f815f53C1FE38b38cf444e6BEB8", + "function": null, + "arguments": [ + "(0x7a7BC5640637b74ABEcc6e908Ed548eE1969c948, 0xe8ab207A5C21162Db1ee75e378A92C82d550a8d1, 0x80e012Ca980E1d3993d8beE99828619E5532B12b, 0xEe19aCE40dB1BA8B0DbBc5e57061A3268bd08c6A)", + "0x43C1C831D370f36149183d31FdAC50b131289949", + "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x5650df", + "value": "0x0", + "data": "0x6101406040523480156200001257600080fd5b50604051620050eb380380620050eb833981016040819052620000359162000167565b602083015183906001600160a01b038116620000645760405163134141bd60e11b815260040160405180910390fd5b6001600160a01b039081166080528151166200009357604051636028d8f760e01b815260040160405180910390fd5b80516001600160a01b0390811660a052604082015116620000c757604051635a70c46160e11b815260040160405180910390fd5b60408101516001600160a01b0390811660c052606090910151811660e0528216620001055760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03808316610100528116620001345760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03166101205250620002319050565b80516001600160a01b03811681146200016257600080fd5b919050565b600080600083850360c08112156200017e57600080fd5b60808112156200018d57600080fd5b50604051608081016001600160401b0381118282101715620001bf57634e487b7160e01b600052604160045260246000fd5b604052620001cd856200014a565b8152620001dd602086016200014a565b6020820152620001f0604086016200014a565b604082015262000203606086016200014a565b6060820152925062000218608085016200014a565b91506200022860a085016200014a565b90509250925092565b60805160a05160c05160e0516101005161012051614dfa620002f1600039600081816102de015261348f0152600081816103180152818161231d015281816124e3015281816126430152613394015260006102260152600081816103ff01528181611f7a0152818161206b01528181612a1401528181612b0d01528181612c330152818161323c01526135250152600081816103b201526132ce0152600081816103780152818161096001528181610f3c01526118270152614dfa6000f3fe608060405234801561001057600080fd5b50600436106101825760003560e01c806376a4b13b116100d8578063bc12fcca1161008c578063e8fb5c9b11610066578063e8fb5c9b146103e7578063f0ebdc83146103fa578063fba854e01461042157600080fd5b8063bc12fcca1461039a578063d2faf8b0146103ad578063e5720404146103d457600080fd5b8063a5b04d45116100bd578063a5b04d451461034d578063b6efd29d14610360578063b95ddb521461037357600080fd5b806376a4b13b1461031357806377379d941461033a57600080fd5b806351e06b901161013a57806368a4f0711161011457806368a4f071146102c6578063743fee4a146102d95780637448c5681461030057600080fd5b806351e06b9014610221578063562573a91461026d578063582d35d7146102b357600080fd5b806332ee68131161016b57806332ee6813146101c45780634fa4467c146101f95780634fcbd2131461020157600080fd5b806301ffc9a7146101875780632fa7bc99146101af575b600080fd5b61019a610195366004613b09565b610434565b60405190151581526020015b60405180910390f35b6101c26101bd366004613b94565b610519565b005b6101eb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81565b6040519081526020016101a6565b6101eb600a81565b61021461020f366004613c02565b610946565b6040516101a69190613cb7565b6102487f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101a6565b6102a661027b366004613cca565b73ffffffffffffffffffffffffffffffffffffffff1660009081526006602052604090205460ff1690565b6040516101a69190613d2a565b6102146102c1366004613d38565b6109ce565b6102146102d4366004613d81565b610af1565b6102487f000000000000000000000000000000000000000000000000000000000000000081565b6101eb61030e366004613db6565b610ccb565b6102487f000000000000000000000000000000000000000000000000000000000000000081565b61019a610348366004613de2565b610cdf565b6101c261035b366004613e24565b610d17565b61021461036e366004613eaa565b610f22565b6102487f000000000000000000000000000000000000000000000000000000000000000081565b6101eb6103a8366004613db6565b611085565b6102487f000000000000000000000000000000000000000000000000000000000000000081565b6102486103e2366004613d81565b611091565b6101eb6103f5366004613de2565b611189565b6102487f000000000000000000000000000000000000000000000000000000000000000081565b6101c261042f366004613f69565b61119e565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f2fa7bc990000000000000000000000000000000000000000000000000000000014806104c757507fffffffff0000000000000000000000000000000000000000000000000000000082167ff924008e00000000000000000000000000000000000000000000000000000000145b8061051357507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60008061052883850185614128565b91509150811561083557600085815260046020526040812060070180549161054f8361418c565b9091555050600085815260046020908152604091829020825161010081018452815473ffffffffffffffffffffffffffffffffffffffff90811682526001830154169281019290925260028101805461082f94840191906105af906141eb565b80601f01602080910402602001604051908101604052809291908181526020018280546105db906141eb565b80156106285780601f106105fd57610100808354040283529160200191610628565b820191906000526020600020905b81548152906001019060200180831161060b57829003601f168201915b5050505050815260200160038201805480602002602001604051908101604052809291908181526020016000905b82821015610702578382906000526020600020018054610675906141eb565b80601f01602080910402602001604051908101604052809291908181526020018280546106a1906141eb565b80156106ee5780601f106106c3576101008083540402835291602001916106ee565b820191906000526020600020905b8154815290600101906020018083116106d157829003601f168201915b505050505081526020019060010190610656565b50505050815260200160048201805480602002602001604051908101604052809291908181526020016000905b828210156107db57838290600052602060002001805461074e906141eb565b80601f016020809104026020016040519081016040528092919081815260200182805461077a906141eb565b80156107c75780601f1061079c576101008083540402835291602001916107c7565b820191906000526020600020905b8154815290600101906020018083116107aa57829003601f168201915b50505050508152602001906001019061072f565b5050509082525060058201546020820152600682015460409091019060ff16600181111561080b5761080b613ce7565b600181111561081c5761081c613ce7565b815260200160078201548152505061137c565b5061089a565b6000858152600460205260409081902060010154905173ffffffffffffffffffffffffffffffffffffffff909116907f7f7ce7cf4c1b43e1bf51034d0ad7062abb9d4529c7bb0510d512249b0fb7145290610891908490613cb7565b60405180910390a25b600085815260046020526040812080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811682556001820180549091169055906108e96002830182613a08565b6108f7600383016000613a45565b610905600483016000613a45565b506000600582018190556006820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690556007909101555050505050565b60603373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146109b7576040517f72823b5400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6109c385858585611486565b90505b949350505050565b6060600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610a5085858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061150892505050565b81526020019081526020016000208054610a69906141eb565b80601f0160208091040260200160405190810160405280929190818152602001828054610a95906141eb565b8015610ae25780601f10610ab757610100808354040283529160200191610ae2565b820191906000526020600020905b815481529060010190602001808311610ac557829003601f168201915b505050505090505b9392505050565b60606000610aff858561155f565b805480602002602001604051908101604052809291908181526020016000905b82821015610bcb578382906000526020600020018054610b3e906141eb565b80601f0160208091040260200160405190810160405280929190818152602001828054610b6a906141eb565b8015610bb75780601f10610b8c57610100808354040283529160200191610bb7565b820191906000526020600020905b815481529060010190602001808311610b9a57829003601f168201915b505050505081526020019060010190610b1f565b50505050905080518310610c13576040517f9c7692bf000000000000000000000000000000000000000000000000000000008152600481018490526024015b60405180910390fd5b610c1d858561155f565b8381548110610c2e57610c2e61423e565b906000526020600020018054610c43906141eb565b80601f0160208091040260200160405190810160405280929190818152602001828054610c6f906141eb565b8015610cbc5780601f10610c9157610100808354040283529160200191610cbc565b820191906000526020600020905b815481529060010190602001808311610c9f57829003601f168201915b50505050509150509392505050565b6000610cd783836115a1565b549392505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610d0d858585611189565b1415949350505050565b8173ffffffffffffffffffffffffffffffffffffffff8116610d65576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610db0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dd4919061426d565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e38576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000846001811115610e4c57610e4c613ce7565b148015610e66575060008281526020819052604090205415155b15610e9e576000828152602081905260408120610e8291613a63565b6000828152600260205260408120610e9991613a45565b610ee0565b60008281526001602052604090205415610ee0576000828152600160205260408120610ec991613a63565b6000828152600360205260408120610ee091613a45565b81846001811115610ef357610ef3613ce7565b6040517f1fe48a4ec69671720d8bdd8f8a6853d16f486c0bb91fcaf5b8ffc4932b8bc9f490600090a350505050565b60603373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610f93576040517f72823b5400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60007fff5c818c3a09617e24e0ba5e97a8b336e42589e94d6f586a74a28d768ee2c8cb905060006040518061010001604052808c73ffffffffffffffffffffffffffffffffffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505090825250602001611044888a6142ce565b815260200161105386886142ce565b81526020810184905260400160008152602001600081525090506110768161137c565b9b9a5050505050505050505050565b6000610cd7838361155f565b60008061109e85856115a1565b8054806020026020016040519081016040528092919081815260200182805480156110ff57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116110d4575b5050505050905080518310611143576040517f9c7692bf00000000000000000000000000000000000000000000000000000000815260048101849052602401610c0a565b61114d85856115a1565b838154811061115e5761115e61423e565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1695945050505050565b60006109c661119885856115a1565b836115e3565b8573ffffffffffffffffffffffffffffffffffffffff81166111ec576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611237573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061125b919061426d565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146112bf576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6112ca888888610d17565b6113266112d789886115a1565b6112e18a8961155f565b87878080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061132192508891508990506142ce565b61167d565b8588600181111561133957611339613ce7565b7f5e140eb5bed8bcb1664a04c0be4aa419e0d2dbf1277a4a6770882a0beb3b91b2878760405161136a929190614342565b60405180910390a35050505050505050565b606060008260c00151600181111561139657611396613ce7565b1480156113a957506113a782611abf565b155b1561140957816020015173ffffffffffffffffffffffffffffffffffffffff167fa1e5a8c0fde3fa4d7320c3f9de0ab0a2c1ee6e891e6a513ca0811ddcf768b59460405160405180910390a2505060408051602081019091526000815290565b611420826000015183602001518460400151611e96565b600160c0840152600060e0840152905061143982611abf565b50816020015173ffffffffffffffffffffffffffffffffffffffff167f4ec4635a4d1f6ebe9ee3a059f74fc5d802e04d2d115c4090337a34e3b137c98a60405160405180910390a2919050565b60606000806114978486018661439d565b915091507f8b21f20183a523515c357db6dba25c92b138630b63988ca3e60a6be86c8da04582036114d6576114cd878783612129565b925050506109c6565b6040517f96bb42f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080829050601f8151111561154c57826040517f305a27a9000000000000000000000000000000000000000000000000000000008152600401610c0a9190613cb7565b8051611557826143da565b179392505050565b60008083600181111561157457611574613ce7565b0361158d57506000818152600260205260409020610513565b506000818152600360205260409020610513565b6000808360018111156115b6576115b6613ce7565b036115cf57506000818152602081905260409020610513565b506000818152600160205260409020610513565b8154600090815b81811015611653578373ffffffffffffffffffffffffffffffffffffffff1685828154811061161b5761161b61423e565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff160361164b5791506105139050565b6001016115ea565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff949350505050565b8151600a8111156116ba576040517f760fb4ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b808251146116f4576040517f3021beb200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b81811015611ab757600073ffffffffffffffffffffffffffffffffffffffff168482815181106117295761172961423e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff160361177e576040517f7d4de38200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000811180156117ee575083600182038151811061179e5761179e61423e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff168482815181106117ce576117ce61423e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff16145b15611825576040517fd696c40800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166382984f308583815181106118735761187361423e565b60200260200101516040518263ffffffff1660e01b81526004016118b3919073ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b602060405180830381865afa1580156118d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118f4919061441c565b6119615783818151811061190a5761190a61423e565b60200260200101516040517f5a987388000000000000000000000000000000000000000000000000000000008152600401610c0a919073ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b8381815181106119735761197361423e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1663a913b8818483815181106119a8576119a861423e565b60200260200101516040518263ffffffff1660e01b81526004016119cc9190613cb7565b60006040518083038186803b1580156119e457600080fd5b505afa1580156119f8573d6000803e3d6000fd5b5050505085848281518110611a0f57611a0f61423e565b60209081029190910181015182546001810184556000938452919092200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90921691909117905582518590849083908110611a8557611a8561423e565b60209081029190910181015182546001810184556000938452919092200190611aae9082614484565b506001016116f7565b505050505050565b600080611ad48360c001518460a001516115a1565b805480602002602001604051908101604052809291908181526020018280548015611b3557602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311611b0a575b505050505090506000611b508460c001518560a0015161155f565b805480602002602001604051908101604052809291908181526020016000905b82821015611c1c578382906000526020600020018054611b8f906141eb565b80601f0160208091040260200160405190810160405280929190818152602001828054611bbb906141eb565b8015611c085780601f10611bdd57610100808354040283529160200191611c08565b820191906000526020600020905b815481529060010190602001808311611beb57829003601f168201915b505050505081526020019060010190611b70565b50508451929350600091508190508660c001516001811115611c4057611c40613ce7565b14611c4f578560800151611c55565b85606001515b905081815114611cad578560c001516001811115611c7557611c75613ce7565b6040517f3171c36f00000000000000000000000000000000000000000000000000000000815260ff9091166004820152602401610c0a565b60e08601515b82811015611e8957808760e001818152505060006040518060400160405280868481518110611ce457611ce461423e565b60200260200101518152602001848481518110611d0357611d0361423e565b602002602001015181525090506000611d60878481518110611d2757611d2761423e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673800000000000000000000000000000000000000016151590565b15611e2557868381518110611d7757611d7761423e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff166334e5d29f83604051602001611dab9190614580565b6040516020818303038152906040526040518263ffffffff1660e01b8152600401611dd69190613cb7565b6000604051808303816000875af1158015611df5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611e1d9190810190614607565b509050611e4c565b611e49878481518110611e3a57611e3a61423e565b6020026020010151838b6127bd565b90505b6001816001811115611e6057611e60613ce7565b14611e745750600098975050505050505050565b50508080611e819061418c565b915050611cb3565b5060019695505050505050565b606060008083806020019051810190611eaf919061464e565b915091507f3f92a83f1dd77188c62fa393a54ccf9854be836ca6c243397d0acbbce04723878203611eee57611ee58686836129a1565b92505050610aea565b7f5281374dd3fc2bb7839f50fddfb6a14a666cb4d23b20d6aecf9b9950d103b3368203611ff257600081806020019051810190611f2b919061467f565b6040517f1f09e4e50000000000000000000000000000000000000000000000000000000081526004810182905273ffffffffffffffffffffffffffffffffffffffff88811660248301529192507f000000000000000000000000000000000000000000000000000000000000000090911690631f09e4e590604401600060405180830381600087803b158015611fc057600080fd5b505af1158015611fd4573d6000803e3d6000fd5b50505050604051806020016040528060008152509350505050610aea565b7f29def77ab981c01a6b53c58b23dd89ac4447095f721298424063ed3f16962ac682036120f757600080828060200190518101906120309190614698565b6040517f71e074dd000000000000000000000000000000000000000000000000000000008152600481018390526024810182905291935091507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906371e074dd90604401600060405180830381600087803b1580156120c457600080fd5b505af11580156120d8573d6000803e3d6000fd5b5050505060405180602001604052806000815250945050505050610aea565b6040517f8c3cdde800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60608273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561218d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121b1919061426d565b73ffffffffffffffffffffffffffffffffffffffff16146121fe576040517f679dd15600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600082806020019051810190612214919061477f565b905060008160400151600281111561222e5761222e613ce7565b03612265576040517fbe53f1bf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff821660009081526006602052604090205460ff1660028111156122a2576122a2613ce7565b146122d9576040517f58d7c9ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602082015182516040517f7859a97e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001691637859a97e916123519190600401613cb7565b602060405180830381865afa15801561236e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612392919061467f565b815111156123cc576040517f7c22012400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408084015173ffffffffffffffffffffffffffffffffffffffff8416600090815260066020529190912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600183600281111561242f5761242f613ce7565b0217905550825173ffffffffffffffffffffffffffffffffffffffff83166000908152600760205260409020906124669082614484565b5073ffffffffffffffffffffffffffffffffffffffff808316600081815260056020526040908190208451875192517feae376e300000000000000000000000000000000000000000000000000000000815291949093927fffedbcce1b94ebe928a55b7ca34c76074cbe7f467d561b9c0589d5d985b39be39290917f0000000000000000000000000000000000000000000000000000000000000000169063eae376e390612518908490600401613cb7565b600060405180830381865afa158015612535573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261255d919081019061482b565b886040015160405161257193929190614860565b60405180910390a260005b818110156127a05760008482815181106125985761259861423e565b6020026020010151905060008460008360000151815260200190815260200160002080546125c5906141eb565b905011156125ff576040517f1590386a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b865181516040517fc2e26bbb00000000000000000000000000000000000000000000000000000000815260009273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169263c2e26bbb92612678929190600401614895565b600060405180830381865afa158015612695573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526126bd9190810190614965565b90506126cd818360200151612e03565b612703576040517fac6293b300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60208083015183516000908152918790526040909120906127249082614484565b508673ffffffffffffffffffffffffffffffffffffffff167f9c3f6f42e7e2cb05b8a3b21a99f597eb17f3f57ab9156b34f81fb51f221a1d3a61276a84600001516130ac565b836020015185602001516040516127839392919061499a565b60405180910390a2505080806127989061418c565b91505061257c565b505060408051602081019091526000815298975050505050505050565b60008060008573ffffffffffffffffffffffffffffffffffffffff16635260a98c866040516020016127ef9190614580565b604051602081830303815290604052306040518363ffffffff1660e01b815260040161281c9291906149df565b6000604051808303816000875af115801561283b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526128639190810190614a17565b9193509091506000905082600181111561287f5761287f613ce7565b0361299857600081815260046020908152604091829020865181547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff928316178355928801516001830180549094169116179091559085015185919060028201906129029082614484565b506060820151805161291e916003840191602090910190613a81565b506080820151805161293a916004840191602090910190613a81565b5060a0820151600582015560c08201516006820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001838181111561298557612985613ce7565b021790555060e082015181600701559050505b50949350505050565b60606000828060200190518101906129b99190614a71565b905060006129d18686846020015185604001516130eb565b90508160200151600014612aca5760208201516040517fe705c2b800000000000000000000000000000000000000000000000000000000815260048101919091527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063e705c2b890602401602060405180830381865afa158015612a70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a94919061441c565b612aca576040517f37efd03900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602082015115801590612b8d575060208201516040517f3c06e1dc00000000000000000000000000000000000000000000000000000000815260048101919091527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690633c06e1dc90602401602060405180830381865afa158015612b69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b8d919061441c565b15612cca5781515115612bcc576040517f4af02eb800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602082015160408084015190517fd09d894e000000000000000000000000000000000000000000000000000000008152600481019290925273ffffffffffffffffffffffffffffffffffffffff8381166024840152878116604484015260648301919091527f0000000000000000000000000000000000000000000000000000000000000000169063d09d894e906084016020604051808303816000875af1158015612c7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ca0919061467f565b604051602001612cb291815260200190565b60405160208183030381529060405292505050610aea565b8473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614612d2f576040517f2d05516900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612ca086868385600760008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054612d80906141eb565b80601f0160208091040260200160405190810160405280929190818152602001828054612dac906141eb565b8015612df95780601f10612dce57610100808354040283529160200191612df9565b820191906000526020600020905b815481529060010190602001808311612ddc57829003601f168201915b505050505061338f565b60007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470828051906020012003612e3b57506001610513565b600083602001516005811115612e5357612e53613ce7565b03612e765781806020019051810190612e6c919061441c565b5060019050610513565b600183602001516005811115612e8e57612e8e613ce7565b03612ebb5781806020019051810190612ea7919061467f565b600003612eb657506000610513565b6130a3565b600283602001516005811115612ed357612ed3613ce7565b03612f2757600073ffffffffffffffffffffffffffffffffffffffff1682806020019051810190612f04919061426d565b73ffffffffffffffffffffffffffffffffffffffff1603612eb657506000610513565b600383602001516005811115612f3f57612f3f613ce7565b036130075781806020019051810190612f58919061482b565b50604051602001612f9a9060208082526001908201527f2000000000000000000000000000000000000000000000000000000000000000604082015260600190565b6040516020818303038152906040528051906020012082805190602001201480612ffa5750604051602001612fda90602080825260009082015260400190565b604051602081830303815290604052805190602001208280519060200120145b15612eb657506000610513565b60048360200151600581111561301f5761301f613ce7565b036130555760008280602001905181019061303a9190614af5565b9050805160000361304f576000915050610513565b506130a3565b60058360200151600581111561306d5761306d613ce7565b036130a3576000836060015180602001905181019061308c9190614af5565b905080516000036130a1576000915050610513565b505b50600192915050565b606060006130b9836135d3565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b73ffffffffffffffffffffffffffffffffffffffff841660009081526006602052604081205460ff168181600281111561312757613127613ce7565b0361315e576040517f8c17640800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600181600281111561317257613172613ce7565b036131ee578573ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156131c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131e6919061426d565b9150506109c6565b600281600281111561320257613202613ce7565b0361335d578315613299576040517f6352211e000000000000000000000000000000000000000000000000000000008152600481018590527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690636352211e906024015b602060405180830381865afa1580156131c2573d6000803e3d6000fd5b8215613312576040517f299d1cf6000000000000000000000000000000000000000000000000000000008152600481018490527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063299d1cf69060240161327c565b8573ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156131c2573d6000803e3d6000fd5b6040517fbe53f1bf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e75afa55846040518263ffffffff1660e01b81526004016133eb9190613cb7565b600060405180830381865afa158015613408573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526134309190810190614b86565b90506000806000806134478b896000015187613614565b935093509350935060006040518061014001604052806001600381111561347057613470613ce7565b81526020018515158152602001841515815260200183151581526020017f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018d73ffffffffffffffffffffffffffffffffffffffff16815260200161350a8a611508565b81526020018a6040015181526020018a6020015181525090507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663eb683a49828d886040518463ffffffff1660e01b815260040161358093929190614cb0565b6020604051808303816000875af115801561359f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135c3919061467f565b9c9b505050505050505050505050565b600060ff8216601f811115610513576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815173ffffffffffffffffffffffffffffffffffffffff841660009081526005602052604081208351606093839283928067ffffffffffffffff81111561365d5761365d614016565b6040519080825280602002602001820160405280156136a357816020015b60408051808201909152600081526060602082015281526020019060019003908161367b5790505b50965060005b818110156139375760008982815181106136c5576136c561423e565b6020026020010151905060008460008360000151815260200190815260200160002080546136f2906141eb565b80601f016020809104026020016040519081016040528092919081815260200182805461371e906141eb565b801561376b5780601f106137405761010080835404028352916020019161376b565b820191906000526020600020905b81548152906001019060200180831161374e57829003601f168201915b50505050509050606060005b878110156137d15760008e82815181106137935761379361423e565b602002602001015190506137ae816000015186600001511490565b156137be576020015191506137d1565b50806137c98161418c565b915050613777565b5060006137df828486613952565b9050604051806040016040528085600001518152602001828152508c868151811061380c5761380c61423e565b60200260200101819052507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081805190602001200361384e5750505050613925565b61389184600001516040518060400160405280601381526020017f44657269766174697665732d416c6c6f776564000000000000000000000000008152506139f5565b156138b157808060200190518101906138aa919061441c565b9a50613920565b6138f484600001516040518060400160405280601b81526020017f44657269766174697665732d416c6c6f7765642d4f7074696f6e7300000000008152506139f5565b156139205760008180602001905181019061390f919061467f565b6001811615159b5060021615159950505b505050505b8061392f8161418c565b9150506136a9565b50856139465760009450600093505b50505093509350935093565b8251606090156139dc57825115613995576040517f42445ce000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61399f8285612e03565b6139d5576040517f5bcde08d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5082610aea565b8251156139ea575081610aea565b506040810151610aea565b6000610aea83613a0484611508565b1490565b508054613a14906141eb565b6000825580601f10613a24575050565b601f016020900490600052602060002090810190613a429190613ad7565b50565b5080546000825590600052602060002090810190613a429190613aec565b5080546000825590600052602060002090810190613a429190613ad7565b828054828255906000526020600020908101928215613ac7579160200282015b82811115613ac75782518290613ab79082614484565b5091602001919060010190613aa1565b50613ad3929150613aec565b5090565b5b80821115613ad35760008155600101613ad8565b80821115613ad3576000613b008282613a08565b50600101613aec565b600060208284031215613b1b57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610aea57600080fd5b60008083601f840112613b5d57600080fd5b50813567ffffffffffffffff811115613b7557600080fd5b602083019150836020828501011115613b8d57600080fd5b9250929050565b600080600060408486031215613ba957600080fd5b83359250602084013567ffffffffffffffff811115613bc757600080fd5b613bd386828701613b4b565b9497909650939450505050565b73ffffffffffffffffffffffffffffffffffffffff81168114613a4257600080fd5b60008060008060608587031215613c1857600080fd5b8435613c2381613be0565b93506020850135613c3381613be0565b9250604085013567ffffffffffffffff811115613c4f57600080fd5b613c5b87828801613b4b565b95989497509550505050565b60005b83811015613c82578181015183820152602001613c6a565b50506000910152565b60008151808452613ca3816020860160208601613c67565b601f01601f19169290920160200192915050565b602081526000610aea6020830184613c8b565b600060208284031215613cdc57600080fd5b8135610aea81613be0565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60038110613d2657613d26613ce7565b9052565b602081016105138284613d16565b600080600060408486031215613d4d57600080fd5b8335613d5881613be0565b9250602084013567ffffffffffffffff811115613bc757600080fd5b60028110613a4257600080fd5b600080600060608486031215613d9657600080fd5b8335613da181613d74565b95602085013595506040909401359392505050565b60008060408385031215613dc957600080fd5b8235613dd481613d74565b946020939093013593505050565b600080600060608486031215613df757600080fd5b8335613e0281613d74565b9250602084013591506040840135613e1981613be0565b809150509250925092565b600080600060608486031215613e3957600080fd5b8335613e4481613d74565b92506020840135613e5481613be0565b929592945050506040919091013590565b60008083601f840112613e7757600080fd5b50813567ffffffffffffffff811115613e8f57600080fd5b6020830191508360208260051b8501011115613b8d57600080fd5b60008060008060008060008060a0898b031215613ec657600080fd5b8835613ed181613be0565b97506020890135613ee181613be0565b9650604089013567ffffffffffffffff80821115613efe57600080fd5b613f0a8c838d01613b4b565b909850965060608b0135915080821115613f2357600080fd5b613f2f8c838d01613e65565b909650945060808b0135915080821115613f4857600080fd5b50613f558b828c01613e65565b999c989b5096995094979396929594505050565b600080600080600080600060a0888a031215613f8457600080fd5b8735613f8f81613d74565b96506020880135613f9f81613be0565b955060408801359450606088013567ffffffffffffffff80821115613fc357600080fd5b613fcf8b838c01613e65565b909650945060808a0135915080821115613fe857600080fd5b50613ff58a828b01613e65565b989b979a50959850939692959293505050565b8015158114613a4257600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561406857614068614016565b60405290565b6040516060810167ffffffffffffffff8111828210171561406857614068614016565b604051601f8201601f1916810167ffffffffffffffff811182821017156140ba576140ba614016565b604052919050565b600067ffffffffffffffff8211156140dc576140dc614016565b50601f01601f191660200190565b60006140fd6140f8846140c2565b614091565b905082815283838301111561411157600080fd5b828260208301376000602084830101529392505050565b6000806040838503121561413b57600080fd5b823561414681614008565b9150602083013567ffffffffffffffff81111561416257600080fd5b8301601f8101851361417357600080fd5b614182858235602084016140ea565b9150509250929050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036141e4577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b600181811c908216806141ff57607f821691505b602082108103614238577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006020828403121561427f57600080fd5b8151610aea81613be0565b600067ffffffffffffffff8211156142a4576142a4614016565b5060051b60200190565b600082601f8301126142bf57600080fd5b610aea838335602085016140ea565b60006142dc6140f88461428a565b80848252602080830192508560051b8501368111156142fa57600080fd5b855b8181101561433657803567ffffffffffffffff81111561431c5760008081fd5b61432836828a016142ae565b8652509382019382016142fc565b50919695505050505050565b60208082528181018390526000908460408401835b8681101561439257823561436a81613be0565b73ffffffffffffffffffffffffffffffffffffffff1682529183019190830190600101614357565b509695505050505050565b600080604083850312156143b057600080fd5b82359150602083013567ffffffffffffffff8111156143ce57600080fd5b614182858286016142ae565b80516020808301519190811015614238577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60209190910360031b1b16919050565b60006020828403121561442e57600080fd5b8151610aea81614008565b601f82111561447f57600081815260208120601f850160051c810160208610156144605750805b601f850160051c820191505b81811015611ab75782815560010161446c565b505050565b815167ffffffffffffffff81111561449e5761449e614016565b6144b2816144ac84546141eb565b84614439565b602080601f83116001811461450557600084156144cf5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555611ab7565b600085815260208120601f198616915b8281101561453457888601518255948401946001909101908401614515565b508582101561457057878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b60208152600082516040602084015261459c6060840182613c8b565b90506020840151601f198483030160408501526145b98282613c8b565b95945050505050565b600082601f8301126145d357600080fd5b81516145e16140f8826140c2565b8181528460208386010111156145f657600080fd5b6109c6826020830160208701613c67565b6000806040838503121561461a57600080fd5b825161462581613d74565b602084015190925067ffffffffffffffff81111561464257600080fd5b614182858286016145c2565b6000806040838503121561466157600080fd5b82519150602083015167ffffffffffffffff81111561464257600080fd5b60006020828403121561469157600080fd5b5051919050565b600080604083850312156146ab57600080fd5b505080516020909101519092909150565b600082601f8301126146cd57600080fd5b815160206146dd6140f88361428a565b82815260059290921b840181019181810190868411156146fc57600080fd5b8286015b8481101561439257805167ffffffffffffffff808211156147215760008081fd5b8189019150604080601f19848d0301121561473c5760008081fd5b614744614045565b83880151815290830151908282111561475d5760008081fd5b61476b8c89848701016145c2565b818901528652505050918301918301614700565b60006020828403121561479157600080fd5b815167ffffffffffffffff808211156147a957600080fd5b90830190606082860312156147bd57600080fd5b6147c561406e565b8251828111156147d457600080fd5b6147e0878286016145c2565b8252506020830151828111156147f557600080fd5b614801878286016146bc565b602083015250604083015192506003831061481b57600080fd5b6040810192909252509392505050565b60006020828403121561483d57600080fd5b815167ffffffffffffffff81111561485457600080fd5b6109c6848285016145c2565b6060815260006148736060830186613c8b565b82810360208401526148858186613c8b565b9150506109c66040830184613d16565b6040815260006148a86040830185613c8b565b90508260208301529392505050565b6000608082840312156148c957600080fd5b6040516080810167ffffffffffffffff82821081831117156148ed576148ed614016565b8160405282935084518352602085015191506006821061490c57600080fd5b816020840152604085015191508082111561492657600080fd5b614932868387016145c2565b6040840152606085015191508082111561494b57600080fd5b50614958858286016145c2565b6060830152505092915050565b60006020828403121561497757600080fd5b815167ffffffffffffffff81111561498e57600080fd5b6109c6848285016148b7565b6060815260006149ad6060830186613c8b565b600685106149bd576149bd613ce7565b84602084015282810360408401526149d58185613c8b565b9695505050505050565b6040815260006149f26040830185613c8b565b905073ffffffffffffffffffffffffffffffffffffffff831660208301529392505050565b600080600060608486031215614a2c57600080fd5b8351614a3781613d74565b602085015190935067ffffffffffffffff811115614a5457600080fd5b614a60868287016145c2565b925050604084015190509250925092565b600060208284031215614a8357600080fd5b815167ffffffffffffffff80821115614a9b57600080fd5b9083019060608286031215614aaf57600080fd5b614ab761406e565b825182811115614ac657600080fd5b614ad2878286016146bc565b825250602083015160208201526040830151604082015280935050505092915050565b60006020808385031215614b0857600080fd5b825167ffffffffffffffff811115614b1f57600080fd5b8301601f81018513614b3057600080fd5b8051614b3e6140f88261428a565b81815260059190911b82018301908381019087831115614b5d57600080fd5b928401925b82841015614b7b57835182529284019290840190614b62565b979650505050505050565b60006020808385031215614b9957600080fd5b825167ffffffffffffffff80821115614bb157600080fd5b818501915085601f830112614bc557600080fd5b8151614bd36140f88261428a565b81815260059190911b83018401908481019088831115614bf257600080fd5b8585015b83811015614c2a57805185811115614c0e5760008081fd5b614c1c8b89838a01016148b7565b845250918601918601614bf6565b5098975050505050505050565b60048110613d2657613d26613ce7565b600081518084526020808501808196508360051b8101915082860160005b85811015614ca35782840389528151805185528501516040868601819052614c8f81870183613c8b565b9a87019a9550505090840190600101614c65565b5091979650505050505050565b6000610180614cc0838751614c37565b6020860151614cd3602085018215159052565b506040860151614ce7604085018215159052565b506060860151614cfb606085018215159052565b506080860151614d23608085018273ffffffffffffffffffffffffffffffffffffffff169052565b5060a0860151614d4b60a085018273ffffffffffffffffffffffffffffffffffffffff169052565b5060c0860151614d7360c085018273ffffffffffffffffffffffffffffffffffffffff169052565b5060e086810151908401526101008087015190840152610120808701519084015273ffffffffffffffffffffffffffffffffffffffff8516610140840152806101608401526149d581840185614c4756fea2646970667358221220d0c7dac5f95a838db3de11f5024ffd7d80a9e4596e8caaf4c9009d0ad0f26fcd64736f6c634300081300330000000000000000000000007a7bc5640637b74abecc6e908ed548ee1969c948000000000000000000000000e8ab207a5c21162db1ee75e378a92c82d550a8d100000000000000000000000080e012ca980e1d3993d8bee99828619e5532b12b000000000000000000000000ee19ace40db1ba8b0dbbc5e57061a3268bd08c6a00000000000000000000000043c1c831d370f36149183d31fdac50b131289949000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "nonce": "0x7dd", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x828ddeda633112c57ba796830900c7292b8de35e2360fbaec8b2f6f779fc7856", + "transactionType": "CREATE", + "contractName": "HooksFactory", + "contractAddress": "0xeDa0dBB8fc6362A6c1508b42aA2B1ba00Cd0d891", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x61e81", + "value": "0x0", + "data": "0x608060405234801561001057600080fd5b506104a7806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c806391e7e5b414610030575b600080fd5b61004361003e366004610315565b61006c565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6000808260405160200161008291815260200190565b6040516020818303038152906040528051906020012060001c905060005b6105dc8110156101385760006100b68284610426565b8751602089012090915060006100cc8383610142565b9050600073800000000000000000000000000000000000000089146100f25760016100f5565b60025b60ff1690506003609e83901c168103610121576101146000858c610158565b965050505050505061013b565b50505050808061013090610439565b9150506100a0565b50505b9392505050565b600061014f8383306102bc565b90505b92915050565b6000834710156101c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f437265617465323a20696e73756666696369656e742062616c616e636500000060448201526064015b60405180910390fd5b8151600003610234576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f437265617465323a2062797465636f6465206c656e677468206973207a65726f60448201526064016101c0565b8282516020840186f5905073ffffffffffffffffffffffffffffffffffffffff811661013b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f437265617465323a204661696c6564206f6e206465706c6f790000000000000060448201526064016101c0565b6000604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060006060848603121561032a57600080fd5b833567ffffffffffffffff8082111561034257600080fd5b818601915086601f83011261035657600080fd5b813581811115610368576103686102e6565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156103ae576103ae6102e6565b816040528281528960208487010111156103c757600080fd5b82602086016020830137600060208483010152809750505050505060208401359150604084013590509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820180821115610152576101526103f7565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361046a5761046a6103f7565b506001019056fea2646970667358221220b9424546b77d6959490d75f2d31169e7b2dd7e680376ab4166cc87ad4d0349cf64736f6c63430008130033", + "nonce": "0x7de", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x9206432724c9b48a7774cad6710672b22f14df585b41c22c119c392c00abb3bd", + "transactionType": "CALL", + "contractName": "HooksFactory", + "contractAddress": "0xeDa0dBB8fc6362A6c1508b42aA2B1ba00Cd0d891", + "function": "deploy(bytes,uint256,uint256):(address)", + "arguments": [ + "0x60806040523480156200001157600080fd5b5060405162000f8838038062000f888339810160408190526200003491620001d1565b808080620000536001600160a01b038216637965db0b60e01b620000e5565b62000096576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b038316908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a250505050620001fc565b6000620000f2836200010d565b801562000106575062000106838362000146565b9392505050565b600062000122826301ffc9a760e01b62000146565b80156200014057506200013e826001600160e01b031962000146565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d91506000519050828015620001b9575060208210155b8015620001c65750600081115b979650505050505050565b600060208284031215620001e457600080fd5b81516001600160a01b03811681146200010657600080fd5b610d7c806200020c6000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806319129e5a1461005157806334e5d29f146100665780635260a98c14610090578063a913b881146100b2575b600080fd5b61006461005f3660046108c2565b6100c5565b005b610079610074366004610928565b610229565b604051610087929190610a09565b60405180910390f35b6100a361009e366004610a31565b610328565b60405161008793929190610a88565b6100646100c0366004610928565b6103ca565b60006100d1813361040d565b610115576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b61015573ffffffffffffffffffffffffffffffffffffffff83167f7965db0b000000000000000000000000000000000000000000000000000000006104b0565b6101bb576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c000000000000000000000000000000000000604482015260640161010c565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050565b600060607f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db610258813361040d565b610297576040517f75000dc00000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440161010c565b60006102a585870187610b92565b90506102b481600001516104cc565b6102c6816000015182602001516105df565b600194509250833073ffffffffffffffffffffffffffffffffffffffff167fdfd1fe8825f45c847f436243dea4246c2ed6c29b2ee09d385de7a3049566b69788888760405161031793929190610c39565b60405180910390a350509250929050565b6000606060007f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db610359813361040d565b610398576040517f75000dc00000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440161010c565b6040517fcce14c2300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61040982828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506104cc92505050565b5050565b600080546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff8481166024830152909116906391d1485490604401602060405180830381865afa158015610485573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a99190610c9f565b9392505050565b60006104bb83610769565b80156104a957506104a983836107ce565b6000818060200190518101906104e29190610d11565b805190915073ffffffffffffffffffffffffffffffffffffffff8116610534576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61057473ffffffffffffffffffffffffffffffffffffffff82167f80ac58cd000000000000000000000000000000000000000000000000000000006104b0565b6105da576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f4945524337323100000000000000000000000000000000000000000000000000604482015260640161010c565b505050565b60606000838060200190518101906105f79190610d11565b905060008380602001905181019061060f9190610d11565b805190915073ffffffffffffffffffffffffffffffffffffffff16610660576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815181516040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91821660048201529116906370a0823190602401602060405180830381865afa1580156106d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f49190610d2d565b60000361075157815181516040517fe9dee8af00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff92831660048201529116602482015260440161010c565b50506040805160208101909152600081529392505050565b6000610795827f01ffc9a7000000000000000000000000000000000000000000000000000000006107ce565b80156107c857506107c6827fffffffff000000000000000000000000000000000000000000000000000000006107ce565b155b92915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015610886575060208210155b80156108925750600081115b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff811681146108bf57600080fd5b50565b6000602082840312156108d457600080fd5b81356104a98161089d565b60008083601f8401126108f157600080fd5b50813567ffffffffffffffff81111561090957600080fd5b60208301915083602082850101111561092157600080fd5b9250929050565b6000806020838503121561093b57600080fd5b823567ffffffffffffffff81111561095257600080fd5b61095e858286016108df565b90969095509350505050565b600281106109a1577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b6000815180845260005b818110156109cb576020818501810151868301820152016109af565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b610a13818461096a565b604060208201526000610a2960408301846109a5565b949350505050565b600080600060408486031215610a4657600080fd5b833567ffffffffffffffff811115610a5d57600080fd5b610a69868287016108df565b9094509250506020840135610a7d8161089d565b809150509250925092565b610a92818561096a565b606060208201526000610aa860608301856109a5565b9050826040830152949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112610af857600080fd5b813567ffffffffffffffff80821115610b1357610b13610ab8565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715610b5957610b59610ab8565b81604052838152866020858801011115610b7257600080fd5b836020870160208301376000602085830101528094505050505092915050565b600060208284031215610ba457600080fd5b813567ffffffffffffffff80821115610bbc57600080fd5b9083019060408286031215610bd057600080fd5b604051604081018181108382111715610beb57610beb610ab8565b604052823582811115610bfd57600080fd5b610c0987828601610ae7565b825250602083013582811115610c1e57600080fd5b610c2a87828601610ae7565b60208301525095945050505050565b604081528260408201528284606083013760006060848301015260007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011682016060838203016020840152610c9560608201856109a5565b9695505050505050565b600060208284031215610cb157600080fd5b815180151581146104a957600080fd5b600060208284031215610cd357600080fd5b6040516020810181811067ffffffffffffffff82111715610cf657610cf6610ab8565b80604052508091508251610d098161089d565b905292915050565b600060208284031215610d2357600080fd5b6104a98383610cc1565b600060208284031215610d3f57600080fd5b505191905056fea2646970667358221220ac089ae2ad4a08453a0e62d5ef88cd54351c5b108b99b3628d8b974af06257d264736f6c63430008130033000000000000000000000000bd132e42baafe3648170770f2d45dba59166e06d", + "730750818665451459101842416358141509827966271488", + "1702012200" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xeda0dbb8fc6362a6c1508b42aa2b1ba00cd0d891", + "gas": "0x11b8ab", + "value": "0x0", + "data": "0x91e7e5b400000000000000000000000000000000000000000000000000000000000000600000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006572a5280000000000000000000000000000000000000000000000000000000000000fa860806040523480156200001157600080fd5b5060405162000f8838038062000f888339810160408190526200003491620001d1565b808080620000536001600160a01b038216637965db0b60e01b620000e5565b62000096576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b038316908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a250505050620001fc565b6000620000f2836200010d565b801562000106575062000106838362000146565b9392505050565b600062000122826301ffc9a760e01b62000146565b80156200014057506200013e826001600160e01b031962000146565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d91506000519050828015620001b9575060208210155b8015620001c65750600081115b979650505050505050565b600060208284031215620001e457600080fd5b81516001600160a01b03811681146200010657600080fd5b610d7c806200020c6000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806319129e5a1461005157806334e5d29f146100665780635260a98c14610090578063a913b881146100b2575b600080fd5b61006461005f3660046108c2565b6100c5565b005b610079610074366004610928565b610229565b604051610087929190610a09565b60405180910390f35b6100a361009e366004610a31565b610328565b60405161008793929190610a88565b6100646100c0366004610928565b6103ca565b60006100d1813361040d565b610115576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b61015573ffffffffffffffffffffffffffffffffffffffff83167f7965db0b000000000000000000000000000000000000000000000000000000006104b0565b6101bb576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c000000000000000000000000000000000000604482015260640161010c565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050565b600060607f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db610258813361040d565b610297576040517f75000dc00000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440161010c565b60006102a585870187610b92565b90506102b481600001516104cc565b6102c6816000015182602001516105df565b600194509250833073ffffffffffffffffffffffffffffffffffffffff167fdfd1fe8825f45c847f436243dea4246c2ed6c29b2ee09d385de7a3049566b69788888760405161031793929190610c39565b60405180910390a350509250929050565b6000606060007f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db610359813361040d565b610398576040517f75000dc00000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440161010c565b6040517fcce14c2300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61040982828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506104cc92505050565b5050565b600080546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff8481166024830152909116906391d1485490604401602060405180830381865afa158015610485573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a99190610c9f565b9392505050565b60006104bb83610769565b80156104a957506104a983836107ce565b6000818060200190518101906104e29190610d11565b805190915073ffffffffffffffffffffffffffffffffffffffff8116610534576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61057473ffffffffffffffffffffffffffffffffffffffff82167f80ac58cd000000000000000000000000000000000000000000000000000000006104b0565b6105da576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f4945524337323100000000000000000000000000000000000000000000000000604482015260640161010c565b505050565b60606000838060200190518101906105f79190610d11565b905060008380602001905181019061060f9190610d11565b805190915073ffffffffffffffffffffffffffffffffffffffff16610660576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815181516040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91821660048201529116906370a0823190602401602060405180830381865afa1580156106d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f49190610d2d565b60000361075157815181516040517fe9dee8af00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff92831660048201529116602482015260440161010c565b50506040805160208101909152600081529392505050565b6000610795827f01ffc9a7000000000000000000000000000000000000000000000000000000006107ce565b80156107c857506107c6827fffffffff000000000000000000000000000000000000000000000000000000006107ce565b155b92915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015610886575060208210155b80156108925750600081115b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff811681146108bf57600080fd5b50565b6000602082840312156108d457600080fd5b81356104a98161089d565b60008083601f8401126108f157600080fd5b50813567ffffffffffffffff81111561090957600080fd5b60208301915083602082850101111561092157600080fd5b9250929050565b6000806020838503121561093b57600080fd5b823567ffffffffffffffff81111561095257600080fd5b61095e858286016108df565b90969095509350505050565b600281106109a1577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b6000815180845260005b818110156109cb576020818501810151868301820152016109af565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b610a13818461096a565b604060208201526000610a2960408301846109a5565b949350505050565b600080600060408486031215610a4657600080fd5b833567ffffffffffffffff811115610a5d57600080fd5b610a69868287016108df565b9094509250506020840135610a7d8161089d565b809150509250925092565b610a92818561096a565b606060208201526000610aa860608301856109a5565b9050826040830152949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112610af857600080fd5b813567ffffffffffffffff80821115610b1357610b13610ab8565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715610b5957610b59610ab8565b81604052838152866020858801011115610b7257600080fd5b836020870160208301376000602085830101528094505050505092915050565b600060208284031215610ba457600080fd5b813567ffffffffffffffff80821115610bbc57600080fd5b9083019060408286031215610bd057600080fd5b604051604081018181108382111715610beb57610beb610ab8565b604052823582811115610bfd57600080fd5b610c0987828601610ae7565b825250602083013582811115610c1e57600080fd5b610c2a87828601610ae7565b60208301525095945050505050565b604081528260408201528284606083013760006060848301015260007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011682016060838203016020840152610c9560608201856109a5565b9695505050505050565b600060208284031215610cb157600080fd5b815180151581146104a957600080fd5b600060208284031215610cd357600080fd5b6040516020810181811067ffffffffffffffff82111715610cf657610cf6610ab8565b80604052508091508251610d098161089d565b905292915050565b600060208284031215610d2357600080fd5b6104a98383610cc1565b600060208284031215610d3f57600080fd5b505191905056fea2646970667358221220ac089ae2ad4a08453a0e62d5ef88cd54351c5b108b99b3628d8b974af06257d264736f6c63430008130033000000000000000000000000bd132e42baafe3648170770f2d45dba59166e06d000000000000000000000000000000000000000000000000", + "nonce": "0x7df", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE2", + "address": "0x86831b4A5D9222F120acF3D0a6C6d3f4Fa7C1268", + "initCode": "60806040523480156200001157600080fd5b5060405162000f8838038062000f888339810160408190526200003491620001d1565b808080620000536001600160a01b038216637965db0b60e01b620000e5565b62000096576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b038316908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a250505050620001fc565b6000620000f2836200010d565b801562000106575062000106838362000146565b9392505050565b600062000122826301ffc9a760e01b62000146565b80156200014057506200013e826001600160e01b031962000146565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d91506000519050828015620001b9575060208210155b8015620001c65750600081115b979650505050505050565b600060208284031215620001e457600080fd5b81516001600160a01b03811681146200010657600080fd5b610d7c806200020c6000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806319129e5a1461005157806334e5d29f146100665780635260a98c14610090578063a913b881146100b2575b600080fd5b61006461005f3660046108c2565b6100c5565b005b610079610074366004610928565b610229565b604051610087929190610a09565b60405180910390f35b6100a361009e366004610a31565b610328565b60405161008793929190610a88565b6100646100c0366004610928565b6103ca565b60006100d1813361040d565b610115576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b61015573ffffffffffffffffffffffffffffffffffffffff83167f7965db0b000000000000000000000000000000000000000000000000000000006104b0565b6101bb576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c000000000000000000000000000000000000604482015260640161010c565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050565b600060607f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db610258813361040d565b610297576040517f75000dc00000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440161010c565b60006102a585870187610b92565b90506102b481600001516104cc565b6102c6816000015182602001516105df565b600194509250833073ffffffffffffffffffffffffffffffffffffffff167fdfd1fe8825f45c847f436243dea4246c2ed6c29b2ee09d385de7a3049566b69788888760405161031793929190610c39565b60405180910390a350509250929050565b6000606060007f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db610359813361040d565b610398576040517f75000dc00000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440161010c565b6040517fcce14c2300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61040982828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506104cc92505050565b5050565b600080546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff8481166024830152909116906391d1485490604401602060405180830381865afa158015610485573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a99190610c9f565b9392505050565b60006104bb83610769565b80156104a957506104a983836107ce565b6000818060200190518101906104e29190610d11565b805190915073ffffffffffffffffffffffffffffffffffffffff8116610534576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61057473ffffffffffffffffffffffffffffffffffffffff82167f80ac58cd000000000000000000000000000000000000000000000000000000006104b0565b6105da576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f4945524337323100000000000000000000000000000000000000000000000000604482015260640161010c565b505050565b60606000838060200190518101906105f79190610d11565b905060008380602001905181019061060f9190610d11565b805190915073ffffffffffffffffffffffffffffffffffffffff16610660576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815181516040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91821660048201529116906370a0823190602401602060405180830381865afa1580156106d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f49190610d2d565b60000361075157815181516040517fe9dee8af00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff92831660048201529116602482015260440161010c565b50506040805160208101909152600081529392505050565b6000610795827f01ffc9a7000000000000000000000000000000000000000000000000000000006107ce565b80156107c857506107c6827fffffffff000000000000000000000000000000000000000000000000000000006107ce565b155b92915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015610886575060208210155b80156108925750600081115b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff811681146108bf57600080fd5b50565b6000602082840312156108d457600080fd5b81356104a98161089d565b60008083601f8401126108f157600080fd5b50813567ffffffffffffffff81111561090957600080fd5b60208301915083602082850101111561092157600080fd5b9250929050565b6000806020838503121561093b57600080fd5b823567ffffffffffffffff81111561095257600080fd5b61095e858286016108df565b90969095509350505050565b600281106109a1577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b6000815180845260005b818110156109cb576020818501810151868301820152016109af565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b610a13818461096a565b604060208201526000610a2960408301846109a5565b949350505050565b600080600060408486031215610a4657600080fd5b833567ffffffffffffffff811115610a5d57600080fd5b610a69868287016108df565b9094509250506020840135610a7d8161089d565b809150509250925092565b610a92818561096a565b606060208201526000610aa860608301856109a5565b9050826040830152949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112610af857600080fd5b813567ffffffffffffffff80821115610b1357610b13610ab8565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715610b5957610b59610ab8565b81604052838152866020858801011115610b7257600080fd5b836020870160208301376000602085830101528094505050505092915050565b600060208284031215610ba457600080fd5b813567ffffffffffffffff80821115610bbc57600080fd5b9083019060408286031215610bd057600080fd5b604051604081018181108382111715610beb57610beb610ab8565b604052823582811115610bfd57600080fd5b610c0987828601610ae7565b825250602083013582811115610c1e57600080fd5b610c2a87828601610ae7565b60208301525095945050505050565b604081528260408201528284606083013760006060848301015260007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011682016060838203016020840152610c9560608201856109a5565b9695505050505050565b600060208284031215610cb157600080fd5b815180151581146104a957600080fd5b600060208284031215610cd357600080fd5b6040516020810181811067ffffffffffffffff82111715610cf657610cf6610ab8565b80604052508091508251610d098161089d565b905292915050565b600060208284031215610d2357600080fd5b6104a98383610cc1565b600060208284031215610d3f57600080fd5b505191905056fea2646970667358221220ac089ae2ad4a08453a0e62d5ef88cd54351c5b108b99b3628d8b974af06257d264736f6c63430008130033000000000000000000000000bd132e42baafe3648170770f2d45dba59166e06d" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0xda976994e9135aba7aea99be59688074366d7020913ef7ff79ef9fcba0a30003", + "transactionType": "CALL", + "contractName": "HooksFactory", + "contractAddress": "0xeDa0dBB8fc6362A6c1508b42aA2B1ba00Cd0d891", + "function": "deploy(bytes,uint256,uint256):(address)", + "arguments": [ + "0x60c06040523480156200001157600080fd5b506040516200182038038062001820833981016040819052620000349162000250565b828080620000536001600160a01b038216637965db0b60e01b62000147565b62000096576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b038316908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050506001600160a01b038116620001065760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0382166200012e5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b039081166080521660a052506200029a565b600062000154836200016f565b8015620001685750620001688383620001a8565b9392505050565b600062000184826301ffc9a760e01b620001a8565b8015620001a25750620001a0826001600160e01b0319620001a8565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d915060005190508280156200021b575060208210155b8015620002285750600081115b979650505050505050565b80516001600160a01b03811681146200024b57600080fd5b919050565b6000806000606084860312156200026657600080fd5b620002718462000233565b9250620002816020850162000233565b9150620002916040850162000233565b90509250925092565b60805160a051611559620002c7600039600081816101520152610e010152600061088101526115596000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80633d0aa6e51161005b5780633d0aa6e5146101185780635260a98c1461012b5780635ab6d0011461014d578063a913b8811461017457600080fd5b80630a5989761461008257806319129e5a146100e257806334e5d29f146100f7575b600080fd5b6100b8610090366004610f9c565b60016020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100f56100f0366004610fda565b610187565b005b61010a610105366004611040565b6102eb565b6040516100d9929190611121565b6100f5610126366004611149565b61038b565b61013e61013936600461116b565b610521565b6040516100d9939291906111c2565b6100b87f000000000000000000000000000000000000000000000000000000000000000081565b6100f5610182366004611040565b61077d565b600061019381336107c0565b6101d7576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b61021773ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000610863565b61027d576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c00000000000000000000000000000000000060448201526064016101ce565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050565b600060607f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db61031a81336107c0565b610359576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016101ce565b6040517f24baa24800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408051602080820183526000808352858152600390915291822060040154610100900460ff16610418576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f52657175657374206e6f7420666f756e6400000000000000000000000000000060448201526064016101ce565b6000848152600360208190526040909120015483101561046c575060408051808201909152601e81527f42616c616e6365206f6620546f6b656e206973206e6f7420656e6f75676800006020820152610471565b600191505b600084815260036020818152604080842080547fffffffffffffffffffffffff0000000000000000000000000000000000000000908116825560018201805482169055600282018054909116905592830193909355600490910180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000169055905161051b9186916105079186918691016111f2565b60405160208183030381529060405261087f565b50505050565b6000606060007f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db61055281336107c0565b610591576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016101ce565b73ffffffffffffffffffffffffffffffffffffffff85166105de576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61061e73ffffffffffffffffffffffffffffffffffffffff86167f2fa7bc9900000000000000000000000000000000000000000000000000000000610863565b610684576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f4943616c6c6261636b48616e646c65720000000000000000000000000000000060448201526064016101ce565b600061069287890189611310565b90506106a18160000151610a9f565b6106b381600001518260200151610ba4565b600081815260016020526040812080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8b1617905596509094509250848673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167f320acf383fac55c3eff3aad884406f0fa211a5c451266edd9de8151bb26b7054868c8c8a60405161076a94939291906113a1565b60405180910390a4505093509350939050565b6107bc82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610a9f92505050565b5050565b600080546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff8481166024830152909116906391d1485490604401602060405180830381865afa158015610838573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085c9190611403565b9392505050565b600061086e83610e68565b801561085c575061085c8383610ecd565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff8116331461090d576040517f5dc645bb00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff821660248201526044016101ce565b60008381526001602052604090205473ffffffffffffffffffffffffffffffffffffffff1661096b576040517fc88d34d7000000000000000000000000000000000000000000000000000000008152600481018490526024016101ce565b6000838152600160205260409081902054905173ffffffffffffffffffffffffffffffffffffffff9091169030907fb8da071166b4cdb339d32ac1c86452cf0ba046f8aeb8230c00d0ce19c173884c906109c89087908790611425565b60405180910390a3600083815260016020526040908190205490517f2fa7bc9900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690632fa7bc9990610a359086908690600401611425565b600060405180830381600087803b158015610a4f57600080fd5b505af1158015610a63573d6000803e3d6000fd5b505050600093845250506001602052506040902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b600081806020019051810190610ab5919061143e565b805190915073ffffffffffffffffffffffffffffffffffffffff16610b36576040517f7662892900000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f746f6b656e41646472657373206973203000000000000000000000000000000060448201526064016101ce565b80602001516000036107bc576040517f7662892900000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f62616c616e63655468726573686f6c642069732030000000000000000000000060448201526064016101ce565b606060008084806020019051810190610bbd919061143e565b9050600084806020019051810190610bd59190611478565b600280549192503091906000610bea836114c4565b9091555060405160609290921b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660208301526034820152605401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152828252805160209182012081840183526000808552835160c08101855233808252885173ffffffffffffffffffffffffffffffffffffffff908116838701908152895182168489019081528b8801516060860190815260808601878152600160a088018181528a8a5260039b8c9052988c9020975188549087167fffffffffffffffffffffffff0000000000000000000000000000000000000000918216178955945190880180549187169186169190911790559151600287018054918616919094161790925590519684019690965594516004928301805494511515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff921515929092167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000090951694909417179092558751875195517f3114f43a0000000000000000000000000000000000000000000000000000000081529182018490526024820192909252908316604482015292821660648401523060848401527f3d0aa6e50000000000000000000000000000000000000000000000000000000060a48401529296509194507f000000000000000000000000000000000000000000000000000000000000000090911690633114f43a9060c401600060405180830381600087803b158015610e4757600080fd5b505af1158015610e5b573d6000803e3d6000fd5b5050505050509250929050565b6000610e94827f01ffc9a700000000000000000000000000000000000000000000000000000000610ecd565b8015610ec75750610ec5827fffffffff00000000000000000000000000000000000000000000000000000000610ecd565b155b92915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015610f85575060208210155b8015610f915750600081115b979650505050505050565b600060208284031215610fae57600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610fd757600080fd5b50565b600060208284031215610fec57600080fd5b813561085c81610fb5565b60008083601f84011261100957600080fd5b50813567ffffffffffffffff81111561102157600080fd5b60208301915083602082850101111561103957600080fd5b9250929050565b6000806020838503121561105357600080fd5b823567ffffffffffffffff81111561106a57600080fd5b61107685828601610ff7565b90969095509350505050565b600281106110b9577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b6000815180845260005b818110156110e3576020818501810151868301820152016110c7565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b61112b8184611082565b60406020820152600061114160408301846110bd565b949350505050565b6000806040838503121561115c57600080fd5b50508035926020909101359150565b60008060006040848603121561118057600080fd5b833567ffffffffffffffff81111561119757600080fd5b6111a386828701610ff7565b90945092505060208401356111b781610fb5565b809150509250925092565b6111cc8185611082565b6060602082015260006111e260608301856110bd565b9050826040830152949350505050565b821515815260406020820152600061114160408301846110bd565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561125f5761125f61120d565b60405290565b600082601f83011261127657600080fd5b813567ffffffffffffffff808211156112915761129161120d565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156112d7576112d761120d565b816040528381528660208588010111156112f057600080fd5b836020870160208301376000602085830101528094505050505092915050565b60006020828403121561132257600080fd5b813567ffffffffffffffff8082111561133a57600080fd5b908301906040828603121561134e57600080fd5b61135661123c565b82358281111561136557600080fd5b61137187828601611265565b82525060208301358281111561138657600080fd5b61139287828601611265565b60208301525095945050505050565b848152606060208201528260608201528284608083013760006080848301015260007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011682016080838203016040840152610f9160808201856110bd565b60006020828403121561141557600080fd5b8151801515811461085c57600080fd5b82815260406020820152600061114160408301846110bd565b60006040828403121561145057600080fd5b61145861123c565b825161146381610fb5565b81526020928301519281019290925250919050565b60006020828403121561148a57600080fd5b6040516020810181811067ffffffffffffffff821117156114ad576114ad61120d565b60405282516114bb81610fb5565b81529392505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361151c577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b506001019056fea2646970667358221220d8b168046b7ea8ef58a98e4718a596bce0ccd4e82ab63c88943c3c5258310fb564736f6c63430008130033000000000000000000000000bd132e42baafe3648170770f2d45dba59166e06d00000000000000000000000004401ff04e6c01a8f1e5696ad6aa053c86b73cd300000000000000000000000077cbcc0e29e10f1eea24e0d109aab26c5b2abd88", + "365375409332725729550921208179070754913983135744", + "1702012200" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xeda0dbb8fc6362a6c1508b42aa2b1ba00cd0d891", + "gas": "0x1af3fa", + "value": "0x0", + "data": "0x91e7e5b400000000000000000000000000000000000000000000000000000000000000600000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006572a528000000000000000000000000000000000000000000000000000000000000188060c06040523480156200001157600080fd5b506040516200182038038062001820833981016040819052620000349162000250565b828080620000536001600160a01b038216637965db0b60e01b62000147565b62000096576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b038316908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050506001600160a01b038116620001065760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0382166200012e5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b039081166080521660a052506200029a565b600062000154836200016f565b8015620001685750620001688383620001a8565b9392505050565b600062000184826301ffc9a760e01b620001a8565b8015620001a25750620001a0826001600160e01b0319620001a8565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d915060005190508280156200021b575060208210155b8015620002285750600081115b979650505050505050565b80516001600160a01b03811681146200024b57600080fd5b919050565b6000806000606084860312156200026657600080fd5b620002718462000233565b9250620002816020850162000233565b9150620002916040850162000233565b90509250925092565b60805160a051611559620002c7600039600081816101520152610e010152600061088101526115596000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80633d0aa6e51161005b5780633d0aa6e5146101185780635260a98c1461012b5780635ab6d0011461014d578063a913b8811461017457600080fd5b80630a5989761461008257806319129e5a146100e257806334e5d29f146100f7575b600080fd5b6100b8610090366004610f9c565b60016020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100f56100f0366004610fda565b610187565b005b61010a610105366004611040565b6102eb565b6040516100d9929190611121565b6100f5610126366004611149565b61038b565b61013e61013936600461116b565b610521565b6040516100d9939291906111c2565b6100b87f000000000000000000000000000000000000000000000000000000000000000081565b6100f5610182366004611040565b61077d565b600061019381336107c0565b6101d7576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b61021773ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000610863565b61027d576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c00000000000000000000000000000000000060448201526064016101ce565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050565b600060607f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db61031a81336107c0565b610359576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016101ce565b6040517f24baa24800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408051602080820183526000808352858152600390915291822060040154610100900460ff16610418576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f52657175657374206e6f7420666f756e6400000000000000000000000000000060448201526064016101ce565b6000848152600360208190526040909120015483101561046c575060408051808201909152601e81527f42616c616e6365206f6620546f6b656e206973206e6f7420656e6f75676800006020820152610471565b600191505b600084815260036020818152604080842080547fffffffffffffffffffffffff0000000000000000000000000000000000000000908116825560018201805482169055600282018054909116905592830193909355600490910180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000169055905161051b9186916105079186918691016111f2565b60405160208183030381529060405261087f565b50505050565b6000606060007f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db61055281336107c0565b610591576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016101ce565b73ffffffffffffffffffffffffffffffffffffffff85166105de576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61061e73ffffffffffffffffffffffffffffffffffffffff86167f2fa7bc9900000000000000000000000000000000000000000000000000000000610863565b610684576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f4943616c6c6261636b48616e646c65720000000000000000000000000000000060448201526064016101ce565b600061069287890189611310565b90506106a18160000151610a9f565b6106b381600001518260200151610ba4565b600081815260016020526040812080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8b1617905596509094509250848673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167f320acf383fac55c3eff3aad884406f0fa211a5c451266edd9de8151bb26b7054868c8c8a60405161076a94939291906113a1565b60405180910390a4505093509350939050565b6107bc82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610a9f92505050565b5050565b600080546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff8481166024830152909116906391d1485490604401602060405180830381865afa158015610838573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085c9190611403565b9392505050565b600061086e83610e68565b801561085c575061085c8383610ecd565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff8116331461090d576040517f5dc645bb00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff821660248201526044016101ce565b60008381526001602052604090205473ffffffffffffffffffffffffffffffffffffffff1661096b576040517fc88d34d7000000000000000000000000000000000000000000000000000000008152600481018490526024016101ce565b6000838152600160205260409081902054905173ffffffffffffffffffffffffffffffffffffffff9091169030907fb8da071166b4cdb339d32ac1c86452cf0ba046f8aeb8230c00d0ce19c173884c906109c89087908790611425565b60405180910390a3600083815260016020526040908190205490517f2fa7bc9900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690632fa7bc9990610a359086908690600401611425565b600060405180830381600087803b158015610a4f57600080fd5b505af1158015610a63573d6000803e3d6000fd5b505050600093845250506001602052506040902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b600081806020019051810190610ab5919061143e565b805190915073ffffffffffffffffffffffffffffffffffffffff16610b36576040517f7662892900000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f746f6b656e41646472657373206973203000000000000000000000000000000060448201526064016101ce565b80602001516000036107bc576040517f7662892900000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f62616c616e63655468726573686f6c642069732030000000000000000000000060448201526064016101ce565b606060008084806020019051810190610bbd919061143e565b9050600084806020019051810190610bd59190611478565b600280549192503091906000610bea836114c4565b9091555060405160609290921b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660208301526034820152605401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152828252805160209182012081840183526000808552835160c08101855233808252885173ffffffffffffffffffffffffffffffffffffffff908116838701908152895182168489019081528b8801516060860190815260808601878152600160a088018181528a8a5260039b8c9052988c9020975188549087167fffffffffffffffffffffffff0000000000000000000000000000000000000000918216178955945190880180549187169186169190911790559151600287018054918616919094161790925590519684019690965594516004928301805494511515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff921515929092167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000090951694909417179092558751875195517f3114f43a0000000000000000000000000000000000000000000000000000000081529182018490526024820192909252908316604482015292821660648401523060848401527f3d0aa6e50000000000000000000000000000000000000000000000000000000060a48401529296509194507f000000000000000000000000000000000000000000000000000000000000000090911690633114f43a9060c401600060405180830381600087803b158015610e4757600080fd5b505af1158015610e5b573d6000803e3d6000fd5b5050505050509250929050565b6000610e94827f01ffc9a700000000000000000000000000000000000000000000000000000000610ecd565b8015610ec75750610ec5827fffffffff00000000000000000000000000000000000000000000000000000000610ecd565b155b92915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015610f85575060208210155b8015610f915750600081115b979650505050505050565b600060208284031215610fae57600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610fd757600080fd5b50565b600060208284031215610fec57600080fd5b813561085c81610fb5565b60008083601f84011261100957600080fd5b50813567ffffffffffffffff81111561102157600080fd5b60208301915083602082850101111561103957600080fd5b9250929050565b6000806020838503121561105357600080fd5b823567ffffffffffffffff81111561106a57600080fd5b61107685828601610ff7565b90969095509350505050565b600281106110b9577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b6000815180845260005b818110156110e3576020818501810151868301820152016110c7565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b61112b8184611082565b60406020820152600061114160408301846110bd565b949350505050565b6000806040838503121561115c57600080fd5b50508035926020909101359150565b60008060006040848603121561118057600080fd5b833567ffffffffffffffff81111561119757600080fd5b6111a386828701610ff7565b90945092505060208401356111b781610fb5565b809150509250925092565b6111cc8185611082565b6060602082015260006111e260608301856110bd565b9050826040830152949350505050565b821515815260406020820152600061114160408301846110bd565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561125f5761125f61120d565b60405290565b600082601f83011261127657600080fd5b813567ffffffffffffffff808211156112915761129161120d565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156112d7576112d761120d565b816040528381528660208588010111156112f057600080fd5b836020870160208301376000602085830101528094505050505092915050565b60006020828403121561132257600080fd5b813567ffffffffffffffff8082111561133a57600080fd5b908301906040828603121561134e57600080fd5b61135661123c565b82358281111561136557600080fd5b61137187828601611265565b82525060208301358281111561138657600080fd5b61139287828601611265565b60208301525095945050505050565b848152606060208201528260608201528284608083013760006080848301015260007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011682016080838203016040840152610f9160808201856110bd565b60006020828403121561141557600080fd5b8151801515811461085c57600080fd5b82815260406020820152600061114160408301846110bd565b60006040828403121561145057600080fd5b61145861123c565b825161146381610fb5565b81526020928301519281019290925250919050565b60006020828403121561148a57600080fd5b6040516020810181811067ffffffffffffffff821117156114ad576114ad61120d565b60405282516114bb81610fb5565b81529392505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361151c577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b506001019056fea2646970667358221220d8b168046b7ea8ef58a98e4718a596bce0ccd4e82ab63c88943c3c5258310fb564736f6c63430008130033000000000000000000000000bd132e42baafe3648170770f2d45dba59166e06d00000000000000000000000004401ff04e6c01a8f1e5696ad6aa053c86b73cd300000000000000000000000077cbcc0e29e10f1eea24e0d109aab26c5b2abd88", + "nonce": "0x7e0", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE2", + "address": "0x4d892B952A2Fd7941f02F0C531d33BDa1fD5b28a", + "initCode": "60c06040523480156200001157600080fd5b506040516200182038038062001820833981016040819052620000349162000250565b828080620000536001600160a01b038216637965db0b60e01b62000147565b62000096576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b038316908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050506001600160a01b038116620001065760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0382166200012e5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b039081166080521660a052506200029a565b600062000154836200016f565b8015620001685750620001688383620001a8565b9392505050565b600062000184826301ffc9a760e01b620001a8565b8015620001a25750620001a0826001600160e01b0319620001a8565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d915060005190508280156200021b575060208210155b8015620002285750600081115b979650505050505050565b80516001600160a01b03811681146200024b57600080fd5b919050565b6000806000606084860312156200026657600080fd5b620002718462000233565b9250620002816020850162000233565b9150620002916040850162000233565b90509250925092565b60805160a051611559620002c7600039600081816101520152610e010152600061088101526115596000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80633d0aa6e51161005b5780633d0aa6e5146101185780635260a98c1461012b5780635ab6d0011461014d578063a913b8811461017457600080fd5b80630a5989761461008257806319129e5a146100e257806334e5d29f146100f7575b600080fd5b6100b8610090366004610f9c565b60016020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100f56100f0366004610fda565b610187565b005b61010a610105366004611040565b6102eb565b6040516100d9929190611121565b6100f5610126366004611149565b61038b565b61013e61013936600461116b565b610521565b6040516100d9939291906111c2565b6100b87f000000000000000000000000000000000000000000000000000000000000000081565b6100f5610182366004611040565b61077d565b600061019381336107c0565b6101d7576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b61021773ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000610863565b61027d576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c00000000000000000000000000000000000060448201526064016101ce565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050565b600060607f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db61031a81336107c0565b610359576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016101ce565b6040517f24baa24800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408051602080820183526000808352858152600390915291822060040154610100900460ff16610418576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f52657175657374206e6f7420666f756e6400000000000000000000000000000060448201526064016101ce565b6000848152600360208190526040909120015483101561046c575060408051808201909152601e81527f42616c616e6365206f6620546f6b656e206973206e6f7420656e6f75676800006020820152610471565b600191505b600084815260036020818152604080842080547fffffffffffffffffffffffff0000000000000000000000000000000000000000908116825560018201805482169055600282018054909116905592830193909355600490910180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000169055905161051b9186916105079186918691016111f2565b60405160208183030381529060405261087f565b50505050565b6000606060007f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db61055281336107c0565b610591576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016101ce565b73ffffffffffffffffffffffffffffffffffffffff85166105de576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61061e73ffffffffffffffffffffffffffffffffffffffff86167f2fa7bc9900000000000000000000000000000000000000000000000000000000610863565b610684576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f4943616c6c6261636b48616e646c65720000000000000000000000000000000060448201526064016101ce565b600061069287890189611310565b90506106a18160000151610a9f565b6106b381600001518260200151610ba4565b600081815260016020526040812080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8b1617905596509094509250848673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167f320acf383fac55c3eff3aad884406f0fa211a5c451266edd9de8151bb26b7054868c8c8a60405161076a94939291906113a1565b60405180910390a4505093509350939050565b6107bc82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610a9f92505050565b5050565b600080546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff8481166024830152909116906391d1485490604401602060405180830381865afa158015610838573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085c9190611403565b9392505050565b600061086e83610e68565b801561085c575061085c8383610ecd565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff8116331461090d576040517f5dc645bb00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff821660248201526044016101ce565b60008381526001602052604090205473ffffffffffffffffffffffffffffffffffffffff1661096b576040517fc88d34d7000000000000000000000000000000000000000000000000000000008152600481018490526024016101ce565b6000838152600160205260409081902054905173ffffffffffffffffffffffffffffffffffffffff9091169030907fb8da071166b4cdb339d32ac1c86452cf0ba046f8aeb8230c00d0ce19c173884c906109c89087908790611425565b60405180910390a3600083815260016020526040908190205490517f2fa7bc9900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690632fa7bc9990610a359086908690600401611425565b600060405180830381600087803b158015610a4f57600080fd5b505af1158015610a63573d6000803e3d6000fd5b505050600093845250506001602052506040902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b600081806020019051810190610ab5919061143e565b805190915073ffffffffffffffffffffffffffffffffffffffff16610b36576040517f7662892900000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f746f6b656e41646472657373206973203000000000000000000000000000000060448201526064016101ce565b80602001516000036107bc576040517f7662892900000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f62616c616e63655468726573686f6c642069732030000000000000000000000060448201526064016101ce565b606060008084806020019051810190610bbd919061143e565b9050600084806020019051810190610bd59190611478565b600280549192503091906000610bea836114c4565b9091555060405160609290921b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660208301526034820152605401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152828252805160209182012081840183526000808552835160c08101855233808252885173ffffffffffffffffffffffffffffffffffffffff908116838701908152895182168489019081528b8801516060860190815260808601878152600160a088018181528a8a5260039b8c9052988c9020975188549087167fffffffffffffffffffffffff0000000000000000000000000000000000000000918216178955945190880180549187169186169190911790559151600287018054918616919094161790925590519684019690965594516004928301805494511515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff921515929092167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000090951694909417179092558751875195517f3114f43a0000000000000000000000000000000000000000000000000000000081529182018490526024820192909252908316604482015292821660648401523060848401527f3d0aa6e50000000000000000000000000000000000000000000000000000000060a48401529296509194507f000000000000000000000000000000000000000000000000000000000000000090911690633114f43a9060c401600060405180830381600087803b158015610e4757600080fd5b505af1158015610e5b573d6000803e3d6000fd5b5050505050509250929050565b6000610e94827f01ffc9a700000000000000000000000000000000000000000000000000000000610ecd565b8015610ec75750610ec5827fffffffff00000000000000000000000000000000000000000000000000000000610ecd565b155b92915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015610f85575060208210155b8015610f915750600081115b979650505050505050565b600060208284031215610fae57600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610fd757600080fd5b50565b600060208284031215610fec57600080fd5b813561085c81610fb5565b60008083601f84011261100957600080fd5b50813567ffffffffffffffff81111561102157600080fd5b60208301915083602082850101111561103957600080fd5b9250929050565b6000806020838503121561105357600080fd5b823567ffffffffffffffff81111561106a57600080fd5b61107685828601610ff7565b90969095509350505050565b600281106110b9577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b6000815180845260005b818110156110e3576020818501810151868301820152016110c7565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b61112b8184611082565b60406020820152600061114160408301846110bd565b949350505050565b6000806040838503121561115c57600080fd5b50508035926020909101359150565b60008060006040848603121561118057600080fd5b833567ffffffffffffffff81111561119757600080fd5b6111a386828701610ff7565b90945092505060208401356111b781610fb5565b809150509250925092565b6111cc8185611082565b6060602082015260006111e260608301856110bd565b9050826040830152949350505050565b821515815260406020820152600061114160408301846110bd565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561125f5761125f61120d565b60405290565b600082601f83011261127657600080fd5b813567ffffffffffffffff808211156112915761129161120d565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156112d7576112d761120d565b816040528381528660208588010111156112f057600080fd5b836020870160208301376000602085830101528094505050505092915050565b60006020828403121561132257600080fd5b813567ffffffffffffffff8082111561133a57600080fd5b908301906040828603121561134e57600080fd5b61135661123c565b82358281111561136557600080fd5b61137187828601611265565b82525060208301358281111561138657600080fd5b61139287828601611265565b60208301525095945050505050565b848152606060208201528260608201528284608083013760006080848301015260007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011682016080838203016040840152610f9160808201856110bd565b60006020828403121561141557600080fd5b8151801515811461085c57600080fd5b82815260406020820152600061114160408301846110bd565b60006040828403121561145057600080fd5b61145861123c565b825161146381610fb5565b81526020928301519281019290925250919050565b60006020828403121561148a57600080fd5b6040516020810181811067ffffffffffffffff821117156114ad576114ad61120d565b60405282516114bb81610fb5565b81529392505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361151c577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b506001019056fea2646970667358221220d8b168046b7ea8ef58a98e4718a596bce0ccd4e82ab63c88943c3c5258310fb564736f6c63430008130033000000000000000000000000bd132e42baafe3648170770f2d45dba59166e06d00000000000000000000000004401ff04e6c01a8f1e5696ad6aa053c86b73cd300000000000000000000000077cbcc0e29e10f1eea24e0d109aab26c5b2abd88" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0x13a1e659dd04778e2534959154ce6c2ce03e94d0c8da0a7e6529e6a9987e2f29", + "transactionType": "CREATE", + "contractName": "MockERC721", + "contractAddress": "0x968549Ee4c1f0225b4B0D7c08A11Fc36E3345277", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x1edc92", + "value": "0x0", + "data": "0x60806040523480156200001157600080fd5b506040518060400160405280600a8152602001694d6f636b45524337323160b01b815250604051806040016040528060048152602001634d37323160e01b815250816000908162000063919062000120565b50600162000072828262000120565b505050620001ec565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000a657607f821691505b602082108103620000c757634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200011b57600081815260208120601f850160051c81016020861015620000f65750805b601f850160051c820191505b81811015620001175782815560010162000102565b5050505b505050565b81516001600160401b038111156200013c576200013c6200007b565b62000154816200014d845462000091565b84620000cd565b602080601f8311600181146200018c5760008415620001735750858301515b600019600386901b1c1916600185901b17855562000117565b600085815260208120601f198616915b82811015620001bd578886015182559484019460019091019084016200019c565b5085821015620001dc5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b611a7980620001fc6000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80636352211e1161008c578063a22cb46511610066578063a22cb465146101ee578063b88d4fde14610201578063c87b56dd14610214578063e985e9c51461022757600080fd5b80636352211e146101b257806370a08231146101c557806395d89b41146101e657600080fd5b8063095ea7b3116100c8578063095ea7b31461016457806323b872dd1461017957806340c10f191461018c57806342842e0e1461019f57600080fd5b806301ffc9a7146100ef57806306fdde0314610117578063081812fc1461012c575b600080fd5b6101026100fd366004611662565b610270565b60405190151581526020015b60405180910390f35b61011f610355565b60405161010e91906116ed565b61013f61013a366004611700565b6103e7565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161010e565b610177610172366004611742565b61041b565b005b61017761018736600461176c565b6105ac565b61017761019a366004611742565b61064d565b6101776101ad36600461176c565b61065b565b61013f6101c0366004611700565b610676565b6101d86101d33660046117a8565b610702565b60405190815260200161010e565b61011f6107d0565b6101776101fc3660046117c3565b6107df565b61017761020f36600461182e565b6107ea565b61011f610222366004611700565b610892565b610102610235366004611928565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260056020908152604080832093909416825291909152205460ff1690565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061030357507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b8061034f57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6060600080546103649061195b565b80601f01602080910402602001604051908101604052809291908181526020018280546103909061195b565b80156103dd5780601f106103b2576101008083540402835291602001916103dd565b820191906000526020600020905b8154815290600101906020018083116103c057829003601f168201915b5050505050905090565b60006103f282610906565b5060009081526004602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b600061042682610676565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036104e8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff8216148061051157506105118133610235565b61059d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c00000060648201526084016104df565b6105a78383610994565b505050565b6105b63382610a34565b610642576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f7665640000000000000000000000000000000000000060648201526084016104df565b6105a7838383610af4565b6106578282610def565b5050565b6105a7838383604051806020016040528060008152506107ea565b60008181526002602052604081205473ffffffffffffffffffffffffffffffffffffffff168061034f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e204944000000000000000060448201526064016104df565b600073ffffffffffffffffffffffffffffffffffffffff82166107a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e6572000000000000000000000000000000000000000000000060648201526084016104df565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526003602052604090205490565b6060600180546103649061195b565b610657338383610e09565b6107f43383610a34565b610880576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f7665640000000000000000000000000000000000000060648201526084016104df565b61088c84848484610f36565b50505050565b606061089d82610906565b60006108b460408051602081019091526000815290565b905060008151116108d457604051806020016040528060008152506108ff565b806108de84610fd9565b6040516020016108ef9291906119ae565b6040516020818303038152906040525b9392505050565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff16610991576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e204944000000000000000060448201526064016104df565b50565b600081815260046020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811790915581906109ee82610676565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080610a4083610676565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480610aae575073ffffffffffffffffffffffffffffffffffffffff80821660009081526005602090815260408083209388168352929052205460ff165b80610aec57508373ffffffffffffffffffffffffffffffffffffffff16610ad4846103e7565b73ffffffffffffffffffffffffffffffffffffffff16145b949350505050565b8273ffffffffffffffffffffffffffffffffffffffff16610b1482610676565b73ffffffffffffffffffffffffffffffffffffffff1614610bb7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e657200000000000000000000000000000000000000000000000000000060648201526084016104df565b73ffffffffffffffffffffffffffffffffffffffff8216610c59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016104df565b8273ffffffffffffffffffffffffffffffffffffffff16610c7982610676565b73ffffffffffffffffffffffffffffffffffffffff1614610d1c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e657200000000000000000000000000000000000000000000000000000060648201526084016104df565b600081815260046020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff8781168086526003855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b610657828260405180602001604052806000815250611097565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610e9e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016104df565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526005602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b610f41848484610af4565b610f4d8484848461113a565b61088c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016104df565b60606000610fe68361132d565b600101905060008167ffffffffffffffff811115611006576110066117ff565b6040519080825280601f01601f191660200182016040528015611030576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a850494508461103a57509392505050565b6110a1838361140f565b6110ae600084848461113a565b6105a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016104df565b600073ffffffffffffffffffffffffffffffffffffffff84163b15611322576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a02906111b19033908990889088906004016119dd565b6020604051808303816000875af192505050801561120a575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261120791810190611a26565b60015b6112d7573d808015611238576040519150601f19603f3d011682016040523d82523d6000602084013e61123d565b606091505b5080516000036112cf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016104df565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050610aec565b506001949350505050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611376577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef810000000083106113a2576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106113c057662386f26fc10000830492506010015b6305f5e10083106113d8576305f5e100830492506008015b61271083106113ec57612710830492506004015b606483106113fe576064830492506002015b600a831061034f5760010192915050565b73ffffffffffffffffffffffffffffffffffffffff821661148c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016104df565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1615611518576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016104df565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff16156115a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016104df565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260036020908152604080832080546001019055848352600290915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b7fffffffff000000000000000000000000000000000000000000000000000000008116811461099157600080fd5b60006020828403121561167457600080fd5b81356108ff81611634565b60005b8381101561169a578181015183820152602001611682565b50506000910152565b600081518084526116bb81602086016020860161167f565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006108ff60208301846116a3565b60006020828403121561171257600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461173d57600080fd5b919050565b6000806040838503121561175557600080fd5b61175e83611719565b946020939093013593505050565b60008060006060848603121561178157600080fd5b61178a84611719565b925061179860208501611719565b9150604084013590509250925092565b6000602082840312156117ba57600080fd5b6108ff82611719565b600080604083850312156117d657600080fd5b6117df83611719565b9150602083013580151581146117f457600080fd5b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000806000806080858703121561184457600080fd5b61184d85611719565b935061185b60208601611719565b925060408501359150606085013567ffffffffffffffff8082111561187f57600080fd5b818701915087601f83011261189357600080fd5b8135818111156118a5576118a56117ff565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156118eb576118eb6117ff565b816040528281528a602084870101111561190457600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b6000806040838503121561193b57600080fd5b61194483611719565b915061195260208401611719565b90509250929050565b600181811c9082168061196f57607f821691505b6020821081036119a8577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b600083516119c081846020880161167f565b8351908301906119d481836020880161167f565b01949350505050565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525083604083015260806060830152611a1c60808301846116a3565b9695505050505050565b600060208284031215611a3857600080fd5b81516108ff8161163456fea2646970667358221220d673ef7c8f1def245d3be39f8336c1275d8505ccfbf91acc7ee1bdd6cae4c30264736f6c63430008130033", + "nonce": "0x7e1", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x58cd7fcee85fcad12ab154e9a0d45e3787554cc80385b1840a6fe5e36273d514", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xbd132e42baafe3648170770f2d45dba59166e06d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15d189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "nonce": "0x7e2", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x67349b7216fc33a6e2a8a255f3285b0dae9a4eaa5e4fc1a2172f891e520a0513", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xbd132e42baafe3648170770f2d45dba59166e06d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15d637821dcee84aabec9c8cf4f6f643013a24ad27fd41511ffd937aea80d8619a9000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "nonce": "0x7e3", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x953cb573878dbe83c59b56040fe8d9068358bbf48ee627756558a1327d4061f7", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xbd132e42baafe3648170770f2d45dba59166e06d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15da8b84e71bc3552b48fea3678097679554a90f0e2c12c536a8bd697c05041e279000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "nonce": "0x7e4", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xfc09d0c802a8d44978bd51819cccd35f6506d94f2c6f4505163d913e8193e6b7", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xbd132e42baafe3648170770f2d45dba59166e06d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15d256895704541e78004f0fd55953a8bcc54c628755b14fbf53afdc556473f9bd0000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "nonce": "0x7e5", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x94be769bcfed58a939b9edf7f3b8b63772bc3af08cce1b6377e66db49e6610b3", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xbd132e42baafe3648170770f2d45dba59166e06d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15d02f7fd2cb4d8e8ad75bab0a56a6f1ed7091336a83e11ccacc4e51f915215ab4c000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "nonce": "0x7e6", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x398123940e144d2784258e2fd1668f57fb2b74ec13fdaf001c6f1886d5f624b5", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xbd132e42baafe3648170770f2d45dba59166e06d", + "gas": "0x140e3", + "value": "0x0", + "data": "0x2f2ff15dc9a6ce5d86bdc06f8d57f20091bf09bf611e57d0626b65aa9ebb3c9179ba650f000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "nonce": "0x7e7", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xe8154ec89579d99d4c3f6ad14aea0834022dc75be9286875026d1a4028289169", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xbd132e42baafe3648170770f2d45dba59166e06d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15de4a10d29decbd34c09a62a511d4fd993a7d8cbbf58d7d4278711c29c9148b8f7000000000000000000000000a7c6184c4090923a5710ef0c8aab5f157e88e586", + "nonce": "0x7e8", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xa9ec9139d42ac086654b12d08663b1ddae171a1affcbc1c2b40a30fc18ed274f", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xbd132e42baafe3648170770f2d45dba59166e06d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15de4a10d29decbd34c09a62a511d4fd993a7d8cbbf58d7d4278711c29c9148b8f7000000000000000000000000ee19ace40db1ba8b0dbbc5e57061a3268bd08c6a", + "nonce": "0x7e9", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xf412c1fafea0d0fd167098d3b6b7563b5434f506f22042981ae757eabd99dc37", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xbd132e42baafe3648170770f2d45dba59166e06d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15d33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db000000000000000000000000e8ab207a5c21162db1ee75e378a92c82d550a8d1", + "nonce": "0x7ea", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xc9f5af89d0023264557a6419c438142f1e21d03a2318c25df5f0077f75ea5042", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xbd132e42baafe3648170770f2d45dba59166e06d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15d33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db000000000000000000000000f59e8d2bd2176f481f0f95568e21a70a07d9cdbc", + "nonce": "0x7eb", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x6aaa7126e0fa454d3cf1e85c82e55fd51fa28fdbae9cbca0b907d25e03b2f946", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xbd132e42baafe3648170770f2d45dba59166e06d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15d33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db000000000000000000000000f95ed3608ce1f86dac4fa12a2202be56ade1164f", + "nonce": "0x7ec", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x229cd2f075e6bbc41d90bc0c3e362b6af8bf2c7acd5baf02cb585fd5e5fc69b0", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xbd132e42baafe3648170770f2d45dba59166e06d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15d33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db000000000000000000000000c3960374e4448f815f53c1fe38b38cf444e6beb8", + "nonce": "0x7ed", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x07bf3e8274a4ef381dbb6f4de7cca49d710476a121e4e7e85794011883808ef9", + "transactionType": "CALL", + "contractName": "ModuleRegistry", + "contractAddress": "0xe8ab207A5C21162Db1ee75e378A92C82d550a8d1", + "function": "registerProtocolModule(string,address)", + "arguments": [ + "REGISTRATION_MODULE", + "0xf59e8d2bD2176f481f0F95568E21a70A07D9CDbC" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xe8ab207a5c21162db1ee75e378a92c82d550a8d1", + "gas": "0x1447b", + "value": "0x0", + "data": "0xd08906d60000000000000000000000000000000000000000000000000000000000000040000000000000000000000000f59e8d2bd2176f481f0f95568e21a70a07d9cdbc0000000000000000000000000000000000000000000000000000000000000013524547495354524154494f4e5f4d4f44554c4500000000000000000000000000", + "nonce": "0x7ee", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x82970d6a02b85066dd446c11279b1a4e3ea8b530e2ea72ded580c4fc8d7d562a", + "transactionType": "CALL", + "contractName": "ModuleRegistry", + "contractAddress": "0xe8ab207A5C21162Db1ee75e378A92C82d550a8d1", + "function": "registerProtocolModule(string,address)", + "arguments": [ + "RELATIONSHIP_MODULE", + "0xf95Ed3608ce1F86DaC4FA12a2202BE56ADe1164F" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xe8ab207a5c21162db1ee75e378a92c82d550a8d1", + "gas": "0x1447b", + "value": "0x0", + "data": "0xd08906d60000000000000000000000000000000000000000000000000000000000000040000000000000000000000000f95ed3608ce1f86dac4fa12a2202be56ade1164f000000000000000000000000000000000000000000000000000000000000001352454c4154494f4e534849505f4d4f44554c4500000000000000000000000000", + "nonce": "0x7ef", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x6f7d6393c9f1c9ccb741fffd0adebbeff90c7d9c6ac9134c0808d992b303c038", + "transactionType": "CALL", + "contractName": "ModuleRegistry", + "contractAddress": "0xe8ab207A5C21162Db1ee75e378A92C82d550a8d1", + "function": "registerProtocolModule(string,address)", + "arguments": [ + "LICENSING_MODULE", + "0xC3960374E4448f815f53C1FE38b38cf444e6BEB8" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xe8ab207a5c21162db1ee75e378a92c82d550a8d1", + "gas": "0x1444a", + "value": "0x0", + "data": "0xd08906d60000000000000000000000000000000000000000000000000000000000000040000000000000000000000000c3960374e4448f815f53c1fe38b38cf444e6beb800000000000000000000000000000000000000000000000000000000000000104c4943454e53494e475f4d4f44554c4500000000000000000000000000000000", + "nonce": "0x7f0", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x7bacc38c975611ef1a04099734cfc6afd4617e205e1ad102b57921239bb1c3e8", + "transactionType": "CALL", + "contractName": "StoryProtocol", + "contractAddress": "0xa7C6184c4090923A5710ef0C8aaB5F157E88e586", + "function": "registerIpOrg(address,string,string,string[]):(address)", + "arguments": [ + "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "Sample IP Org", + "SIPO", + "[STORY, CHARACTER]" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xa7c6184c4090923a5710ef0c8aab5f157e88e586", + "gas": "0x61a7b", + "value": "0x0", + "data": "0x98e8e6ea000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000d53616d706c65204950204f72670000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000045349504f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000553544f525900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000094348415241435445520000000000000000000000000000000000000000000000", + "nonce": "0x7f1", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0xc12Cf8a549e39E76e2E3BBc1dF51B7D2a78a0ae2", + "initCode": "3d602d80600a3d3981f3363d3d373d3d3d363d733f684d5be59136751dd7c85c2973cb79175573385af43d82803e903d91602b57fd5bf3" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0xe687421e933d6f1b5804f3955d4113264f977d6e833bc740fd930a3b670393d8", + "transactionType": "CALL", + "contractName": "ModuleRegistry", + "contractAddress": "0xe8ab207A5C21162Db1ee75e378A92C82d550a8d1", + "function": "registerProtocolHook(string,address)", + "arguments": [ + "TOKEN_GATED_HOOK", + "0x86831b4A5D9222F120acF3D0a6C6d3f4Fa7C1268" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xe8ab207a5c21162db1ee75e378a92c82d550a8d1", + "gas": "0x1bddc", + "value": "0x0", + "data": "0xd04d78c6000000000000000000000000000000000000000000000000000000000000004000000000000000000000000086831b4a5d9222f120acf3d0a6c6d3f4fa7c12680000000000000000000000000000000000000000000000000000000000000010544f4b454e5f47415445445f484f4f4b00000000000000000000000000000000", + "nonce": "0x7f2", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x1352860bf150127da50dd598a0e2c705da7d0ed5cad7b077ca35958b8e2f7060", + "transactionType": "CALL", + "contractName": "ModuleRegistry", + "contractAddress": "0xe8ab207A5C21162Db1ee75e378A92C82d550a8d1", + "function": "registerProtocolHook(string,address)", + "arguments": [ + "POLYGON_TOKEN_HOOK", + "0x4d892B952A2Fd7941f02F0C531d33BDa1fD5b28a" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xe8ab207a5c21162db1ee75e378a92c82d550a8d1", + "gas": "0x1bdfd", + "value": "0x0", + "data": "0xd04d78c600000000000000000000000000000000000000000000000000000000000000400000000000000000000000004d892b952a2fd7941f02f0c531d33bda1fd5b28a0000000000000000000000000000000000000000000000000000000000000012504f4c59474f4e5f544f4b454e5f484f4f4b0000000000000000000000000000", + "nonce": "0x7f3", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xf463364846b29395cf1d137598d4b5a6773a796b24ebe85342f2feaa8e11883e", + "transactionType": "CALL", + "contractName": "RegistrationModule", + "contractAddress": "0xf59e8d2bD2176f481f0F95568E21a70A07D9CDbC", + "function": "registerHooks(uint8,address,address[],bytes[],bytes)", + "arguments": [ + "0", + "0xc12Cf8a549e39E76e2E3BBc1dF51B7D2a78a0ae2", + "[0x86831b4A5D9222F120acF3D0a6C6d3f4Fa7C1268, 0x4d892B952A2Fd7941f02F0C531d33BDa1fD5b28a]", + "[0x000000000000000000000000968549ee4c1f0225b4b0d7c08a11fc36e3345277, 0x000000000000000000000000968549ee4c1f0225b4b0d7c08a11fc36e33452770000000000000000000000000000000000000000000000000000000000000001]", + "0xe761f303268b55a3dc96719551acb95ca3bd1ebeef4b720be68dd92563627a3f" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xf59e8d2bd2176f481f0f95568e21a70a07d9cdbc", + "gas": "0x60afd", + "value": "0x0", + "data": "0x9533563d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c12cf8a549e39e76e2e3bbc1df51b7d2a78a0ae200000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000200000000000000000000000086831b4a5d9222f120acf3d0a6c6d3f4fa7c12680000000000000000000000004d892b952a2fd7941f02f0c531d33bda1fd5b28a0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000020000000000000000000000000968549ee4c1f0225b4b0d7c08a11fc36e33452770000000000000000000000000000000000000000000000000000000000000040000000000000000000000000968549ee4c1f0225b4b0d7c08a11fc36e334527700000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020e761f303268b55a3dc96719551acb95ca3bd1ebeef4b720be68dd92563627a3f", + "nonce": "0x7f4", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xfd3461bee9dc15465dc2b63aef1fbe4f7e3652728e7e30f1db40614b639a7917", + "transactionType": "CALL", + "contractName": "LicensingFrameworkRepo", + "contractAddress": "0x43C1C831D370f36149183d31FdAC50b131289949", + "function": "addFramework((string,string,(bytes32,uint8,bytes,bytes)[]))", + "arguments": [ + "(SPUML-1.0, https://github.com/storyprotocol/protocol-contracts/blob/main/SPUML-v1.pdf, [(0x4368616e6e656c732d4f662d446973747269627574696f6e0000000000000018, 4, 0x, 0x), (0x4174747269627574696f6e00000000000000000000000000000000000000000b, 0, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x), (0x44657269766174697665732d416c6c6f77656400000000000000000000000013, 0, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x), (0x44657269766174697665732d416c6c6f7765642d4f7074696f6e73000000001b, 5, 0x, 0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000003416c6c6f7765642d576974682d417070726f76616c0000000000000000000015416c6c6f7765642d5265636970726f63616c2d4c6963656e736500000000001a416c6c6f7765642d576974682d4174747269627574696f6e0000000000000018)])" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x43c1c831d370f36149183d31fdac50b131289949", + "gas": "0x164d60", + "value": "0x0", + "data": "0xc8cea2150000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000095350554d4c2d312e300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004a68747470733a2f2f6769746875622e636f6d2f73746f727970726f746f636f6c2f70726f746f636f6c2d636f6e7472616374732f626c6f622f6d61696e2f5350554d4c2d76312e70646600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000003004368616e6e656c732d4f662d446973747269627574696f6e00000000000000180000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004174747269627574696f6e00000000000000000000000000000000000000000b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044657269766174697665732d416c6c6f776564000000000000000000000000130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044657269766174697665732d416c6c6f7765642d4f7074696f6e73000000001b0000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000003416c6c6f7765642d576974682d417070726f76616c0000000000000000000015416c6c6f7765642d5265636970726f63616c2d4c6963656e736500000000001a416c6c6f7765642d576974682d4174747269627574696f6e0000000000000018", + "nonce": "0x7f5", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xe7f72cc7669b6512afe7f2e02fc04c294a2c0092c62e97054f2fef6fac7f97e3", + "transactionIndex": "0x2", + "blockHash": "0x9792252c2d3919835aa1a39a0f90c8f26a457ca88ec54b98b8fe97bf56d7ea0d", + "blockNumber": "0x49ebaf", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x1a340a", + "gasUsed": "0x198ffa", + "contractAddress": "0x992EEc8204daf0CD34010De0a83cB768a055982f", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb91947dc" + }, + { + "transactionHash": "0x684dc36789c2611d21e56c306469ae9ed327cb790c768bfe80715b22844b0330", + "transactionIndex": "0x3", + "blockHash": "0x9792252c2d3919835aa1a39a0f90c8f26a457ca88ec54b98b8fe97bf56d7ea0d", + "blockNumber": "0x49ebaf", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x1d15ef", + "gasUsed": "0x2e1e5", + "contractAddress": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "logs": [ + { + "address": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "topics": [ + "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", + "0x000000000000000000000000992eec8204daf0cd34010de0a83cb768a055982f" + ], + "data": "0x", + "blockHash": "0x9792252c2d3919835aa1a39a0f90c8f26a457ca88ec54b98b8fe97bf56d7ea0d", + "blockNumber": "0x49ebaf", + "transactionHash": "0x684dc36789c2611d21e56c306469ae9ed327cb790c768bfe80715b22844b0330", + "transactionIndex": "0x3", + "logIndex": "0x0", + "removed": false + }, + { + "address": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0x9792252c2d3919835aa1a39a0f90c8f26a457ca88ec54b98b8fe97bf56d7ea0d", + "blockNumber": "0x49ebaf", + "transactionHash": "0x684dc36789c2611d21e56c306469ae9ed327cb790c768bfe80715b22844b0330", + "transactionIndex": "0x3", + "logIndex": "0x1", + "removed": false + }, + { + "address": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "topics": [ + "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x9792252c2d3919835aa1a39a0f90c8f26a457ca88ec54b98b8fe97bf56d7ea0d", + "blockNumber": "0x49ebaf", + "transactionHash": "0x684dc36789c2611d21e56c306469ae9ed327cb790c768bfe80715b22844b0330", + "transactionIndex": "0x3", + "logIndex": "0x2", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000004000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000002000000000000020000000000000000000000000000020000000004000000000800000000000000080000000000080000000000000000000000000000000000000000000000000080000000000000000000000000000000000000002000000400000000000000000000001000000000000800000020000000000000000000040000000000008000000100000000000020000000000000000000000000000000040000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb91947dc" + }, + { + "transactionHash": "0x918d79032216292c73e69df31d5dc6b96eec366b4f98482294f7685425d3780d", + "transactionIndex": "0x4", + "blockHash": "0x9792252c2d3919835aa1a39a0f90c8f26a457ca88ec54b98b8fe97bf56d7ea0d", + "blockNumber": "0x49ebaf", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x36207c", + "gasUsed": "0x190a8d", + "contractAddress": "0x43C1C831D370f36149183d31FdAC50b131289949", + "logs": [ + { + "address": "0x43C1C831D370f36149183d31FdAC50b131289949", + "topics": [ + "0xc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da9709", + "0x000000000000000000000000bd132e42baafe3648170770f2d45dba59166e06d" + ], + "data": "0x", + "blockHash": "0x9792252c2d3919835aa1a39a0f90c8f26a457ca88ec54b98b8fe97bf56d7ea0d", + "blockNumber": "0x49ebaf", + "transactionHash": "0x918d79032216292c73e69df31d5dc6b96eec366b4f98482294f7685425d3780d", + "transactionIndex": "0x4", + "logIndex": "0x3", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000200000000000000000000000000000000020000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000800000000004000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb91947dc" + }, + { + "transactionHash": "0xd3ddafaca2e81ff6081857324791c6529045bfa8d71e9a5b28e6919ceed2fef2", + "transactionIndex": "0x5", + "blockHash": "0x9792252c2d3919835aa1a39a0f90c8f26a457ca88ec54b98b8fe97bf56d7ea0d", + "blockNumber": "0x49ebaf", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x547087", + "gasUsed": "0x1e500b", + "contractAddress": "0xe8ab207A5C21162Db1ee75e378A92C82d550a8d1", + "logs": [ + { + "address": "0xe8ab207A5C21162Db1ee75e378A92C82d550a8d1", + "topics": [ + "0xc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da9709", + "0x000000000000000000000000bd132e42baafe3648170770f2d45dba59166e06d" + ], + "data": "0x", + "blockHash": "0x9792252c2d3919835aa1a39a0f90c8f26a457ca88ec54b98b8fe97bf56d7ea0d", + "blockNumber": "0x49ebaf", + "transactionHash": "0xd3ddafaca2e81ff6081857324791c6529045bfa8d71e9a5b28e6919ceed2fef2", + "transactionIndex": "0x5", + "logIndex": "0x4", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000010000000000040020000000000000000000000000000000000000000000200000000000000000000000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb91947dc" + }, + { + "transactionHash": "0x1f3dc0d59df858826799989459af30bd37cf4fa01610ea98add6f5813cd2cafc", + "transactionIndex": "0x6", + "blockHash": "0x9792252c2d3919835aa1a39a0f90c8f26a457ca88ec54b98b8fe97bf56d7ea0d", + "blockNumber": "0x49ebaf", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x633130", + "gasUsed": "0xec0a9", + "contractAddress": "0x7a7BC5640637b74ABEcc6e908Ed548eE1969c948", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb91947dc" + }, + { + "transactionHash": "0x47b0c667bac6c924bd3eb35e1d2940d026a0e1f55f298389d0296cfc530aada2", + "transactionIndex": "0x7", + "blockHash": "0x9792252c2d3919835aa1a39a0f90c8f26a457ca88ec54b98b8fe97bf56d7ea0d", + "blockNumber": "0x49ebaf", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x9328bd", + "gasUsed": "0x2ff78d", + "contractAddress": "0x80e012Ca980E1d3993d8beE99828619E5532B12b", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb91947dc" + }, + { + "transactionHash": "0x837f18a854f0ec5dd019e632a81e4b6ab1533e75db88a7530c815ba404b062e8", + "transactionIndex": "0x8", + "blockHash": "0x9792252c2d3919835aa1a39a0f90c8f26a457ca88ec54b98b8fe97bf56d7ea0d", + "blockNumber": "0x49ebaf", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0xdbe45b", + "gasUsed": "0x48bb9e", + "contractAddress": "0x1C20873a915505cBaFb576B3B152EeCE6a0BFD60", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb91947dc" + }, + { + "transactionHash": "0x464bce28e69e0182ef78e8e98c6752dc85cff86990ab8563a2ee076df5c9000e", + "transactionIndex": "0x9", + "blockHash": "0x9792252c2d3919835aa1a39a0f90c8f26a457ca88ec54b98b8fe97bf56d7ea0d", + "blockNumber": "0x49ebaf", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x101ec8c", + "gasUsed": "0x260831", + "contractAddress": "0xEe19aCE40dB1BA8B0DbBc5e57061A3268bd08c6A", + "logs": [ + { + "address": "0xEe19aCE40dB1BA8B0DbBc5e57061A3268bd08c6A", + "topics": [ + "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", + "0x0000000000000000000000001c20873a915505cbafb576b3b152eece6a0bfd60" + ], + "data": "0x", + "blockHash": "0x9792252c2d3919835aa1a39a0f90c8f26a457ca88ec54b98b8fe97bf56d7ea0d", + "blockNumber": "0x49ebaf", + "transactionHash": "0x464bce28e69e0182ef78e8e98c6752dc85cff86990ab8563a2ee076df5c9000e", + "transactionIndex": "0x9", + "logIndex": "0x5", + "removed": false + }, + { + "address": "0x3F684D5bE59136751DD7C85C2973cb7917557338", + "topics": [ + "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x9792252c2d3919835aa1a39a0f90c8f26a457ca88ec54b98b8fe97bf56d7ea0d", + "blockNumber": "0x49ebaf", + "transactionHash": "0x464bce28e69e0182ef78e8e98c6752dc85cff86990ab8563a2ee076df5c9000e", + "transactionIndex": "0x9", + "logIndex": "0x6", + "removed": false + }, + { + "address": "0xEe19aCE40dB1BA8B0DbBc5e57061A3268bd08c6A", + "topics": [ + "0xc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da9709", + "0x000000000000000000000000bd132e42baafe3648170770f2d45dba59166e06d" + ], + "data": "0x", + "blockHash": "0x9792252c2d3919835aa1a39a0f90c8f26a457ca88ec54b98b8fe97bf56d7ea0d", + "blockNumber": "0x49ebaf", + "transactionHash": "0x464bce28e69e0182ef78e8e98c6752dc85cff86990ab8563a2ee076df5c9000e", + "transactionIndex": "0x9", + "logIndex": "0x7", + "removed": false + }, + { + "address": "0xEe19aCE40dB1BA8B0DbBc5e57061A3268bd08c6A", + "topics": [ + "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x9792252c2d3919835aa1a39a0f90c8f26a457ca88ec54b98b8fe97bf56d7ea0d", + "blockNumber": "0x49ebaf", + "transactionHash": "0x464bce28e69e0182ef78e8e98c6752dc85cff86990ab8563a2ee076df5c9000e", + "transactionIndex": "0x9", + "logIndex": "0x8", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000400000000000000002000000000000000000000000000000000020000000000000000000000000000000000000000000200000000000000000000000000002000020000000000000000000400000000000000000000000000000100000000000000000000000000000000000000000000000000200000000000000008000000000000000800080000000400000000000000000000000000000000000000400000100010000000000000000000000000000000020000000000000200000040000001000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb91947dc" + }, + { + "transactionHash": "0xb447729820016d5c91ffff7cee07046a95a4f6da7ec1171b77d49eae37193e5e", + "transactionIndex": "0xa", + "blockHash": "0x9792252c2d3919835aa1a39a0f90c8f26a457ca88ec54b98b8fe97bf56d7ea0d", + "blockNumber": "0x49ebaf", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x121ec3c", + "gasUsed": "0x1fffb0", + "contractAddress": "0xa7C6184c4090923A5710ef0C8aaB5F157E88e586", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb91947dc" + }, + { + "transactionHash": "0x7f5332cc990b07f875117b1337f10ef6722a5befedf0a958d1212b671fbf3ee3", + "transactionIndex": "0xb", + "blockHash": "0x9792252c2d3919835aa1a39a0f90c8f26a457ca88ec54b98b8fe97bf56d7ea0d", + "blockNumber": "0x49ebaf", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x16dd31f", + "gasUsed": "0x4be6e3", + "contractAddress": "0xf59e8d2bD2176f481f0F95568E21a70A07D9CDbC", + "logs": [ + { + "address": "0xf59e8d2bD2176f481f0F95568E21a70A07D9CDbC", + "topics": [ + "0xc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da9709", + "0x000000000000000000000000bd132e42baafe3648170770f2d45dba59166e06d" + ], + "data": "0x", + "blockHash": "0x9792252c2d3919835aa1a39a0f90c8f26a457ca88ec54b98b8fe97bf56d7ea0d", + "blockNumber": "0x49ebaf", + "transactionHash": "0x7f5332cc990b07f875117b1337f10ef6722a5befedf0a958d1212b671fbf3ee3", + "transactionIndex": "0xb", + "logIndex": "0x9", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x20000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000200000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000001000000000004000000000", + "type": "0x2", + "effectiveGasPrice": "0xb91947dc" + }, + { + "transactionHash": "0x64bc029efaf8f9426011cc82e072b64aa8582e9b745dab34e44649e220908336", + "transactionIndex": "0xc", + "blockHash": "0x9792252c2d3919835aa1a39a0f90c8f26a457ca88ec54b98b8fe97bf56d7ea0d", + "blockNumber": "0x49ebaf", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x1ae0cb5", + "gasUsed": "0x403996", + "contractAddress": "0xf95Ed3608ce1F86DaC4FA12a2202BE56ADe1164F", + "logs": [ + { + "address": "0xf95Ed3608ce1F86DaC4FA12a2202BE56ADe1164F", + "topics": [ + "0xc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da9709", + "0x000000000000000000000000bd132e42baafe3648170770f2d45dba59166e06d" + ], + "data": "0x", + "blockHash": "0x9792252c2d3919835aa1a39a0f90c8f26a457ca88ec54b98b8fe97bf56d7ea0d", + "blockNumber": "0x49ebaf", + "transactionHash": "0x64bc029efaf8f9426011cc82e072b64aa8582e9b745dab34e44649e220908336", + "transactionIndex": "0xc", + "logIndex": "0xa", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000400000000000000000000000000000000000020000000000000000000000000000000000000000000200000000000000000000000000000000024000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb91947dc" + }, + { + "transactionHash": "0x44b2c8211f99f9b1d8151f54ee3f87cdb552f13c2346dbd6e03cd0d00134117d", + "transactionIndex": "0x6", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x469e0f", + "gasUsed": "0x426ab4", + "contractAddress": "0xC3960374E4448f815f53C1FE38b38cf444e6BEB8", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9e25786" + }, + { + "transactionHash": "0x828ddeda633112c57ba796830900c7292b8de35e2360fbaec8b2f6f779fc7856", + "transactionIndex": "0x7", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x4b535e", + "gasUsed": "0x4b54f", + "contractAddress": "0xeDa0dBB8fc6362A6c1508b42aA2B1ba00Cd0d891", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9e25786" + }, + { + "transactionHash": "0x9206432724c9b48a7774cad6710672b22f14df585b41c22c119c392c00abb3bd", + "transactionIndex": "0x8", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0xeDa0dBB8fc6362A6c1508b42aA2B1ba00Cd0d891", + "cumulativeGasUsed": "0x5828d2", + "gasUsed": "0xcd574", + "contractAddress": null, + "logs": [ + { + "address": "0x86831b4A5D9222F120acF3D0a6C6d3f4Fa7C1268", + "topics": [ + "0xc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da9709", + "0x000000000000000000000000bd132e42baafe3648170770f2d45dba59166e06d" + ], + "data": "0x", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "transactionHash": "0x9206432724c9b48a7774cad6710672b22f14df585b41c22c119c392c00abb3bd", + "transactionIndex": "0x8", + "logIndex": "0x4", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000080000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000200000000000000000000000000000000020000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000010000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9e25786" + }, + { + "transactionHash": "0xda976994e9135aba7aea99be59688074366d7020913ef7ff79ef9fcba0a30003", + "transactionIndex": "0x9", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0xeDa0dBB8fc6362A6c1508b42aA2B1ba00Cd0d891", + "cumulativeGasUsed": "0x6badd0", + "gasUsed": "0x1384fe", + "contractAddress": null, + "logs": [ + { + "address": "0x4d892B952A2Fd7941f02F0C531d33BDa1fD5b28a", + "topics": [ + "0xc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da9709", + "0x000000000000000000000000bd132e42baafe3648170770f2d45dba59166e06d" + ], + "data": "0x", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "transactionHash": "0xda976994e9135aba7aea99be59688074366d7020913ef7ff79ef9fcba0a30003", + "transactionIndex": "0x9", + "logIndex": "0x5", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000080000000000000000000000000000000000000000000020000000000000000000000000000000000000000000200000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000200000000000000000004000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9e25786" + }, + { + "transactionHash": "0x13a1e659dd04778e2534959154ce6c2ce03e94d0c8da0a7e6529e6a9987e2f29", + "transactionIndex": "0xa", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x836cf5", + "gasUsed": "0x17bf25", + "contractAddress": "0x968549Ee4c1f0225b4B0D7c08A11Fc36E3345277", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9e25786" + }, + { + "transactionHash": "0x58cd7fcee85fcad12ab154e9a0d45e3787554cc80385b1840a6fe5e36273d514", + "transactionIndex": "0xb", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "cumulativeGasUsed": "0x84486a", + "gasUsed": "0xdb75", + "contractAddress": null, + "logs": [ + { + "address": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "transactionHash": "0x58cd7fcee85fcad12ab154e9a0d45e3787554cc80385b1840a6fe5e36273d514", + "transactionIndex": "0xb", + "logIndex": "0x6", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000004000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000800000000000000000000000000020000000000000000000000000000000000000004000000000000000000000000000000010000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000001000000000000000000000000000000000000000000000000000008000000100000000000000000080000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9e25786" + }, + { + "transactionHash": "0x67349b7216fc33a6e2a8a255f3285b0dae9a4eaa5e4fc1a2172f891e520a0513", + "transactionIndex": "0xc", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "cumulativeGasUsed": "0x8523df", + "gasUsed": "0xdb75", + "contractAddress": null, + "logs": [ + { + "address": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x637821dcee84aabec9c8cf4f6f643013a24ad27fd41511ffd937aea80d8619a9", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "transactionHash": "0x67349b7216fc33a6e2a8a255f3285b0dae9a4eaa5e4fc1a2172f891e520a0513", + "transactionIndex": "0xc", + "logIndex": "0x7", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000004008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000800000000000000000000000000020000000000000000000000000000000000000004000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000001000000000000000000000000000000000000000000000000000008000000100000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9e25786" + }, + { + "transactionHash": "0x953cb573878dbe83c59b56040fe8d9068358bbf48ee627756558a1327d4061f7", + "transactionIndex": "0xd", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "cumulativeGasUsed": "0x85ff54", + "gasUsed": "0xdb75", + "contractAddress": null, + "logs": [ + { + "address": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0xa8b84e71bc3552b48fea3678097679554a90f0e2c12c536a8bd697c05041e279", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "transactionHash": "0x953cb573878dbe83c59b56040fe8d9068358bbf48ee627756558a1327d4061f7", + "transactionIndex": "0xd", + "logIndex": "0x8", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000004000000000000000000000000000000000000000020000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000010800000000000000000000000000020000000000000000000000000000000000000004000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000001000000000000000000000000000000000000000000000000000008000000100000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9e25786" + }, + { + "transactionHash": "0xfc09d0c802a8d44978bd51819cccd35f6506d94f2c6f4505163d913e8193e6b7", + "transactionIndex": "0xe", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "cumulativeGasUsed": "0x86dac9", + "gasUsed": "0xdb75", + "contractAddress": null, + "logs": [ + { + "address": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x256895704541e78004f0fd55953a8bcc54c628755b14fbf53afdc556473f9bd0", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "transactionHash": "0xfc09d0c802a8d44978bd51819cccd35f6506d94f2c6f4505163d913e8193e6b7", + "transactionIndex": "0xe", + "logIndex": "0x9", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000004000000000000000000000000000000040000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000800000000000000000000000000020000000000001000000000000000000000000004000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000001000000000000000000000000000000000000000000000000000008000000100000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9e25786" + }, + { + "transactionHash": "0x94be769bcfed58a939b9edf7f3b8b63772bc3af08cce1b6377e66db49e6610b3", + "transactionIndex": "0xf", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "cumulativeGasUsed": "0x87b63e", + "gasUsed": "0xdb75", + "contractAddress": null, + "logs": [ + { + "address": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x02f7fd2cb4d8e8ad75bab0a56a6f1ed7091336a83e11ccacc4e51f915215ab4c", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "transactionHash": "0x94be769bcfed58a939b9edf7f3b8b63772bc3af08cce1b6377e66db49e6610b3", + "transactionIndex": "0xf", + "logIndex": "0xa", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000020000000000000080000000000000000000000004000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000080000000000000000000000000002000000000000000000000000000001000000000000000000000000000000000000000000000000000008000000100000000000000000000000000000000000000000000000000000000000040000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9e25786" + }, + { + "transactionHash": "0x398123940e144d2784258e2fd1668f57fb2b74ec13fdaf001c6f1886d5f624b5", + "transactionIndex": "0x10", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "cumulativeGasUsed": "0x8891a7", + "gasUsed": "0xdb69", + "contractAddress": null, + "logs": [ + { + "address": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0xc9a6ce5d86bdc06f8d57f20091bf09bf611e57d0626b65aa9ebb3c9179ba650f", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "transactionHash": "0x398123940e144d2784258e2fd1668f57fb2b74ec13fdaf001c6f1886d5f624b5", + "transactionIndex": "0x10", + "logIndex": "0xb", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000004000000000000000000000000000000000000000000000000000000000000000000008000000000000020000000000000000000000000000000000000000000000000000800000000000000000000000000020000000000000000000000000000000000000004000000000000000000000020000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000001000000000000000000000000000000000000000000000000000008000000100000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9e25786" + }, + { + "transactionHash": "0xe8154ec89579d99d4c3f6ad14aea0834022dc75be9286875026d1a4028289169", + "transactionIndex": "0x11", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "cumulativeGasUsed": "0x896d1c", + "gasUsed": "0xdb75", + "contractAddress": null, + "logs": [ + { + "address": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0xe4a10d29decbd34c09a62a511d4fd993a7d8cbbf58d7d4278711c29c9148b8f7", + "0x000000000000000000000000a7c6184c4090923a5710ef0c8aab5f157e88e586", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "transactionHash": "0xe8154ec89579d99d4c3f6ad14aea0834022dc75be9286875026d1a4028289169", + "transactionIndex": "0x11", + "logIndex": "0xc", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x0000010400000000000000000000000000000000000000000000000000000480000000000000200000000000000000000000000000000000000000000000000000000000000001080000000000000000000000000002000000000000000000000000000000000000000400000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000100000000000000000000000000000000000000000000000000000c000000100000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9e25786" + }, + { + "transactionHash": "0xa9ec9139d42ac086654b12d08663b1ddae171a1affcbc1c2b40a30fc18ed274f", + "transactionIndex": "0x12", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "cumulativeGasUsed": "0x8a4891", + "gasUsed": "0xdb75", + "contractAddress": null, + "logs": [ + { + "address": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0xe4a10d29decbd34c09a62a511d4fd993a7d8cbbf58d7d4278711c29c9148b8f7", + "0x000000000000000000000000ee19ace40db1ba8b0dbbc5e57061a3268bd08c6a", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "transactionHash": "0xa9ec9139d42ac086654b12d08663b1ddae171a1affcbc1c2b40a30fc18ed274f", + "transactionIndex": "0x12", + "logIndex": "0xd", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000104000000000000000000000000000000000000000000000000000004800000000000000000000000000000000000000000000000400000000000000000000000000000000800000000000000000000000000020000000000000000000000000000000000000004000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000008000000000000000000002000002000000000000000000000001000000000000000000000000000000000000000000000000000008000000100000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9e25786" + }, + { + "transactionHash": "0xf412c1fafea0d0fd167098d3b6b7563b5434f506f22042981ae757eabd99dc37", + "transactionIndex": "0x13", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "cumulativeGasUsed": "0x8b2406", + "gasUsed": "0xdb75", + "contractAddress": null, + "logs": [ + { + "address": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db", + "0x000000000000000000000000e8ab207a5c21162db1ee75e378a92c82d550a8d1", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "transactionHash": "0xf412c1fafea0d0fd167098d3b6b7563b5434f506f22042981ae757eabd99dc37", + "transactionIndex": "0x13", + "logIndex": "0xe", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000200020000000000000000000000000200000000000004000000080000000000000000000000000000080000000000000000000000000000000000000000000000000000000000180000000000000000000000000000002000000000000000000000000000001000000000000000000000000000000000000000000000000000008000000100000000000000000000100000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9e25786" + }, + { + "transactionHash": "0xc9f5af89d0023264557a6419c438142f1e21d03a2318c25df5f0077f75ea5042", + "transactionIndex": "0x14", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "cumulativeGasUsed": "0x8bff7b", + "gasUsed": "0xdb75", + "contractAddress": null, + "logs": [ + { + "address": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db", + "0x000000000000000000000000f59e8d2bd2176f481f0f95568e21a70a07d9cdbc", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "transactionHash": "0xc9f5af89d0023264557a6419c438142f1e21d03a2318c25df5f0077f75ea5042", + "transactionIndex": "0x14", + "logIndex": "0xf", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000400000000000000000020000000000000000000000000200000000000004000000000000000000000000000000000000080000000000000000000000000000000040000000000000000000000000190000000000000000000000000000002000000000000000000000000000001000000000000000000000000000000000000000000000000000008000000100000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9e25786" + }, + { + "transactionHash": "0x6aaa7126e0fa454d3cf1e85c82e55fd51fa28fdbae9cbca0b907d25e03b2f946", + "transactionIndex": "0x15", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "cumulativeGasUsed": "0x8cdaf0", + "gasUsed": "0xdb75", + "contractAddress": null, + "logs": [ + { + "address": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db", + "0x000000000000000000000000f95ed3608ce1f86dac4fa12a2202be56ade1164f", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "transactionHash": "0x6aaa7126e0fa454d3cf1e85c82e55fd51fa28fdbae9cbca0b907d25e03b2f946", + "transactionIndex": "0x15", + "logIndex": "0x10", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800800004000000000000000000020000000000000000000000000200000000000004000000000000000000000000000000000000080000000000000000000000000080000000000000000000000000000000180000000000000000000000000000002000000000000000000000000000001000000000000000000000000000000000000000000000000000008000000100000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9e25786" + }, + { + "transactionHash": "0x229cd2f075e6bbc41d90bc0c3e362b6af8bf2c7acd5baf02cb585fd5e5fc69b0", + "transactionIndex": "0x16", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "cumulativeGasUsed": "0x8db665", + "gasUsed": "0xdb75", + "contractAddress": null, + "logs": [ + { + "address": "0xbD132e42baaFe3648170770F2D45dbA59166e06d", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db", + "0x000000000000000000000000c3960374e4448f815f53c1fe38b38cf444e6beb8", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "transactionHash": "0x229cd2f075e6bbc41d90bc0c3e362b6af8bf2c7acd5baf02cb585fd5e5fc69b0", + "transactionIndex": "0x16", + "logIndex": "0x11", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000004000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000020000000000000000000020000000000000000000000000200000000000004000000000000000000000000000000000000080000000000000000000000000000000000100000000000000000000000180000000000000000000000000000002000000000000000000000000000001000000000000000000000000000000000000000000000000000008000000100000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9e25786" + }, + { + "transactionHash": "0x07bf3e8274a4ef381dbb6f4de7cca49d710476a121e4e7e85794011883808ef9", + "transactionIndex": "0x17", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0xe8ab207A5C21162Db1ee75e378A92C82d550a8d1", + "cumulativeGasUsed": "0x8ea151", + "gasUsed": "0xeaec", + "contractAddress": null, + "logs": [ + { + "address": "0xe8ab207A5C21162Db1ee75e378A92C82d550a8d1", + "topics": [ + "0x14d77cb3ef4c75b9a031527cf63890f47708121a75c8b9c9cddbacc19defd122", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000f59e8d2bd2176f481f0f95568e21a70a07d9cdbc" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000013524547495354524154494f4e5f4d4f44554c4500000000000000000000000000", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "transactionHash": "0x07bf3e8274a4ef381dbb6f4de7cca49d710476a121e4e7e85794011883808ef9", + "transactionIndex": "0x17", + "logIndex": "0x12", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000010000000000040000000000000000000000000000000000000000000000000000000000000000000000480000000000000000000000000000000000040000000000020000000000000000000800000000000000000000000000000000000000000400000000000000000040000000000000000000000000010000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9e25786" + }, + { + "transactionHash": "0x82970d6a02b85066dd446c11279b1a4e3ea8b530e2ea72ded580c4fc8d7d562a", + "transactionIndex": "0x18", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0xe8ab207A5C21162Db1ee75e378A92C82d550a8d1", + "cumulativeGasUsed": "0x8f8c3d", + "gasUsed": "0xeaec", + "contractAddress": null, + "logs": [ + { + "address": "0xe8ab207A5C21162Db1ee75e378A92C82d550a8d1", + "topics": [ + "0x14d77cb3ef4c75b9a031527cf63890f47708121a75c8b9c9cddbacc19defd122", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000f95ed3608ce1f86dac4fa12a2202be56ade1164f" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001352454c4154494f4e534849505f4d4f44554c4500000000000000000000000000", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "transactionHash": "0x82970d6a02b85066dd446c11279b1a4e3ea8b530e2ea72ded580c4fc8d7d562a", + "transactionIndex": "0x18", + "logIndex": "0x13", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000010000000000040000000000000000000000000000000000000000000000000000000000000000800004080000000000000000000000000000000000040000000000020000000000000000000800000000000000000000000000000000000000000400000000000080000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9e25786" + }, + { + "transactionHash": "0x6f7d6393c9f1c9ccb741fffd0adebbeff90c7d9c6ac9134c0808d992b303c038", + "transactionIndex": "0x19", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0xe8ab207A5C21162Db1ee75e378A92C82d550a8d1", + "cumulativeGasUsed": "0x907705", + "gasUsed": "0xeac8", + "contractAddress": null, + "logs": [ + { + "address": "0xe8ab207A5C21162Db1ee75e378A92C82d550a8d1", + "topics": [ + "0x14d77cb3ef4c75b9a031527cf63890f47708121a75c8b9c9cddbacc19defd122", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000c3960374e4448f815f53c1fe38b38cf444e6beb8" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000104c4943454e53494e475f4d4f44554c4500000000000000000000000000000000", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "transactionHash": "0x6f7d6393c9f1c9ccb741fffd0adebbeff90c7d9c6ac9134c0808d992b303c038", + "transactionIndex": "0x19", + "logIndex": "0x14", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000004000000000000010000000000040000000000000000000000000000000000000000000000000000000000000000000020080000000000000000000000000000000000040000000000020000000000000000000800000000000000000000000000000000000000000400000000000000000000100000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9e25786" + }, + { + "transactionHash": "0x7bacc38c975611ef1a04099734cfc6afd4617e205e1ad102b57921239bb1c3e8", + "transactionIndex": "0x1a", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0xa7C6184c4090923A5710ef0C8aaB5F157E88e586", + "cumulativeGasUsed": "0x94e23f", + "gasUsed": "0x46b3a", + "contractAddress": null, + "logs": [ + { + "address": "0xc12Cf8a549e39E76e2E3BBc1dF51B7D2a78a0ae2", + "topics": [ + "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "transactionHash": "0x7bacc38c975611ef1a04099734cfc6afd4617e205e1ad102b57921239bb1c3e8", + "transactionIndex": "0x1a", + "logIndex": "0x15", + "removed": false + }, + { + "address": "0xe8ab207A5C21162Db1ee75e378A92C82d550a8d1", + "topics": [ + "0x48786003f3d30e41bfa4ee09afdeb9bfb04b7e06e2f74f3177da393a793bbc33", + "0x000000000000000000000000c12cf8a549e39e76e2e3bbc1df51b7d2a78a0ae2", + "0x000000000000000000000000ee19ace40db1ba8b0dbbc5e57061a3268bd08c6a" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000013524547495354524154494f4e5f4d4f44554c450000000000000000000000000000000000000000000000000000000000000000000000000000000000000001609aeb830ec91a14c97a5446cc7c86a42f73a78f37f9a77afa238b5d11520ddfbc000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000553544f525900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000094348415241435445520000000000000000000000000000000000000000000000", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "transactionHash": "0x7bacc38c975611ef1a04099734cfc6afd4617e205e1ad102b57921239bb1c3e8", + "transactionIndex": "0x1a", + "logIndex": "0x16", + "removed": false + }, + { + "address": "0xEe19aCE40dB1BA8B0DbBc5e57061A3268bd08c6A", + "topics": [ + "0x81e084d978860accc83df39f75b801d9019e40d18643b9b39f4cd2a70ca35adb" + ], + "data": "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab000000000000000000000000c12cf8a549e39e76e2e3bbc1df51b7d2a78a0ae200000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000d53616d706c65204950204f72670000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000045349504f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000553544f525900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000094348415241435445520000000000000000000000000000000000000000000000", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "transactionHash": "0x7bacc38c975611ef1a04099734cfc6afd4617e205e1ad102b57921239bb1c3e8", + "transactionIndex": "0x1a", + "logIndex": "0x17", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000008000000000400000000000000000000000000010008000000040000000000008000020000000000400000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000008000000000000000000000000000000000000000200000080000000000000000000000000000080000000000000000008000000000000000000000000002400000000040000000000000000000001000008000000000000000000200000040000001000000000000000400000000002000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9e25786" + }, + { + "transactionHash": "0xe687421e933d6f1b5804f3955d4113264f977d6e833bc740fd930a3b670393d8", + "transactionIndex": "0x1b", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0xe8ab207A5C21162Db1ee75e378A92C82d550a8d1", + "cumulativeGasUsed": "0x96250b", + "gasUsed": "0x142cc", + "contractAddress": null, + "logs": [ + { + "address": "0xe8ab207A5C21162Db1ee75e378A92C82d550a8d1", + "topics": [ + "0x33f12a9d70fd5f6771d495aae3b2cf0abc703cbaa526982b65446f1ef8816f9b", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000086831b4a5d9222f120acf3d0a6c6d3f4fa7c1268" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010544f4b454e5f47415445445f484f4f4b00000000000000000000000000000000", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "transactionHash": "0xe687421e933d6f1b5804f3955d4113264f977d6e833bc740fd930a3b670393d8", + "transactionIndex": "0x1b", + "logIndex": "0x18", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000010000000000040000000000000000000000000000000000000800000000000000000000100000000000001000000000000000000000000000000000040000080000020000000000000000000800000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000020000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9e25786" + }, + { + "transactionHash": "0x1352860bf150127da50dd598a0e2c705da7d0ed5cad7b077ca35958b8e2f7060", + "transactionIndex": "0x1c", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0xe8ab207A5C21162Db1ee75e378A92C82d550a8d1", + "cumulativeGasUsed": "0x9767ef", + "gasUsed": "0x142e4", + "contractAddress": null, + "logs": [ + { + "address": "0xe8ab207A5C21162Db1ee75e378A92C82d550a8d1", + "topics": [ + "0x33f12a9d70fd5f6771d495aae3b2cf0abc703cbaa526982b65446f1ef8816f9b", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000004d892b952a2fd7941f02f0c531d33bda1fd5b28a" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000012504f4c59474f4e5f544f4b454e5f484f4f4b0000000000000000000000000000", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "transactionHash": "0x1352860bf150127da50dd598a0e2c705da7d0ed5cad7b077ca35958b8e2f7060", + "transactionIndex": "0x1c", + "logIndex": "0x19", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000020000000000000000000000000000000000000000000000000000010000000000040000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000040000080000020000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000020000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9e25786" + }, + { + "transactionHash": "0xf463364846b29395cf1d137598d4b5a6773a796b24ebe85342f2feaa8e11883e", + "transactionIndex": "0x1d", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0xf59e8d2bD2176f481f0F95568E21a70A07D9CDbC", + "cumulativeGasUsed": "0x9bc7ee", + "gasUsed": "0x45fff", + "contractAddress": null, + "logs": [ + { + "address": "0xf59e8d2bD2176f481f0F95568E21a70A07D9CDbC", + "topics": [ + "0x1fe48a4ec69671720d8bdd8f8a6853d16f486c0bb91fcaf5b8ffc4932b8bc9f4", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x531d1efb5ee017c697ef9726617712403582bd5a57b6a47b9a186603e8706556" + ], + "data": "0x", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "transactionHash": "0xf463364846b29395cf1d137598d4b5a6773a796b24ebe85342f2feaa8e11883e", + "transactionIndex": "0x1d", + "logIndex": "0x1a", + "removed": false + }, + { + "address": "0xf59e8d2bD2176f481f0F95568E21a70A07D9CDbC", + "topics": [ + "0x5e140eb5bed8bcb1664a04c0be4aa419e0d2dbf1277a4a6770882a0beb3b91b2", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x531d1efb5ee017c697ef9726617712403582bd5a57b6a47b9a186603e8706556" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000086831b4a5d9222f120acf3d0a6c6d3f4fa7c12680000000000000000000000004d892b952a2fd7941f02f0c531d33bda1fd5b28a", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "transactionHash": "0xf463364846b29395cf1d137598d4b5a6773a796b24ebe85342f2feaa8e11883e", + "transactionIndex": "0x1d", + "logIndex": "0x1b", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x20000200000000000004000000000000000000000000004000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000800000000000000000000000001000000000000000000000000000000000000040000000000000001000000000000040000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000001000000000004000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9e25786" + }, + { + "transactionHash": "0xfd3461bee9dc15465dc2b63aef1fbe4f7e3652728e7e30f1db40614b639a7917", + "transactionIndex": "0x1e", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x43C1C831D370f36149183d31FdAC50b131289949", + "cumulativeGasUsed": "0xabed6b", + "gasUsed": "0x10257d", + "contractAddress": null, + "logs": [ + { + "address": "0x43C1C831D370f36149183d31FdAC50b131289949", + "topics": [ + "0x25be0d4acedf2199ce49f3044ddf933ebe2febd8c63bd2cdd7ed12b458fc3361" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000604368616e6e656c732d4f662d446973747269627574696f6e000000000000001800000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000095350554d4c2d312e3000000000000000000000000000000000000000000000004368616e6e656c732d4f662d446973747269627574696f6e00000000000000180000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "transactionHash": "0xfd3461bee9dc15465dc2b63aef1fbe4f7e3652728e7e30f1db40614b639a7917", + "transactionIndex": "0x1e", + "logIndex": "0x1c", + "removed": false + }, + { + "address": "0x43C1C831D370f36149183d31FdAC50b131289949", + "topics": [ + "0x25be0d4acedf2199ce49f3044ddf933ebe2febd8c63bd2cdd7ed12b458fc3361" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000604174747269627574696f6e00000000000000000000000000000000000000000b00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000095350554d4c2d312e3000000000000000000000000000000000000000000000004174747269627574696f6e00000000000000000000000000000000000000000b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "transactionHash": "0xfd3461bee9dc15465dc2b63aef1fbe4f7e3652728e7e30f1db40614b639a7917", + "transactionIndex": "0x1e", + "logIndex": "0x1d", + "removed": false + }, + { + "address": "0x43C1C831D370f36149183d31FdAC50b131289949", + "topics": [ + "0x25be0d4acedf2199ce49f3044ddf933ebe2febd8c63bd2cdd7ed12b458fc3361" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000006044657269766174697665732d416c6c6f7765640000000000000000000000001300000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000095350554d4c2d312e30000000000000000000000000000000000000000000000044657269766174697665732d416c6c6f776564000000000000000000000000130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "transactionHash": "0xfd3461bee9dc15465dc2b63aef1fbe4f7e3652728e7e30f1db40614b639a7917", + "transactionIndex": "0x1e", + "logIndex": "0x1e", + "removed": false + }, + { + "address": "0x43C1C831D370f36149183d31FdAC50b131289949", + "topics": [ + "0x25be0d4acedf2199ce49f3044ddf933ebe2febd8c63bd2cdd7ed12b458fc3361" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000006044657269766174697665732d416c6c6f7765642d4f7074696f6e73000000001b00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000095350554d4c2d312e30000000000000000000000000000000000000000000000044657269766174697665732d416c6c6f7765642d4f7074696f6e73000000001b0000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000003416c6c6f7765642d576974682d417070726f76616c0000000000000000000015416c6c6f7765642d5265636970726f63616c2d4c6963656e736500000000001a416c6c6f7765642d576974682d4174747269627574696f6e0000000000000018", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "transactionHash": "0xfd3461bee9dc15465dc2b63aef1fbe4f7e3652728e7e30f1db40614b639a7917", + "transactionIndex": "0x1e", + "logIndex": "0x1f", + "removed": false + }, + { + "address": "0x43C1C831D370f36149183d31FdAC50b131289949", + "topics": [ + "0xcc3b4b42d496457f15f49a410f201fdb906b09fbff771f240a8dc8418abe68be" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000095350554d4c2d312e300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004a68747470733a2f2f6769746875622e636f6d2f73746f727970726f746f636f6c2f70726f746f636f6c2d636f6e7472616374732f626c6f622f6d61696e2f5350554d4c2d76312e70646600000000000000000000000000000000000000000000", + "blockHash": "0x4285c704a4cf0e36e4ea8de29ee046efad05b8a829604db6a759a54e0aeebd2f", + "blockNumber": "0x49ebb0", + "transactionHash": "0xfd3461bee9dc15465dc2b63aef1fbe4f7e3652728e7e30f1db40614b639a7917", + "transactionIndex": "0x1e", + "logIndex": "0x20", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000010000000000000000000000000000000000001000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000002000000000000000000000000000000000000000000000004000000000000000000000000000001000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9e25786" + } + ], + "libraries": [], + "pending": [], + "path": "/Users/drmanhattan/Workspace/StoryProtocol/protocol-contracts/broadcast/Main.s.sol/11155111/run-latest.json", + "returns": {}, + "timestamp": 1702012356, + "chain": 11155111, + "multi": false, + "commit": "d1b1d7f" +} \ No newline at end of file diff --git a/broadcast/Main.s.sol/11155111/run-1702012387.json b/broadcast/Main.s.sol/11155111/run-1702012387.json new file mode 100644 index 00000000..78063dae --- /dev/null +++ b/broadcast/Main.s.sol/11155111/run-1702012387.json @@ -0,0 +1,883 @@ +{ + "transactions": [ + { + "hash": "0x268e37803ef61c5be00822983907bf7cae439a10f5bce3006a454e86cfc5bdba", + "transactionType": "CREATE", + "contractName": "AccessControlSingleton", + "contractAddress": "0x8db8b66518E9Cb412aF5573c5423582587117533", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x2138be", + "value": "0x0", + "data": "0x60a06040523060805234801561001457600080fd5b50608051611d9061004c600039600081816104d101528181610581015281816106d60152818161078601526108cb0152611d906000f3fe6080604052600436106100dd5760003560e01c806352d1902d1161007f578063a217fddf11610059578063a217fddf146102a8578063ac9650d8146102bd578063c4d66de8146102ea578063d547741f1461030a57600080fd5b806352d1902d146101ea57806354fd4d50146101ff57806391d148541461025557600080fd5b80632f2ff15d116100bb5780632f2ff15d1461017757806336568abe146101975780633659cfe6146101b75780634f1ef286146101d757600080fd5b806301ffc9a7146100e25780631e4e009114610117578063248a9ca314610139575b600080fd5b3480156100ee57600080fd5b506101026100fd3660046117aa565b61032a565b60405190151581526020015b60405180910390f35b34801561012357600080fd5b506101376101323660046117ec565b6103c3565b005b34801561014557600080fd5b5061016961015436600461180e565b60009081526065602052604090206001015490565b60405190815260200161010e565b34801561018357600080fd5b50610137610192366004611850565b6103dd565b3480156101a357600080fd5b506101376101b2366004611850565b610402565b3480156101c357600080fd5b506101376101d236600461187c565b6104ba565b6101376101e53660046118c6565b6106bf565b3480156101f657600080fd5b506101696108b1565b34801561020b57600080fd5b506102486040518060400160405280600581526020017f302e312e3000000000000000000000000000000000000000000000000000000081525081565b60405161010e9190611a14565b34801561026157600080fd5b50610102610270366004611850565b600091825260656020908152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b3480156102b457600080fd5b50610169600081565b3480156102c957600080fd5b506102dd6102d8366004611a27565b61099d565b60405161010e9190611a9c565b3480156102f657600080fd5b5061013761030536600461187c565b610a92565b34801561031657600080fd5b50610137610325366004611850565b610c84565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806103bd57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60006103ce81610ca9565b6103d88383610cb3565b505050565b6000828152606560205260409020600101546103f881610ca9565b6103d88383610cfe565b73ffffffffffffffffffffffffffffffffffffffff811633146104ac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b6104b68282610df2565b5050565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016300361057f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016104a3565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166105f47f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610697576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016104a3565b6106a081610ead565b604080516000808252602082019092526106bc91839190610ed7565b50565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610784576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016104a3565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166107f97f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff161461089c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016104a3565b6108a582610ead565b6104b682826001610ed7565b60003073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610978576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016104a3565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b60608167ffffffffffffffff8111156109b8576109b8611897565b6040519080825280602002602001820160405280156109eb57816020015b60608152602001906001900390816109d65790505b50905060005b82811015610a8b57610a5b30858584818110610a0f57610a0f611b1c565b9050602002810190610a219190611b4b565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506110d692505050565b828281518110610a6d57610a6d611b1c565b60200260200101819052508080610a8390611be6565b9150506109f1565b5092915050565b600054610100900460ff1615808015610ab25750600054600160ff909116105b80610acc5750303b158015610acc575060005460ff166001145b610b58576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016104a3565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610bb657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b73ffffffffffffffffffffffffffffffffffffffff8216610c03576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c0b611102565b610c13611102565b610c1e600083610cfe565b80156104b657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b600082815260656020526040902060010154610c9f81610ca9565b6103d88383610df2565b6106bc813361119b565b600082815260656020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff166104b657600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff85168452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055610d943390565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16156104b657600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e36104b681610ca9565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610f0a576103d883611255565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610f8f575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252610f8c91810190611c1e565b60015b61101b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016104a3565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81146110ca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016104a3565b506103d883838361135f565b60606110fb8383604051806060016040528060278152602001611d346027913961138a565b9392505050565b600054610100900460ff16611199576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016104a3565b565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff166104b6576111db8161140f565b6111e683602061142e565b6040516020016111f7929190611c37565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a00000000000000000000000000000000000000000000000000000000082526104a391600401611a14565b73ffffffffffffffffffffffffffffffffffffffff81163b6112f9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016104a3565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61136883611671565b6000825111806113755750805b156103d85761138483836110d6565b50505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516113b49190611cb8565b600060405180830381855af49150503d80600081146113ef576040519150601f19603f3d011682016040523d82523d6000602084013e6113f4565b606091505b5091509150611405868383876116be565b9695505050505050565b60606103bd73ffffffffffffffffffffffffffffffffffffffff831660145b6060600061143d836002611cd4565b611448906002611ceb565b67ffffffffffffffff81111561146057611460611897565b6040519080825280601f01601f19166020018201604052801561148a576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106114c1576114c1611b1c565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061152457611524611b1c565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000611560846002611cd4565b61156b906001611ceb565b90505b6001811115611608577f303132333435363738396162636465660000000000000000000000000000000085600f16601081106115ac576115ac611b1c565b1a60f81b8282815181106115c2576115c2611b1c565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c9361160181611cfe565b905061156e565b5083156110fb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016104a3565b61167a81611255565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060831561175457825160000361174d5773ffffffffffffffffffffffffffffffffffffffff85163b61174d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016104a3565b508161175e565b61175e8383611766565b949350505050565b8151156117765781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104a39190611a14565b6000602082840312156117bc57600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146110fb57600080fd5b600080604083850312156117ff57600080fd5b50508035926020909101359150565b60006020828403121561182057600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461184b57600080fd5b919050565b6000806040838503121561186357600080fd5b8235915061187360208401611827565b90509250929050565b60006020828403121561188e57600080fd5b6110fb82611827565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080604083850312156118d957600080fd5b6118e283611827565b9150602083013567ffffffffffffffff808211156118ff57600080fd5b818501915085601f83011261191357600080fd5b81358181111561192557611925611897565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561196b5761196b611897565b8160405282815288602084870101111561198457600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b838110156119c15781810151838201526020016119a9565b50506000910152565b600081518084526119e28160208601602086016119a6565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006110fb60208301846119ca565b60008060208385031215611a3a57600080fd5b823567ffffffffffffffff80821115611a5257600080fd5b818501915085601f830112611a6657600080fd5b813581811115611a7557600080fd5b8660208260051b8501011115611a8a57600080fd5b60209290920196919550909350505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015611b0f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452611afd8583516119ca565b94509285019290850190600101611ac3565b5092979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611b8057600080fd5b83018035915067ffffffffffffffff821115611b9b57600080fd5b602001915036819003821315611bb057600080fd5b9250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611c1757611c17611bb7565b5060010190565b600060208284031215611c3057600080fd5b5051919050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351611c6f8160178501602088016119a6565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351611cac8160288401602088016119a6565b01602801949350505050565b60008251611cca8184602087016119a6565b9190910192915050565b80820281158282048414176103bd576103bd611bb7565b808201808211156103bd576103bd611bb7565b600081611d0d57611d0d611bb7565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220c1f5e7366e6e39b285e4066626c260cad32cb7f5868a153eb73217f270d2937864736f6c63430008130033", + "nonce": "0x7f7", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xfde8bcaa71872ceb1f5570fe234905444695bf220597adb0facee691a0e936ed", + "transactionType": "CREATE", + "contractName": "ERC1967Proxy", + "contractAddress": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "function": null, + "arguments": [ + "0x8db8b66518E9Cb412aF5573c5423582587117533", + "0xc4d66de8000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x3bece", + "value": "0x0", + "data": "0x60806040526040516104ee3803806104ee833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c760279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60be806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea264697066735822122091c81c9b8ac755a7e1e08c0e9f65600d21e642457fb84c7f9e0d0a65b62d269064736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c65640000000000000000000000008db8b66518e9cb412af5573c542358258711753300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de8000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab00000000000000000000000000000000000000000000000000000000", + "nonce": "0x7f8", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x8d77b124c15a9a95e83130954ba5e386bfa09db488506462c492d1d8932062e5", + "transactionType": "CREATE", + "contractName": "LicensingFrameworkRepo", + "contractAddress": "0x3113e5bfe2251A9fcA1225083cf6d36547E63e07", + "function": null, + "arguments": [ + "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x208b42", + "value": "0x0", + "data": "0x60806040523480156200001157600080fd5b5060405162001e1f38038062001e1f8339810160408190526200003491620001cd565b80620000516001600160a01b038216637965db0b60e01b620000e1565b62000094576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b038316908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050620001f8565b6000620000ee8362000109565b801562000102575062000102838362000142565b9392505050565b60006200011e826301ffc9a760e01b62000142565b80156200013c57506200013a826001600160e01b031962000142565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d91506000519050828015620001b5575060208210155b8015620001c25750600081115b979650505050505050565b600060208284031215620001e057600080fd5b81516001600160a01b03811681146200010257600080fd5b611c1780620002086000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063c2e26bbb1161005b578063c2e26bbb14610108578063c8cea2151461011b578063e75afa551461012e578063eae376e31461014e57600080fd5b806319129e5a1461008d5780637859a97e146100a25780639faddd20146100c8578063ac9650d8146100e8575b600080fd5b6100a061009b366004611198565b61016e565b005b6100b56100b0366004611217565b6102d2565b6040519081526020015b60405180910390f35b6100db6100d6366004611259565b610302565b6040516100bf91906113d1565b6100fb6100f63660046113e4565b6104e8565b6040516100bf9190611459565b6100db610116366004611259565b6105dd565b6100a06101293660046114d9565b6107cb565b61014161013c366004611217565b6109c4565b6040516100bf9190611514565b61016161015c366004611217565b610bae565b6040516100bf9190611587565b600061017a8133610c62565b6101be576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b6101fe73ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000610d05565b610264576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c00000000000000000000000000000000000060448201526064016101b5565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050565b6000600183836040516102e692919061159a565b9081526040519081900360200190206003015490505b92915050565b604080516080810182526000808252602082015260609181018290528181019190915260006001858560405161033992919061159a565b9081526020016040518091039020905080600301838154811061035e5761035e6115aa565b9060005260206000209060040201604051806080016040529081600082015481526020016001820160009054906101000a900460ff1660058111156103a5576103a56112a5565b60058111156103b6576103b66112a5565b81526020016002820180546103ca906115d9565b80601f01602080910402602001604051908101604052809291908181526020018280546103f6906115d9565b80156104435780601f1061041857610100808354040283529160200191610443565b820191906000526020600020905b81548152906001019060200180831161042657829003601f168201915b5050505050815260200160038201805461045c906115d9565b80601f0160208091040260200160405190810160405280929190818152602001828054610488906115d9565b80156104d55780601f106104aa576101008083540402835291602001916104d5565b820191906000526020600020905b8154815290600101906020018083116104b857829003601f168201915b5050505050815250509150509392505050565b60608167ffffffffffffffff8111156105035761050361162c565b60405190808252806020026020018201604052801561053657816020015b60608152602001906001900390816105215790505b50905060005b828110156105d6576105a63085858481811061055a5761055a6115aa565b905060200281019061056c919061165b565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610d2192505050565b8282815181106105b8576105b86115aa565b602002602001018190525080806105ce906116c0565b91505061053c565b5092915050565b60408051608081018252600080825260208201526060918101829052818101919091526002600085858560405160200161061993929190611768565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181528151602092830120835282820193909352908201600020825160808101909352805483526001810154909183019060ff166005811115610689576106896112a5565b600581111561069a5761069a6112a5565b81526020016002820180546106ae906115d9565b80601f01602080910402602001604051908101604052809291908181526020018280546106da906115d9565b80156107275780601f106106fc57610100808354040283529160200191610727565b820191906000526020600020905b81548152906001019060200180831161070a57829003601f168201915b50505050508152602001600382018054610740906115d9565b80601f016020809104026020016040519081016040528092919081815260200182805461076c906115d9565b80156107b95780601f1061078e576101008083540402835291602001916107b9565b820191906000526020600020905b81548152906001019060200180831161079c57829003601f168201915b50505050508152505090509392505050565b7f256895704541e78004f0fd55953a8bcc54c628755b14fbf53afdc556473f9bd06107f68133610c62565b610835576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016101b5565b60006001610843848061165b565b60405161085192919061159a565b90815260200160405180910390209050600061086f82600101610d46565b11156108a7576040517f7e5d56bb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006108b6604085018561178c565b91505060968111156108f4576040517fb6cb3c0400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b818110156109525761094061090c868061165b565b610919604089018961178c565b85818110610929576109296115aa565b905060200281019061093b91906117f4565b610d50565b8061094a816116c0565b9150506108f7565b50610960602085018561165b565b839161096d919083611881565b507fcc3b4b42d496457f15f49a410f201fdb906b09fbff771f240a8dc8418abe68be610999858061165b565b6109a6602088018861165b565b6040516109b6949392919061199c565b60405180910390a150505050565b6060600183836040516109d892919061159a565b9081526020016040518091039020600301805480602002602001604051908101604052809291908181526020016000905b82821015610ba25783829060005260206000209060040201604051806080016040529081600082015481526020016001820160009054906101000a900460ff166005811115610a5a57610a5a6112a5565b6005811115610a6b57610a6b6112a5565b8152602001600282018054610a7f906115d9565b80601f0160208091040260200160405190810160405280929190818152602001828054610aab906115d9565b8015610af85780601f10610acd57610100808354040283529160200191610af8565b820191906000526020600020905b815481529060010190602001808311610adb57829003601f168201915b50505050508152602001600382018054610b11906115d9565b80601f0160208091040260200160405190810160405280929190818152602001828054610b3d906115d9565b8015610b8a5780601f10610b5f57610100808354040283529160200191610b8a565b820191906000526020600020905b815481529060010190602001808311610b6d57829003601f168201915b50505050508152505081526020019060010190610a09565b50505050905092915050565b606060018383604051610bc292919061159a565b9081526040519081900360200190208054610bdc906115d9565b80601f0160208091040260200160405190810160405280929190818152602001828054610c08906115d9565b8015610c555780601f10610c2a57610100808354040283529160200191610c55565b820191906000526020600020905b815481529060010190602001808311610c3857829003601f168201915b5050505050905092915050565b600080546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff8481166024830152909116906391d1485490604401602060405180830381865afa158015610cda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cfe91906119c3565b9392505050565b6000610d1083610e81565b8015610cfe5750610cfe8383610ee5565b6060610cfe8383604051806060016040528060278152602001611bbb60279139610fb4565b60006102fc825490565b600060018484604051610d6492919061159a565b90815260405190819003602001902090508135610d846001830182611039565b15610dbb576040517f982f2a2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610dc86001830182611051565b508260026000878785604051602001610de393929190611768565b6040516020818303038152906040528051906020012081526020019081526020016000208181610e1391906119f5565b505060038201805460018101825560009182526020909120849160040201610e3b82826119f5565b50507f25be0d4acedf2199ce49f3044ddf933ebe2febd8c63bd2cdd7ed12b458fc336185858386604051610e729493929190611b13565b60405180910390a15050505050565b6000610ead827f01ffc9a700000000000000000000000000000000000000000000000000000000610ee5565b80156102fc5750610ede827fffffffff00000000000000000000000000000000000000000000000000000000610ee5565b1592915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015610f9d575060208210155b8015610fa95750600081115b979650505050505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051610fde9190611ba8565b600060405180830381855af49150503d8060008114611019576040519150601f19603f3d011682016040523d82523d6000602084013e61101e565b606091505b509150915061102f8683838761105d565b9695505050505050565b60008181526001830160205260408120541515610cfe565b6000610cfe8383611105565b606083156110f35782516000036110ec5773ffffffffffffffffffffffffffffffffffffffff85163b6110ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016101b5565b50816110fd565b6110fd8383611154565b949350505050565b600081815260018301602052604081205461114c575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556102fc565b5060006102fc565b8151156111645781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101b59190611587565b6000602082840312156111aa57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610cfe57600080fd5b60008083601f8401126111e057600080fd5b50813567ffffffffffffffff8111156111f857600080fd5b60208301915083602082850101111561121057600080fd5b9250929050565b6000806020838503121561122a57600080fd5b823567ffffffffffffffff81111561124157600080fd5b61124d858286016111ce565b90969095509350505050565b60008060006040848603121561126e57600080fd5b833567ffffffffffffffff81111561128557600080fd5b611291868287016111ce565b909790965060209590950135949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6006811061130b577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b60005b8381101561132a578181015183820152602001611312565b50506000910152565b6000815180845261134b81602086016020860161130f565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b805182526000602082015161139560208501826112d4565b506040820151608060408501526113af6080850182611333565b9050606083015184820360608601526113c88282611333565b95945050505050565b602081526000610cfe602083018461137d565b600080602083850312156113f757600080fd5b823567ffffffffffffffff8082111561140f57600080fd5b818501915085601f83011261142357600080fd5b81358181111561143257600080fd5b8660208260051b850101111561144757600080fd5b60209290920196919550909350505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156114cc577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08886030184526114ba858351611333565b94509285019290850190600101611480565b5092979650505050505050565b6000602082840312156114eb57600080fd5b813567ffffffffffffffff81111561150257600080fd5b820160608185031215610cfe57600080fd5b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156114cc577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc088860301845261157585835161137d565b9450928501929085019060010161153b565b602081526000610cfe6020830184611333565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600181811c908216806115ed57607f821691505b602082108103611626577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261169057600080fd5b83018035915067ffffffffffffffff8211156116ab57600080fd5b60200191503681900382131561121057600080fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611718577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60408152600061177c60408301858761171f565b9050826020830152949350505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126117c157600080fd5b83018035915067ffffffffffffffff8211156117dc57600080fd5b6020019150600581901b360382131561121057600080fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8183360301811261182857600080fd5b9190910192915050565b601f82111561187c57600081815260208120601f850160051c810160208610156118595750805b601f850160051c820191505b8181101561187857828155600101611865565b5050505b505050565b67ffffffffffffffff8311156118995761189961162c565b6118ad836118a783546115d9565b83611832565b6000601f8411600181146118ff57600085156118c95750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355611995565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b8281101561194e578685013582556020948501946001909201910161192e565b5086821015611989577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b6040815260006119b060408301868861171f565b8281036020840152610fa981858761171f565b6000602082840312156119d557600080fd5b81518015158114610cfe57600080fd5b600681106119f257600080fd5b50565b81358155600181016020830135611a0b816119e5565b60068110611a42577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0082541660ff821681178355505050611a7e604083018361165b565b611a8c818360028601611881565b5050611a9b606083018361165b565b611aa9818360038601611881565b50505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611ae457600080fd5b830160208101925035905067ffffffffffffffff811115611b0457600080fd5b80360382131561121057600080fd5b606081526000611b2760608301868861171f565b8460208401528281036040840152833581526020840135611b47816119e5565b611b5460208301826112d4565b50611b626040850185611aaf565b60806040840152611b7760808401828461171f565b915050611b876060860186611aaf565b8383036060850152611b9a83828461171f565b9a9950505050505050505050565b6000825161182881846020870161130f56fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212208f3e172f26b1e16118674b4d7985c156f2849b9f9fd282fb3045456dfd7724a564736f6c63430008130033000000000000000000000000518ccd79e0e7b75fd5fcc09463fb09cb7d55470d", + "nonce": "0x7f9", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x5cef1fa852da9c51bb37504446cea2708bcf829485ef6af1f4b6f4ebfaad27aa", + "transactionType": "CREATE", + "contractName": "ModuleRegistry", + "contractAddress": "0x51870A0659A87c7B46baEF7311B3128006E1FB16", + "function": null, + "arguments": [ + "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x276514", + "value": "0x0", + "data": "0x60806040523480156200001157600080fd5b506040516200246c3803806200246c8339810160408190526200003491620001cd565b80620000516001600160a01b038216637965db0b60e01b620000e1565b62000094576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b038316908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050620001f8565b6000620000ee8362000109565b801562000102575062000102838362000142565b9392505050565b60006200011e826301ffc9a760e01b62000142565b80156200013c57506200013a826001600160e01b031962000142565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d91506000519050828015620001b5575060208210155b8015620001c25750600081115b979650505050505050565b600060208284031215620001e057600080fd5b81516001600160a01b03811681146200010257600080fd5b61226480620002086000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c80638694509411610097578063d04d78c611610066578063d04d78c614610225578063d08906d614610238578063e1fc45ce1461024b578063eca535191461025e57600080fd5b806386945094146101df578063ac9650d8146101f2578063b38609e814610212578063c7bdcb8a146101df57600080fd5b80634066edd9116100d35780634066edd914610179578063449f1a961461018c5780635c7a980b146101c457806382984f30146101cc57600080fd5b806319129e5a1461010557806320b76ffc1461011a57806337e22bd41461012d5780633af83c1814610156575b600080fd5b6101186101133660046115ac565b610271565b005b610118610128366004611612565b6103d5565b61014061013b366004611854565b6103eb565b60405161014d9190611982565b60405180910390f35b610169610164366004611995565b610405565b604051901515815260200161014d565b6101186101873660046119ec565b610460565b61019f61019a3660046119ec565b610672565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161014d565b61019f600081565b6101696101da3660046115ac565b6106b4565b61019f6101ed3660046119ec565b610718565b610205610200366004611a73565b61072c565b60405161014d9190611afb565b610140610220366004611b0e565b610821565b610118610233366004611995565b610939565b610118610246366004611995565b610acd565b610140610259366004611bf6565b610c1d565b61011861026c3660046119ec565b610ca3565b600061027d8133610e63565b6102c1576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b61030173ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000610f06565b610367576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c00000000000000000000000000000000000060448201526064016102b8565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050565b6103e3853386868686610f22565b505050505050565b60606103fb8633878787876110d0565b9695505050505050565b60008173ffffffffffffffffffffffffffffffffffffffff1660018585604051610430929190611c8b565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff161490509392505050565b7fc9a6ce5d86bdc06f8d57f20091bf09bf611e57d0626b65aa9ebb3c9179ba650f61048b8133610e63565b6104ca576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016102b8565b600073ffffffffffffffffffffffffffffffffffffffff16600284846040516104f4929190611c8b565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff16036105555782826040517f3fbd33b30000000000000000000000000000000000000000000000000000000081526004016102b8929190611ce4565b600060028484604051610569929190611c8b565b9081526040519081900360200181205473ffffffffffffffffffffffffffffffffffffffff1691506002906105a19086908690611c8b565b908152604080516020928190038301902080547fffffffffffffffffffffffff000000000000000000000000000000000000000016905573ffffffffffffffffffffffffffffffffffffffff831660009081526003909252812061060491611524565b8073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f946d7ea49afbef075e4d6f78364557a1cd3e32b89d9a963d6d041caac5e8953a8686604051610664929190611ce4565b60405180910390a350505050565b600060028383604051610686929190611c8b565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff16905092915050565b73ffffffffffffffffffffffffffffffffffffffff811660008181526003602052604080822090519192916002916106eb91611d4b565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff161492915050565b600060018383604051610686929190611c8b565b60608167ffffffffffffffff81111561074757610747611695565b60405190808252806020026020018201604052801561077a57816020015b60608152602001906001900390816107655790505b50905060005b8281101561081a576107ea3085858481811061079e5761079e611ddf565b90506020028101906107b09190611e0e565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061126992505050565b8282815181106107fc576107fc611ddf565b6020026020010181905250808061081290611e73565b915050610780565b5092915050565b60607fe4a10d29decbd34c09a62a511d4fd993a7d8cbbf58d7d4278711c29c9148b8f761084e8133610e63565b61088d576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016102b8565b6109298c8c8c8c8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061091a92508c91508d9050611ed2565b610924898b611ed2565b6110d0565b9c9b505050505050505050505050565b7fc9a6ce5d86bdc06f8d57f20091bf09bf611e57d0626b65aa9ebb3c9179ba650f6109648133610e63565b6109a3576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016102b8565b73ffffffffffffffffffffffffffffffffffffffff82166109f0576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8160028585604051610a03929190611c8b565b908152604080516020928190038301902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9485161790559184166000908152600390915220610a6c848683611f2a565b508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f33f12a9d70fd5f6771d495aae3b2cf0abc703cbaa526982b65446f1ef8816f9b8686604051610664929190611ce4565b7fc9a6ce5d86bdc06f8d57f20091bf09bf611e57d0626b65aa9ebb3c9179ba650f610af88133610e63565b610b37576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016102b8565b73ffffffffffffffffffffffffffffffffffffffff8216610b84576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8160018585604051610b97929190611c8b565b908152604051908190036020018120805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff0000000000000000000000000000000000000000909116179055908316906000907f14d77cb3ef4c75b9a031527cf63890f47708121a75c8b9c9cddbacc19defd122906106649088908890611ce4565b60607fe4a10d29decbd34c09a62a511d4fd993a7d8cbbf58d7d4278711c29c9148b8f7610c4a8133610e63565b610c89576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016102b8565b610c97888888888888610f22565b98975050505050505050565b7fc9a6ce5d86bdc06f8d57f20091bf09bf611e57d0626b65aa9ebb3c9179ba650f610cce8133610e63565b610d0d576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016102b8565b600073ffffffffffffffffffffffffffffffffffffffff1660018484604051610d37929190611c8b565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff1603610d985782826040517f97385f510000000000000000000000000000000000000000000000000000000081526004016102b8929190611ce4565b600060018484604051610dac929190611c8b565b9081526040519081900360200181205473ffffffffffffffffffffffffffffffffffffffff169150600190610de49086908690611c8b565b90815260405190819003602001812080547fffffffffffffffffffffffff000000000000000000000000000000000000000016905573ffffffffffffffffffffffffffffffffffffffff8216906000907f335f1d2bb0046b3a423088788bb8d6350f8a36ff7d554592f91d8102ea0ce4d7906106649088908890611ce4565b600080546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff8481166024830152909116906391d1485490604401602060405180830381865afa158015610edb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eff9190612045565b9392505050565b6000610f118361128e565b8015610eff5750610eff83836112f3565b6060600060018686604051610f38929190611c8b565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff16905080610f9b5785856040517f97385f510000000000000000000000000000000000000000000000000000000081526004016102b8929190611ce4565b6040517f4fcbd21300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821690634fcbd21390610ff3908b908b9089908990600401612067565b6000604051808303816000875af1158015611012573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261105891908101906120a1565b91508673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167f48786003f3d30e41bfa4ee09afdeb9bfb04b7e06e2f74f3177da393a793bbc33888888886040516110bd9493929190612118565b60405180910390a3509695505050505050565b606060006001866040516110e4919061213f565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff1690508061114557856040517f97385f510000000000000000000000000000000000000000000000000000000081526004016102b89190611982565b6040517fb6efd29d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82169063b6efd29d9061119f908b908b908a908a908a9060040161215b565b6000604051808303816000875af11580156111be573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261120491908101906120a1565b91508673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fc370e2f187a6d9446aca617bbcd60f84f24a0020a0c55dbc4ff5c8a3ce87abb5888888886040516110bd94939291906121ba565b6060610eff8383604051806060016040528060278152602001612208602791396113c2565b60006112ba827f01ffc9a7000000000000000000000000000000000000000000000000000000006112f3565b80156112ed57506112eb827fffffffff000000000000000000000000000000000000000000000000000000006112f3565b155b92915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d915060005190508280156113ab575060208210155b80156113b75750600081115b979650505050505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516113ec919061213f565b600060405180830381855af49150503d8060008114611427576040519150601f19603f3d011682016040523d82523d6000602084013e61142c565b606091505b50915091506103fb86838387606083156114ce5782516000036114c75773ffffffffffffffffffffffffffffffffffffffff85163b6114c7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102b8565b50816114d8565b6114d883836114e0565b949350505050565b8151156114f05781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102b89190611982565b50805461153090611cf8565b6000825580601f10611540575050565b601f01602090049060005260206000209081019061155e9190611561565b50565b5b808211156115765760008155600101611562565b5090565b73ffffffffffffffffffffffffffffffffffffffff8116811461155e57600080fd5b80356115a78161157a565b919050565b6000602082840312156115be57600080fd5b8135610eff8161157a565b60008083601f8401126115db57600080fd5b50813567ffffffffffffffff8111156115f357600080fd5b60208301915083602082850101111561160b57600080fd5b9250929050565b60008060008060006060868803121561162a57600080fd5b85356116358161157a565b9450602086013567ffffffffffffffff8082111561165257600080fd5b61165e89838a016115c9565b9096509450604088013591508082111561167757600080fd5b50611684888289016115c9565b969995985093965092949392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561170b5761170b611695565b604052919050565b600067ffffffffffffffff82111561172d5761172d611695565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f83011261176a57600080fd5b813561177d61177882611713565b6116c4565b81815284602083860101111561179257600080fd5b816020850160208301376000918101602001919091529392505050565b600067ffffffffffffffff808411156117ca576117ca611695565b8360051b60206117db8183016116c4565b868152935090840190808401878311156117f457600080fd5b855b838110156118285780358581111561180e5760008081fd5b61181a8a828a01611759565b8352509082019082016117f6565b50505050509392505050565b600082601f83011261184557600080fd5b610eff838335602085016117af565b600080600080600060a0868803121561186c57600080fd5b85356118778161157a565b9450602086013567ffffffffffffffff8082111561189457600080fd5b6118a089838a01611759565b955060408801359150808211156118b657600080fd5b6118c289838a01611759565b945060608801359150808211156118d857600080fd5b6118e489838a01611834565b935060808801359150808211156118fa57600080fd5b5061190788828901611834565b9150509295509295909350565b60005b8381101561192f578181015183820152602001611917565b50506000910152565b60008151808452611950816020860160208601611914565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610eff6020830184611938565b6000806000604084860312156119aa57600080fd5b833567ffffffffffffffff8111156119c157600080fd5b6119cd868287016115c9565b90945092505060208401356119e18161157a565b809150509250925092565b600080602083850312156119ff57600080fd5b823567ffffffffffffffff811115611a1657600080fd5b611a22858286016115c9565b90969095509350505050565b60008083601f840112611a4057600080fd5b50813567ffffffffffffffff811115611a5857600080fd5b6020830191508360208260051b850101111561160b57600080fd5b60008060208385031215611a8657600080fd5b823567ffffffffffffffff811115611a9d57600080fd5b611a2285828601611a2e565b6000815180845260208085019450848260051b860182860160005b85811015611aee578383038952611adc838351611938565b98850198925090840190600101611ac4565b5090979650505050505050565b602081526000610eff6020830184611aa9565b60008060008060008060008060008060c08b8d031215611b2d57600080fd5b611b368b61159c565b9950611b4460208c0161159c565b985060408b013567ffffffffffffffff80821115611b6157600080fd5b611b6d8e838f016115c9565b909a50985060608d0135915080821115611b8657600080fd5b611b928e838f016115c9565b909850965060808d0135915080821115611bab57600080fd5b611bb78e838f01611a2e565b909650945060a08d0135915080821115611bd057600080fd5b50611bdd8d828e01611a2e565b915080935050809150509295989b9194979a5092959850565b60008060008060008060808789031215611c0f57600080fd5b8635611c1a8161157a565b95506020870135611c2a8161157a565b9450604087013567ffffffffffffffff80821115611c4757600080fd5b611c538a838b016115c9565b90965094506060890135915080821115611c6c57600080fd5b50611c7989828a016115c9565b979a9699509497509295939492505050565b8183823760009101908152919050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6020815260006114d8602083018486611c9b565b600181811c90821680611d0c57607f821691505b602082108103611d45577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b6000808354611d5981611cf8565b60018281168015611d715760018114611da457611dd3565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0084168752821515830287019450611dd3565b8760005260208060002060005b85811015611dca5781548a820152908401908201611db1565b50505082870194505b50929695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611e4357600080fd5b83018035915067ffffffffffffffff821115611e5e57600080fd5b60200191503681900382131561160b57600080fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611ecb577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b6000610eff3684846117af565b601f821115611f2557600081815260208120601f850160051c81016020861015611f065750805b601f850160051c820191505b818110156103e357828155600101611f12565b505050565b67ffffffffffffffff831115611f4257611f42611695565b611f5683611f508354611cf8565b83611edf565b6000601f841160018114611fa85760008515611f725750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b17835561203e565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b82811015611ff75786850135825560209485019460019092019101611fd7565b5086821015612032577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b60006020828403121561205757600080fd5b81518015158114610eff57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250606060408301526103fb606083018486611c9b565b6000602082840312156120b357600080fd5b815167ffffffffffffffff8111156120ca57600080fd5b8201601f810184136120db57600080fd5b80516120e961177882611713565b8181528560208385010111156120fe57600080fd5b61210f826020830160208601611914565b95945050505050565b60408152600061212c604083018688611c9b565b82810360208401526113b7818587611c9b565b60008251612151818460208701611914565b9190910192915050565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525060a0604083015261219460a0830186611938565b82810360608401526121a68186611aa9565b90508281036080840152610c978185611aa9565b6080815260006121cd6080830187611938565b82810360208401526121df8187611938565b905082810360408401526121f38186611aa9565b905082810360608401526113b78185611aa956fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220db500e1b4c73af951db86225ddf5da0ca8d3d8bec7e9430df8a7b51035fa9ee564736f6c63430008130033000000000000000000000000518ccd79e0e7b75fd5fcc09463fb09cb7d55470d", + "nonce": "0x7fa", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x20e56a5db623534cd0345e992dbfdfb712f9caca6d59b310c070a7eee9e19215", + "transactionType": "CREATE", + "contractName": "IPAssetRegistry", + "contractAddress": "0x5B81030C087d41558E3FCF23B3575E85c9A768e6", + "function": null, + "arguments": [ + "0x51870A0659A87c7B46baEF7311B3128006E1FB16" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x132c3f", + "value": "0x0", + "data": "0x60a0604052600060015534801561001557600080fd5b5060405161113e38038061113e83398101604081905261003491610045565b6001600160a01b0316608052610075565b60006020828403121561005757600080fd5b81516001600160a01b038116811461006e57600080fd5b9392505050565b6080516110926100ac6000396000818161018e0152818161023f0152818161040f0152818161057c01526106af01526110926000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806387cb967a1161005b57806387cb967a14610150578063b95ddb5214610189578063c47f8bfa146101b0578063d896dd64146101d057600080fd5b8063251fe79c1461008d578063299d1cf6146100a257806342d21ef7146100df578063601a924c1461012f575b600080fd5b6100a061009b366004610b62565b6101e3565b005b6100b56100b0366004610b92565b61039b565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61011d6100ed366004610b92565b60009081526020819052604090206001015474010000000000000000000000000000000000000000900460ff1690565b60405160ff90911681526020016100d6565b61014261013d366004610bda565b61051d565b6040519081526020016100d6565b6100b561015e366004610b92565b60009081526020819052604090206002015473ffffffffffffffffffffffffffffffffffffffff1690565b6100b57f000000000000000000000000000000000000000000000000000000000000000081565b6101c36101be366004610b92565b610951565b6040516100d69190610d3a565b6100a06101de366004610dbd565b610aa0565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815233917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a9161028791600401610de8565b602060405180830381865afa1580156102a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102c89190610dfb565b73ffffffffffffffffffffffffffffffffffffffff1614610315576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008281526020819052604080822060020180547fffffffffffffffffffffffff0000000000000000000000000000000000000000811673ffffffffffffffffffffffffffffffffffffffff8681169182179093559251911692839186917f147c62691502c52a4a793c136ab712d9695053acdd62d44170a823bc377a59f591a4505050565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a000000000000000000000000000000000000000000000000000000008152600091829173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a916104439190600401610de8565b602060405180830381865afa158015610460573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104849190610dfb565b6040517f6352211e0000000000000000000000000000000000000000000000000000000081526004810185905290915073ffffffffffffffffffffffffffffffffffffffff821690636352211e90602401602060405180830381865afa1580156104f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105169190610dfb565b9392505050565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260009133917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a916105c59190600401610de8565b602060405180830381865afa1580156105e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106069190610dfb565b73ffffffffffffffffffffffffffffffffffffffff1614610653576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815233917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a916106f791600401610de8565b602060405180830381865afa158015610714573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107389190610dfb565b73ffffffffffffffffffffffffffffffffffffffff1614610785576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016000815461079490610e18565b91829055506040805160c08101825285815273ffffffffffffffffffffffffffffffffffffffff8781166020808401919091526001838501529089166060830152608082018690524267ffffffffffffffff811660a084015260008581529182905292902081519394509192909190819061080f9082610f19565b50602082015160018201805460408086015160ff1674010000000000000000000000000000000000000000027fffffffffffffffffffffff00000000000000000000000000000000000000000090921673ffffffffffffffffffffffffffffffffffffffff948516179190911790915560608401516002840180549184167fffffffffffffffffffffffff0000000000000000000000000000000000000000929092169190911790556080840151600384015560a0909301516004909201805467ffffffffffffffff9093167fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909316929092179091559051868216918816907f964ceb922535d169779e716f1dea5a577aeef2427e753bdb9eace345bca56b929061094090869089908990611033565b60405180910390a350949350505050565b6040805160c081018252606080825260006020830181905292820183905281018290526080810182905260a081019190915260008281526020819052604090819020815160c081019092528054829082906109ab90610e77565b80601f01602080910402602001604051908101604052809291908181526020018280546109d790610e77565b8015610a245780601f106109f957610100808354040283529160200191610a24565b820191906000526020600020905b815481529060010190602001808311610a0757829003601f168201915b5050509183525050600182015473ffffffffffffffffffffffffffffffffffffffff80821660208401527401000000000000000000000000000000000000000090910460ff16604083015260028301541660608201526003820154608082015260049091015467ffffffffffffffff1660a09091015292915050565b60008281526020818152604091829020600101805460ff858116740100000000000000000000000000000000000000008181027fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff8516179094558551939092041680835292820152849283917fd98efe2dd5b76c52df27ca251c889b2339e9f49fdd2e02e72abbae1136a1f014910160405180910390a250505050565b73ffffffffffffffffffffffffffffffffffffffff81168114610b5f57600080fd5b50565b60008060408385031215610b7557600080fd5b823591506020830135610b8781610b3d565b809150509250929050565b600060208284031215610ba457600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060008060808587031215610bf057600080fd5b8435610bfb81610b3d565b93506020850135610c0b81610b3d565b9250604085013567ffffffffffffffff80821115610c2857600080fd5b818701915087601f830112610c3c57600080fd5b813581811115610c4e57610c4e610bab565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715610c9457610c94610bab565b816040528281528a6020848701011115610cad57600080fd5b826020860160208301376000928101602001929092525095989497509495606001359450505050565b6000815180845260005b81811015610cfc57602081850181015186830182015201610ce0565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081526000825160c06020840152610d5660e0840182610cd6565b9050602084015173ffffffffffffffffffffffffffffffffffffffff808216604086015260ff60408701511660608601528060608701511660808601525050608084015160a084015267ffffffffffffffff60a08501511660c08401528091505092915050565b60008060408385031215610dd057600080fd5b82359150602083013560ff81168114610b8757600080fd5b6020815260006105166020830184610cd6565b600060208284031215610e0d57600080fd5b815161051681610b3d565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610e70577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b600181811c90821680610e8b57607f821691505b602082108103610ec4577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f821115610f1457600081815260208120601f850160051c81016020861015610ef15750805b601f850160051c820191505b81811015610f1057828155600101610efd565b5050505b505050565b815167ffffffffffffffff811115610f3357610f33610bab565b610f4781610f418454610e77565b84610eca565b602080601f831160018114610f9a5760008415610f645750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610f10565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015610fe757888601518255948401946001909101908401610fc8565b508582101561102357878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b83815260606020820152600061104c6060830185610cd6565b905082604083015294935050505056fea26469706673582212208eaf86cacb600d9314b9d1d5d2261f9c609ee632773c3332418ebe9b5cc85fba64736f6c6343000813003300000000000000000000000051870a0659a87c7b46baef7311b3128006e1fb16", + "nonce": "0x7fb", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x2bb57468dbedb53b56ff6025980717fb50edbc2eeb91c444d76620313646e2f1", + "transactionType": "CREATE", + "contractName": "LicenseRegistry", + "contractAddress": "0x826a953332Df2e1a994C7CFae68E129ba683Aa8F", + "function": null, + "arguments": [ + "0x5B81030C087d41558E3FCF23B3575E85c9A768e6", + "0x51870A0659A87c7B46baEF7311B3128006E1FB16", + "0x3113e5bfe2251A9fcA1225083cf6d36547E63e07" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x3e569c", + "value": "0x0", + "data": "0x60e06040523480156200001157600080fd5b5060405162003ab038038062003ab0833981016040819052620000349162000160565b6040518060400160405280601a81526020017f53746f72792050726f746f636f6c204c6963656e7365204e4654000000000000815250604051806040016040528060048152602001631313919560e21b81525081600090816200009891906200024f565b506001620000a782826200024f565b5050506001600160a01b038316620000d25760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b038084166080528216620001005760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0380831660a05281166200012e5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b031660c052506200031b9050565b80516001600160a01b03811681146200015b57600080fd5b919050565b6000806000606084860312156200017657600080fd5b620001818462000143565b9250620001916020850162000143565b9150620001a16040850162000143565b90509250925092565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620001d557607f821691505b602082108103620001f657634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200024a57600081815260208120601f850160051c81016020861015620002255750805b601f850160051c820191505b81811015620002465782815560010162000231565b5050505b505050565b81516001600160401b038111156200026b576200026b620001aa565b62000283816200027c8454620001c0565b84620001fc565b602080601f831160018114620002bb5760008415620002a25750858301515b600019600386901b1c1916600185901b17855562000246565b600085815260208120601f198616915b82811015620002ec57888601518255948401946001909101908401620002cb565b50858210156200030b5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60805160a05160c0516137426200036e600039600061043401526000818161048901528181610adb0152818161106c015281816112980152611808015260008181610522015261225301526137426000f3fe608060405234801561001057600080fd5b506004361061020b5760003560e01c806370a082311161012a578063c8c0eb87116100bd578063e006e5a71161008c578063e705c2b811610071578063e705c2b8146105b3578063e985e9c5146105c6578063eb683a491461060f57600080fd5b8063e006e5a714610567578063e58efef61461057a57600080fd5b8063c8c0eb87146104cc578063d09d894e1461050a578063d2faf8b01461051d578063d7f9ab8b1461054457600080fd5b8063a22cb465116100f9578063a22cb4651461045e578063b88d4fde14610471578063b95ddb5214610484578063c87b56dd146104ab57600080fd5b806370a082311461040957806371e074dd1461041c57806376a4b13b1461042f57806395d89b411461045657600080fd5b8063357a595a116101a2578063439d4b5c11610171578063439d4b5c1461039257806356227341146103a55780636103b2ce146103d65780636352211e146103f657600080fd5b8063357a595a1461031957806337f8ebfb1461032c5780633c06e1dc1461035657806342842e0e1461037f57600080fd5b806308a4f072116101de57806308a4f072146102be578063095ea7b3146102de5780631f09e4e5146102f357806323b872dd1461030657600080fd5b806301ffc9a714610210578063056569af1461023857806306fdde0314610296578063081812fc146102ab575b600080fd5b61022361021e366004612a88565b610622565b60405190151581526020015b60405180910390f35b610271610246366004612aac565b60009081526006602052604090206001015473ffffffffffffffffffffffffffffffffffffffff1690565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161022f565b61029e610707565b60405161022f9190612b29565b6102716102b9366004612aac565b610799565b6102d16102cc366004612aac565b6107cd565b60405161022f9190612b3c565b6102f16102ec366004612bf7565b6108db565b005b6102f1610301366004612c21565b610a6c565b6102f1610314366004612c4d565b610b96565b6102f1610327366004612aac565b610c37565b61022361033a366004612aac565b6000908152600660205260409020546301000000900460ff1690565b610223610364366004612aac565b60009081526006602052604090205462010000900460ff1690565b6102f161038d366004612c4d565b610c44565b6102f16103a0366004612aac565b610c5f565b6103c86103b3366004612aac565b60009081526006602052604090206005015490565b60405190815260200161022f565b6103e96103e4366004612aac565b610d25565b60405161022f9190612cf3565b610271610404366004612aac565b610ea1565b6103c8610417366004612de3565b610f2d565b6102f161042a366004612dfe565b610ffb565b6102717f000000000000000000000000000000000000000000000000000000000000000081565b61029e611164565b6102f161046c366004612e39565b611173565b6102f161047f366004612fc9565b61117e565b6102717f000000000000000000000000000000000000000000000000000000000000000081565b61029e6104b9366004612aac565b5060408051602081019091526000815290565b6102716104da366004612aac565b600090815260066020526040902054640100000000900473ffffffffffffffffffffffffffffffffffffffff1690565b6103c8610518366004613031565b611226565b6102717f000000000000000000000000000000000000000000000000000000000000000081565b6103c8610552366004612aac565b60009081526006602052604090206004015490565b610271610575366004612aac565b6116c7565b610271610588366004612aac565b60009081526006602052604090206002015473ffffffffffffffffffffffffffffffffffffffff1690565b6102236105c1366004612aac565b6116d2565b6102236105d4366004613075565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260056020908152604080832093909416825291909152205460ff1690565b6103c861061d3660046131a9565b611796565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd0000000000000000000000000000000000000000000000000000000014806106b557507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b8061070157507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b606060008054610716906132b0565b80601f0160208091040260200160405190810160405280929190818152602001828054610742906132b0565b801561078f5780601f106107645761010080835404028352916020019161078f565b820191906000526020600020905b81548152906001019060200180831161077257829003601f168201915b5050505050905090565b60006107a482611bb0565b5060009081526004602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b606060076000838152602001908152602001600020805480602002602001604051908101604052809291908181526020016000905b828210156108d057838290600052602060002090600202016040518060400160405290816000820154815260200160018201805461083f906132b0565b80601f016020809104026020016040519081016040528092919081815260200182805461086b906132b0565b80156108b85780601f1061088d576101008083540402835291602001916108b8565b820191906000526020600020905b81548152906001019060200180831161089b57829003601f168201915b50505050508152505081526020019060010190610802565b505050509050919050565b60006108e682610ea1565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036109a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff821614806109d157506109d181336105d4565b610a5d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000606482015260840161099f565b610a678383611c3b565b505050565b604080518082018252601081527f4c4943454e53494e475f4d4f44554c4500000000000000000000000000000000602082015290517f3af83c1800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001691633af83c1891610b1191903390600401613303565b602060405180830381865afa158015610b2e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b52919061333b565b610b88576040517f039cb0ee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b928282611cdb565b5050565b610ba03382611e2a565b610c2c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f76656400000000000000000000000000000000000000606482015260840161099f565b610a67838383611ee9565b610c418133611cdb565b50565b610a678383836040518060200160405280600081525061117e565b600081815260066020526040902054640100000000900473ffffffffffffffffffffffffffffffffffffffff163314610cc4576040517f95e4a90e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008181526006602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660031790555182917ff8ecc300d4504a2b49692052f138b7e697df679cf0580522720ce405bd01be5591a250565b6040805161014081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810191909152600082815260066020526040812090815460ff166003811115610d9b57610d9b612c89565b03610dd2576040517fc28093d700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408051610140810190915281548290829060ff166003811115610df857610df8612c89565b6003811115610e0957610e09612c89565b8152815461010080820460ff9081161515602085015262010000830481161515604085015263010000008304161515606084015264010000000090910473ffffffffffffffffffffffffffffffffffffffff90811660808401526001840154811660a084015260028401541660c0830152600383015460e0830152600483015490820152600590910154610120909101529392505050565b60008181526002602052604081205473ffffffffffffffffffffffffffffffffffffffff1680610701576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e2049440000000000000000604482015260640161099f565b600073ffffffffffffffffffffffffffffffffffffffff8216610fd2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e65720000000000000000000000000000000000000000000000606482015260840161099f565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526003602052604090205490565b604080518082018252601081527f4c4943454e53494e475f4d4f44554c4500000000000000000000000000000000602082015290517f3af83c18000000000000000000000000000000000000000000000000000000008152839173ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001691633af83c18916110a1913390600401613303565b602060405180830381865afa1580156110be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110e2919061333b565b15801561112357506110f381610ea1565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b1561115a576040517fc1b4742400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a6783836121e4565b606060018054610716906132b0565b610b9233838361239b565b6111883383611e2a565b611214576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f76656400000000000000000000000000000000000000606482015260840161099f565b611220848484846124c8565b50505050565b604080518082018252601081527f4c4943454e53494e475f4d4f44554c4500000000000000000000000000000000602082015290517f3af83c1800000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001691633af83c18916112cd913390600401613303565b602060405180830381865afa1580156112ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061130e919061333b565b611344576040517f039cb0ee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61134d856116d2565b611383576040517f72b0a52c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600085815260066020526040808220815161014081019092528054829060ff1660038111156113b4576113b4612c89565b60038111156113c5576113c5612c89565b8152815461010080820460ff9081161515602085015262010000830481161515604085015263010000008304161515606084015264010000000090910473ffffffffffffffffffffffffffffffffffffffff90811660808401526001840154811660a084015260028401541660c0830152600383015460e08301526004830154908201526005909101546101209091015260088054919250600091829061146b90613358565b9182905550610120830188905273ffffffffffffffffffffffffffffffffffffffff871660a084015261010083018590526060830151909150156114ae57600282525b600087815260076020526040808220838352912081546114ce9290612980565b506000818152600660205260409020825181548492919082907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600183600381111561151d5761151d612c89565b021790555060208201518154604080850151606086015160808701517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000ff90941661010095151586027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff16176201000092151592909202919091177fffffffffffffffff000000000000000000000000000000000000000000ffffff166301000000911515919091027fffffffffffffffff0000000000000000000000000000000000000000ffffffff161764010000000073ffffffffffffffffffffffffffffffffffffffff9384160217845560a08501516001850180547fffffffffffffffffffffffff000000000000000000000000000000000000000090811692851692909217905560c086015160028601805490921693169290921790915560e08401516003840155908301516004830155610120909201516005909101555181907f0eaf6d681055f593c54be5a95da92bb2249915d24efbd7686fd32f6f89784204906116a9908590612cf3565b60405180910390a26116bb858261256b565b9150505b949350505050565b600061070182610ea1565b6000816000036116e457506000919050565b811561178e57600260008381526006602052604090205460ff16600381111561170f5761170f612c89565b148061173b575060008281526006602052604081205460ff16600381111561173957611739612c89565b145b806117685750600360008381526006602052604090205460ff16600381111561176657611766612c89565b145b1561177557506000919050565b60009182526006602052604090912060050154906116e4565b506001919050565b604080518082018252601081527f4c4943454e53494e475f4d4f44554c4500000000000000000000000000000000602082015290517f3af83c1800000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001691633af83c189161183d913390600401613303565b602060405180830381865afa15801561185a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061187e919061333b565b6118b4576040517f039cb0ee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b835160018160038111156118ca576118ca612c89565b141580156118ea575060028160038111156118e7576118e7612c89565b14155b15611921576040517f92439ccc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060086000815461193290613358565b9182905550600081815260066020526040902087518154929350889282907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600183600381111561198657611986612c89565b021790555060208201518154604080850151606086015160808701517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000ff90941661010095151586027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff16176201000092151592909202919091177fffffffffffffffff000000000000000000000000000000000000000000ffffff166301000000911515919091027fffffffffffffffff0000000000000000000000000000000000000000ffffffff161764010000000073ffffffffffffffffffffffffffffffffffffffff9384160217845560a08501516001850180547fffffffffffffffffffffffff000000000000000000000000000000000000000090811692851692909217905560c086015160028601805490921693169290921790915560e08401516003840155908301516004830155610120909201516005909101555181907f0eaf6d681055f593c54be5a95da92bb2249915d24efbd7686fd32f6f8978420490611b12908990612cf3565b60405180910390a2611b24858261256b565b83516000828152600760205260408120905b82811015611ba35781878281518110611b5157611b516133b7565b6020908102919091018101518254600181810185556000948552938390208251600290920201908155918101519092820190611b8d9082613434565b5050508080611b9b90613358565b915050611b36565b5091979650505050505050565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff16610c41576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e2049440000000000000000604482015260640161099f565b600081815260046020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091558190611c9582610ea1565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000828152600660205260409020600181015473ffffffffffffffffffffffffffffffffffffffff838116911614611d3f576040517f54c26a8800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002815460ff166003811115611d5757611d57612c89565b14611d8e576040517ff40190f500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611d9b81600501546116d2565b611dd1576040517f72b0a52c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117815560405183907fa3ada00687872cb827044ee48684890eeb5caffc2d7abf015ea327c7d7d06b8490600090a2505050565b600080611e3683610ea1565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611ea4575073ffffffffffffffffffffffffffffffffffffffff80821660009081526005602090815260408083209388168352929052205460ff165b806116bf57508373ffffffffffffffffffffffffffffffffffffffff16611eca84610799565b73ffffffffffffffffffffffffffffffffffffffff1614949350505050565b8273ffffffffffffffffffffffffffffffffffffffff16611f0982610ea1565b73ffffffffffffffffffffffffffffffffffffffff1614611fac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e6572000000000000000000000000000000000000000000000000000000606482015260840161099f565b73ffffffffffffffffffffffffffffffffffffffff821661204e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161099f565b8273ffffffffffffffffffffffffffffffffffffffff1661206e82610ea1565b73ffffffffffffffffffffffffffffffffffffffff1614612111576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e6572000000000000000000000000000000000000000000000000000000606482015260840161099f565b600081815260046020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff8781168086526003855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b816121ee816116d2565b612224576040517fa15e441100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f42d21ef7000000000000000000000000000000000000000000000000000000008152600481018390527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906342d21ef790602401602060405180830381865afa1580156122af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122d3919061354e565b60ff1660011461230f576040517f32a7f99e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008381526006602052604090206004015415612358576040517fed035e9700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008381526006602052604080822060040184905551839185917f9d2bbd85f58e2a13e5a13a8d77b039e02a44b601338e36691ab827a547b2353e9190a3505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612430576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161099f565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526005602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6124d3848484611ee9565b6124df84848484612790565b611220576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e7465720000000000000000000000000000606482015260840161099f565b73ffffffffffffffffffffffffffffffffffffffff82166125e8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161099f565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1615612674576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161099f565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1615612700576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161099f565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260036020908152604080832080546001019055848352600290915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b600073ffffffffffffffffffffffffffffffffffffffff84163b15612978576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a0290612807903390899088908890600401613571565b6020604051808303816000875af1925050508015612860575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261285d918101906135ba565b60015b61292d573d80801561288e576040519150601f19603f3d011682016040523d82523d6000602084013e612893565b606091505b508051600003612925576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e7465720000000000000000000000000000606482015260840161099f565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a02000000000000000000000000000000000000000000000000000000001490506116bf565b5060016116bf565b8280548282559060005260206000209060020281019282156129dd5760005260206000209160020282015b828111156129dd578254825582826001808201906129cb908401826135d7565b505050916002019190600201906129ab565b506129e99291506129ed565b5090565b808211156129e9576000808255612a076001830182612a10565b506002016129ed565b508054612a1c906132b0565b6000825580601f10612a2c575050565b601f016020900490600052602060002090810190610c4191905b808211156129e95760008155600101612a46565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610c4157600080fd5b600060208284031215612a9a57600080fd5b8135612aa581612a5a565b9392505050565b600060208284031215612abe57600080fd5b5035919050565b6000815180845260005b81811015612aeb57602081850181015186830182015201612acf565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081526000612aa56020830184612ac5565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015612bc0578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0018552815180518452870151878401879052612bad87850182612ac5565b9588019593505090860190600101612b63565b509098975050505050505050565b803573ffffffffffffffffffffffffffffffffffffffff81168114612bf257600080fd5b919050565b60008060408385031215612c0a57600080fd5b612c1383612bce565b946020939093013593505050565b60008060408385031215612c3457600080fd5b82359150612c4460208401612bce565b90509250929050565b600080600060608486031215612c6257600080fd5b612c6b84612bce565b9250612c7960208501612bce565b9150604084013590509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60048110612cef577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b600061014082019050612d07828451612cb8565b6020830151612d1a602084018215159052565b506040830151612d2e604084018215159052565b506060830151612d42606084018215159052565b506080830151612d6a608084018273ffffffffffffffffffffffffffffffffffffffff169052565b5060a0830151612d9260a084018273ffffffffffffffffffffffffffffffffffffffff169052565b5060c0830151612dba60c084018273ffffffffffffffffffffffffffffffffffffffff169052565b5060e083015160e083015261010080840151818401525061012080840151818401525092915050565b600060208284031215612df557600080fd5b612aa582612bce565b60008060408385031215612e1157600080fd5b50508035926020909101359150565b8015158114610c4157600080fd5b8035612bf281612e20565b60008060408385031215612e4c57600080fd5b612e5583612bce565b91506020830135612e6581612e20565b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715612ec257612ec2612e70565b60405290565b604051610140810167ffffffffffffffff81118282101715612ec257612ec2612e70565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715612f3357612f33612e70565b604052919050565b600082601f830112612f4c57600080fd5b813567ffffffffffffffff811115612f6657612f66612e70565b612f9760207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601612eec565b818152846020838601011115612fac57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060808587031215612fdf57600080fd5b612fe885612bce565b9350612ff660208601612bce565b925060408501359150606085013567ffffffffffffffff81111561301957600080fd5b61302587828801612f3b565b91505092959194509250565b6000806000806080858703121561304757600080fd5b8435935061305760208601612bce565b925061306560408601612bce565b9396929550929360600135925050565b6000806040838503121561308857600080fd5b61309183612bce565b9150612c4460208401612bce565b803560048110612bf257600080fd5b600082601f8301126130bf57600080fd5b8135602067ffffffffffffffff808311156130dc576130dc612e70565b8260051b6130eb838201612eec565b938452858101830193838101908886111561310557600080fd5b84880192505b8583101561319d578235848111156131235760008081fd5b88016040818b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0018113156131595760008081fd5b613161612e9f565b82880135815290820135908682111561317a5760008081fd5b6131888c8984860101612f3b565b8189015284525050918401919084019061310b565b98975050505050505050565b60008060008385036101808112156131c057600080fd5b610140808212156131d057600080fd5b6131d8612ec8565b91506131e38661309f565b82526131f160208701612e2e565b602083015261320260408701612e2e565b604083015261321360608701612e2e565b606083015261322460808701612bce565b608083015261323560a08701612bce565b60a083015261324660c08701612bce565b60c083015260e086013560e083015261010080870135818401525061012080870135818401525081945061327b818701612bce565b9350505061016084013567ffffffffffffffff81111561329a57600080fd5b6132a6868287016130ae565b9150509250925092565b600181811c908216806132c457607f821691505b6020821081036132fd577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b6040815260006133166040830185612ac5565b905073ffffffffffffffffffffffffffffffffffffffff831660208301529392505050565b60006020828403121561334d57600080fd5b8151612aa581612e20565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036133b0577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b601f821115610a6757600081815260208120601f850160051c8101602086101561340d5750805b601f850160051c820191505b8181101561342c57828155600101613419565b505050505050565b815167ffffffffffffffff81111561344e5761344e612e70565b6134628161345c84546132b0565b846133e6565b602080601f8311600181146134b5576000841561347f5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b17855561342c565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015613502578886015182559484019460019091019084016134e3565b508582101561353e57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121561356057600080fd5b815160ff81168114612aa557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250836040830152608060608301526135b06080830184612ac5565b9695505050505050565b6000602082840312156135cc57600080fd5b8151612aa581612a5a565b8181036135e2575050565b6135ec82546132b0565b67ffffffffffffffff81111561360457613604612e70565b6136128161345c84546132b0565b6000601f821160018114613664576000831561362e5750848201545b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600385901b1c1916600184901b178455613705565b6000858152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0841690600086815260209020845b838110156136bc578286015482556001958601959091019060200161369c565b50858310156136f857818501547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b50505060018360011b0184555b505050505056fea264697066735822122005918b5bf82ecfc5cbade9a10b99b05effee689d7ff16f261a52e83b5a4c9b0464736f6c634300081300330000000000000000000000005b81030c087d41558e3fcf23b3575e85c9a768e600000000000000000000000051870a0659a87c7b46baef7311b3128006e1fb160000000000000000000000003113e5bfe2251a9fca1225083cf6d36547e63e07", + "nonce": "0x7fc", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x6b6536c934fc7d4d1dba6374b0f6658c59bb0bc6b60a04a54a798accc816c975", + "transactionType": "CREATE", + "contractName": "IPOrgController", + "contractAddress": "0x9Be54430f2962a115353Ad2e8c62A106bBe71849", + "function": null, + "arguments": [ + "0x51870A0659A87c7B46baEF7311B3128006E1FB16" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x5e866f", + "value": "0x0", + "data": "0x60c0604052306080523480156200001557600080fd5b50604051620056d6380380620056d683398101604081905262000038916200004a565b6001600160a01b031660a0526200007c565b6000602082840312156200005d57600080fd5b81516001600160a01b03811681146200007557600080fd5b9392505050565b60805160a05161560a620000cc6000396000818161028b01528181610e88015261121b0152600081816106ae01528181610760015281816108bc0152818161096e0152610abe015261560a6000f3fe608060405260043610620000fb5760003560e01c806398e8e6ea1162000095578063caae51b81162000060578063caae51b814620002d2578063d8b67cc214620002f7578063eb3dcb7c146200031c578063fc1dad81146200035257600080fd5b806398e8e6ea146200022d578063a0f336f81462000252578063b95ddb521462000277578063c4d66de814620002ad57600080fd5b80633659cfe611620000d65780633659cfe6146200019b57806349403c8e14620001c05780634f1ef28614620001ef57806352d1902d146200020657600080fd5b806314afd79e146200010057806319129e5a146200014f57806331678cf61462000176575b600080fd5b3480156200010d57600080fd5b50620001256200011f366004620021c5565b6200039e565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b3480156200015c57600080fd5b50620001746200016e366004620021c5565b620003cf565b005b3480156200018357600080fd5b506200017462000195366004620021e3565b6200055b565b348015620001a857600080fd5b5062000174620001ba366004620021c5565b62000697565b348015620001cd57600080fd5b50606554620001259073ffffffffffffffffffffffffffffffffffffffff1681565b6200017462000200366004620022e5565b620008a5565b3480156200021357600080fd5b506200021e62000aa4565b60405190815260200162000146565b3480156200023a57600080fd5b50620001256200024c366004620023cc565b62000b92565b3480156200025f57600080fd5b506200017462000271366004620021c5565b62000f81565b3480156200028457600080fd5b50620001257f000000000000000000000000000000000000000000000000000000000000000081565b348015620002ba57600080fd5b5062000174620002cc366004620021c5565b620010ee565b348015620002df57600080fd5b5062000125620002f1366004620021c5565b6200134c565b3480156200030457600080fd5b506200017462000316366004620021c5565b6200137b565b3480156200032957600080fd5b50620003416200033b366004620021c5565b620014aa565b604051901515815260200162000146565b3480156200035f57600080fd5b507f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b65473ffffffffffffffffffffffffffffffffffffffff1662000125565b600080620003ac83620014e7565b54610100900473ffffffffffffffffffffffffffffffffffffffff169392505050565b6000620003dd813362001561565b62000422576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b6200046473ffffffffffffffffffffffffffffffffffffffff83167f7965db0b000000000000000000000000000000000000000000000000000000006200162e565b620004cc576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c000000000000000000000000000000000000604482015260640162000419565b7f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811782556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a2505050565b60006200056883620014e7565b8054909150610100900473ffffffffffffffffffffffffffffffffffffffff163314620005c1576040517f14d325a600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff82166200060f576040517f19f28cd700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84811691821790925560408051928616835260208301919091527f9d1eed91033af603ca90974d7f9dcffdc1a38de6e354262a1cd59243e6997f6091015b60405180910390a1505050565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630036200075e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c0000000000000000000000000000000000000000606482015260840162000419565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16620007d47f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff161462000879576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f78790000000000000000000000000000000000000000606482015260840162000419565b620008848162001656565b60408051600080825260208201909252620008a291839190620016c4565b50565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630036200096c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c0000000000000000000000000000000000000000606482015260840162000419565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16620009e27f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff161462000a87576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f78790000000000000000000000000000000000000000606482015260840162000419565b62000a928262001656565b62000aa082826001620016c4565b5050565b60003073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161462000b6d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c0000000000000000606482015260840162000419565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b600073ffffffffffffffffffffffffffffffffffffffff881662000be2576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60655462000c069073ffffffffffffffffffffffffffffffffffffffff16620018d4565b6040517f4cd88b7600000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff821690634cd88b769062000c63908a908a908a908a90600401620024fd565b600060405180830381600087803b15801562000c7e57600080fd5b505af115801562000c93573d6000803e3d6000fd5b50505050600062000ca36200199e565b60408051606081018252600180825273ffffffffffffffffffffffffffffffffffffffff8d8116602080850191825260008587018181528a851682528883528782209651875494517fffffffffffffffffffffff0000000000000000000000000000000000000000009095169015157fffffffffffffffffffffff0000000000000000000000000000000000000000ff16176101009486169490940293909317865591519490930180547fffffffffffffffffffffffff000000000000000000000000000000000000000016949092169390931790559151929350917f9aeb830ec91a14c97a5446cc7c86a42f73a78f37f9a77afa238b5d11520ddfbc9162000db1918891889101620025df565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905262000def929160200162002667565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181528282018252601383527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602084015290517fe1fc45ce00000000000000000000000000000000000000000000000000000000815290925073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163e1fc45ce9162000ec4918791309190879060040162002682565b6000604051808303816000875af115801562000ee4573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405262000f2c9190810190620026d1565b507f81e084d978860accc83df39f75b801d9019e40d18643b9b39f4cd2a70ca35adb8a848b8b8b8b8b8b60405162000f6c98979695949392919062002751565b60405180910390a15050979650505050505050565b600062000f8e82620014e7565b600181015490915073ffffffffffffffffffffffffffffffffffffffff16331462000fe5576040517f14d325a600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80546001820180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055336101009081027fffffffffffffffffffffff0000000000000000000000000000000000000000ff83161783556040805173ffffffffffffffffffffffffffffffffffffffff86811682526000602083015292909304909116917f9d1eed91033af603ca90974d7f9dcffdc1a38de6e354262a1cd59243e6997f60910160405180910390a16040805173ffffffffffffffffffffffffffffffffffffffff80861682528316602082015233918101919091527fa32ba34dcc7e0ace14cb99fb86f246e799dc1c9f82f03fc23290320b958e4af7906060016200068a565b600054610100900460ff16158080156200110f5750600054600160ff909116105b806200112b5750303b1580156200112b575060005460ff166001145b620011b9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840162000419565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156200121857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b307f0000000000000000000000000000000000000000000000000000000000000000604051620012489062002192565b73ffffffffffffffffffffffffffffffffffffffff928316815291166020820152604001604051809103906000f08015801562001289573d6000803e3d6000fd5b50606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055620012d9620019ce565b620012e48262001a69565b801562000aa057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15050565b6000806200135a83620014e7565b6001015473ffffffffffffffffffffffffffffffffffffffff169392505050565b60006200138882620014e7565b8054909150610100900473ffffffffffffffffffffffffffffffffffffffff163314620013e1576040517f14d325a600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600181015473ffffffffffffffffffffffffffffffffffffffff1662001433576040517f82fcfdf400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001690556040805173ffffffffffffffffffffffffffffffffffffffff84168152600060208201527f9d1eed91033af603ca90974d7f9dcffdc1a38de6e354262a1cd59243e6997f60910162001340565b600080620014b76200199e565b73ffffffffffffffffffffffffffffffffffffffff90931660009081526020939093525050604090205460ff1690565b600080620014f46200199e565b73ffffffffffffffffffffffffffffffffffffffff84166000908152602082905260409020805490935090915060ff166200155b576040517ff8e2020300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50919050565b6000807f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810187905273ffffffffffffffffffffffffffffffffffffffff86811660248301529293509116906391d1485490604401602060405180830381865afa158015620015fe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620016249190620027c8565b9150505b92915050565b60006200163b8362001d29565b80156200164f57506200164f838362001d92565b9392505050565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e362001683813362001561565b62000aa0576040517f75000dc00000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440162000419565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615620016ff57620016fa8362001e63565b505050565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562001787575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526200178491810190620027ec565b60015b62001815576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f742055555053000000000000000000000000000000000000606482015260840162000419565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114620018c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c65555549440000000000000000000000000000000000000000000000606482015260840162000419565b50620016fa83838362001f6f565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008260601b60e81c176000526e5af43d82803e903d91602b57fd5bf38260781b17602052603760096000f0905073ffffffffffffffffffffffffffffffffffffffff811662001999576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f455243313136373a20637265617465206661696c656400000000000000000000604482015260640162000419565b919050565b6000806200162860017f8d6a35d81367c6224789d71f67c0286162ba180a6bdb769f04c214735cdb8ce162002806565b600054610100900460ff1662001a67576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840162000419565b565b600054610100900460ff161580801562001a8a5750600054600160ff909116105b8062001aa65750303b15801562001aa6575060005460ff166001145b62001b34576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840162000419565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801562001b9357600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b62001bd573ffffffffffffffffffffffffffffffffffffffff83167f7965db0b000000000000000000000000000000000000000000000000000000006200162e565b62001c3d576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c000000000000000000000000000000000000604482015260640162000419565b7f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811782556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a250801562000aa057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200162001340565b600062001d57827f01ffc9a70000000000000000000000000000000000000000000000000000000062001d92565b801562001628575062001d8b827fffffffff0000000000000000000000000000000000000000000000000000000062001d92565b1592915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d9150600051905082801562001e4b575060208210155b801562001e585750600081115b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff81163b62001f09576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e747261637400000000000000000000000000000000000000606482015260840162000419565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b62001f7a8362001fa0565b60008251118062001f885750805b15620016fa5762001f9a838362001fef565b50505050565b62001fab8162001e63565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606200164f8383604051806060016040528060278152602001620055ae6027913960606000808573ffffffffffffffffffffffffffffffffffffffff16856040516200203d919062002841565b600060405180830381855af49150503d80600081146200207a576040519150601f19603f3d011682016040523d82523d6000602084013e6200207f565b606091505b509150915062002092868383876200209c565b9695505050505050565b60608315620021375782516000036200212f5773ffffffffffffffffffffffffffffffffffffffff85163b6200212f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640162000419565b508162002143565b6200214383836200214b565b949350505050565b8151156200215c5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200041991906200285f565b612d39806200287583390190565b803573ffffffffffffffffffffffffffffffffffffffff811681146200199957600080fd5b600060208284031215620021d857600080fd5b6200164f82620021a0565b60008060408385031215620021f757600080fd5b6200220283620021a0565b91506200221260208401620021a0565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156200229457620022946200221b565b604052919050565b600067ffffffffffffffff821115620022b957620022b96200221b565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60008060408385031215620022f957600080fd5b6200230483620021a0565b9150602083013567ffffffffffffffff8111156200232157600080fd5b8301601f810185136200233357600080fd5b80356200234a62002344826200229c565b6200224a565b8181528660208385010111156200236057600080fd5b816020840160208301376000602083830101528093505050509250929050565b60008083601f8401126200239357600080fd5b50813567ffffffffffffffff811115620023ac57600080fd5b602083019150836020828501011115620023c557600080fd5b9250929050565b60008060008060008060006080888a031215620023e857600080fd5b620023f388620021a0565b9650602088013567ffffffffffffffff808211156200241157600080fd5b6200241f8b838c0162002380565b909850965060408a01359150808211156200243957600080fd5b620024478b838c0162002380565b909650945060608a01359150808211156200246157600080fd5b818a0191508a601f8301126200247657600080fd5b8135818111156200248657600080fd5b8b60208260051b85010111156200249c57600080fd5b60208301945080935050505092959891949750929550565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60408152600062002513604083018688620024b4565b828103602084015262001e58818587620024b4565b81835260006020808501808196508560051b810191508460005b87811015620025d257828403895281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18836030181126200258357600080fd5b8701858101903567ffffffffffffffff811115620025a057600080fd5b803603821315620025b057600080fd5b620025bd868284620024b4565b9a87019a955050509084019060010162002542565b5091979650505050505050565b6020815260006200214360208301848662002528565b60005b8381101562002612578181015183820152602001620025f8565b50506000910152565b6000815180845262002635816020860160208601620025f5565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b8281526040602082015260006200214360408301846200261b565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525060806040830152620026bd60808301856200261b565b828103606084015262001e5881856200261b565b600060208284031215620026e457600080fd5b815167ffffffffffffffff811115620026fc57600080fd5b8201601f810184136200270e57600080fd5b80516200271f62002344826200229c565b8181528560208385010111156200273557600080fd5b62002748826020830160208601620025f5565b95945050505050565b600073ffffffffffffffffffffffffffffffffffffffff808b168352808a1660208401525060a060408301526200278d60a08301888a620024b4565b8281036060840152620027a2818789620024b4565b90508281036080840152620027b981858762002528565b9b9a5050505050505050505050565b600060208284031215620027db57600080fd5b815180151581146200164f57600080fd5b600060208284031215620027ff57600080fd5b5051919050565b8181038181111562001628577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000825162002855818460208701620025f5565b9190910192915050565b6020815260006200164f60208301846200261b56fe60c06040523480156200001157600080fd5b5060405162002d3938038062002d3983398101604081905262000034916200017d565b600054610100900460ff1615808015620000555750600054600160ff909116105b80620000715750303b15801562000071575060005460ff166001145b620000d95760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b6000805460ff191660011790558015620000fd576000805461ff0019166101001790555b6001600160a01b0380841660a0528216608052801562000157576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050620001b5565b80516001600160a01b03811681146200017857600080fd5b919050565b600080604083850312156200019157600080fd5b6200019c8362000160565b9150620001ac6020840162000160565b90509250929050565b60805160a051612b2662000213600039600081816103c101528181610b0f015261107b01526000818161031101528181610784015281816108dc01528181610cb701528181610e37015281816112ac015261147e0152612b266000f3fe608060405234801561001057600080fd5b50600436106101985760003560e01c806370a08231116100e3578063c3cc244a1161008c578063e985e9c511610066578063e985e9c514610373578063ee0fc121146103bc578063f3f6f0d7146103e357600080fd5b8063c3cc244a14610333578063c87b56dd14610358578063e8a3d4851461036b57600080fd5b8063a22cb465116100bd578063a22cb465146102e6578063b88d4fde146102f9578063b95ddb521461030c57600080fd5b806370a08231146102c35780638da5cb5b146102d657806395d89b41146102de57600080fd5b806342842e0e11610145578063626273a11161011f578063626273a11461028a5780636352211e1461029d578063691562a0146102b057600080fd5b806342842e0e1461025157806342966c68146102645780634cd88b761461027757600080fd5b8063095ea7b311610176578063095ea7b31461021257806318160ddd1461022757806323b872dd1461023e57600080fd5b806301ffc9a71461019d57806306fdde03146101c5578063081812fc146101da575b600080fd5b6101b06101ab36600461235b565b6103ec565b60405190151581526020015b60405180910390f35b6101cd6104d1565b6040516101bc91906123e6565b6101ed6101e83660046123f9565b610563565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101bc565b610225610220366004612434565b610597565b005b61023060985481565b6040519081526020016101bc565b61022561024c366004612460565b610728565b61022561025f366004612460565b610865565b6102256102723660046123f9565b610880565b6102256102853660046124ea565b6109d3565b6102306102983660046123f9565b610c43565b6101ed6102ab3660046123f9565b610dcd565b6102306102be366004612556565b610dd8565b6102306102d1366004612595565b610f7c565b6101ed61104a565b6101cd611100565b6102256102f43660046125b2565b61110f565b6102256103073660046126a9565b61111e565b6101ed7f000000000000000000000000000000000000000000000000000000000000000081565b6103466103413660046123f9565b6111c6565b60405160ff90911681526020016101bc565b6101cd6103663660046123f9565b611237565b6101cd611409565b6101b0610381366004612758565b73ffffffffffffffffffffffffffffffffffffffff9182166000908152606a6020908152604080832093909416825291909152205460ff1690565b6101ed7f000000000000000000000000000000000000000000000000000000000000000081565b61023060975481565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061047f57507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b806104cb57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6060606580546104e090612786565b80601f016020809104026020016040519081016040528092919081815260200182805461050c90612786565b80156105595780601f1061052e57610100808354040283529160200191610559565b820191906000526020600020905b81548152906001019060200180831161053c57829003601f168201915b5050505050905090565b600061056e826115aa565b5060009081526069602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60006105a282611635565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610664576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff8216148061068d575061068d8133610381565b610719576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000606482015260840161065b565b61072383836116c1565b505050565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815233917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a916107cc916004016123e6565b602060405180830381865afa1580156107e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061080d91906127d9565b73ffffffffffffffffffffffffffffffffffffffff161461085a576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610723838383611761565b6107238383836040518060200160405280600081525061111e565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815233917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a91610924916004016123e6565b602060405180830381865afa158015610941573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061096591906127d9565b73ffffffffffffffffffffffffffffffffffffffff16146109b2576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b609880549060006109c283612825565b91905055506109d081611a5c565b50565b600054610100900460ff16158080156109f35750600054600160ff909116105b80610a0d5750303b158015610a0d575060005460ff166001145b610a99576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840161065b565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610af757600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610b66576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610bd985858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f89018190048102820181019092528781529250879150869081908401838280828437600092019190915250611b3492505050565b8015610c3c57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a000000000000000000000000000000000000000000000000000000008152600091829173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a91610ceb91906004016123e6565b602060405180830381865afa158015610d08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d2c91906127d9565b6040517f5f32b4300000000000000000000000000000000000000000000000000000000081523060048201526024810185905290915073ffffffffffffffffffffffffffffffffffffffff821690635f32b430906044016020604051808303816000875af1158015610da2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dc6919061285a565b9392505050565b60006104cb82611635565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260009133917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a91610e8091906004016123e6565b602060405180830381865afa158015610e9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec191906127d9565b73ffffffffffffffffffffffffffffffffffffffff1614610f0e576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60988054906000610f1e83612873565b9190505550609760008154610f3290612873565b9182905550600081815260996020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff851617905590506104cb8382611bd5565b600073ffffffffffffffffffffffffffffffffffffffff8216611021576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e65720000000000000000000000000000000000000000000000606482015260840161065b565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526068602052604090205490565b6040517f14afd79e0000000000000000000000000000000000000000000000000000000081523060048201526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906314afd79e90602401602060405180830381865afa1580156110d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110fb91906127d9565b905090565b6060606680546104e090612786565b61111a338383611dfa565b5050565b6111283383611f27565b6111b4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f76656400000000000000000000000000000000000000606482015260840161065b565b6111c084848484611fe7565b50505050565b60008181526067602052604081205473ffffffffffffffffffffffffffffffffffffffff16611221576040517f6831df8d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060009081526099602052604090205460ff1690565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260609160009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a916112e091906004016123e6565b602060405180830381865afa1580156112fd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061132191906127d9565b90508073ffffffffffffffffffffffffffffffffffffffff1663e8d72654308561134a876111c6565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815273ffffffffffffffffffffffffffffffffffffffff9093166004840152602483019190915260ff166044820152606401600060405180830381865afa1580156113c3573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610dc691908101906128ab565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260609160009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a916114b291906004016123e6565b602060405180830381865afa1580156114cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114f391906127d9565b6040517e844d1300000000000000000000000000000000000000000000000000000000815230600482015290915073ffffffffffffffffffffffffffffffffffffffff82169062844d1390602401600060405180830381865afa15801561155e573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526115a491908101906128ab565b91505090565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff166109d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e2049440000000000000000604482015260640161065b565b60008181526067602052604081205473ffffffffffffffffffffffffffffffffffffffff16806104cb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e2049440000000000000000604482015260640161065b565b600081815260696020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117909155819061171b82611635565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b8273ffffffffffffffffffffffffffffffffffffffff1661178182611635565b73ffffffffffffffffffffffffffffffffffffffff1614611824576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e6572000000000000000000000000000000000000000000000000000000606482015260840161065b565b73ffffffffffffffffffffffffffffffffffffffff82166118c6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161065b565b8273ffffffffffffffffffffffffffffffffffffffff166118e682611635565b73ffffffffffffffffffffffffffffffffffffffff1614611989576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e6572000000000000000000000000000000000000000000000000000000606482015260840161065b565b600081815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff8781168086526068855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905590871680865283862080546001019055868652606790945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6000611a6782611635565b9050611a7282611635565b600083815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff85168085526068845282852080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190558785526067909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b600054610100900460ff16611bcb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161065b565b61111a828261208a565b73ffffffffffffffffffffffffffffffffffffffff8216611c52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161065b565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff1615611cde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161065b565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff1615611d6a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161065b565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260686020908152604080832080546001019055848352606790915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611e8f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161065b565b73ffffffffffffffffffffffffffffffffffffffff8381166000818152606a602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b600080611f3383611635565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611fa1575073ffffffffffffffffffffffffffffffffffffffff8082166000908152606a602090815260408083209388168352929052205460ff165b80611fdf57508373ffffffffffffffffffffffffffffffffffffffff16611fc784610563565b73ffffffffffffffffffffffffffffffffffffffff16145b949350505050565b611ff2848484611761565b611ffe8484848461213a565b6111c0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e7465720000000000000000000000000000606482015260840161065b565b600054610100900460ff16612121576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161065b565b606561212d8382612970565b5060666107238282612970565b600073ffffffffffffffffffffffffffffffffffffffff84163b15612322576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a02906121b1903390899088908890600401612a8a565b6020604051808303816000875af192505050801561220a575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261220791810190612ad3565b60015b6122d7573d808015612238576040519150601f19603f3d011682016040523d82523d6000602084013e61223d565b606091505b5080516000036122cf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e7465720000000000000000000000000000606482015260840161065b565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050611fdf565b506001949350505050565b7fffffffff00000000000000000000000000000000000000000000000000000000811681146109d057600080fd5b60006020828403121561236d57600080fd5b8135610dc68161232d565b60005b8381101561239357818101518382015260200161237b565b50506000910152565b600081518084526123b4816020860160208601612378565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610dc6602083018461239c565b60006020828403121561240b57600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff811681146109d057600080fd5b6000806040838503121561244757600080fd5b823561245281612412565b946020939093013593505050565b60008060006060848603121561247557600080fd5b833561248081612412565b9250602084013561249081612412565b929592945050506040919091013590565b60008083601f8401126124b357600080fd5b50813567ffffffffffffffff8111156124cb57600080fd5b6020830191508360208285010111156124e357600080fd5b9250929050565b6000806000806040858703121561250057600080fd5b843567ffffffffffffffff8082111561251857600080fd5b612524888389016124a1565b9096509450602087013591508082111561253d57600080fd5b5061254a878288016124a1565b95989497509550505050565b6000806040838503121561256957600080fd5b823561257481612412565b9150602083013560ff8116811461258a57600080fd5b809150509250929050565b6000602082840312156125a757600080fd5b8135610dc681612412565b600080604083850312156125c557600080fd5b82356125d081612412565b91506020830135801515811461258a57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561265b5761265b6125e5565b604052919050565b600067ffffffffffffffff82111561267d5761267d6125e5565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600080600080608085870312156126bf57600080fd5b84356126ca81612412565b935060208501356126da81612412565b925060408501359150606085013567ffffffffffffffff8111156126fd57600080fd5b8501601f8101871361270e57600080fd5b803561272161271c82612663565b612614565b81815288602083850101111561273657600080fd5b8160208401602083013760006020838301015280935050505092959194509250565b6000806040838503121561276b57600080fd5b823561277681612412565b9150602083013561258a81612412565b600181811c9082168061279a57607f821691505b6020821081036127d3577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b6000602082840312156127eb57600080fd5b8151610dc681612412565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600081612834576128346127f6565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b60006020828403121561286c57600080fd5b5051919050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036128a4576128a46127f6565b5060010190565b6000602082840312156128bd57600080fd5b815167ffffffffffffffff8111156128d457600080fd5b8201601f810184136128e557600080fd5b80516128f361271c82612663565b81815285602083850101111561290857600080fd5b612919826020830160208601612378565b95945050505050565b601f82111561072357600081815260208120601f850160051c810160208610156129495750805b601f850160051c820191505b8181101561296857828155600101612955565b505050505050565b815167ffffffffffffffff81111561298a5761298a6125e5565b61299e816129988454612786565b84612922565b602080601f8311600181146129f157600084156129bb5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555612968565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015612a3e57888601518255948401946001909101908401612a1f565b5085821015612a7a57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525083604083015260806060830152612ac9608083018461239c565b9695505050505050565b600060208284031215612ae557600080fd5b8151610dc68161232d56fea26469706673582212202f539941999670b371ba76bce5df1736fd82afb2c9c939e8219ae46e05215f2064736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220c5ad7174fbcec6fe1a447b9d3bc0f95e4d23c7be87864477488c24c33653be3664736f6c6343000813003300000000000000000000000051870a0659a87c7b46baef7311b3128006e1fb16", + "nonce": "0x7fd", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x23a9b55f090db2b42a8eecd0d860389790e13ae95d7c16651550c6f5f8d9434f", + "transactionType": "CREATE", + "contractName": "ERC1967Proxy", + "contractAddress": "0xC4F7E87F9FF2A2DF9bC7FF8399558B594EBF911A", + "function": null, + "arguments": [ + "0x9Be54430f2962a115353Ad2e8c62A106bBe71849", + "0xc4d66de8000000000000000000000000518ccd79e0e7b75fd5fcc09463fb09cb7d55470d" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x316ce5", + "value": "0x0", + "data": "0x60806040526040516104ee3803806104ee833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c760279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60be806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea264697066735822122091c81c9b8ac755a7e1e08c0e9f65600d21e642457fb84c7f9e0d0a65b62d269064736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c65640000000000000000000000009be54430f2962a115353ad2e8c62a106bbe7184900000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de8000000000000000000000000518ccd79e0e7b75fd5fcc09463fb09cb7d55470d00000000000000000000000000000000000000000000000000000000", + "nonce": "0x7fe", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0x32ef4938e99BBD517F1f673470270aeedE017a7a", + "initCode": "60c06040523480156200001157600080fd5b5060405162002d3938038062002d3983398101604081905262000034916200017d565b600054610100900460ff1615808015620000555750600054600160ff909116105b80620000715750303b15801562000071575060005460ff166001145b620000d95760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b6000805460ff191660011790558015620000fd576000805461ff0019166101001790555b6001600160a01b0380841660a0528216608052801562000157576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050620001b5565b80516001600160a01b03811681146200017857600080fd5b919050565b600080604083850312156200019157600080fd5b6200019c8362000160565b9150620001ac6020840162000160565b90509250929050565b60805160a051612b2662000213600039600081816103c101528181610b0f015261107b01526000818161031101528181610784015281816108dc01528181610cb701528181610e37015281816112ac015261147e0152612b266000f3fe608060405234801561001057600080fd5b50600436106101985760003560e01c806370a08231116100e3578063c3cc244a1161008c578063e985e9c511610066578063e985e9c514610373578063ee0fc121146103bc578063f3f6f0d7146103e357600080fd5b8063c3cc244a14610333578063c87b56dd14610358578063e8a3d4851461036b57600080fd5b8063a22cb465116100bd578063a22cb465146102e6578063b88d4fde146102f9578063b95ddb521461030c57600080fd5b806370a08231146102c35780638da5cb5b146102d657806395d89b41146102de57600080fd5b806342842e0e11610145578063626273a11161011f578063626273a11461028a5780636352211e1461029d578063691562a0146102b057600080fd5b806342842e0e1461025157806342966c68146102645780634cd88b761461027757600080fd5b8063095ea7b311610176578063095ea7b31461021257806318160ddd1461022757806323b872dd1461023e57600080fd5b806301ffc9a71461019d57806306fdde03146101c5578063081812fc146101da575b600080fd5b6101b06101ab36600461235b565b6103ec565b60405190151581526020015b60405180910390f35b6101cd6104d1565b6040516101bc91906123e6565b6101ed6101e83660046123f9565b610563565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101bc565b610225610220366004612434565b610597565b005b61023060985481565b6040519081526020016101bc565b61022561024c366004612460565b610728565b61022561025f366004612460565b610865565b6102256102723660046123f9565b610880565b6102256102853660046124ea565b6109d3565b6102306102983660046123f9565b610c43565b6101ed6102ab3660046123f9565b610dcd565b6102306102be366004612556565b610dd8565b6102306102d1366004612595565b610f7c565b6101ed61104a565b6101cd611100565b6102256102f43660046125b2565b61110f565b6102256103073660046126a9565b61111e565b6101ed7f000000000000000000000000000000000000000000000000000000000000000081565b6103466103413660046123f9565b6111c6565b60405160ff90911681526020016101bc565b6101cd6103663660046123f9565b611237565b6101cd611409565b6101b0610381366004612758565b73ffffffffffffffffffffffffffffffffffffffff9182166000908152606a6020908152604080832093909416825291909152205460ff1690565b6101ed7f000000000000000000000000000000000000000000000000000000000000000081565b61023060975481565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061047f57507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b806104cb57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6060606580546104e090612786565b80601f016020809104026020016040519081016040528092919081815260200182805461050c90612786565b80156105595780601f1061052e57610100808354040283529160200191610559565b820191906000526020600020905b81548152906001019060200180831161053c57829003601f168201915b5050505050905090565b600061056e826115aa565b5060009081526069602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60006105a282611635565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610664576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff8216148061068d575061068d8133610381565b610719576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000606482015260840161065b565b61072383836116c1565b505050565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815233917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a916107cc916004016123e6565b602060405180830381865afa1580156107e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061080d91906127d9565b73ffffffffffffffffffffffffffffffffffffffff161461085a576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610723838383611761565b6107238383836040518060200160405280600081525061111e565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815233917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a91610924916004016123e6565b602060405180830381865afa158015610941573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061096591906127d9565b73ffffffffffffffffffffffffffffffffffffffff16146109b2576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b609880549060006109c283612825565b91905055506109d081611a5c565b50565b600054610100900460ff16158080156109f35750600054600160ff909116105b80610a0d5750303b158015610a0d575060005460ff166001145b610a99576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840161065b565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610af757600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610b66576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610bd985858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f89018190048102820181019092528781529250879150869081908401838280828437600092019190915250611b3492505050565b8015610c3c57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a000000000000000000000000000000000000000000000000000000008152600091829173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a91610ceb91906004016123e6565b602060405180830381865afa158015610d08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d2c91906127d9565b6040517f5f32b4300000000000000000000000000000000000000000000000000000000081523060048201526024810185905290915073ffffffffffffffffffffffffffffffffffffffff821690635f32b430906044016020604051808303816000875af1158015610da2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dc6919061285a565b9392505050565b60006104cb82611635565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260009133917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a91610e8091906004016123e6565b602060405180830381865afa158015610e9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec191906127d9565b73ffffffffffffffffffffffffffffffffffffffff1614610f0e576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60988054906000610f1e83612873565b9190505550609760008154610f3290612873565b9182905550600081815260996020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff851617905590506104cb8382611bd5565b600073ffffffffffffffffffffffffffffffffffffffff8216611021576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e65720000000000000000000000000000000000000000000000606482015260840161065b565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526068602052604090205490565b6040517f14afd79e0000000000000000000000000000000000000000000000000000000081523060048201526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906314afd79e90602401602060405180830381865afa1580156110d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110fb91906127d9565b905090565b6060606680546104e090612786565b61111a338383611dfa565b5050565b6111283383611f27565b6111b4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f76656400000000000000000000000000000000000000606482015260840161065b565b6111c084848484611fe7565b50505050565b60008181526067602052604081205473ffffffffffffffffffffffffffffffffffffffff16611221576040517f6831df8d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060009081526099602052604090205460ff1690565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260609160009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a916112e091906004016123e6565b602060405180830381865afa1580156112fd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061132191906127d9565b90508073ffffffffffffffffffffffffffffffffffffffff1663e8d72654308561134a876111c6565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815273ffffffffffffffffffffffffffffffffffffffff9093166004840152602483019190915260ff166044820152606401600060405180830381865afa1580156113c3573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610dc691908101906128ab565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260609160009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a916114b291906004016123e6565b602060405180830381865afa1580156114cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114f391906127d9565b6040517e844d1300000000000000000000000000000000000000000000000000000000815230600482015290915073ffffffffffffffffffffffffffffffffffffffff82169062844d1390602401600060405180830381865afa15801561155e573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526115a491908101906128ab565b91505090565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff166109d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e2049440000000000000000604482015260640161065b565b60008181526067602052604081205473ffffffffffffffffffffffffffffffffffffffff16806104cb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e2049440000000000000000604482015260640161065b565b600081815260696020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117909155819061171b82611635565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b8273ffffffffffffffffffffffffffffffffffffffff1661178182611635565b73ffffffffffffffffffffffffffffffffffffffff1614611824576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e6572000000000000000000000000000000000000000000000000000000606482015260840161065b565b73ffffffffffffffffffffffffffffffffffffffff82166118c6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161065b565b8273ffffffffffffffffffffffffffffffffffffffff166118e682611635565b73ffffffffffffffffffffffffffffffffffffffff1614611989576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e6572000000000000000000000000000000000000000000000000000000606482015260840161065b565b600081815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff8781168086526068855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905590871680865283862080546001019055868652606790945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6000611a6782611635565b9050611a7282611635565b600083815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff85168085526068845282852080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190558785526067909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b600054610100900460ff16611bcb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161065b565b61111a828261208a565b73ffffffffffffffffffffffffffffffffffffffff8216611c52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161065b565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff1615611cde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161065b565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff1615611d6a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161065b565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260686020908152604080832080546001019055848352606790915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611e8f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161065b565b73ffffffffffffffffffffffffffffffffffffffff8381166000818152606a602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b600080611f3383611635565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611fa1575073ffffffffffffffffffffffffffffffffffffffff8082166000908152606a602090815260408083209388168352929052205460ff165b80611fdf57508373ffffffffffffffffffffffffffffffffffffffff16611fc784610563565b73ffffffffffffffffffffffffffffffffffffffff16145b949350505050565b611ff2848484611761565b611ffe8484848461213a565b6111c0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e7465720000000000000000000000000000606482015260840161065b565b600054610100900460ff16612121576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161065b565b606561212d8382612970565b5060666107238282612970565b600073ffffffffffffffffffffffffffffffffffffffff84163b15612322576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a02906121b1903390899088908890600401612a8a565b6020604051808303816000875af192505050801561220a575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261220791810190612ad3565b60015b6122d7573d808015612238576040519150601f19603f3d011682016040523d82523d6000602084013e61223d565b606091505b5080516000036122cf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e7465720000000000000000000000000000606482015260840161065b565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050611fdf565b506001949350505050565b7fffffffff00000000000000000000000000000000000000000000000000000000811681146109d057600080fd5b60006020828403121561236d57600080fd5b8135610dc68161232d565b60005b8381101561239357818101518382015260200161237b565b50506000910152565b600081518084526123b4816020860160208601612378565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610dc6602083018461239c565b60006020828403121561240b57600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff811681146109d057600080fd5b6000806040838503121561244757600080fd5b823561245281612412565b946020939093013593505050565b60008060006060848603121561247557600080fd5b833561248081612412565b9250602084013561249081612412565b929592945050506040919091013590565b60008083601f8401126124b357600080fd5b50813567ffffffffffffffff8111156124cb57600080fd5b6020830191508360208285010111156124e357600080fd5b9250929050565b6000806000806040858703121561250057600080fd5b843567ffffffffffffffff8082111561251857600080fd5b612524888389016124a1565b9096509450602087013591508082111561253d57600080fd5b5061254a878288016124a1565b95989497509550505050565b6000806040838503121561256957600080fd5b823561257481612412565b9150602083013560ff8116811461258a57600080fd5b809150509250929050565b6000602082840312156125a757600080fd5b8135610dc681612412565b600080604083850312156125c557600080fd5b82356125d081612412565b91506020830135801515811461258a57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561265b5761265b6125e5565b604052919050565b600067ffffffffffffffff82111561267d5761267d6125e5565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600080600080608085870312156126bf57600080fd5b84356126ca81612412565b935060208501356126da81612412565b925060408501359150606085013567ffffffffffffffff8111156126fd57600080fd5b8501601f8101871361270e57600080fd5b803561272161271c82612663565b612614565b81815288602083850101111561273657600080fd5b8160208401602083013760006020838301015280935050505092959194509250565b6000806040838503121561276b57600080fd5b823561277681612412565b9150602083013561258a81612412565b600181811c9082168061279a57607f821691505b6020821081036127d3577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b6000602082840312156127eb57600080fd5b8151610dc681612412565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600081612834576128346127f6565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b60006020828403121561286c57600080fd5b5051919050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036128a4576128a46127f6565b5060010190565b6000602082840312156128bd57600080fd5b815167ffffffffffffffff8111156128d457600080fd5b8201601f810184136128e557600080fd5b80516128f361271c82612663565b81815285602083850101111561290857600080fd5b612919826020830160208601612378565b95945050505050565b601f82111561072357600081815260208120601f850160051c810160208610156129495750805b601f850160051c820191505b8181101561296857828155600101612955565b505050505050565b815167ffffffffffffffff81111561298a5761298a6125e5565b61299e816129988454612786565b84612922565b602080601f8311600181146129f157600084156129bb5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555612968565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015612a3e57888601518255948401946001909101908401612a1f565b5085821015612a7a57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525083604083015260806060830152612ac9608083018461239c565b9695505050505050565b600060208284031215612ae557600080fd5b8151610dc68161232d56fea26469706673582212202f539941999670b371ba76bce5df1736fd82afb2c9c939e8219ae46e05215f2064736f6c63430008130033000000000000000000000000c4f7e87f9ff2a2df9bc7ff8399558b594ebf911a00000000000000000000000051870a0659a87c7b46baef7311b3128006e1fb16" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0x3f1232fc659c4a138d1986e263b91319bb7d1cfd0a1aabdea21de303fa36756f", + "transactionType": "CREATE", + "contractName": "StoryProtocol", + "contractAddress": "0x25A6f44df208E8Cc79E97fE72E240F4cDb3D9a46", + "function": null, + "arguments": [ + "0xC4F7E87F9FF2A2DF9bC7FF8399558B594EBF911A", + "0x51870A0659A87c7B46baEF7311B3128006E1FB16" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x29960b", + "value": "0x0", + "data": "0x60c06040523480156200001157600080fd5b5060405162002667380380620026678339810160408190526200003491620000a2565b6001600160a01b03821615806200005257506001600160a01b038116155b15620000715760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b039182166080521660a052620000e1565b6001600160a01b03811681146200009f57600080fd5b50565b60008060408385031215620000b657600080fd5b8251620000c38162000089565b6020840151909250620000d68162000089565b809150509250929050565b60805160a05161250c6200015b600039600081816102530152818161036e0152818161044c015281816105aa015281816106f101528181610953015281816109dd01528181610bf101528181610df401528181610f800152818161107201526112950152600081816101750152610b5c015261250c6000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c806398e8e6ea11610097578063b108e1c611610066578063b108e1c61461023b578063b95ddb521461024e578063ce75e7fc14610275578063eb3b0cba1461028857600080fd5b806398e8e6ea146101e2578063a3a0428f146101f5578063a5823a3714610208578063ac9650d81461021b57600080fd5b80634d343a45116100d35780634d343a451461015d57806351e06b90146101705780635a5173bd146101bc5780637a103e33146101cf57600080fd5b806317031df1146100fa5780632d26ff3e146101275780633d20e00d1461013c575b600080fd5b61010d61010836600461154a565b61029b565b604080519283526020830191909152015b60405180910390f35b61013a6101353660046115f1565b610435565b005b61014f61014a36600461163e565b610581565b60405190815260200161011e565b61013a61016b36600461168b565b6106ef565b6101977f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161011e565b61013a6101ca3660046116b7565b610884565b61013a6101dd36600461174e565b6109db565b6101976101f0366004611796565b610b1c565b61014f61020336600461154a565b610bec565b61013a610216366004611843565b610d07565b61022e6102293660046118f4565b610e89565b60405161011e91906119db565b61013a6102493660046119ee565b610f7e565b6101977f000000000000000000000000000000000000000000000000000000000000000081565b61013a610283366004611a3e565b611070565b61013a610296366004611a73565b6111c2565b60008060007fe761f303268b55a3dc96719551acb95ca3bd1ebeef4b720be68dd92563627a3f886040516020016102d29190611b9b565b60408051601f19818403018152908290526102f09291602001611c30565b60408051601f198184030181528282018252601383527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602084015290517fb38609e800000000000000000000000000000000000000000000000000000000815290925060009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163b38609e8916103af918e91339188908f908f908f908f90600401611c99565b6000604051808303816000875af11580156103ce573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103f69190810190611d4c565b9050805160000361040f5760008093509350505061042a565b808060200190518101906104239190611df9565b9350935050505b965096945050505050565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001663e1fc45ce6104816040840160208501611e1d565b336040518060400160405280601381526020017f52454c4154494f4e534849505f4d4f44554c45000000000000000000000000008152507f99bf0fbd60208ca164accd299e2c0a8b4475c1a2df53c2d7160870f682536528866040516020016104ea9190611f2c565b60408051601f19818403018152908290526105089291602001611c30565b6040516020818303038152906040526040518563ffffffff1660e01b81526004016105369493929190611fff565b6000604051808303816000875af1158015610555573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261057d9190810190611d4c565b5050565b6000808660405160200161059591906120ee565b604051602081830303815290604052905060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663b38609e88a336040518060400160405280601081526020017f4c4943454e53494e475f4d4f44554c45000000000000000000000000000000008152507f3f92a83f1dd77188c62fa393a54ccf9854be836ca6c243397d0acbbce04723878760405160200161064f929190611c30565b6040516020818303038152906040528c8c8c8c6040518963ffffffff1660e01b8152600401610685989796959493929190611c99565b6000604051808303816000875af11580156106a4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106cc9190810190611d4c565b9050808060200190518101906106e29190612134565b9998505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663b38609e883336040518060400160405280601081526020017f4c4943454e53494e475f4d4f44554c45000000000000000000000000000000008152507f5281374dd3fc2bb7839f50fddfb6a14a666cb4d23b20d6aecf9b9950d103b3368660405160200161079791815260200190565b60408051601f19818403018152908290526107b59291602001611c30565b60408051808303601f1901815260008084526020840190925291906107ea565b60608152602001906001900390816107d55790505b506040805160008082526020820190925290610816565b60608152602001906001900390816108015790505b506040518763ffffffff1660e01b81526004016108389695949392919061214d565b6000604051808303816000875af1158015610857573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261087f9190810190611d4c565b505050565b60007f9aeb830ec91a14c97a5446cc7c86a42f73a78f37f9a77afa238b5d11520ddfbc83836040516020016108ba9291906121c0565b60408051601f19818403018152908290526108d89291602001611c30565b60408051601f198184030181528282018252601383527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602084015290517fe1fc45ce00000000000000000000000000000000000000000000000000000000815290925073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163e1fc45ce9161098d9188913391908790600401611fff565b6000604051808303816000875af11580156109ac573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109d49190810190611d4c565b5050505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e1fc45ce84336040518060400160405280601381526020017f52454c4154494f4e534849505f4d4f44554c45000000000000000000000000008152507fe5801b46183bd353d44247232707bb62253655a0580ade69a754ba7157ddf8fd8787604051602001610a839291906121d4565b60408051601f1981840301815290829052610aa19291602001611c30565b6040516020818303038152906040526040518563ffffffff1660e01b8152600401610acf9493929190611fff565b6000604051808303816000875af1158015610aee573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b169190810190611d4c565b50505050565b6040517f98e8e6ea00000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906398e8e6ea90610b9d908b908b908b908b908b908b908b906004016121e8565b6020604051808303816000875af1158015610bbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be0919061224e565b98975050505050505050565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663b38609e889336040518060400160405280601381526020017f52454c4154494f4e534849505f4d4f44554c45000000000000000000000000008152508b604051602001610c74919061226b565b6040516020818303038152906040528b8b8b8b6040518963ffffffff1660e01b8152600401610caa989796959493929190611c99565b6000604051808303816000875af1158015610cc9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610cf19190810190611d4c565b905080806020019051810190610be09190612134565b6040805173ffffffffffffffffffffffffffffffffffffffff898116602083015288168183015260608082018890528251808303909101815260808201909252600091610d79917fbc42750dbe73870bbe102106b22fd8bdfa53c7247eca196d8bb7da9527f0c1e5919060a001611c30565b60408051601f198184030181528282018252601383527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602084015290517fb38609e800000000000000000000000000000000000000000000000000000000815290925073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163b38609e891610e36918d9133919087908c908c908c908c90600401611c99565b6000604051808303816000875af1158015610e55573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e7d9190810190611d4c565b50505050505050505050565b60608167ffffffffffffffff811115610ea457610ea4611d1d565b604051908082528060200260200182016040528015610ed757816020015b6060815260200190600190039081610ec25790505b50905060005b82811015610f7757610f4730858584818110610efb57610efb6122f4565b9050602002810190610f0d9190612323565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061131f92505050565b828281518110610f5957610f596122f4565b60200260200101819052508080610f6f90612388565b915050610edd565b5092915050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e1fc45ce83336040518060400160405280601081526020017f4c4943454e53494e475f4d4f44554c45000000000000000000000000000000008152507f8b21f20183a523515c357db6dba25c92b138630b63988ca3e60a6be86c8da0458660405160200161102491906123e7565b60408051601f19818403018152908290526110429291602001611c30565b6040516020818303038152906040526040518563ffffffff1660e01b81526004016108389493929190611fff565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663b38609e884336040518060400160405280601081526020017f4c4943454e53494e475f4d4f44554c45000000000000000000000000000000008152507f29def77ab981c01a6b53c58b23dd89ac4447095f721298424063ed3f16962ac68787604051602001611121929190918252602082015260400190565b60408051601f198184030181529082905261113f9291602001611c30565b60408051808303601f190181526000808452602084019092529190611174565b606081526020019060019003908161115f5790505b5060408051600080825260208201909252906111a0565b606081526020019060019003908161118b5790505b506040518763ffffffff1660e01b8152600401610acf9695949392919061214d565b60007f88fae8356076de6f233fd00b30fad913df2329364a9e9242abdc96adccc3bfc9858585856040516020016111fc9493929190612459565b60408051601f198184030181529082905261121a9291602001611c30565b60408051601f198184030181528282018252601383527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602084015290517fe1fc45ce00000000000000000000000000000000000000000000000000000000815290925073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163e1fc45ce916112cf918a913391908790600401611fff565b6000604051808303816000875af11580156112ee573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113169190810190611d4c565b50505050505050565b606061134483836040518060600160405280602781526020016124b06027913961134b565b9392505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516113759190612480565b600060405180830381855af49150503d80600081146113b0576040519150601f19603f3d011682016040523d82523d6000602084013e6113b5565b606091505b50915091506113c6868383876113d0565b9695505050505050565b6060831561146b5782516000036114645773ffffffffffffffffffffffffffffffffffffffff85163b611464576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064015b60405180910390fd5b5081611475565b611475838361147d565b949350505050565b81511561148d5781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145b919061249c565b73ffffffffffffffffffffffffffffffffffffffff811681146114e357600080fd5b50565b600060a082840312156114f857600080fd5b50919050565b60008083601f84011261151057600080fd5b50813567ffffffffffffffff81111561152857600080fd5b6020830191508360208260051b850101111561154357600080fd5b9250929050565b6000806000806000806080878903121561156357600080fd5b863561156e816114c1565b9550602087013567ffffffffffffffff8082111561158b57600080fd5b6115978a838b016114e6565b965060408901359150808211156115ad57600080fd5b6115b98a838b016114fe565b909650945060608901359150808211156115d257600080fd5b506115df89828a016114fe565b979a9699509497509295939492505050565b60006020828403121561160357600080fd5b813567ffffffffffffffff81111561161a57600080fd5b820160c0818503121561134457600080fd5b6000606082840312156114f857600080fd5b6000806000806000806080878903121561165757600080fd5b8635611662816114c1565b9550602087013567ffffffffffffffff8082111561167f57600080fd5b6115978a838b0161162c565b6000806040838503121561169e57600080fd5b82356116a9816114c1565b946020939093013593505050565b6000806000604084860312156116cc57600080fd5b83356116d7816114c1565b9250602084013567ffffffffffffffff8111156116f357600080fd5b6116ff868287016114fe565b9497909650939450505050565b60008083601f84011261171e57600080fd5b50813567ffffffffffffffff81111561173657600080fd5b60208301915083602082850101111561154357600080fd5b60008060006040848603121561176357600080fd5b833561176e816114c1565b9250602084013567ffffffffffffffff81111561178a57600080fd5b6116ff8682870161170c565b60008060008060008060006080888a0312156117b157600080fd5b87356117bc816114c1565b9650602088013567ffffffffffffffff808211156117d957600080fd5b6117e58b838c0161170c565b909850965060408a01359150808211156117fe57600080fd5b61180a8b838c0161170c565b909650945060608a013591508082111561182357600080fd5b506118308a828b016114fe565b989b979a50959850939692959293505050565b60008060008060008060008060c0898b03121561185f57600080fd5b883561186a816114c1565b9750602089013561187a816114c1565b9650604089013561188a816114c1565b955060608901359450608089013567ffffffffffffffff808211156118ae57600080fd5b6118ba8c838d016114fe565b909650945060a08b01359150808211156118d357600080fd5b506118e08b828c016114fe565b999c989b5096995094979396929594505050565b6000806020838503121561190757600080fd5b823567ffffffffffffffff81111561191e57600080fd5b61192a858286016114fe565b90969095509350505050565b60005b83811015611951578181015183820152602001611939565b50506000910152565b60008151808452611972816020860160208601611936565b601f01601f19169290920160200192915050565b600081518084526020808501808196508360051b8101915082860160005b858110156119ce5782840389526119bc84835161195a565b988501989350908401906001016119a4565b5091979650505050505050565b6020815260006113446020830184611986565b60008060408385031215611a0157600080fd5b8235611a0c816114c1565b9150602083013567ffffffffffffffff811115611a2857600080fd5b611a348582860161162c565b9150509250929050565b600080600060608486031215611a5357600080fd5b8335611a5e816114c1565b95602085013595506040909401359392505050565b600080600080600060608688031215611a8b57600080fd5b8535611a96816114c1565b9450602086013567ffffffffffffffff80821115611ab357600080fd5b611abf89838a0161170c565b90965094506040880135915080821115611ad857600080fd5b50611ae58882890161170c565b969995985093965092949392505050565b803560ff81168114611b0757600080fd5b919050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611b4157600080fd5b830160208101925035905067ffffffffffffffff811115611b6157600080fd5b80360382131561154357600080fd5b818352818160208501375060006020828401015260006020601f19601f840116840101905092915050565b6020815260008235611bac816114c1565b73ffffffffffffffffffffffffffffffffffffffff811660208401525060ff611bd760208501611af6565b166040830152611bea6040840184611b0c565b60a06060850152611bff60c085018284611b70565b91505060608401356080840152611c196080850185611b0c565b601f198584030160a08601526113c6838284611b70565b828152604060208201526000611475604083018461195a565b81835260006020808501808196508560051b810191508460005b878110156119ce578284038952611c7a8288611b0c565b611c85868284611b70565b9a87019a9550505090840190600101611c63565b600073ffffffffffffffffffffffffffffffffffffffff808b168352808a1660208401525060c06040830152611cd260c083018961195a565b8281036060840152611ce4818961195a565b90508281036080840152611cf9818789611c49565b905082810360a0840152611d0e818587611c49565b9b9a5050505050505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600060208284031215611d5e57600080fd5b815167ffffffffffffffff80821115611d7657600080fd5b818401915084601f830112611d8a57600080fd5b815181811115611d9c57611d9c611d1d565b604051601f8201601f19908116603f01168101908382118183101715611dc457611dc4611d1d565b81604052828152876020848701011115611ddd57600080fd5b611dee836020830160208801611936565b979650505050505050565b60008060408385031215611e0c57600080fd5b505080516020909101519092909150565b600060208284031215611e2f57600080fd5b8135611344816114c1565b803560068110611b0757600080fd5b60068110611e80577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611eb957600080fd5b830160208101925035905067ffffffffffffffff811115611ed957600080fd5b8060051b360382131561154357600080fd5b8183526000602080850194508260005b85811015611f215760ff611f0e83611af6565b1687529582019590820190600101611efb565b509495945050505050565b602081526000611f3c8384611b0c565b60c06020850152611f5160e085018284611b70565b9150506020840135611f62816114c1565b73ffffffffffffffffffffffffffffffffffffffff8116604085015250611f9760608401611f9260408701611e3a565b611e49565b611fa360608501611e3a565b611fb06080850182611e49565b50611fbe6080850185611e84565b601f19808685030160a0870152611fd6848385611eeb565b9350611fe560a0880188611e84565b93509150808685030160c0870152506113c6838383611eeb565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525060806040830152612038608083018561195a565b8281036060840152611dee818561195a565b81835260006020808501808196508560051b81019150846000805b888110156120e0578385038a5282357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc18936030181126120a3578283fd5b88018035865260406120b788830183611b0c565b925081898901526120cb8289018483611b70565b9c89019c975050509286019250600101612065565b509298975050505050505050565b6020815260006120fe8384611e84565b6060602085015261211360808501828461204a565b91505060208401356040840152604084013560608401528091505092915050565b60006020828403121561214657600080fd5b5051919050565b600073ffffffffffffffffffffffffffffffffffffffff808916835280881660208401525060c0604083015261218660c083018761195a565b8281036060840152612198818761195a565b905082810360808401526121ac8186611986565b905082810360a08401526106e28185611986565b602081526000611475602083018486611c49565b602081526000611475602083018486611b70565b73ffffffffffffffffffffffffffffffffffffffff8816815260806020820152600061221860808301888a611b70565b828103604084015261222b818789611b70565b90508281036060840152612240818587611c49565b9a9950505050505050505050565b60006020828403121561226057600080fd5b8151611344816114c1565b60208152600061227b8384611b0c565b60a0602085015261229060c085018284611b70565b91505060208401356122a1816114c1565b73ffffffffffffffffffffffffffffffffffffffff808216604086015260408601356060860152606086013591506122d8826114c1565b16608084810191909152939093013560a0909201919091525090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261235857600080fd5b83018035915067ffffffffffffffff82111561237357600080fd5b60200191503681900382131561154357600080fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036123e0577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b6020815260006123f78384611b0c565b6060602085015261240c608085018284611b70565b91505061241c6020850185611e84565b601f1985840301604086015261243383828461204a565b9250505060408401356003811061244957600080fd5b6060939093019290925250919050565b60408152600061246d604083018688611b70565b8281036020840152611dee818587611b70565b60008251612492818460208701611936565b9190910192915050565b602081526000611344602083018461195a56fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212205bf994a91e6fba3b278809c0a83ee1a072556ea0f02b0e66fa33d78fe971388664736f6c63430008130033000000000000000000000000c4f7e87f9ff2a2df9bc7ff8399558b594ebf911a00000000000000000000000051870a0659a87c7b46baef7311b3128006e1fb16", + "nonce": "0x7ff", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x9bf0846cfcc00ddefe61416013db4b321a377e294fd6bd0a34363c9c93f18781", + "transactionType": "CREATE", + "contractName": "RegistrationModule", + "contractAddress": "0xD3E9F80F4Cc22761587B19A7F5335A017bcB0eCd", + "function": null, + "arguments": [ + "(0x5B81030C087d41558E3FCF23B3575E85c9A768e6, 0x51870A0659A87c7B46baEF7311B3128006E1FB16, 0x826a953332Df2e1a994C7CFae68E129ba683Aa8F, 0xC4F7E87F9FF2A2DF9bC7FF8399558B594EBF911A)", + "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x62a498", + "value": "0x0", + "data": "0x6101006040523480156200001257600080fd5b5060405162005c4838038062005c48833981016040819052620000359162000298565b6020820151819083906001600160a01b038116620000665760405163134141bd60e11b815260040160405180910390fd5b6001600160a01b039081166080528151166200009557604051636028d8f760e01b815260040160405180910390fd5b80516001600160a01b0390811660a052604082015116620000c957604051635a70c46160e11b815260040160405180910390fd5b60408101516001600160a01b0390811660c052606090910151811660e052620000fc908216637965db0b60e01b6200018f565b6200013f576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600580546001600160a01b0319166001600160a01b0383169081179091556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a250505062000350565b60006200019c83620001b7565b8015620001b05750620001b08383620001f0565b9392505050565b6000620001cc826301ffc9a760e01b620001f0565b8015620001ea5750620001e8826001600160e01b0319620001f0565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801562000263575060208210155b8015620002705750600081115b979650505050505050565b80516001600160a01b03811681146200029357600080fd5b919050565b60008082840360a0811215620002ad57600080fd5b6080811215620002bc57600080fd5b50604051608081016001600160401b0381118282101715620002ee57634e487b7160e01b600052604160045260246000fd5b604052620002fc846200027b565b81526200030c602085016200027b565b60208201526200031f604085016200027b565b604082015262000332606085016200027b565b6060820152915062000347608084016200027b565b90509250929050565b60805160a05160c05160e051615894620003b4600039600081816102990152613699015260006104a401526000818161044401528181611c2d0152613ccc01526000818161040a01528181610c620152818161154a0152612ceb01526158946000f3fe608060405234801561001057600080fd5b50600436106101c35760003560e01c80638a8cb0b4116100f9578063bc12fcca11610097578063e8d7265411610071578063e8d7265414610479578063e8fb5c9b1461048c578063f0ebdc831461049f578063fba854e0146104c657600080fd5b8063bc12fcca1461042c578063d2faf8b01461043f578063e57204041461046657600080fd5b8063a5b04d45116100d3578063a5b04d45146103cc578063a6829872146103df578063b6efd29d146103f2578063b95ddb521461040557600080fd5b80638a8cb0b4146103575780639533563d146103995780639b722202146103ac57600080fd5b80634fcbd213116101665780636352211e116101405780636352211e1461030b57806368a4f0711461031e5780637448c5681461033157806377379d941461034457600080fd5b80634fcbd2131461028157806351e06b90146102945780635f32b430146102e057600080fd5b806319129e5a116101a257806319129e5a1461022a5780632fa7bc991461023f57806332ee6813146102525780634fa4467c1461027957600080fd5b8062844d13146101c857806301ffc9a7146101f157806302a8df9114610214575b600080fd5b6101db6101d6366004614079565b6104d9565b6040516101e89190614104565b60405180910390f35b6102046101ff366004614117565b6105d2565b60405190151581526020016101e8565b61021c60ff81565b6040519081526020016101e8565b61023d610238366004614079565b6106b5565b005b61023d61024d3660046141a2565b61081b565b61021c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81565b61021c600a81565b6101db61028f3660046141ee565b610c48565b6102bb7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101e8565b61021c6102ee366004614253565b600860209081526000928352604080842090915290825290205481565b6102bb61031936600461427f565b610cce565b6101db61032c3660046142a5565b610d8d565b61021c61033f3660046142da565b610f62565b6102046103523660046142f8565b610f76565b610204610365366004614349565b73ffffffffffffffffffffffffffffffffffffffff821660009081526007602052604090206002015460ff82161092915050565b61023d6103a73660046143c7565b610fae565b6103bf6103ba366004614079565b611181565b6040516101e89190614486565b61023d6103da366004614506565b611280565b6101db6103ed366004614253565b61148b565b6101db610400366004614547565b611530565b6102bb7f000000000000000000000000000000000000000000000000000000000000000081565b61021c61043a3660046142da565b61168a565b6102bb7f000000000000000000000000000000000000000000000000000000000000000081565b6102bb6104743660046142a5565b611696565b6101db6104873660046145f2565b61178e565b61021c61049a3660046142f8565b611e69565b6102bb7f000000000000000000000000000000000000000000000000000000000000000081565b61023d6104d4366004614629565b611e86565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260076020526040812060010180546060929190610511906146c8565b80601f016020809104026020016040519081016040528092919081815260200182805461053d906146c8565b801561058a5780601f1061055f5761010080835404028352916020019161058a565b820191906000526020600020905b81548152906001019060200180831161056d57829003601f168201915b5050505050905080516000036105cc576040517f87dc059f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f2fa7bc9900000000000000000000000000000000000000000000000000000000148061066557507fffffffff0000000000000000000000000000000000000000000000000000000082167ff924008e00000000000000000000000000000000000000000000000000000000145b806105cc57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316146105cc565b60006106c18133612064565b610705576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b61074573ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000612100565b6107ab576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c00000000000000000000000000000000000060448201526064016106fc565b600580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a25050565b60008061082a83850185614877565b915091508115610b375760008581526004602052604081206007018054916108518361490a565b9091555050600085815260046020908152604091829020825161010081018452815473ffffffffffffffffffffffffffffffffffffffff908116825260018301541692810192909252600281018054610b3194840191906108b1906146c8565b80601f01602080910402602001604051908101604052809291908181526020018280546108dd906146c8565b801561092a5780601f106108ff5761010080835404028352916020019161092a565b820191906000526020600020905b81548152906001019060200180831161090d57829003601f168201915b5050505050815260200160038201805480602002602001604051908101604052809291908181526020016000905b82821015610a04578382906000526020600020018054610977906146c8565b80601f01602080910402602001604051908101604052809291908181526020018280546109a3906146c8565b80156109f05780601f106109c5576101008083540402835291602001916109f0565b820191906000526020600020905b8154815290600101906020018083116109d357829003601f168201915b505050505081526020019060010190610958565b50505050815260200160048201805480602002602001604051908101604052809291908181526020016000905b82821015610add578382906000526020600020018054610a50906146c8565b80601f0160208091040260200160405190810160405280929190818152602001828054610a7c906146c8565b8015610ac95780601f10610a9e57610100808354040283529160200191610ac9565b820191906000526020600020905b815481529060010190602001808311610aac57829003601f168201915b505050505081526020019060010190610a31565b5050509082525060058201546020820152600682015460409091019060ff166001811115610b0d57610b0d614942565b6001811115610b1e57610b1e614942565b815260200160078201548152505061211c565b50610b9c565b6000858152600460205260409081902060010154905173ffffffffffffffffffffffffffffffffffffffff909116907f7f7ce7cf4c1b43e1bf51034d0ad7062abb9d4529c7bb0510d512249b0fb7145290610b93908490614104565b60405180910390a25b600085815260046020526040812080547fffffffffffffffffffffffff00000000000000000000000000000000000000009081168255600182018054909116905590610beb6002830182613f56565b610bf9600383016000613f93565b610c07600483016000613f93565b506000600582018190556006820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690556007909101555050505050565b60603373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610cb9576040517f72823b5400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610cc585858585612226565b95945050505050565b600081815260066020908152604080832081518083018352815473ffffffffffffffffffffffffffffffffffffffff1680825260019092015493810184905291517f6352211e00000000000000000000000000000000000000000000000000000000815260048101939093529091636352211e90602401602060405180830381865afa158015610d62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d869190614971565b9392505050565b60606000610d9b8585612334565b805480602002602001604051908101604052809291908181526020016000905b82821015610e67578382906000526020600020018054610dda906146c8565b80601f0160208091040260200160405190810160405280929190818152602001828054610e06906146c8565b8015610e535780601f10610e2857610100808354040283529160200191610e53565b820191906000526020600020905b815481529060010190602001808311610e3657829003601f168201915b505050505081526020019060010190610dbb565b50505050905080518310610eaa576040517f9c7692bf000000000000000000000000000000000000000000000000000000008152600481018490526024016106fc565b610eb48585612334565b8381548110610ec557610ec561498e565b906000526020600020018054610eda906146c8565b80601f0160208091040260200160405190810160405280929190818152602001828054610f06906146c8565b8015610f535780601f10610f2857610100808354040283529160200191610f53565b820191906000526020600020905b815481529060010190602001808311610f3657829003601f168201915b50505050509150509392505050565b6000610f6e8383612376565b549392505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610fa4858585611e69565b1415949350505050565b8673ffffffffffffffffffffffffffffffffffffffff8116610ffc576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611047573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061106b9190614971565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146110cf576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006110dd8385018561427f565b905060006111638a836040805173ffffffffffffffffffffffffffffffffffffffff84166020820152908101829052606080820152600c60808201527f524547495354524154494f4e000000000000000000000000000000000000000060a082015260009060c00160405160208183030381529060405280519060200120905092915050565b90506111748b8b838c8c8c8c611e86565b5050505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600760209081526040808320600201805482518185028101850190935280835260609492939192909184015b828210156112755783829060005260206000200180546111e8906146c8565b80601f0160208091040260200160405190810160405280929190818152602001828054611214906146c8565b80156112615780601f1061123657610100808354040283529160200191611261565b820191906000526020600020905b81548152906001019060200180831161124457829003601f168201915b5050505050815260200190600101906111c9565b505050509050919050565b8173ffffffffffffffffffffffffffffffffffffffff81166112ce576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611319573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061133d9190614971565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146113a1576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008460018111156113b5576113b5614942565b1480156113cf575060008281526020819052604090205415155b156114075760008281526020819052604081206113eb91613fb1565b600082815260026020526040812061140291613f93565b611449565b6000828152600160205260409020541561144957600082815260016020526040812061143291613fb1565b600082815260036020526040812061144991613f93565b8184600181111561145c5761145c614942565b6040517f1fe48a4ec69671720d8bdd8f8a6853d16f486c0bb91fcaf5b8ffc4932b8bc9f490600090a350505050565b6009602090815260009283526040808420909152908252902080546114af906146c8565b80601f01602080910402602001604051908101604052809291908181526020018280546114db906146c8565b80156115285780601f106114fd57610100808354040283529160200191611528565b820191906000526020600020905b81548152906001019060200180831161150b57829003601f168201915b505050505081565b60603373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146115a1576040517f72823b5400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115ad898989896123b8565b60006115bb8a8a8a8a6125b5565b905060006040518061010001604052808c73ffffffffffffffffffffffffffffffffffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505090825250602001611649888a614a01565b81526020016116588688614a01565b815260208101849052604001600081526020016000815250905061167b8161211c565b9b9a5050505050505050505050565b6000610f6e8383612334565b6000806116a38585612376565b80548060200260200160405190810160405280929190818152602001828054801561170457602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116116d9575b5050505050905080518310611748576040517f9c7692bf000000000000000000000000000000000000000000000000000000008152600481018490526024016106fc565b6117528585612376565b83815481106117635761176361498e565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1695945050505050565b73ffffffffffffffffffffffffffffffffffffffff831660008181526008602090815260408083208684529091528082205490517f6352211e0000000000000000000000000000000000000000000000000000000081526004810186905260609391929190636352211e90602401602060405180830381865afa158015611819573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061183d9190614971565b905073ffffffffffffffffffffffffffffffffffffffff811661188c576040517f85a9692000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff86166000908152600960209081526040808320888452909152812080546118c7906146c8565b905011156119915773ffffffffffffffffffffffffffffffffffffffff861660009081526009602090815260408083208884529091529020805461190a906146c8565b80601f0160208091040260200160405190810160405280929190818152602001828054611936906146c8565b80156119835780601f1061195857610100808354040283529160200191611983565b820191906000526020600020905b81548152906001019060200180831161196657829003601f168201915b505050505092505050610d86565b73ffffffffffffffffffffffffffffffffffffffff86166000908152600760205260408082208151606081019092528054829082906119cf906146c8565b80601f01602080910402602001604051908101604052809291908181526020018280546119fb906146c8565b8015611a485780601f10611a1d57610100808354040283529160200191611a48565b820191906000526020600020905b815481529060010190602001808311611a2b57829003601f168201915b50505050508152602001600182018054611a61906146c8565b80601f0160208091040260200160405190810160405280929190818152602001828054611a8d906146c8565b8015611ada5780601f10611aaf57610100808354040283529160200191611ada565b820191906000526020600020905b815481529060010190602001808311611abd57829003601f168201915b5050505050815260200160028201805480602002602001604051908101604052809291908181526020016000905b82821015611bb4578382906000526020600020018054611b27906146c8565b80601f0160208091040260200160405190810160405280929190818152602001828054611b53906146c8565b8015611ba05780601f10611b7557610100808354040283529160200191611ba0565b820191906000526020600020905b815481529060010190602001808311611b8357829003601f168201915b505050505081526020019060010190611b08565b5050509152505080515190915015611bfb578051611bd184612653565b604051602001611be2929190614a91565b6040516020818303038152906040529350505050610d86565b6040517fc47f8bfa000000000000000000000000000000000000000000000000000000008152600481018490526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063c47f8bfa90602401600060405180830381865afa158015611c89573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052611ccf9190810190614b22565b90506000611cdc85612653565b8251604051611cef929190602001614bec565b60405160208183030381529060405290506000611d27836060015173ffffffffffffffffffffffffffffffffffffffff166014612711565b611d488673ffffffffffffffffffffffffffffffffffffffff166014612711565b604051602001611d59929190614d2f565b60405160208183030381529060405290506000611d91846020015173ffffffffffffffffffffffffffffffffffffffff166014612711565b85604001518a60ff1681518110611daa57611daa61498e565b6020026020010151611dc2866040015160ff16612653565b6080870151611dd2906020612711565b611de98860a0015167ffffffffffffffff16612653565b604051602001611dfd959493929190614e2b565b6040516020818303038152906040529050611e3a838383604051602001611e2693929190615090565b604051602081830303815290604052612954565b604051602001611e4a91906150fb565b6040516020818303038152906040529750505050505050509392505050565b6000611e7e611e788585612376565b83612aa7565b949350505050565b8573ffffffffffffffffffffffffffffffffffffffff8116611ed4576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f1f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f439190614971565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611fa7576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611fb2888888611280565b61200e611fbf8988612376565b611fc98a89612334565b8787808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506120099250889150899050614a01565b612b41565b8588600181111561202157612021614942565b7f5e140eb5bed8bcb1664a04c0be4aa419e0d2dbf1277a4a6770882a0beb3b91b28787604051612052929190615140565b60405180910390a35050505050505050565b6005546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810184905273ffffffffffffffffffffffffffffffffffffffff838116602483015260009216906391d1485490604401602060405180830381865afa1580156120dc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d86919061519b565b600061210b83612f7b565b8015610d865750610d868383612fdf565b606060008260c00151600181111561213657612136614942565b1480156121495750612147826130ae565b155b156121a957816020015173ffffffffffffffffffffffffffffffffffffffff167fa1e5a8c0fde3fa4d7320c3f9de0ab0a2c1ee6e891e6a513ca0811ddcf768b59460405160405180910390a2505060408051602081019091526000815290565b6121c08260000151836020015184604001516134a3565b600160c0840152600060e084015290506121d9826130ae565b50816020015173ffffffffffffffffffffffffffffffffffffffff167f4ec4635a4d1f6ebe9ee3a059f74fc5d802e04d2d115c4090337a34e3b137c98a60405160405180910390a2919050565b606061223285856135db565b600080612241848601866151b8565b915091507f88fae8356076de6f233fd00b30fad913df2329364a9e9242abdc96adccc3bfc98203612299576000808280602001905181019061228391906151f5565b9150915061229289838361370c565b505061231a565b7f9aeb830ec91a14c97a5446cc7c86a42f73a78f37f9a77afa238b5d11520ddfbc82036122e8576000818060200190518101906122d6919061524f565b90506122e288826137a2565b5061231a565b6040517f04e4b46900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505060408051602081019091526000815295945050505050565b60008083600181111561234957612349614942565b03612362575060008181526002602052604090206105cc565b5060008181526003602052604090206105cc565b60008083600181111561238b5761238b614942565b036123a4575060008181526020819052604090206105cc565b5060008181526001602052604090206105cc565b6000806123c7838501856151b8565b915091507fbc42750dbe73870bbe102106b22fd8bdfa53c7247eca196d8bb7da9527f0c1e582036124bf5760008060008380602001905181019061240b9190615300565b9250925092508273ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614158061248057508773ffffffffffffffffffffffffffffffffffffffff1661246782610cce565b73ffffffffffffffffffffffffffffffffffffffff1614155b156124b7576040517f7e833cd700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050506125ad565b7fe761f303268b55a3dc96719551acb95ca3bd1ebeef4b720be68dd92563627a3f820361257b576000818060200190518101906124fc9190615343565b90508573ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff1614612567576040517f7e833cd700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612575878260200151613867565b506125ad565b6040517f9ca9add400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050505050565b6000806125c4838501856151b8565b50905061264986826040805173ffffffffffffffffffffffffffffffffffffffff84166020820152908101829052606080820152600c60808201527f524547495354524154494f4e000000000000000000000000000000000000000060a082015260009060c00160405160208183030381529060405280519060200120905092915050565b9695505050505050565b60606000612660836138d4565b600101905060008167ffffffffffffffff81111561268057612680614729565b6040519080825280601f01601f1916602001820160405280156126aa576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85049450846126b457509392505050565b60606000612720836002615404565b61272b90600261541b565b67ffffffffffffffff81111561274357612743614729565b6040519080825280601f01601f19166020018201604052801561276d576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106127a4576127a461498e565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106128075761280761498e565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000612843846002615404565b61284e90600161541b565b90505b60018111156128eb577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061288f5761288f61498e565b1a60f81b8282815181106128a5576128a561498e565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c936128e48161542e565b9050612851565b508315610d86576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016106fc565b6060815160000361297357505060408051602081019091526000815290565b600060405180606001604052806040815260200161581f60409139905060006003845160026129a2919061541b565b6129ac9190615463565b6129b7906004615404565b67ffffffffffffffff8111156129cf576129cf614729565b6040519080825280601f01601f1916602001820160405280156129f9576020820181803683370190505b509050600182016020820185865187015b80821015612a65576003820191508151603f8160121c168501518453600184019350603f81600c1c168501518453600184019350603f8160061c168501518453600184019350603f8116850151845350600183019250612a0a565b5050600386510660018114612a815760028114612a9457612a9c565b603d6001830353603d6002830353612a9c565b603d60018303535b509195945050505050565b8154600090815b81811015612b17578373ffffffffffffffffffffffffffffffffffffffff16858281548110612adf57612adf61498e565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1603612b0f5791506105cc9050565b600101612aae565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff949350505050565b8151600a811115612b7e576040517f760fb4ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80825114612bb8576040517f3021beb200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b818110156125ad57600073ffffffffffffffffffffffffffffffffffffffff16848281518110612bed57612bed61498e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1603612c42576040517f7d4de38200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600081118015612cb25750836001820381518110612c6257612c6261498e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff16848281518110612c9257612c9261498e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff16145b15612ce9576040517fd696c40800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166382984f30858381518110612d3757612d3761498e565b60200260200101516040518263ffffffff1660e01b8152600401612d77919073ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b602060405180830381865afa158015612d94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612db8919061519b565b612e2557838181518110612dce57612dce61498e565b60200260200101516040517f5a9873880000000000000000000000000000000000000000000000000000000081526004016106fc919073ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b838181518110612e3757612e3761498e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1663a913b881848381518110612e6c57612e6c61498e565b60200260200101516040518263ffffffff1660e01b8152600401612e909190614104565b60006040518083038186803b158015612ea857600080fd5b505afa158015612ebc573d6000803e3d6000fd5b5050505085848281518110612ed357612ed361498e565b60209081029190910181015182546001810184556000938452919092200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90921691909117905582518590849083908110612f4957612f4961498e565b60209081029190910181015182546001810184556000938452919092200190612f7290826154e4565b50600101612bbb565b6000612fa7827f01ffc9a700000000000000000000000000000000000000000000000000000000612fdf565b80156105cc5750612fd8827fffffffff00000000000000000000000000000000000000000000000000000000612fdf565b1592915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015613097575060208210155b80156130a35750600081115b979650505050505050565b6000806130c38360c001518460a00151612376565b80548060200260200160405190810160405280929190818152602001828054801561312457602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116130f9575b50505050509050600061313f8460c001518560a00151612334565b805480602002602001604051908101604052809291908181526020016000905b8282101561320b57838290600052602060002001805461317e906146c8565b80601f01602080910402602001604051908101604052809291908181526020018280546131aa906146c8565b80156131f75780601f106131cc576101008083540402835291602001916131f7565b820191906000526020600020905b8154815290600101906020018083116131da57829003601f168201915b50505050508152602001906001019061315f565b50508451929350600091508190508660c00151600181111561322f5761322f614942565b1461323e578560800151613244565b85606001515b90508181511461329c578560c00151600181111561326457613264614942565b6040517f3171c36f00000000000000000000000000000000000000000000000000000000815260ff90911660048201526024016106fc565b60e08601515b8281101561349657808760e0018181525050600060405180604001604052808684815181106132d3576132d361498e565b602002602001015181526020018484815181106132f2576132f261498e565b60200260200101518152509050600061334f8784815181106133165761331661498e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673800000000000000000000000000000000000000016151590565b15613432578683815181106133665761336661498e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff166334e5d29f8360405160200161339a91906155fe565b6040516020818303038152906040526040518263ffffffff1660e01b81526004016133c59190614104565b6000604051808303816000875af11580156133e4573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261342a9190810190615655565b509050613459565b6134568784815181106134475761344761498e565b6020026020010151838b6139b6565b90505b600181600181111561346d5761346d614942565b146134815750600098975050505050505050565b5050808061348e9061490a565b9150506132a2565b5060019695505050505050565b6060600080838060200190518101906134bc919061569c565b915091507fbc42750dbe73870bbe102106b22fd8bdfa53c7247eca196d8bb7da9527f0c1e5820361352e576000806000838060200190518101906135009190615300565b92509250925061351289828585613bb8565b6040518060200160405280600081525095505050505050610d86565b7fe761f303268b55a3dc96719551acb95ca3bd1ebeef4b720be68dd92563627a3f82036135c25760008180602001905181019061356b9190615343565b90506000806135928984600001518560400151866020015187606001518860800151613cc7565b60408051602081019390935282810191909152805180830382018152606090920190529550610d86945050505050565b5050604080516020810190915260008152949350505050565b8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561363d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136619190614971565b73ffffffffffffffffffffffffffffffffffffffff16141580156136d157508073ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1614155b15613708576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b73ffffffffffffffffffffffffffffffffffffffff831660009081526007602052604090208061373c84826154e4565b506001810161374b83826154e4565b508373ffffffffffffffffffffffffffffffffffffffff167f6c1850fce35387a891e82ca88e975790ab6f0709e9ed6842e01397f296012a7e84846040516137949291906156cd565b60405180910390a250505050565b805160ff8111156137df576040517f1c17d63a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff83166000908152600760205260408120905b8281101561386057816002018482815181106138245761382461498e565b6020908102919091018101518254600181018455600093845291909220019061384d90826154e4565b50806138588161490a565b915050613806565b5050505050565b73ffffffffffffffffffffffffffffffffffffffff821660009081526007602052604090206002015460ff808216908316106138cf576040517f12d7e46c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000831061391d577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef81000000008310613949576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061396757662386f26fc10000830492506010015b6305f5e100831061397f576305f5e100830492506008015b612710831061399357612710830492506004015b606483106139a5576064830492506002015b600a83106105cc5760010192915050565b60008060008573ffffffffffffffffffffffffffffffffffffffff16635260a98c866040516020016139e891906155fe565b604051602081830303815290604052306040518363ffffffff1660e01b8152600401613a159291906156f2565b6000604051808303816000875af1158015613a34573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052613a7a919081019061572a565b91935090915060009050826001811115613a9657613a96614942565b03613baf57600081815260046020908152604091829020865181547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff92831617835592880151600183018054909416911617909155908501518591906002820190613b1990826154e4565b5060608201518051613b35916003840191602090910190613fcf565b5060808201518051613b51916004840191602090910190613fcf565b5060a0820151600582015560c08201516006820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660018381811115613b9c57613b9c614942565b021790555060e082015181600701559050505b50949350505050565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301528281166024830152604482018590528516906323b872dd90606401600060405180830381600087803b158015613c3057600080fd5b505af1158015613c44573d6000803e3d6000fd5b5050505073ffffffffffffffffffffffffffffffffffffffff84811660008181526008602090815260408083208884528252918290205482518881528786169281019290925293851681830152905183917f0480e159be1c15e0022dfbc6d236db58db83a033908eca4876f796f60ed871b9919081900360600190a35050505050565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663601a924c898989886040518563ffffffff1660e01b8152600401613d299493929190615784565b6020604051808303816000875af1158015613d48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d6c91906157ce565b6040517f691562a000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff898116600483015260ff881660248301529193509089169063691562a0906044016020604051808303816000875af1158015613de7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e0b91906157ce565b73ffffffffffffffffffffffffffffffffffffffff89811660008181526008602090815260408083208684528252808320889055805180820182529384528382018681528884526006909252909120825181547fffffffffffffffffffffffff00000000000000000000000000000000000000001694169390931783555160019092019190915584519192509015613ed95773ffffffffffffffffffffffffffffffffffffffff891660009081526009602090815260408083208584529091529020613ed785826154e4565b505b8560ff168873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff167fd051b12b5a18291aec9a26b17774a4be2d10dce167cbdc5944c7942c78f901c186868c8b8b604051613f429594939291906157e7565b60405180910390a450965096945050505050565b508054613f62906146c8565b6000825580601f10613f72575050565b601f016020900490600052602060002090810190613f909190614025565b50565b5080546000825590600052602060002090810190613f90919061403a565b5080546000825590600052602060002090810190613f909190614025565b828054828255906000526020600020908101928215614015579160200282015b82811115614015578251829061400590826154e4565b5091602001919060010190613fef565b5061402192915061403a565b5090565b5b808211156140215760008155600101614026565b8082111561402157600061404e8282613f56565b5060010161403a565b73ffffffffffffffffffffffffffffffffffffffff81168114613f9057600080fd5b60006020828403121561408b57600080fd5b8135610d8681614057565b60005b838110156140b1578181015183820152602001614099565b50506000910152565b600081518084526140d2816020860160208601614096565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610d8660208301846140ba565b60006020828403121561412957600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610d8657600080fd5b60008083601f84011261416b57600080fd5b50813567ffffffffffffffff81111561418357600080fd5b60208301915083602082850101111561419b57600080fd5b9250929050565b6000806000604084860312156141b757600080fd5b83359250602084013567ffffffffffffffff8111156141d557600080fd5b6141e186828701614159565b9497909650939450505050565b6000806000806060858703121561420457600080fd5b843561420f81614057565b9350602085013561421f81614057565b9250604085013567ffffffffffffffff81111561423b57600080fd5b61424787828801614159565b95989497509550505050565b6000806040838503121561426657600080fd5b823561427181614057565b946020939093013593505050565b60006020828403121561429157600080fd5b5035919050565b60028110613f9057600080fd5b6000806000606084860312156142ba57600080fd5b83356142c581614298565b95602085013595506040909401359392505050565b600080604083850312156142ed57600080fd5b823561427181614298565b60008060006060848603121561430d57600080fd5b833561431881614298565b925060208401359150604084013561432f81614057565b809150509250925092565b60ff81168114613f9057600080fd5b6000806040838503121561435c57600080fd5b823561436781614057565b915060208301356143778161433a565b809150509250929050565b60008083601f84011261439457600080fd5b50813567ffffffffffffffff8111156143ac57600080fd5b6020830191508360208260051b850101111561419b57600080fd5b60008060008060008060008060a0898b0312156143e357600080fd5b88356143ee81614298565b975060208901356143fe81614057565b9650604089013567ffffffffffffffff8082111561441b57600080fd5b6144278c838d01614382565b909850965060608b013591508082111561444057600080fd5b61444c8c838d01614382565b909650945060808b013591508082111561446557600080fd5b506144728b828c01614159565b999c989b5096995094979396929594505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156144f9577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08886030184526144e78583516140ba565b945092850192908501906001016144ad565b5092979650505050505050565b60008060006060848603121561451b57600080fd5b833561452681614298565b9250602084013561453681614057565b929592945050506040919091013590565b60008060008060008060008060a0898b03121561456357600080fd5b883561456e81614057565b9750602089013561457e81614057565b9650604089013567ffffffffffffffff8082111561459b57600080fd5b6145a78c838d01614159565b909850965060608b01359150808211156145c057600080fd5b6145cc8c838d01614382565b909650945060808b01359150808211156145e557600080fd5b506144728b828c01614382565b60008060006060848603121561460757600080fd5b833561461281614057565b925060208401359150604084013561432f8161433a565b600080600080600080600060a0888a03121561464457600080fd5b873561464f81614298565b9650602088013561465f81614057565b955060408801359450606088013567ffffffffffffffff8082111561468357600080fd5b61468f8b838c01614382565b909650945060808a01359150808211156146a857600080fd5b506146b58a828b01614382565b989b979a50959850939692959293505050565b600181811c908216806146dc57607f821691505b602082108103614715577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b8015158114613f9057600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff8111828210171561477b5761477b614729565b60405290565b60405160a0810167ffffffffffffffff8111828210171561477b5761477b614729565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156147eb576147eb614729565b604052919050565b600067ffffffffffffffff82111561480d5761480d614729565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600061484c614847846147f3565b6147a4565b905082815283838301111561486057600080fd5b828260208301376000602084830101529392505050565b6000806040838503121561488a57600080fd5b82356148958161471b565b9150602083013567ffffffffffffffff8111156148b157600080fd5b8301601f810185136148c257600080fd5b6148d185823560208401614839565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361493b5761493b6148db565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60006020828403121561498357600080fd5b8151610d8681614057565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600067ffffffffffffffff8211156149d7576149d7614729565b5060051b60200190565b600082601f8301126149f257600080fd5b610d8683833560208501614839565b6000614a0f614847846149bd565b80848252602080830192508560051b850136811115614a2d57600080fd5b855b81811015614a6957803567ffffffffffffffff811115614a4f5760008081fd5b614a5b36828a016149e1565b865250938201938201614a2f565b50919695505050505050565b60008151614a87818560208601614096565b9290920192915050565b60008351614aa3818460208801614096565b835190830190614ab7818360208801614096565b01949350505050565b600082601f830112614ad157600080fd5b8151614adf614847826147f3565b818152846020838601011115614af457600080fd5b611e7e826020830160208701614096565b805167ffffffffffffffff81168114614b1d57600080fd5b919050565b600060208284031215614b3457600080fd5b815167ffffffffffffffff80821115614b4c57600080fd5b9083019060c08286031215614b6057600080fd5b614b68614758565b825182811115614b7757600080fd5b614b8387828601614ac0565b82525060208301519150614b9682614057565b81602082015260408301519150614bac8261433a565b81604082015260608301519150614bc282614057565b81606082015260808301516080820152614bde60a08401614b05565b60a082015295945050505050565b7f7b226e616d65223a2022476c6f62616c20495020417373657420230000000000815260008351614c2481601b850160208801614096565b7f222c20226465736372697074696f6e223a20224950204f726720417373657420601b918401918201527f526567697374726174696f6e2044657461696c73222c20226174747269627574603b8201527f6573223a205b0000000000000000000000000000000000000000000000000000605b8201527f7b2274726169745f74797065223a20224e616d65222c202276616c7565223a2060618201527f220000000000000000000000000000000000000000000000000000000000000060818201528351614cf9816082840160208801614096565b7f227d2c000000000000000000000000000000000000000000000000000000000060829290910191820152608501949350505050565b7f7b2274726169745f74797065223a20224950204f7267222c202276616c75652281527f3a20220000000000000000000000000000000000000000000000000000000000602082015260008351614d8d816023850160208801614096565b80830190507f227d2c00000000000000000000000000000000000000000000000000000000008060238301527f7b2274726169745f74797065223a202243757272656e74204950204f776e657260268301527f222c202276616c7565223a20220000000000000000000000000000000000000060468301528451614e18816053850160208901614096565b6053920191820152605601949350505050565b7f7b2274726169745f74797065223a2022496e697469616c20526567697374726181527f6e74222c202276616c7565223a20220000000000000000000000000000000000602082015260008651614e8981602f850160208b01614096565b80830190507f227d2c000000000000000000000000000000000000000000000000000000000080602f8301527f7b2274726169745f74797065223a20224950204f72672041737365742054797060328301527f65222c202276616c7565223a202200000000000000000000000000000000000060528301528751614f14816060850160208c01614096565b60609201918201527f7b2274726169745f74797065223a2022537461747573222c202276616c75652260638201527f3a20220000000000000000000000000000000000000000000000000000000000608382015261508461505b615055615006614f88615000614fb182608689018e614a75565b7f227d2c0000000000000000000000000000000000000000000000000000000000815260030190565b7f7b2274726169745f74797065223a202248617368222c202276616c7565223a2081527f2200000000000000000000000000000000000000000000000000000000000000602082015260210190565b8a614a75565b7f7b2274726169745f74797065223a2022526567697374726174696f6e2044617481527f65222c202276616c7565223a20220000000000000000000000000000000000006020820152602e0190565b86614a75565b7f227d000000000000000000000000000000000000000000000000000000000000815260020190565b98975050505050505050565b600084516150a2818460208901614096565b8451908301906150b6818360208901614096565b84519101906150c9818360208801614096565b7f5d7d000000000000000000000000000000000000000000000000000000000000910190815260020195945050505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c00000081526000825161513381601d850160208701614096565b91909101601d0192915050565b60208082528181018390526000908460408401835b8681101561519057823561516881614057565b73ffffffffffffffffffffffffffffffffffffffff1682529183019190830190600101615155565b509695505050505050565b6000602082840312156151ad57600080fd5b8151610d868161471b565b600080604083850312156151cb57600080fd5b82359150602083013567ffffffffffffffff8111156151e957600080fd5b6148d1858286016149e1565b6000806040838503121561520857600080fd5b825167ffffffffffffffff8082111561522057600080fd5b61522c86838701614ac0565b9350602085015191508082111561524257600080fd5b506148d185828601614ac0565b6000602080838503121561526257600080fd5b825167ffffffffffffffff8082111561527a57600080fd5b818501915085601f83011261528e57600080fd5b815161529c614847826149bd565b81815260059190911b830184019084810190888311156152bb57600080fd5b8585015b838110156152f3578051858111156152d75760008081fd5b6152e58b89838a0101614ac0565b8452509186019186016152bf565b5098975050505050505050565b60008060006060848603121561531557600080fd5b835161532081614057565b602085015190935061533181614057565b80925050604084015190509250925092565b60006020828403121561535557600080fd5b815167ffffffffffffffff8082111561536d57600080fd5b9083019060a0828603121561538157600080fd5b615389614781565b825161539481614057565b815260208301516153a48161433a565b60208201526040830151828111156153bb57600080fd5b6153c787828601614ac0565b604083015250606083015160608201526080830151828111156153e957600080fd5b6153f587828601614ac0565b60808301525095945050505050565b80820281158282048414176105cc576105cc6148db565b808201808211156105cc576105cc6148db565b60008161543d5761543d6148db565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b600082615499577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b601f8211156138cf57600081815260208120601f850160051c810160208610156154c55750805b601f850160051c820191505b818110156125ad578281556001016154d1565b815167ffffffffffffffff8111156154fe576154fe614729565b6155128161550c84546146c8565b8461549e565b602080601f831160018114615565576000841561552f5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b1785556125ad565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156155b257888601518255948401946001909101908401615593565b50858210156155ee57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b60208152600082516040602084015261561a60608401826140ba565b905060208401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0848303016040850152610cc582826140ba565b6000806040838503121561566857600080fd5b825161567381614298565b602084015190925067ffffffffffffffff81111561569057600080fd5b6148d185828601614ac0565b600080604083850312156156af57600080fd5b82519150602083015167ffffffffffffffff81111561569057600080fd5b6040815260006156e060408301856140ba565b8281036020840152610cc581856140ba565b60408152600061570560408301856140ba565b905073ffffffffffffffffffffffffffffffffffffffff831660208301529392505050565b60008060006060848603121561573f57600080fd5b835161574a81614298565b602085015190935067ffffffffffffffff81111561576757600080fd5b61577386828701614ac0565b925050604084015190509250925092565b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250608060408301526157bd60808301856140ba565b905082606083015295945050505050565b6000602082840312156157e057600080fd5b5051919050565b85815284602082015260a06040820152600061580660a08301866140ba565b846060840152828103608084015261508481856140ba56fe4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2fa2646970667358221220649f1162533c82b294440c39a1f9ce1aa0719a40999a2c158b524cbd3206043764736f6c634300081300330000000000000000000000005b81030c087d41558e3fcf23b3575e85c9a768e600000000000000000000000051870a0659a87c7b46baef7311b3128006e1fb16000000000000000000000000826a953332df2e1a994c7cfae68e129ba683aa8f000000000000000000000000c4f7e87f9ff2a2df9bc7ff8399558b594ebf911a000000000000000000000000518ccd79e0e7b75fd5fcc09463fb09cb7d55470d", + "nonce": "0x800", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xd27abaa9b1d80e05ddefe448f5674ee786621d742a591d4c2ea3d7a634885714", + "transactionType": "CREATE", + "contractName": "RelationshipModule", + "contractAddress": "0x5fb712AF304570aD9599e55E1105b7a42a5e30Db", + "function": null, + "arguments": [ + "(0x5B81030C087d41558E3FCF23B3575E85c9A768e6, 0x51870A0659A87c7B46baEF7311B3128006E1FB16, 0x826a953332Df2e1a994C7CFae68E129ba683Aa8F, 0xC4F7E87F9FF2A2DF9bC7FF8399558B594EBF911A)", + "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x5377a4", + "value": "0x0", + "data": "0x6101006040523480156200001257600080fd5b5060405162004e5d38038062004e5d833981016040819052620000359162000298565b6020820151819083906001600160a01b038116620000665760405163134141bd60e11b815260040160405180910390fd5b6001600160a01b039081166080528151166200009557604051636028d8f760e01b815260040160405180910390fd5b80516001600160a01b0390811660a052604082015116620000c957604051635a70c46160e11b815260040160405180910390fd5b60408101516001600160a01b0390811660c052606090910151811660e052620000fc908216637965db0b60e01b6200018f565b6200013f576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600580546001600160a01b0319166001600160a01b0383169081179091556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a250505062000350565b60006200019c83620001b7565b8015620001b05750620001b08383620001f0565b9392505050565b6000620001cc826301ffc9a760e01b620001f0565b8015620001ea5750620001e8826001600160e01b0319620001f0565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801562000263575060208210155b8015620002705750600081115b979650505050505050565b80516001600160a01b03811681146200029357600080fd5b919050565b60008082840360a0811215620002ad57600080fd5b6080811215620002bc57600080fd5b50604051608081016001600160401b0381118282101715620002ee57634e487b7160e01b600052604160045260246000fd5b604052620002fc846200027b565b81526200030c602085016200027b565b60208201526200031f604085016200027b565b604082015262000332606085016200027b565b6060820152915062000347608084016200027b565b90509250929050565b60805160a05160c05160e051614aa9620003b4600039600061028201526000818161043801526134960152600081816103d8015261339401526000818161039e01528181610c9201528181611472015281816122ad01526135da0152614aa96000f3fe608060405234801561001057600080fd5b50600436106101985760003560e01c806376ced32d116100e3578063d2faf8b01161008c578063e8fb5c9b11610066578063e8fb5c9b14610420578063f0ebdc8314610433578063fba854e01461045a57600080fd5b8063d2faf8b0146103d3578063e5720404146103fa578063e7d8e9311461040d57600080fd5b8063b6efd29d116100bd578063b6efd29d14610386578063b95ddb5214610399578063bc12fcca146103c057600080fd5b806376ced32d1461030257806377379d9414610360578063a5b04d451461037357600080fd5b80634fa4467c116101455780636191d3561161011f5780636191d356146102c957806368a4f071146102dc5780637448c568146102ef57600080fd5b80634fa4467c146102555780634fcbd2131461025d57806351e06b901461027d57600080fd5b80632fa7bc99116101765780632fa7bc99146101fb578063322e41b51461020e57806332ee68131461022e57600080fd5b806301ffc9a71461019d57806319129e5a146101c557806329b2632b146101da575b600080fd5b6101b06101ab3660046138b1565b61046d565b60405190151581526020015b60405180910390f35b6101d86101d3366004613925565b610552565b005b6101ed6101e8366004613942565b6106b8565b6040519081526020016101bc565b6101d86102093660046139c6565b6106fb565b61022161021c366004613a12565b610b28565b6040516101bc9190613a7b565b6101ed7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81565b6101ed600a81565b61027061026b366004613ae7565b610c78565b6040516101bc9190613b4c565b6102a47f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101bc565b6101d86102d7366004613bb1565b610cfe565b6102706102ea366004613c70565b610e7e565b6101ed6102fd366004613ca5565b611053565b610315610310366004613dd8565b611067565b60408051825173ffffffffffffffffffffffffffffffffffffffff908116825260208085015190830152838301511691810191909152606091820151918101919091526080016101bc565b6101b061036e366004613e28565b611215565b6101d8610381366004613e6a565b61124d565b610270610394366004613eab565b611458565b6102a47f000000000000000000000000000000000000000000000000000000000000000081565b6101ed6103ce366004613ca5565b6115b2565b6102a47f000000000000000000000000000000000000000000000000000000000000000081565b6102a4610408366004613c70565b6115be565b6101b061041b366004613942565b6116b6565b6101ed61042e366004613e28565b6116fd565b6102a47f000000000000000000000000000000000000000000000000000000000000000081565b6101d8610468366004613ed2565b61171a565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f2fa7bc9900000000000000000000000000000000000000000000000000000000148061050057507fffffffff0000000000000000000000000000000000000000000000000000000082167ff924008e00000000000000000000000000000000000000000000000000000000145b8061054c57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b600061055e81336118f8565b6105a2576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b6105e273ffffffffffffffffffffffffffffffffffffffff83167f7965db0b0000000000000000000000000000000000000000000000000000000061199b565b610648576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c0000000000000000000000000000000000006044820152606401610599565b600580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a25050565b6000600a6000836040516020016106cf9190613f9c565b604051602081830303815290604052805190602001208152602001908152602001600020549050919050565b60008061070a83850185614096565b915091508115610a17576000858152600460205260408120600701805491610731836140b4565b9091555050600085815260046020908152604091829020825161010081018452815473ffffffffffffffffffffffffffffffffffffffff908116825260018301541692810192909252600281018054610a11948401919061079190614113565b80601f01602080910402602001604051908101604052809291908181526020018280546107bd90614113565b801561080a5780601f106107df5761010080835404028352916020019161080a565b820191906000526020600020905b8154815290600101906020018083116107ed57829003601f168201915b5050505050815260200160038201805480602002602001604051908101604052809291908181526020016000905b828210156108e457838290600052602060002001805461085790614113565b80601f016020809104026020016040519081016040528092919081815260200182805461088390614113565b80156108d05780601f106108a5576101008083540402835291602001916108d0565b820191906000526020600020905b8154815290600101906020018083116108b357829003601f168201915b505050505081526020019060010190610838565b50505050815260200160048201805480602002602001604051908101604052809291908181526020016000905b828210156109bd57838290600052602060002001805461093090614113565b80601f016020809104026020016040519081016040528092919081815260200182805461095c90614113565b80156109a95780601f1061097e576101008083540402835291602001916109a9565b820191906000526020600020905b81548152906001019060200180831161098c57829003601f168201915b505050505081526020019060010190610911565b5050509082525060058201546020820152600682015460409091019060ff1660018111156109ed576109ed614166565b60018111156109fe576109fe614166565b81526020016007820154815250506119b7565b50610a7c565b6000858152600460205260409081902060010154905173ffffffffffffffffffffffffffffffffffffffff909116907f7f7ce7cf4c1b43e1bf51034d0ad7062abb9d4529c7bb0510d512249b0fb7145290610a73908490613b4c565b60405180910390a25b600085815260046020526040812080547fffffffffffffffffffffffff00000000000000000000000000000000000000009081168255600182018054909116905590610acb60028301826137b0565b610ad96003830160006137ed565b610ae76004830160006137ed565b506000600582018190556006820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690556007909101555050505050565b610b866040518060a0016040528060608152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081525090565b60008281526009602052604090819020815160a08101909252805482908290610bae90614113565b80601f0160208091040260200160405190810160405280929190818152602001828054610bda90614113565b8015610c275780601f10610bfc57610100808354040283529160200191610c27565b820191906000526020600020905b815481529060010190602001808311610c0a57829003601f168201915b5050509183525050600182015473ffffffffffffffffffffffffffffffffffffffff908116602083015260028301541660408201526003820154606082015260049091015460809091015292915050565b60603373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610ce9576040517f72823b5400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610cf585858585611ac1565b95945050505050565b8673ffffffffffffffffffffffffffffffffffffffff8116610d4c576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dbb91906141a0565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e1f576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610e618989898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611bc392505050565b9050610e728a8a838989898961171a565b50505050505050505050565b60606000610e8c8585611bf6565b805480602002602001604051908101604052809291908181526020016000905b82821015610f58578382906000526020600020018054610ecb90614113565b80601f0160208091040260200160405190810160405280929190818152602001828054610ef790614113565b8015610f445780601f10610f1957610100808354040283529160200191610f44565b820191906000526020600020905b815481529060010190602001808311610f2757829003601f168201915b505050505081526020019060010190610eac565b50505050905080518310610f9b576040517f9c7692bf00000000000000000000000000000000000000000000000000000000815260048101849052602401610599565b610fa58585611bf6565b8381548110610fb657610fb66141bd565b906000526020600020018054610fcb90614113565b80601f0160208091040260200160405190810160405280929190818152602001828054610ff790614113565b80156110445780601f1061101957610100808354040283529160200191611044565b820191906000526020600020905b81548152906001019060200180831161102757829003601f168201915b50505050509150509392505050565b600061105f8383611c38565b549392505050565b60408051608081018252600080825260208201819052918101829052606081019190915273ffffffffffffffffffffffffffffffffffffffff8316611115576006826040516110b691906141ec565b908152604080519182900360209081018320608084018352805473ffffffffffffffffffffffffffffffffffffffff908116855260018201549285019290925260028101549091169183019190915260030154606082015290506111a0565b60076000848460405160200161112c929190614208565b60408051601f1981840301815291815281516020928301208352828201939093529082016000208251608081018452815473ffffffffffffffffffffffffffffffffffffffff9081168252600183015493820193909352600282015490921692820192909252600390910154606082015290505b805173ffffffffffffffffffffffffffffffffffffffff1615806111dc5750604081015173ffffffffffffffffffffffffffffffffffffffff16155b1561054c57816040517fd8952ceb0000000000000000000000000000000000000000000000000000000081526004016105999190613b4c565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6112438585856116fd565b1415949350505050565b8173ffffffffffffffffffffffffffffffffffffffff811661129b576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061130a91906141a0565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461136e576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084600181111561138257611382614166565b14801561139c575060008281526020819052604090205415155b156113d45760008281526020819052604081206113b89161380b565b60008281526002602052604081206113cf916137ed565b611416565b600082815260016020526040902054156114165760008281526001602052604081206113ff9161380b565b6000828152600360205260408120611416916137ed565b8184600181111561142957611429614166565b6040517f1fe48a4ec69671720d8bdd8f8a6853d16f486c0bb91fcaf5b8ffc4932b8bc9f490600090a350505050565b60603373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146114c9576040517f72823b5400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6114d589898989611c7a565b60006114e38a8a8a8a612040565b905060006040518061010001604052808c73ffffffffffffffffffffffffffffffffffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505090825250602001611571888a61425b565b8152602001611580868861425b565b81526020810184905260400160008152602001600081525090506115a3816119b7565b9b9a5050505050505050505050565b600061105f8383611bf6565b6000806115cb8585611c38565b80548060200260200160405190810160405280929190818152602001828054801561162c57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311611601575b5050505050905080518310611670576040517f9c7692bf00000000000000000000000000000000000000000000000000000000815260048101849052602401610599565b61167a8585611c38565b838154811061168b5761168b6141bd565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1695945050505050565b6000600a6000836040516020016116cd9190613f9c565b60405160208183030381529060405280519060200120815260200190815260200160002054600014159050919050565b600061171261170c8585611c38565b83612069565b949350505050565b8573ffffffffffffffffffffffffffffffffffffffff8116611768576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156117b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117d791906141a0565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461183b576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61184688888861124d565b6118a26118538988611c38565b61185d8a89611bf6565b87878080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061189d925088915089905061425b565b612103565b858860018111156118b5576118b5614166565b7f5e140eb5bed8bcb1664a04c0be4aa419e0d2dbf1277a4a6770882a0beb3b91b287876040516118e69291906142cf565b60405180910390a35050505050505050565b6005546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810184905273ffffffffffffffffffffffffffffffffffffffff838116602483015260009216906391d1485490604401602060405180830381865afa158015611970573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611994919061432a565b9392505050565b60006119a68361253d565b8015611994575061199483836125a1565b606060008260c0015160018111156119d1576119d1614166565b1480156119e457506119e282612670565b155b15611a4457816020015173ffffffffffffffffffffffffffffffffffffffff167fa1e5a8c0fde3fa4d7320c3f9de0ab0a2c1ee6e891e6a513ca0811ddcf768b59460405160405180910390a2505060408051602081019091526000815290565b611a5b826000015183602001518460400151612a47565b600160c0840152600060e08401529050611a7482612670565b50816020015173ffffffffffffffffffffffffffffffffffffffff167f4ec4635a4d1f6ebe9ee3a059f74fc5d802e04d2d115c4090337a34e3b137c98a60405160405180910390a2919050565b6060611acd8585612c20565b600080611adc84860186614347565b915091507f99bf0fbd60208ca164accd299e2c0a8b4475c1a2df53c2d7160870f6825365288203611b2857611b2381806020019051810190611b1e919061449d565b612db0565b611ba9565b7fe5801b46183bd353d44247232707bb62253655a0580ade69a754ba7157ddf8fd8203611b7757600081806020019051810190611b659190614575565b9050611b718882613055565b50611ba9565b6040517f7265e5c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505060408051602081019091526000815295945050505050565b60008282604051602001611bd8929190614208565b60405160208183030381529060405280519060200120905092915050565b600080836001811115611c0b57611c0b614166565b03611c245750600081815260026020526040902061054c565b50600081815260036020526040902061054c565b600080836001811115611c4d57611c4d614166565b03611c665750600081815260208190526040902061054c565b50600081815260016020526040902061054c565b6000611c88828401846145aa565b90506000611c9a868360000151611067565b602083015190915073ffffffffffffffffffffffffffffffffffffffff16611cee576040517f3489abf600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805173ffffffffffffffffffffffffffffffffffffffff90811614611d7a57806000015173ffffffffffffffffffffffffffffffffffffffff16826020015173ffffffffffffffffffffffffffffffffffffffff1614611d7a576040517f3489abf600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081015115611e695760408083015190517fc3cc244a00000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff89169163c3cc244a91611de09160040190815260200190565b602060405180830381865afa158015611dfd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e21919061465a565b6020830151909150600160ff83161b16611e67576040517ff3c6318200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b606082015173ffffffffffffffffffffffffffffffffffffffff16611eba576040517f642321ac00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604081015173ffffffffffffffffffffffffffffffffffffffff90811614611f4957806040015173ffffffffffffffffffffffffffffffffffffffff16826060015173ffffffffffffffffffffffffffffffffffffffff1614611f49576040517f642321ac00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6060810151156120385760808201516040517fc3cc244a00000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff89169163c3cc244a91611faf9160040190815260200190565b602060405180830381865afa158015611fcc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ff0919061465a565b6060830151909150600160ff83161b16612036576040517f5a790ab800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b505050505050565b60008061204f838501856145aa565b905061205f868260000151611bc3565b9695505050505050565b8154600090815b818110156120d9578373ffffffffffffffffffffffffffffffffffffffff168582815481106120a1576120a16141bd565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16036120d157915061054c9050565b600101612070565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff949350505050565b8151600a811115612140576040517f760fb4ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8082511461217a576040517f3021beb200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b8181101561203857600073ffffffffffffffffffffffffffffffffffffffff168482815181106121af576121af6141bd565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1603612204576040517f7d4de38200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000811180156122745750836001820381518110612224576122246141bd565b602002602001015173ffffffffffffffffffffffffffffffffffffffff16848281518110612254576122546141bd565b602002602001015173ffffffffffffffffffffffffffffffffffffffff16145b156122ab576040517fd696c40800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166382984f308583815181106122f9576122f96141bd565b60200260200101516040518263ffffffff1660e01b8152600401612339919073ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b602060405180830381865afa158015612356573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061237a919061432a565b6123e757838181518110612390576123906141bd565b60200260200101516040517f5a987388000000000000000000000000000000000000000000000000000000008152600401610599919073ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b8381815181106123f9576123f96141bd565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1663a913b88184838151811061242e5761242e6141bd565b60200260200101516040518263ffffffff1660e01b81526004016124529190613b4c565b60006040518083038186803b15801561246a57600080fd5b505afa15801561247e573d6000803e3d6000fd5b5050505085848281518110612495576124956141bd565b60209081029190910181015182546001810184556000938452919092200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9092169190911790558251859084908390811061250b5761250b6141bd565b6020908102919091018101518254600181018455600093845291909220019061253490826146c0565b5060010161217d565b6000612569827f01ffc9a7000000000000000000000000000000000000000000000000000000006125a1565b801561054c575061259a827fffffffff000000000000000000000000000000000000000000000000000000006125a1565b1592915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015612659575060208210155b80156126655750600081115b979650505050505050565b6000806126858360c001518460a00151611c38565b8054806020026020016040519081016040528092919081815260200182805480156126e657602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116126bb575b5050505050905060006127018460c001518560a00151611bf6565b805480602002602001604051908101604052809291908181526020016000905b828210156127cd57838290600052602060002001805461274090614113565b80601f016020809104026020016040519081016040528092919081815260200182805461276c90614113565b80156127b95780601f1061278e576101008083540402835291602001916127b9565b820191906000526020600020905b81548152906001019060200180831161279c57829003601f168201915b505050505081526020019060010190612721565b50508451929350600091508190508660c0015160018111156127f1576127f1614166565b14612800578560800151612806565b85606001515b90508181511461285e578560c00151600181111561282657612826614166565b6040517f3171c36f00000000000000000000000000000000000000000000000000000000815260ff9091166004820152602401610599565b60e08601515b82811015612a3a57808760e001818152505060006040518060400160405280868481518110612895576128956141bd565b602002602001015181526020018484815181106128b4576128b46141bd565b6020026020010151815250905060006129118784815181106128d8576128d86141bd565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673800000000000000000000000000000000000000016151590565b156129d657868381518110612928576129286141bd565b602002602001015173ffffffffffffffffffffffffffffffffffffffff166334e5d29f8360405160200161295c91906147bc565b6040516020818303038152906040526040518263ffffffff1660e01b81526004016129879190613b4c565b6000604051808303816000875af11580156129a6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526129ce91908101906147f5565b5090506129fd565b6129fa8784815181106129eb576129eb6141bd565b6020026020010151838b613191565b90505b6001816001811115612a1157612a11614166565b14612a255750600098975050505050505050565b50508080612a32906140b4565b915050612864565b5060019695505050505050565b6060600082806020019051810190612a5f919061483c565b90506000600860008154612a72906140b4565b91829055506040805160a0810182528451815260208086015173ffffffffffffffffffffffffffffffffffffffff90811682840152606080880151909116838501528684015190830152608080870151908301526000848152600990915291909120815192935090918291908190612aea90826146c0565b506020828101516001830180547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff9384161790915560408086015160028601805490931693169290921790556060840151600384015560809093015160049092019190915590518391600a91600091612b7d91869101613a7b565b60405160208183030381529060405280519060200120815260200190815260200160002081905550817fc1ab5d0231434d664068cd9e5f80a04152484f1844e564dd9fee5c687caa0d7c84600001518560200151866040015187606001518860800151604051612bf19594939291906148ec565b60405180910390a260408051602081018490520160405160208183030381529060405293505050509392505050565b73ffffffffffffffffffffffffffffffffffffffff8216612cdd57612c657f637821dcee84aabec9c8cf4f6f643013a24ad27fd41511ffd937aea80d8619a9826118f8565b612cd9576040517f75000dc00000000000000000000000000000000000000000000000000000000081527f637821dcee84aabec9c8cf4f6f643013a24ad27fd41511ffd937aea80d8619a9600482015273ffffffffffffffffffffffffffffffffffffffff82166024820152604401610599565b5050565b8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612d3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d6391906141a0565b73ffffffffffffffffffffffffffffffffffffffff1614612cd9576040517fdc13a9c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080612dce83604001516000015184602001518560600151613375565b91509150600080612df085604001516020015186602001518760800151613375565b91509150600060405180608001604052808673ffffffffffffffffffffffffffffffffffffffff1681526020018581526020018473ffffffffffffffffffffffffffffffffffffffff168152602001838152509050600073ffffffffffffffffffffffffffffffffffffffff16866020015173ffffffffffffffffffffffffffffffffffffffff1603612f16578060068760000151604051612e9291906141ec565b9081526040805160209281900383019020835181547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff92831617835593850151600183015591840151600282018054909416921691909117909155606090910151600390910155612fcb565b806007600088602001518960000151604051602001612f36929190614208565b60408051808303601f190181529181528151602092830120835282820193909352908201600020835181547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff9283161783559285015160018301559284015160028201805490931693169290921790556060909101516003909101555b856020015173ffffffffffffffffffffffffffffffffffffffff167f5afe4586ed79afd39271a5d07aaa8d60de58e6e9a48ebf10c8f1ce828b592e7587600001518360000151896040015160000151856020015186604001518c604001516020015188606001516040516130459796959493929190614975565b60405180910390a2505050505050565b73ffffffffffffffffffffffffffffffffffffffff82166130d75760068160405161308091906141ec565b90815260405190819003602001902080547fffffffffffffffffffffffff00000000000000000000000000000000000000009081168255600060018301819055600283018054909216909155600390910155613154565b6007600083836040516020016130ee929190614208565b60408051601f19818403018152918152815160209283012083529082019290925201600090812080547fffffffffffffffffffffffff00000000000000000000000000000000000000009081168255600182018390556002820180549091169055600301555b7fa1b9abc85838f61f05343c3b5b89fe250131975f2b25b6029a263e253dc0e7fd81836040516131859291906149e1565b60405180910390a15050565b60008060008573ffffffffffffffffffffffffffffffffffffffff16635260a98c866040516020016131c391906147bc565b604051602081830303815290604052306040518363ffffffff1660e01b81526004016131f09291906149e1565b6000604051808303816000875af115801561320f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526132379190810190614a19565b9193509091506000905082600181111561325357613253614166565b0361336c57600081815260046020908152604091829020865181547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff928316178355928801516001830180549094169116179091559085015185919060028201906132d690826146c0565b50606082015180516132f2916003840191602090910190613829565b506080820151805161330e916004840191602090910190613829565b5060a0820151600582015560c08201516006820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001838181111561335957613359614166565b021790555060e082015181600701559050505b50949350505050565b600080600185600581111561338c5761338c614166565b036133bc57507f000000000000000000000000000000000000000000000000000000000000000090506000613560565b60028560058111156133d0576133d0614166565b0361347a5773ffffffffffffffffffffffffffffffffffffffff8416613422576040517fe86db48e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61342c8484613568565b8251600003613467576040517f521299a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8361347184613766565b91509150613560565b600385600581111561348e5761348e614166565b036134be57507f000000000000000000000000000000000000000000000000000000000000000090506000613560565b60048560058111156134d2576134d2614166565b036134f6575073ffffffffffffffffffffffffffffffffffffffff90506000613560565b600585600581111561350a5761350a614166565b0361352e575073ffffffffffffffffffffffffffffffffffffffff90506000613560565b6040517f92c6e29000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b935093915050565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a9161360d91600401613b4c565b602060405180830381865afa15801561362a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061364e91906141a0565b825190915060005b8181101561375f578273ffffffffffffffffffffffffffffffffffffffff16638a8cb0b48686848151811061368d5761368d6141bd565b60200260200101516040518363ffffffff1660e01b81526004016136d692919073ffffffffffffffffffffffffffffffffffffffff92909216825260ff16602082015260400190565b602060405180830381865afa1580156136f3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613717919061432a565b61374d576040517fa4ba834600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80613757816140b4565b915050613656565b5050505050565b600080805b83518110156137a957838181518110613786576137866141bd565b602002602001015160ff1660ff166001901b82179150808060010191505061376b565b5092915050565b5080546137bc90614113565b6000825580601f106137cc575050565b601f0160209004906000526020600020908101906137ea919061387f565b50565b50805460008255906000526020600020908101906137ea9190613894565b50805460008255906000526020600020908101906137ea919061387f565b82805482825590600052602060002090810192821561386f579160200282015b8281111561386f578251829061385f90826146c0565b5091602001919060010190613849565b5061387b929150613894565b5090565b5b8082111561387b5760008155600101613880565b8082111561387b5760006138a882826137b0565b50600101613894565b6000602082840312156138c357600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461199457600080fd5b73ffffffffffffffffffffffffffffffffffffffff811681146137ea57600080fd5b8035613920816138f3565b919050565b60006020828403121561393757600080fd5b8135611994816138f3565b60006020828403121561395457600080fd5b813567ffffffffffffffff81111561396b57600080fd5b820160a0818503121561199457600080fd5b60008083601f84011261398f57600080fd5b50813567ffffffffffffffff8111156139a757600080fd5b6020830191508360208285010111156139bf57600080fd5b9250929050565b6000806000604084860312156139db57600080fd5b83359250602084013567ffffffffffffffff8111156139f957600080fd5b613a058682870161397d565b9497909650939450505050565b600060208284031215613a2457600080fd5b5035919050565b60005b83811015613a46578181015183820152602001613a2e565b50506000910152565b60008151808452613a67816020860160208601613a2b565b601f01601f19169290920160200192915050565b602081526000825160a06020840152613a9760c0840182613a4f565b9050602084015173ffffffffffffffffffffffffffffffffffffffff8082166040860152806040870151166060860152505060608401516080840152608084015160a08401528091505092915050565b60008060008060608587031215613afd57600080fd5b8435613b08816138f3565b93506020850135613b18816138f3565b9250604085013567ffffffffffffffff811115613b3457600080fd5b613b408782880161397d565b95989497509550505050565b6020815260006119946020830184613a4f565b600281106137ea57600080fd5b60008083601f840112613b7e57600080fd5b50813567ffffffffffffffff811115613b9657600080fd5b6020830191508360208260051b85010111156139bf57600080fd5b60008060008060008060008060a0898b031215613bcd57600080fd5b8835613bd881613b5f565b97506020890135613be8816138f3565b9650604089013567ffffffffffffffff80821115613c0557600080fd5b613c118c838d0161397d565b909850965060608b0135915080821115613c2a57600080fd5b613c368c838d01613b6c565b909650945060808b0135915080821115613c4f57600080fd5b50613c5c8b828c01613b6c565b999c989b5096995094979396929594505050565b600080600060608486031215613c8557600080fd5b8335613c9081613b5f565b95602085013595506040909401359392505050565b60008060408385031215613cb857600080fd5b8235613cc381613b5f565b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160a0810167ffffffffffffffff81118282101715613d2357613d23613cd1565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715613d5257613d52613cd1565b604052919050565b600067ffffffffffffffff821115613d7457613d74613cd1565b50601f01601f191660200190565b600082601f830112613d9357600080fd5b8135613da6613da182613d5a565b613d29565b818152846020838601011115613dbb57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060408385031215613deb57600080fd5b8235613df6816138f3565b9150602083013567ffffffffffffffff811115613e1257600080fd5b613e1e85828601613d82565b9150509250929050565b600080600060608486031215613e3d57600080fd5b8335613e4881613b5f565b9250602084013591506040840135613e5f816138f3565b809150509250925092565b600080600060608486031215613e7f57600080fd5b8335613e8a81613b5f565b92506020840135613e9a816138f3565b929592945050506040919091013590565b60008060008060008060008060a0898b031215613ec757600080fd5b8835613bd8816138f3565b600080600080600080600060a0888a031215613eed57600080fd5b8735613ef881613b5f565b96506020880135613f08816138f3565b955060408801359450606088013567ffffffffffffffff80821115613f2c57600080fd5b613f388b838c01613b6c565b909650945060808a0135915080821115613f5157600080fd5b50613f5e8a828b01613b6c565b989b979a50959850939692959293505050565b818352818160208501375060006020828401015260006020601f19601f840116840101905092915050565b60208152600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112613fd457600080fd5b830160208101903567ffffffffffffffff811115613ff157600080fd5b80360382131561400057600080fd5b60a0602085015261401560c085018284613f71565b91505061402460208501613915565b73ffffffffffffffffffffffffffffffffffffffff811660408501525061404d60408501613915565b73ffffffffffffffffffffffffffffffffffffffff811660608501525060608401356080840152608084013560a08401528091505092915050565b80151581146137ea57600080fd5b600080604083850312156140a957600080fd5b8235613df681614088565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361410c577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b600181811c9082168061412757607f821691505b602082108103614160577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b8051613920816138f3565b6000602082840312156141b257600080fd5b8151611994816138f3565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082516141fe818460208701613a2b565b9190910192915050565b73ffffffffffffffffffffffffffffffffffffffff831681526040602082015260006117126040830184613a4f565b600067ffffffffffffffff82111561425157614251613cd1565b5060051b60200190565b6000614269613da184614237565b80848252602080830192508560051b85013681111561428757600080fd5b855b818110156142c357803567ffffffffffffffff8111156142a95760008081fd5b6142b536828a01613d82565b865250938201938201614289565b50919695505050505050565b60208082528181018390526000908460408401835b8681101561431f5782356142f7816138f3565b73ffffffffffffffffffffffffffffffffffffffff16825291830191908301906001016142e4565b509695505050505050565b60006020828403121561433c57600080fd5b815161199481614088565b6000806040838503121561435a57600080fd5b82359150602083013567ffffffffffffffff811115613e1257600080fd5b600082601f83011261438957600080fd5b8151614397613da182613d5a565b8181528460208386010111156143ac57600080fd5b611712826020830160208701613a2b565b80516006811061392057600080fd5b6000604082840312156143de57600080fd5b6040516040810181811067ffffffffffffffff8211171561440157614401613cd1565b604052905080614410836143bd565b815261441e602084016143bd565b60208201525092915050565b805160ff8116811461392057600080fd5b600082601f83011261444c57600080fd5b8151602061445c613da183614237565b82815260059290921b8401810191818101908684111561447b57600080fd5b8286015b8481101561431f576144908161442a565b835291830191830161447f565b6000602082840312156144af57600080fd5b815167ffffffffffffffff808211156144c757600080fd5b9083019060c082860312156144db57600080fd5b6144e3613d00565b8251828111156144f257600080fd5b6144fe87828601614378565b82525061450d60208401614195565b602082015261451f86604085016143cc565b604082015260808301518281111561453657600080fd5b6145428782860161443b565b60608301525060a08301518281111561455a57600080fd5b6145668782860161443b565b60808301525095945050505050565b60006020828403121561458757600080fd5b815167ffffffffffffffff81111561459e57600080fd5b61171284828501614378565b6000602082840312156145bc57600080fd5b813567ffffffffffffffff808211156145d457600080fd5b9083019060a082860312156145e857600080fd5b6145f0613d00565b8235828111156145ff57600080fd5b61460b87828601613d82565b8252506020830135915061461e826138f3565b816020820152604083013560408201526060830135915061463e826138f3565b8160608201526080830135608082015280935050505092915050565b60006020828403121561466c57600080fd5b6119948261442a565b601f8211156146bb57600081815260208120601f850160051c8101602086101561469c5750805b601f850160051c820191505b81811015612038578281556001016146a8565b505050565b815167ffffffffffffffff8111156146da576146da613cd1565b6146ee816146e88454614113565b84614675565b602080601f831160018114614741576000841561470b5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555612038565b600085815260208120601f198616915b8281101561477057888601518255948401946001909101908401614751565b50858210156147ac57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b6020815260008251604060208401526147d86060840182613a4f565b90506020840151601f19848303016040850152610cf58282613a4f565b6000806040838503121561480857600080fd5b825161481381613b5f565b602084015190925067ffffffffffffffff81111561483057600080fd5b613e1e85828601614378565b60006020828403121561484e57600080fd5b815167ffffffffffffffff8082111561486657600080fd5b9083019060a0828603121561487a57600080fd5b614882613d00565b82518281111561489157600080fd5b61489d87828601614378565b825250602083015191506148b0826138f3565b81602082015260408301516040820152606083015191506148d0826138f3565b8160608201526080830151608082015280935050505092915050565b60a0815260006148ff60a0830188613a4f565b73ffffffffffffffffffffffffffffffffffffffff968716602084015260408301959095525091909316606082015260800191909152919050565b60068110614971577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b60e08152600061498860e083018a613a4f565b905073ffffffffffffffffffffffffffffffffffffffff80891660208401526149b4604084018961493a565b60608301879052851660808301526149cf60a083018561493a565b8260c083015298975050505050505050565b6040815260006149f46040830185613a4f565b905073ffffffffffffffffffffffffffffffffffffffff831660208301529392505050565b600080600060608486031215614a2e57600080fd5b8351614a3981613b5f565b602085015190935067ffffffffffffffff811115614a5657600080fd5b614a6286828701614378565b92505060408401519050925092509256fea2646970667358221220258178ab529cffb4ff863013666f66a9b26a909e8f1e6c95e23e6fe2c2394bd364736f6c634300081300330000000000000000000000005b81030c087d41558e3fcf23b3575e85c9a768e600000000000000000000000051870a0659a87c7b46baef7311b3128006e1fb16000000000000000000000000826a953332df2e1a994c7cfae68e129ba683aa8f000000000000000000000000c4f7e87f9ff2a2df9bc7ff8399558b594ebf911a000000000000000000000000518ccd79e0e7b75fd5fcc09463fb09cb7d55470d", + "nonce": "0x801", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xb86c38745a8d892c1604649381942ca13b63cfe211e0b01efce0887852361d11", + "transactionType": "CREATE", + "contractName": "LicensingModule", + "contractAddress": "0x058bB0D7795CfA2a46C60C0b63F8f0fa7cD1EEd5", + "function": null, + "arguments": [ + "(0x5B81030C087d41558E3FCF23B3575E85c9A768e6, 0x51870A0659A87c7B46baEF7311B3128006E1FB16, 0x826a953332Df2e1a994C7CFae68E129ba683Aa8F, 0xC4F7E87F9FF2A2DF9bC7FF8399558B594EBF911A)", + "0x3113e5bfe2251A9fcA1225083cf6d36547E63e07", + "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x5650df", + "value": "0x0", + "data": "0x6101406040523480156200001257600080fd5b50604051620050eb380380620050eb833981016040819052620000359162000167565b602083015183906001600160a01b038116620000645760405163134141bd60e11b815260040160405180910390fd5b6001600160a01b039081166080528151166200009357604051636028d8f760e01b815260040160405180910390fd5b80516001600160a01b0390811660a052604082015116620000c757604051635a70c46160e11b815260040160405180910390fd5b60408101516001600160a01b0390811660c052606090910151811660e0528216620001055760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03808316610100528116620001345760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03166101205250620002319050565b80516001600160a01b03811681146200016257600080fd5b919050565b600080600083850360c08112156200017e57600080fd5b60808112156200018d57600080fd5b50604051608081016001600160401b0381118282101715620001bf57634e487b7160e01b600052604160045260246000fd5b604052620001cd856200014a565b8152620001dd602086016200014a565b6020820152620001f0604086016200014a565b604082015262000203606086016200014a565b6060820152925062000218608085016200014a565b91506200022860a085016200014a565b90509250925092565b60805160a05160c05160e0516101005161012051614dfa620002f1600039600081816102de015261348f0152600081816103180152818161231d015281816124e3015281816126430152613394015260006102260152600081816103ff01528181611f7a0152818161206b01528181612a1401528181612b0d01528181612c330152818161323c01526135250152600081816103b201526132ce0152600081816103780152818161096001528181610f3c01526118270152614dfa6000f3fe608060405234801561001057600080fd5b50600436106101825760003560e01c806376a4b13b116100d8578063bc12fcca1161008c578063e8fb5c9b11610066578063e8fb5c9b146103e7578063f0ebdc83146103fa578063fba854e01461042157600080fd5b8063bc12fcca1461039a578063d2faf8b0146103ad578063e5720404146103d457600080fd5b8063a5b04d45116100bd578063a5b04d451461034d578063b6efd29d14610360578063b95ddb521461037357600080fd5b806376a4b13b1461031357806377379d941461033a57600080fd5b806351e06b901161013a57806368a4f0711161011457806368a4f071146102c6578063743fee4a146102d95780637448c5681461030057600080fd5b806351e06b9014610221578063562573a91461026d578063582d35d7146102b357600080fd5b806332ee68131161016b57806332ee6813146101c45780634fa4467c146101f95780634fcbd2131461020157600080fd5b806301ffc9a7146101875780632fa7bc99146101af575b600080fd5b61019a610195366004613b09565b610434565b60405190151581526020015b60405180910390f35b6101c26101bd366004613b94565b610519565b005b6101eb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81565b6040519081526020016101a6565b6101eb600a81565b61021461020f366004613c02565b610946565b6040516101a69190613cb7565b6102487f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101a6565b6102a661027b366004613cca565b73ffffffffffffffffffffffffffffffffffffffff1660009081526006602052604090205460ff1690565b6040516101a69190613d2a565b6102146102c1366004613d38565b6109ce565b6102146102d4366004613d81565b610af1565b6102487f000000000000000000000000000000000000000000000000000000000000000081565b6101eb61030e366004613db6565b610ccb565b6102487f000000000000000000000000000000000000000000000000000000000000000081565b61019a610348366004613de2565b610cdf565b6101c261035b366004613e24565b610d17565b61021461036e366004613eaa565b610f22565b6102487f000000000000000000000000000000000000000000000000000000000000000081565b6101eb6103a8366004613db6565b611085565b6102487f000000000000000000000000000000000000000000000000000000000000000081565b6102486103e2366004613d81565b611091565b6101eb6103f5366004613de2565b611189565b6102487f000000000000000000000000000000000000000000000000000000000000000081565b6101c261042f366004613f69565b61119e565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f2fa7bc990000000000000000000000000000000000000000000000000000000014806104c757507fffffffff0000000000000000000000000000000000000000000000000000000082167ff924008e00000000000000000000000000000000000000000000000000000000145b8061051357507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60008061052883850185614128565b91509150811561083557600085815260046020526040812060070180549161054f8361418c565b9091555050600085815260046020908152604091829020825161010081018452815473ffffffffffffffffffffffffffffffffffffffff90811682526001830154169281019290925260028101805461082f94840191906105af906141eb565b80601f01602080910402602001604051908101604052809291908181526020018280546105db906141eb565b80156106285780601f106105fd57610100808354040283529160200191610628565b820191906000526020600020905b81548152906001019060200180831161060b57829003601f168201915b5050505050815260200160038201805480602002602001604051908101604052809291908181526020016000905b82821015610702578382906000526020600020018054610675906141eb565b80601f01602080910402602001604051908101604052809291908181526020018280546106a1906141eb565b80156106ee5780601f106106c3576101008083540402835291602001916106ee565b820191906000526020600020905b8154815290600101906020018083116106d157829003601f168201915b505050505081526020019060010190610656565b50505050815260200160048201805480602002602001604051908101604052809291908181526020016000905b828210156107db57838290600052602060002001805461074e906141eb565b80601f016020809104026020016040519081016040528092919081815260200182805461077a906141eb565b80156107c75780601f1061079c576101008083540402835291602001916107c7565b820191906000526020600020905b8154815290600101906020018083116107aa57829003601f168201915b50505050508152602001906001019061072f565b5050509082525060058201546020820152600682015460409091019060ff16600181111561080b5761080b613ce7565b600181111561081c5761081c613ce7565b815260200160078201548152505061137c565b5061089a565b6000858152600460205260409081902060010154905173ffffffffffffffffffffffffffffffffffffffff909116907f7f7ce7cf4c1b43e1bf51034d0ad7062abb9d4529c7bb0510d512249b0fb7145290610891908490613cb7565b60405180910390a25b600085815260046020526040812080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811682556001820180549091169055906108e96002830182613a08565b6108f7600383016000613a45565b610905600483016000613a45565b506000600582018190556006820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690556007909101555050505050565b60603373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146109b7576040517f72823b5400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6109c385858585611486565b90505b949350505050565b6060600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610a5085858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061150892505050565b81526020019081526020016000208054610a69906141eb565b80601f0160208091040260200160405190810160405280929190818152602001828054610a95906141eb565b8015610ae25780601f10610ab757610100808354040283529160200191610ae2565b820191906000526020600020905b815481529060010190602001808311610ac557829003601f168201915b505050505090505b9392505050565b60606000610aff858561155f565b805480602002602001604051908101604052809291908181526020016000905b82821015610bcb578382906000526020600020018054610b3e906141eb565b80601f0160208091040260200160405190810160405280929190818152602001828054610b6a906141eb565b8015610bb75780601f10610b8c57610100808354040283529160200191610bb7565b820191906000526020600020905b815481529060010190602001808311610b9a57829003601f168201915b505050505081526020019060010190610b1f565b50505050905080518310610c13576040517f9c7692bf000000000000000000000000000000000000000000000000000000008152600481018490526024015b60405180910390fd5b610c1d858561155f565b8381548110610c2e57610c2e61423e565b906000526020600020018054610c43906141eb565b80601f0160208091040260200160405190810160405280929190818152602001828054610c6f906141eb565b8015610cbc5780601f10610c9157610100808354040283529160200191610cbc565b820191906000526020600020905b815481529060010190602001808311610c9f57829003601f168201915b50505050509150509392505050565b6000610cd783836115a1565b549392505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610d0d858585611189565b1415949350505050565b8173ffffffffffffffffffffffffffffffffffffffff8116610d65576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610db0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dd4919061426d565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e38576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000846001811115610e4c57610e4c613ce7565b148015610e66575060008281526020819052604090205415155b15610e9e576000828152602081905260408120610e8291613a63565b6000828152600260205260408120610e9991613a45565b610ee0565b60008281526001602052604090205415610ee0576000828152600160205260408120610ec991613a63565b6000828152600360205260408120610ee091613a45565b81846001811115610ef357610ef3613ce7565b6040517f1fe48a4ec69671720d8bdd8f8a6853d16f486c0bb91fcaf5b8ffc4932b8bc9f490600090a350505050565b60603373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610f93576040517f72823b5400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60007fff5c818c3a09617e24e0ba5e97a8b336e42589e94d6f586a74a28d768ee2c8cb905060006040518061010001604052808c73ffffffffffffffffffffffffffffffffffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505090825250602001611044888a6142ce565b815260200161105386886142ce565b81526020810184905260400160008152602001600081525090506110768161137c565b9b9a5050505050505050505050565b6000610cd7838361155f565b60008061109e85856115a1565b8054806020026020016040519081016040528092919081815260200182805480156110ff57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116110d4575b5050505050905080518310611143576040517f9c7692bf00000000000000000000000000000000000000000000000000000000815260048101849052602401610c0a565b61114d85856115a1565b838154811061115e5761115e61423e565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1695945050505050565b60006109c661119885856115a1565b836115e3565b8573ffffffffffffffffffffffffffffffffffffffff81166111ec576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611237573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061125b919061426d565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146112bf576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6112ca888888610d17565b6113266112d789886115a1565b6112e18a8961155f565b87878080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061132192508891508990506142ce565b61167d565b8588600181111561133957611339613ce7565b7f5e140eb5bed8bcb1664a04c0be4aa419e0d2dbf1277a4a6770882a0beb3b91b2878760405161136a929190614342565b60405180910390a35050505050505050565b606060008260c00151600181111561139657611396613ce7565b1480156113a957506113a782611abf565b155b1561140957816020015173ffffffffffffffffffffffffffffffffffffffff167fa1e5a8c0fde3fa4d7320c3f9de0ab0a2c1ee6e891e6a513ca0811ddcf768b59460405160405180910390a2505060408051602081019091526000815290565b611420826000015183602001518460400151611e96565b600160c0840152600060e0840152905061143982611abf565b50816020015173ffffffffffffffffffffffffffffffffffffffff167f4ec4635a4d1f6ebe9ee3a059f74fc5d802e04d2d115c4090337a34e3b137c98a60405160405180910390a2919050565b60606000806114978486018661439d565b915091507f8b21f20183a523515c357db6dba25c92b138630b63988ca3e60a6be86c8da04582036114d6576114cd878783612129565b925050506109c6565b6040517f96bb42f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080829050601f8151111561154c57826040517f305a27a9000000000000000000000000000000000000000000000000000000008152600401610c0a9190613cb7565b8051611557826143da565b179392505050565b60008083600181111561157457611574613ce7565b0361158d57506000818152600260205260409020610513565b506000818152600360205260409020610513565b6000808360018111156115b6576115b6613ce7565b036115cf57506000818152602081905260409020610513565b506000818152600160205260409020610513565b8154600090815b81811015611653578373ffffffffffffffffffffffffffffffffffffffff1685828154811061161b5761161b61423e565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff160361164b5791506105139050565b6001016115ea565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff949350505050565b8151600a8111156116ba576040517f760fb4ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b808251146116f4576040517f3021beb200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b81811015611ab757600073ffffffffffffffffffffffffffffffffffffffff168482815181106117295761172961423e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff160361177e576040517f7d4de38200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000811180156117ee575083600182038151811061179e5761179e61423e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff168482815181106117ce576117ce61423e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff16145b15611825576040517fd696c40800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166382984f308583815181106118735761187361423e565b60200260200101516040518263ffffffff1660e01b81526004016118b3919073ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b602060405180830381865afa1580156118d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118f4919061441c565b6119615783818151811061190a5761190a61423e565b60200260200101516040517f5a987388000000000000000000000000000000000000000000000000000000008152600401610c0a919073ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b8381815181106119735761197361423e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1663a913b8818483815181106119a8576119a861423e565b60200260200101516040518263ffffffff1660e01b81526004016119cc9190613cb7565b60006040518083038186803b1580156119e457600080fd5b505afa1580156119f8573d6000803e3d6000fd5b5050505085848281518110611a0f57611a0f61423e565b60209081029190910181015182546001810184556000938452919092200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90921691909117905582518590849083908110611a8557611a8561423e565b60209081029190910181015182546001810184556000938452919092200190611aae9082614484565b506001016116f7565b505050505050565b600080611ad48360c001518460a001516115a1565b805480602002602001604051908101604052809291908181526020018280548015611b3557602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311611b0a575b505050505090506000611b508460c001518560a0015161155f565b805480602002602001604051908101604052809291908181526020016000905b82821015611c1c578382906000526020600020018054611b8f906141eb565b80601f0160208091040260200160405190810160405280929190818152602001828054611bbb906141eb565b8015611c085780601f10611bdd57610100808354040283529160200191611c08565b820191906000526020600020905b815481529060010190602001808311611beb57829003601f168201915b505050505081526020019060010190611b70565b50508451929350600091508190508660c001516001811115611c4057611c40613ce7565b14611c4f578560800151611c55565b85606001515b905081815114611cad578560c001516001811115611c7557611c75613ce7565b6040517f3171c36f00000000000000000000000000000000000000000000000000000000815260ff9091166004820152602401610c0a565b60e08601515b82811015611e8957808760e001818152505060006040518060400160405280868481518110611ce457611ce461423e565b60200260200101518152602001848481518110611d0357611d0361423e565b602002602001015181525090506000611d60878481518110611d2757611d2761423e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673800000000000000000000000000000000000000016151590565b15611e2557868381518110611d7757611d7761423e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff166334e5d29f83604051602001611dab9190614580565b6040516020818303038152906040526040518263ffffffff1660e01b8152600401611dd69190613cb7565b6000604051808303816000875af1158015611df5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611e1d9190810190614607565b509050611e4c565b611e49878481518110611e3a57611e3a61423e565b6020026020010151838b6127bd565b90505b6001816001811115611e6057611e60613ce7565b14611e745750600098975050505050505050565b50508080611e819061418c565b915050611cb3565b5060019695505050505050565b606060008083806020019051810190611eaf919061464e565b915091507f3f92a83f1dd77188c62fa393a54ccf9854be836ca6c243397d0acbbce04723878203611eee57611ee58686836129a1565b92505050610aea565b7f5281374dd3fc2bb7839f50fddfb6a14a666cb4d23b20d6aecf9b9950d103b3368203611ff257600081806020019051810190611f2b919061467f565b6040517f1f09e4e50000000000000000000000000000000000000000000000000000000081526004810182905273ffffffffffffffffffffffffffffffffffffffff88811660248301529192507f000000000000000000000000000000000000000000000000000000000000000090911690631f09e4e590604401600060405180830381600087803b158015611fc057600080fd5b505af1158015611fd4573d6000803e3d6000fd5b50505050604051806020016040528060008152509350505050610aea565b7f29def77ab981c01a6b53c58b23dd89ac4447095f721298424063ed3f16962ac682036120f757600080828060200190518101906120309190614698565b6040517f71e074dd000000000000000000000000000000000000000000000000000000008152600481018390526024810182905291935091507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906371e074dd90604401600060405180830381600087803b1580156120c457600080fd5b505af11580156120d8573d6000803e3d6000fd5b5050505060405180602001604052806000815250945050505050610aea565b6040517f8c3cdde800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60608273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561218d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121b1919061426d565b73ffffffffffffffffffffffffffffffffffffffff16146121fe576040517f679dd15600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600082806020019051810190612214919061477f565b905060008160400151600281111561222e5761222e613ce7565b03612265576040517fbe53f1bf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff821660009081526006602052604090205460ff1660028111156122a2576122a2613ce7565b146122d9576040517f58d7c9ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602082015182516040517f7859a97e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001691637859a97e916123519190600401613cb7565b602060405180830381865afa15801561236e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612392919061467f565b815111156123cc576040517f7c22012400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408084015173ffffffffffffffffffffffffffffffffffffffff8416600090815260066020529190912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600183600281111561242f5761242f613ce7565b0217905550825173ffffffffffffffffffffffffffffffffffffffff83166000908152600760205260409020906124669082614484565b5073ffffffffffffffffffffffffffffffffffffffff808316600081815260056020526040908190208451875192517feae376e300000000000000000000000000000000000000000000000000000000815291949093927fffedbcce1b94ebe928a55b7ca34c76074cbe7f467d561b9c0589d5d985b39be39290917f0000000000000000000000000000000000000000000000000000000000000000169063eae376e390612518908490600401613cb7565b600060405180830381865afa158015612535573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261255d919081019061482b565b886040015160405161257193929190614860565b60405180910390a260005b818110156127a05760008482815181106125985761259861423e565b6020026020010151905060008460008360000151815260200190815260200160002080546125c5906141eb565b905011156125ff576040517f1590386a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b865181516040517fc2e26bbb00000000000000000000000000000000000000000000000000000000815260009273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169263c2e26bbb92612678929190600401614895565b600060405180830381865afa158015612695573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526126bd9190810190614965565b90506126cd818360200151612e03565b612703576040517fac6293b300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60208083015183516000908152918790526040909120906127249082614484565b508673ffffffffffffffffffffffffffffffffffffffff167f9c3f6f42e7e2cb05b8a3b21a99f597eb17f3f57ab9156b34f81fb51f221a1d3a61276a84600001516130ac565b836020015185602001516040516127839392919061499a565b60405180910390a2505080806127989061418c565b91505061257c565b505060408051602081019091526000815298975050505050505050565b60008060008573ffffffffffffffffffffffffffffffffffffffff16635260a98c866040516020016127ef9190614580565b604051602081830303815290604052306040518363ffffffff1660e01b815260040161281c9291906149df565b6000604051808303816000875af115801561283b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526128639190810190614a17565b9193509091506000905082600181111561287f5761287f613ce7565b0361299857600081815260046020908152604091829020865181547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff928316178355928801516001830180549094169116179091559085015185919060028201906129029082614484565b506060820151805161291e916003840191602090910190613a81565b506080820151805161293a916004840191602090910190613a81565b5060a0820151600582015560c08201516006820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001838181111561298557612985613ce7565b021790555060e082015181600701559050505b50949350505050565b60606000828060200190518101906129b99190614a71565b905060006129d18686846020015185604001516130eb565b90508160200151600014612aca5760208201516040517fe705c2b800000000000000000000000000000000000000000000000000000000815260048101919091527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063e705c2b890602401602060405180830381865afa158015612a70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a94919061441c565b612aca576040517f37efd03900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602082015115801590612b8d575060208201516040517f3c06e1dc00000000000000000000000000000000000000000000000000000000815260048101919091527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690633c06e1dc90602401602060405180830381865afa158015612b69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b8d919061441c565b15612cca5781515115612bcc576040517f4af02eb800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602082015160408084015190517fd09d894e000000000000000000000000000000000000000000000000000000008152600481019290925273ffffffffffffffffffffffffffffffffffffffff8381166024840152878116604484015260648301919091527f0000000000000000000000000000000000000000000000000000000000000000169063d09d894e906084016020604051808303816000875af1158015612c7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ca0919061467f565b604051602001612cb291815260200190565b60405160208183030381529060405292505050610aea565b8473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614612d2f576040517f2d05516900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612ca086868385600760008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054612d80906141eb565b80601f0160208091040260200160405190810160405280929190818152602001828054612dac906141eb565b8015612df95780601f10612dce57610100808354040283529160200191612df9565b820191906000526020600020905b815481529060010190602001808311612ddc57829003601f168201915b505050505061338f565b60007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470828051906020012003612e3b57506001610513565b600083602001516005811115612e5357612e53613ce7565b03612e765781806020019051810190612e6c919061441c565b5060019050610513565b600183602001516005811115612e8e57612e8e613ce7565b03612ebb5781806020019051810190612ea7919061467f565b600003612eb657506000610513565b6130a3565b600283602001516005811115612ed357612ed3613ce7565b03612f2757600073ffffffffffffffffffffffffffffffffffffffff1682806020019051810190612f04919061426d565b73ffffffffffffffffffffffffffffffffffffffff1603612eb657506000610513565b600383602001516005811115612f3f57612f3f613ce7565b036130075781806020019051810190612f58919061482b565b50604051602001612f9a9060208082526001908201527f2000000000000000000000000000000000000000000000000000000000000000604082015260600190565b6040516020818303038152906040528051906020012082805190602001201480612ffa5750604051602001612fda90602080825260009082015260400190565b604051602081830303815290604052805190602001208280519060200120145b15612eb657506000610513565b60048360200151600581111561301f5761301f613ce7565b036130555760008280602001905181019061303a9190614af5565b9050805160000361304f576000915050610513565b506130a3565b60058360200151600581111561306d5761306d613ce7565b036130a3576000836060015180602001905181019061308c9190614af5565b905080516000036130a1576000915050610513565b505b50600192915050565b606060006130b9836135d3565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b73ffffffffffffffffffffffffffffffffffffffff841660009081526006602052604081205460ff168181600281111561312757613127613ce7565b0361315e576040517f8c17640800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600181600281111561317257613172613ce7565b036131ee578573ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156131c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131e6919061426d565b9150506109c6565b600281600281111561320257613202613ce7565b0361335d578315613299576040517f6352211e000000000000000000000000000000000000000000000000000000008152600481018590527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690636352211e906024015b602060405180830381865afa1580156131c2573d6000803e3d6000fd5b8215613312576040517f299d1cf6000000000000000000000000000000000000000000000000000000008152600481018490527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063299d1cf69060240161327c565b8573ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156131c2573d6000803e3d6000fd5b6040517fbe53f1bf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e75afa55846040518263ffffffff1660e01b81526004016133eb9190613cb7565b600060405180830381865afa158015613408573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526134309190810190614b86565b90506000806000806134478b896000015187613614565b935093509350935060006040518061014001604052806001600381111561347057613470613ce7565b81526020018515158152602001841515815260200183151581526020017f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018d73ffffffffffffffffffffffffffffffffffffffff16815260200161350a8a611508565b81526020018a6040015181526020018a6020015181525090507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663eb683a49828d886040518463ffffffff1660e01b815260040161358093929190614cb0565b6020604051808303816000875af115801561359f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135c3919061467f565b9c9b505050505050505050505050565b600060ff8216601f811115610513576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815173ffffffffffffffffffffffffffffffffffffffff841660009081526005602052604081208351606093839283928067ffffffffffffffff81111561365d5761365d614016565b6040519080825280602002602001820160405280156136a357816020015b60408051808201909152600081526060602082015281526020019060019003908161367b5790505b50965060005b818110156139375760008982815181106136c5576136c561423e565b6020026020010151905060008460008360000151815260200190815260200160002080546136f2906141eb565b80601f016020809104026020016040519081016040528092919081815260200182805461371e906141eb565b801561376b5780601f106137405761010080835404028352916020019161376b565b820191906000526020600020905b81548152906001019060200180831161374e57829003601f168201915b50505050509050606060005b878110156137d15760008e82815181106137935761379361423e565b602002602001015190506137ae816000015186600001511490565b156137be576020015191506137d1565b50806137c98161418c565b915050613777565b5060006137df828486613952565b9050604051806040016040528085600001518152602001828152508c868151811061380c5761380c61423e565b60200260200101819052507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081805190602001200361384e5750505050613925565b61389184600001516040518060400160405280601381526020017f44657269766174697665732d416c6c6f776564000000000000000000000000008152506139f5565b156138b157808060200190518101906138aa919061441c565b9a50613920565b6138f484600001516040518060400160405280601b81526020017f44657269766174697665732d416c6c6f7765642d4f7074696f6e7300000000008152506139f5565b156139205760008180602001905181019061390f919061467f565b6001811615159b5060021615159950505b505050505b8061392f8161418c565b9150506136a9565b50856139465760009450600093505b50505093509350935093565b8251606090156139dc57825115613995576040517f42445ce000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61399f8285612e03565b6139d5576040517f5bcde08d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5082610aea565b8251156139ea575081610aea565b506040810151610aea565b6000610aea83613a0484611508565b1490565b508054613a14906141eb565b6000825580601f10613a24575050565b601f016020900490600052602060002090810190613a429190613ad7565b50565b5080546000825590600052602060002090810190613a429190613aec565b5080546000825590600052602060002090810190613a429190613ad7565b828054828255906000526020600020908101928215613ac7579160200282015b82811115613ac75782518290613ab79082614484565b5091602001919060010190613aa1565b50613ad3929150613aec565b5090565b5b80821115613ad35760008155600101613ad8565b80821115613ad3576000613b008282613a08565b50600101613aec565b600060208284031215613b1b57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610aea57600080fd5b60008083601f840112613b5d57600080fd5b50813567ffffffffffffffff811115613b7557600080fd5b602083019150836020828501011115613b8d57600080fd5b9250929050565b600080600060408486031215613ba957600080fd5b83359250602084013567ffffffffffffffff811115613bc757600080fd5b613bd386828701613b4b565b9497909650939450505050565b73ffffffffffffffffffffffffffffffffffffffff81168114613a4257600080fd5b60008060008060608587031215613c1857600080fd5b8435613c2381613be0565b93506020850135613c3381613be0565b9250604085013567ffffffffffffffff811115613c4f57600080fd5b613c5b87828801613b4b565b95989497509550505050565b60005b83811015613c82578181015183820152602001613c6a565b50506000910152565b60008151808452613ca3816020860160208601613c67565b601f01601f19169290920160200192915050565b602081526000610aea6020830184613c8b565b600060208284031215613cdc57600080fd5b8135610aea81613be0565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60038110613d2657613d26613ce7565b9052565b602081016105138284613d16565b600080600060408486031215613d4d57600080fd5b8335613d5881613be0565b9250602084013567ffffffffffffffff811115613bc757600080fd5b60028110613a4257600080fd5b600080600060608486031215613d9657600080fd5b8335613da181613d74565b95602085013595506040909401359392505050565b60008060408385031215613dc957600080fd5b8235613dd481613d74565b946020939093013593505050565b600080600060608486031215613df757600080fd5b8335613e0281613d74565b9250602084013591506040840135613e1981613be0565b809150509250925092565b600080600060608486031215613e3957600080fd5b8335613e4481613d74565b92506020840135613e5481613be0565b929592945050506040919091013590565b60008083601f840112613e7757600080fd5b50813567ffffffffffffffff811115613e8f57600080fd5b6020830191508360208260051b8501011115613b8d57600080fd5b60008060008060008060008060a0898b031215613ec657600080fd5b8835613ed181613be0565b97506020890135613ee181613be0565b9650604089013567ffffffffffffffff80821115613efe57600080fd5b613f0a8c838d01613b4b565b909850965060608b0135915080821115613f2357600080fd5b613f2f8c838d01613e65565b909650945060808b0135915080821115613f4857600080fd5b50613f558b828c01613e65565b999c989b5096995094979396929594505050565b600080600080600080600060a0888a031215613f8457600080fd5b8735613f8f81613d74565b96506020880135613f9f81613be0565b955060408801359450606088013567ffffffffffffffff80821115613fc357600080fd5b613fcf8b838c01613e65565b909650945060808a0135915080821115613fe857600080fd5b50613ff58a828b01613e65565b989b979a50959850939692959293505050565b8015158114613a4257600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561406857614068614016565b60405290565b6040516060810167ffffffffffffffff8111828210171561406857614068614016565b604051601f8201601f1916810167ffffffffffffffff811182821017156140ba576140ba614016565b604052919050565b600067ffffffffffffffff8211156140dc576140dc614016565b50601f01601f191660200190565b60006140fd6140f8846140c2565b614091565b905082815283838301111561411157600080fd5b828260208301376000602084830101529392505050565b6000806040838503121561413b57600080fd5b823561414681614008565b9150602083013567ffffffffffffffff81111561416257600080fd5b8301601f8101851361417357600080fd5b614182858235602084016140ea565b9150509250929050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036141e4577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b600181811c908216806141ff57607f821691505b602082108103614238577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006020828403121561427f57600080fd5b8151610aea81613be0565b600067ffffffffffffffff8211156142a4576142a4614016565b5060051b60200190565b600082601f8301126142bf57600080fd5b610aea838335602085016140ea565b60006142dc6140f88461428a565b80848252602080830192508560051b8501368111156142fa57600080fd5b855b8181101561433657803567ffffffffffffffff81111561431c5760008081fd5b61432836828a016142ae565b8652509382019382016142fc565b50919695505050505050565b60208082528181018390526000908460408401835b8681101561439257823561436a81613be0565b73ffffffffffffffffffffffffffffffffffffffff1682529183019190830190600101614357565b509695505050505050565b600080604083850312156143b057600080fd5b82359150602083013567ffffffffffffffff8111156143ce57600080fd5b614182858286016142ae565b80516020808301519190811015614238577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60209190910360031b1b16919050565b60006020828403121561442e57600080fd5b8151610aea81614008565b601f82111561447f57600081815260208120601f850160051c810160208610156144605750805b601f850160051c820191505b81811015611ab75782815560010161446c565b505050565b815167ffffffffffffffff81111561449e5761449e614016565b6144b2816144ac84546141eb565b84614439565b602080601f83116001811461450557600084156144cf5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555611ab7565b600085815260208120601f198616915b8281101561453457888601518255948401946001909101908401614515565b508582101561457057878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b60208152600082516040602084015261459c6060840182613c8b565b90506020840151601f198483030160408501526145b98282613c8b565b95945050505050565b600082601f8301126145d357600080fd5b81516145e16140f8826140c2565b8181528460208386010111156145f657600080fd5b6109c6826020830160208701613c67565b6000806040838503121561461a57600080fd5b825161462581613d74565b602084015190925067ffffffffffffffff81111561464257600080fd5b614182858286016145c2565b6000806040838503121561466157600080fd5b82519150602083015167ffffffffffffffff81111561464257600080fd5b60006020828403121561469157600080fd5b5051919050565b600080604083850312156146ab57600080fd5b505080516020909101519092909150565b600082601f8301126146cd57600080fd5b815160206146dd6140f88361428a565b82815260059290921b840181019181810190868411156146fc57600080fd5b8286015b8481101561439257805167ffffffffffffffff808211156147215760008081fd5b8189019150604080601f19848d0301121561473c5760008081fd5b614744614045565b83880151815290830151908282111561475d5760008081fd5b61476b8c89848701016145c2565b818901528652505050918301918301614700565b60006020828403121561479157600080fd5b815167ffffffffffffffff808211156147a957600080fd5b90830190606082860312156147bd57600080fd5b6147c561406e565b8251828111156147d457600080fd5b6147e0878286016145c2565b8252506020830151828111156147f557600080fd5b614801878286016146bc565b602083015250604083015192506003831061481b57600080fd5b6040810192909252509392505050565b60006020828403121561483d57600080fd5b815167ffffffffffffffff81111561485457600080fd5b6109c6848285016145c2565b6060815260006148736060830186613c8b565b82810360208401526148858186613c8b565b9150506109c66040830184613d16565b6040815260006148a86040830185613c8b565b90508260208301529392505050565b6000608082840312156148c957600080fd5b6040516080810167ffffffffffffffff82821081831117156148ed576148ed614016565b8160405282935084518352602085015191506006821061490c57600080fd5b816020840152604085015191508082111561492657600080fd5b614932868387016145c2565b6040840152606085015191508082111561494b57600080fd5b50614958858286016145c2565b6060830152505092915050565b60006020828403121561497757600080fd5b815167ffffffffffffffff81111561498e57600080fd5b6109c6848285016148b7565b6060815260006149ad6060830186613c8b565b600685106149bd576149bd613ce7565b84602084015282810360408401526149d58185613c8b565b9695505050505050565b6040815260006149f26040830185613c8b565b905073ffffffffffffffffffffffffffffffffffffffff831660208301529392505050565b600080600060608486031215614a2c57600080fd5b8351614a3781613d74565b602085015190935067ffffffffffffffff811115614a5457600080fd5b614a60868287016145c2565b925050604084015190509250925092565b600060208284031215614a8357600080fd5b815167ffffffffffffffff80821115614a9b57600080fd5b9083019060608286031215614aaf57600080fd5b614ab761406e565b825182811115614ac657600080fd5b614ad2878286016146bc565b825250602083015160208201526040830151604082015280935050505092915050565b60006020808385031215614b0857600080fd5b825167ffffffffffffffff811115614b1f57600080fd5b8301601f81018513614b3057600080fd5b8051614b3e6140f88261428a565b81815260059190911b82018301908381019087831115614b5d57600080fd5b928401925b82841015614b7b57835182529284019290840190614b62565b979650505050505050565b60006020808385031215614b9957600080fd5b825167ffffffffffffffff80821115614bb157600080fd5b818501915085601f830112614bc557600080fd5b8151614bd36140f88261428a565b81815260059190911b83018401908481019088831115614bf257600080fd5b8585015b83811015614c2a57805185811115614c0e5760008081fd5b614c1c8b89838a01016148b7565b845250918601918601614bf6565b5098975050505050505050565b60048110613d2657613d26613ce7565b600081518084526020808501808196508360051b8101915082860160005b85811015614ca35782840389528151805185528501516040868601819052614c8f81870183613c8b565b9a87019a9550505090840190600101614c65565b5091979650505050505050565b6000610180614cc0838751614c37565b6020860151614cd3602085018215159052565b506040860151614ce7604085018215159052565b506060860151614cfb606085018215159052565b506080860151614d23608085018273ffffffffffffffffffffffffffffffffffffffff169052565b5060a0860151614d4b60a085018273ffffffffffffffffffffffffffffffffffffffff169052565b5060c0860151614d7360c085018273ffffffffffffffffffffffffffffffffffffffff169052565b5060e086810151908401526101008087015190840152610120808701519084015273ffffffffffffffffffffffffffffffffffffffff8516610140840152806101608401526149d581840185614c4756fea2646970667358221220d0c7dac5f95a838db3de11f5024ffd7d80a9e4596e8caaf4c9009d0ad0f26fcd64736f6c634300081300330000000000000000000000005b81030c087d41558e3fcf23b3575e85c9a768e600000000000000000000000051870a0659a87c7b46baef7311b3128006e1fb16000000000000000000000000826a953332df2e1a994c7cfae68e129ba683aa8f000000000000000000000000c4f7e87f9ff2a2df9bc7ff8399558b594ebf911a0000000000000000000000003113e5bfe2251a9fca1225083cf6d36547e63e07000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "nonce": "0x802", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x8f5a3400435f0fb05e7fbe4fe81304716808b3061c16cd5cceb4a6027bdafdd9", + "transactionType": "CREATE", + "contractName": "HooksFactory", + "contractAddress": "0x499527835364a150290231B84C6a5297E5dd0024", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x61e81", + "value": "0x0", + "data": "0x608060405234801561001057600080fd5b506104a7806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c806391e7e5b414610030575b600080fd5b61004361003e366004610315565b61006c565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6000808260405160200161008291815260200190565b6040516020818303038152906040528051906020012060001c905060005b6105dc8110156101385760006100b68284610426565b8751602089012090915060006100cc8383610142565b9050600073800000000000000000000000000000000000000089146100f25760016100f5565b60025b60ff1690506003609e83901c168103610121576101146000858c610158565b965050505050505061013b565b50505050808061013090610439565b9150506100a0565b50505b9392505050565b600061014f8383306102bc565b90505b92915050565b6000834710156101c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f437265617465323a20696e73756666696369656e742062616c616e636500000060448201526064015b60405180910390fd5b8151600003610234576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f437265617465323a2062797465636f6465206c656e677468206973207a65726f60448201526064016101c0565b8282516020840186f5905073ffffffffffffffffffffffffffffffffffffffff811661013b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f437265617465323a204661696c6564206f6e206465706c6f790000000000000060448201526064016101c0565b6000604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060006060848603121561032a57600080fd5b833567ffffffffffffffff8082111561034257600080fd5b818601915086601f83011261035657600080fd5b813581811115610368576103686102e6565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156103ae576103ae6102e6565b816040528281528960208487010111156103c757600080fd5b82602086016020830137600060208483010152809750505050505060208401359150604084013590509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820180821115610152576101526103f7565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361046a5761046a6103f7565b506001019056fea2646970667358221220b9424546b77d6959490d75f2d31169e7b2dd7e680376ab4166cc87ad4d0349cf64736f6c63430008130033", + "nonce": "0x803", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x8b356cbc685595174796414c99a5d40e3afd1efff57081804bf8b019fee871ca", + "transactionType": "CALL", + "contractName": "HooksFactory", + "contractAddress": "0x499527835364a150290231B84C6a5297E5dd0024", + "function": "deploy(bytes,uint256,uint256):(address)", + "arguments": [ + "0x60806040523480156200001157600080fd5b5060405162000f8838038062000f888339810160408190526200003491620001d1565b808080620000536001600160a01b038216637965db0b60e01b620000e5565b62000096576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b038316908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a250505050620001fc565b6000620000f2836200010d565b801562000106575062000106838362000146565b9392505050565b600062000122826301ffc9a760e01b62000146565b80156200014057506200013e826001600160e01b031962000146565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d91506000519050828015620001b9575060208210155b8015620001c65750600081115b979650505050505050565b600060208284031215620001e457600080fd5b81516001600160a01b03811681146200010657600080fd5b610d7c806200020c6000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806319129e5a1461005157806334e5d29f146100665780635260a98c14610090578063a913b881146100b2575b600080fd5b61006461005f3660046108c2565b6100c5565b005b610079610074366004610928565b610229565b604051610087929190610a09565b60405180910390f35b6100a361009e366004610a31565b610328565b60405161008793929190610a88565b6100646100c0366004610928565b6103ca565b60006100d1813361040d565b610115576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b61015573ffffffffffffffffffffffffffffffffffffffff83167f7965db0b000000000000000000000000000000000000000000000000000000006104b0565b6101bb576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c000000000000000000000000000000000000604482015260640161010c565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050565b600060607f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db610258813361040d565b610297576040517f75000dc00000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440161010c565b60006102a585870187610b92565b90506102b481600001516104cc565b6102c6816000015182602001516105df565b600194509250833073ffffffffffffffffffffffffffffffffffffffff167fdfd1fe8825f45c847f436243dea4246c2ed6c29b2ee09d385de7a3049566b69788888760405161031793929190610c39565b60405180910390a350509250929050565b6000606060007f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db610359813361040d565b610398576040517f75000dc00000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440161010c565b6040517fcce14c2300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61040982828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506104cc92505050565b5050565b600080546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff8481166024830152909116906391d1485490604401602060405180830381865afa158015610485573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a99190610c9f565b9392505050565b60006104bb83610769565b80156104a957506104a983836107ce565b6000818060200190518101906104e29190610d11565b805190915073ffffffffffffffffffffffffffffffffffffffff8116610534576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61057473ffffffffffffffffffffffffffffffffffffffff82167f80ac58cd000000000000000000000000000000000000000000000000000000006104b0565b6105da576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f4945524337323100000000000000000000000000000000000000000000000000604482015260640161010c565b505050565b60606000838060200190518101906105f79190610d11565b905060008380602001905181019061060f9190610d11565b805190915073ffffffffffffffffffffffffffffffffffffffff16610660576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815181516040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91821660048201529116906370a0823190602401602060405180830381865afa1580156106d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f49190610d2d565b60000361075157815181516040517fe9dee8af00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff92831660048201529116602482015260440161010c565b50506040805160208101909152600081529392505050565b6000610795827f01ffc9a7000000000000000000000000000000000000000000000000000000006107ce565b80156107c857506107c6827fffffffff000000000000000000000000000000000000000000000000000000006107ce565b155b92915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015610886575060208210155b80156108925750600081115b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff811681146108bf57600080fd5b50565b6000602082840312156108d457600080fd5b81356104a98161089d565b60008083601f8401126108f157600080fd5b50813567ffffffffffffffff81111561090957600080fd5b60208301915083602082850101111561092157600080fd5b9250929050565b6000806020838503121561093b57600080fd5b823567ffffffffffffffff81111561095257600080fd5b61095e858286016108df565b90969095509350505050565b600281106109a1577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b6000815180845260005b818110156109cb576020818501810151868301820152016109af565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b610a13818461096a565b604060208201526000610a2960408301846109a5565b949350505050565b600080600060408486031215610a4657600080fd5b833567ffffffffffffffff811115610a5d57600080fd5b610a69868287016108df565b9094509250506020840135610a7d8161089d565b809150509250925092565b610a92818561096a565b606060208201526000610aa860608301856109a5565b9050826040830152949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112610af857600080fd5b813567ffffffffffffffff80821115610b1357610b13610ab8565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715610b5957610b59610ab8565b81604052838152866020858801011115610b7257600080fd5b836020870160208301376000602085830101528094505050505092915050565b600060208284031215610ba457600080fd5b813567ffffffffffffffff80821115610bbc57600080fd5b9083019060408286031215610bd057600080fd5b604051604081018181108382111715610beb57610beb610ab8565b604052823582811115610bfd57600080fd5b610c0987828601610ae7565b825250602083013582811115610c1e57600080fd5b610c2a87828601610ae7565b60208301525095945050505050565b604081528260408201528284606083013760006060848301015260007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011682016060838203016020840152610c9560608201856109a5565b9695505050505050565b600060208284031215610cb157600080fd5b815180151581146104a957600080fd5b600060208284031215610cd357600080fd5b6040516020810181811067ffffffffffffffff82111715610cf657610cf6610ab8565b80604052508091508251610d098161089d565b905292915050565b600060208284031215610d2357600080fd5b6104a98383610cc1565b600060208284031215610d3f57600080fd5b505191905056fea2646970667358221220ac089ae2ad4a08453a0e62d5ef88cd54351c5b108b99b3628d8b974af06257d264736f6c63430008130033000000000000000000000000518ccd79e0e7b75fd5fcc09463fb09cb7d55470d", + "730750818665451459101842416358141509827966271488", + "1702012368" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x499527835364a150290231b84c6a5297e5dd0024", + "gas": "0x11aa78", + "value": "0x0", + "data": "0x91e7e5b400000000000000000000000000000000000000000000000000000000000000600000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006572a5d00000000000000000000000000000000000000000000000000000000000000fa860806040523480156200001157600080fd5b5060405162000f8838038062000f888339810160408190526200003491620001d1565b808080620000536001600160a01b038216637965db0b60e01b620000e5565b62000096576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b038316908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a250505050620001fc565b6000620000f2836200010d565b801562000106575062000106838362000146565b9392505050565b600062000122826301ffc9a760e01b62000146565b80156200014057506200013e826001600160e01b031962000146565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d91506000519050828015620001b9575060208210155b8015620001c65750600081115b979650505050505050565b600060208284031215620001e457600080fd5b81516001600160a01b03811681146200010657600080fd5b610d7c806200020c6000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806319129e5a1461005157806334e5d29f146100665780635260a98c14610090578063a913b881146100b2575b600080fd5b61006461005f3660046108c2565b6100c5565b005b610079610074366004610928565b610229565b604051610087929190610a09565b60405180910390f35b6100a361009e366004610a31565b610328565b60405161008793929190610a88565b6100646100c0366004610928565b6103ca565b60006100d1813361040d565b610115576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b61015573ffffffffffffffffffffffffffffffffffffffff83167f7965db0b000000000000000000000000000000000000000000000000000000006104b0565b6101bb576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c000000000000000000000000000000000000604482015260640161010c565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050565b600060607f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db610258813361040d565b610297576040517f75000dc00000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440161010c565b60006102a585870187610b92565b90506102b481600001516104cc565b6102c6816000015182602001516105df565b600194509250833073ffffffffffffffffffffffffffffffffffffffff167fdfd1fe8825f45c847f436243dea4246c2ed6c29b2ee09d385de7a3049566b69788888760405161031793929190610c39565b60405180910390a350509250929050565b6000606060007f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db610359813361040d565b610398576040517f75000dc00000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440161010c565b6040517fcce14c2300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61040982828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506104cc92505050565b5050565b600080546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff8481166024830152909116906391d1485490604401602060405180830381865afa158015610485573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a99190610c9f565b9392505050565b60006104bb83610769565b80156104a957506104a983836107ce565b6000818060200190518101906104e29190610d11565b805190915073ffffffffffffffffffffffffffffffffffffffff8116610534576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61057473ffffffffffffffffffffffffffffffffffffffff82167f80ac58cd000000000000000000000000000000000000000000000000000000006104b0565b6105da576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f4945524337323100000000000000000000000000000000000000000000000000604482015260640161010c565b505050565b60606000838060200190518101906105f79190610d11565b905060008380602001905181019061060f9190610d11565b805190915073ffffffffffffffffffffffffffffffffffffffff16610660576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815181516040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91821660048201529116906370a0823190602401602060405180830381865afa1580156106d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f49190610d2d565b60000361075157815181516040517fe9dee8af00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff92831660048201529116602482015260440161010c565b50506040805160208101909152600081529392505050565b6000610795827f01ffc9a7000000000000000000000000000000000000000000000000000000006107ce565b80156107c857506107c6827fffffffff000000000000000000000000000000000000000000000000000000006107ce565b155b92915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015610886575060208210155b80156108925750600081115b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff811681146108bf57600080fd5b50565b6000602082840312156108d457600080fd5b81356104a98161089d565b60008083601f8401126108f157600080fd5b50813567ffffffffffffffff81111561090957600080fd5b60208301915083602082850101111561092157600080fd5b9250929050565b6000806020838503121561093b57600080fd5b823567ffffffffffffffff81111561095257600080fd5b61095e858286016108df565b90969095509350505050565b600281106109a1577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b6000815180845260005b818110156109cb576020818501810151868301820152016109af565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b610a13818461096a565b604060208201526000610a2960408301846109a5565b949350505050565b600080600060408486031215610a4657600080fd5b833567ffffffffffffffff811115610a5d57600080fd5b610a69868287016108df565b9094509250506020840135610a7d8161089d565b809150509250925092565b610a92818561096a565b606060208201526000610aa860608301856109a5565b9050826040830152949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112610af857600080fd5b813567ffffffffffffffff80821115610b1357610b13610ab8565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715610b5957610b59610ab8565b81604052838152866020858801011115610b7257600080fd5b836020870160208301376000602085830101528094505050505092915050565b600060208284031215610ba457600080fd5b813567ffffffffffffffff80821115610bbc57600080fd5b9083019060408286031215610bd057600080fd5b604051604081018181108382111715610beb57610beb610ab8565b604052823582811115610bfd57600080fd5b610c0987828601610ae7565b825250602083013582811115610c1e57600080fd5b610c2a87828601610ae7565b60208301525095945050505050565b604081528260408201528284606083013760006060848301015260007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011682016060838203016020840152610c9560608201856109a5565b9695505050505050565b600060208284031215610cb157600080fd5b815180151581146104a957600080fd5b600060208284031215610cd357600080fd5b6040516020810181811067ffffffffffffffff82111715610cf657610cf6610ab8565b80604052508091508251610d098161089d565b905292915050565b600060208284031215610d2357600080fd5b6104a98383610cc1565b600060208284031215610d3f57600080fd5b505191905056fea2646970667358221220ac089ae2ad4a08453a0e62d5ef88cd54351c5b108b99b3628d8b974af06257d264736f6c63430008130033000000000000000000000000518ccd79e0e7b75fd5fcc09463fb09cb7d55470d000000000000000000000000000000000000000000000000", + "nonce": "0x804", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE2", + "address": "0x919Cc6581801039f92863862B186025a1F562B17", + "initCode": "60806040523480156200001157600080fd5b5060405162000f8838038062000f888339810160408190526200003491620001d1565b808080620000536001600160a01b038216637965db0b60e01b620000e5565b62000096576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b038316908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a250505050620001fc565b6000620000f2836200010d565b801562000106575062000106838362000146565b9392505050565b600062000122826301ffc9a760e01b62000146565b80156200014057506200013e826001600160e01b031962000146565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d91506000519050828015620001b9575060208210155b8015620001c65750600081115b979650505050505050565b600060208284031215620001e457600080fd5b81516001600160a01b03811681146200010657600080fd5b610d7c806200020c6000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806319129e5a1461005157806334e5d29f146100665780635260a98c14610090578063a913b881146100b2575b600080fd5b61006461005f3660046108c2565b6100c5565b005b610079610074366004610928565b610229565b604051610087929190610a09565b60405180910390f35b6100a361009e366004610a31565b610328565b60405161008793929190610a88565b6100646100c0366004610928565b6103ca565b60006100d1813361040d565b610115576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b61015573ffffffffffffffffffffffffffffffffffffffff83167f7965db0b000000000000000000000000000000000000000000000000000000006104b0565b6101bb576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c000000000000000000000000000000000000604482015260640161010c565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050565b600060607f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db610258813361040d565b610297576040517f75000dc00000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440161010c565b60006102a585870187610b92565b90506102b481600001516104cc565b6102c6816000015182602001516105df565b600194509250833073ffffffffffffffffffffffffffffffffffffffff167fdfd1fe8825f45c847f436243dea4246c2ed6c29b2ee09d385de7a3049566b69788888760405161031793929190610c39565b60405180910390a350509250929050565b6000606060007f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db610359813361040d565b610398576040517f75000dc00000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440161010c565b6040517fcce14c2300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61040982828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506104cc92505050565b5050565b600080546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff8481166024830152909116906391d1485490604401602060405180830381865afa158015610485573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a99190610c9f565b9392505050565b60006104bb83610769565b80156104a957506104a983836107ce565b6000818060200190518101906104e29190610d11565b805190915073ffffffffffffffffffffffffffffffffffffffff8116610534576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61057473ffffffffffffffffffffffffffffffffffffffff82167f80ac58cd000000000000000000000000000000000000000000000000000000006104b0565b6105da576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f4945524337323100000000000000000000000000000000000000000000000000604482015260640161010c565b505050565b60606000838060200190518101906105f79190610d11565b905060008380602001905181019061060f9190610d11565b805190915073ffffffffffffffffffffffffffffffffffffffff16610660576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815181516040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91821660048201529116906370a0823190602401602060405180830381865afa1580156106d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f49190610d2d565b60000361075157815181516040517fe9dee8af00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff92831660048201529116602482015260440161010c565b50506040805160208101909152600081529392505050565b6000610795827f01ffc9a7000000000000000000000000000000000000000000000000000000006107ce565b80156107c857506107c6827fffffffff000000000000000000000000000000000000000000000000000000006107ce565b155b92915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015610886575060208210155b80156108925750600081115b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff811681146108bf57600080fd5b50565b6000602082840312156108d457600080fd5b81356104a98161089d565b60008083601f8401126108f157600080fd5b50813567ffffffffffffffff81111561090957600080fd5b60208301915083602082850101111561092157600080fd5b9250929050565b6000806020838503121561093b57600080fd5b823567ffffffffffffffff81111561095257600080fd5b61095e858286016108df565b90969095509350505050565b600281106109a1577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b6000815180845260005b818110156109cb576020818501810151868301820152016109af565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b610a13818461096a565b604060208201526000610a2960408301846109a5565b949350505050565b600080600060408486031215610a4657600080fd5b833567ffffffffffffffff811115610a5d57600080fd5b610a69868287016108df565b9094509250506020840135610a7d8161089d565b809150509250925092565b610a92818561096a565b606060208201526000610aa860608301856109a5565b9050826040830152949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112610af857600080fd5b813567ffffffffffffffff80821115610b1357610b13610ab8565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715610b5957610b59610ab8565b81604052838152866020858801011115610b7257600080fd5b836020870160208301376000602085830101528094505050505092915050565b600060208284031215610ba457600080fd5b813567ffffffffffffffff80821115610bbc57600080fd5b9083019060408286031215610bd057600080fd5b604051604081018181108382111715610beb57610beb610ab8565b604052823582811115610bfd57600080fd5b610c0987828601610ae7565b825250602083013582811115610c1e57600080fd5b610c2a87828601610ae7565b60208301525095945050505050565b604081528260408201528284606083013760006060848301015260007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011682016060838203016020840152610c9560608201856109a5565b9695505050505050565b600060208284031215610cb157600080fd5b815180151581146104a957600080fd5b600060208284031215610cd357600080fd5b6040516020810181811067ffffffffffffffff82111715610cf657610cf6610ab8565b80604052508091508251610d098161089d565b905292915050565b600060208284031215610d2357600080fd5b6104a98383610cc1565b600060208284031215610d3f57600080fd5b505191905056fea2646970667358221220ac089ae2ad4a08453a0e62d5ef88cd54351c5b108b99b3628d8b974af06257d264736f6c63430008130033000000000000000000000000518ccd79e0e7b75fd5fcc09463fb09cb7d55470d" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0x320fcca1822ce25672b02b24f7323526c37aee94e33ea2d5dbd92d67a4f8569d", + "transactionType": "CALL", + "contractName": "HooksFactory", + "contractAddress": "0x499527835364a150290231B84C6a5297E5dd0024", + "function": "deploy(bytes,uint256,uint256):(address)", + "arguments": [ + "0x60c06040523480156200001157600080fd5b506040516200182038038062001820833981016040819052620000349162000250565b828080620000536001600160a01b038216637965db0b60e01b62000147565b62000096576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b038316908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050506001600160a01b038116620001065760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0382166200012e5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b039081166080521660a052506200029a565b600062000154836200016f565b8015620001685750620001688383620001a8565b9392505050565b600062000184826301ffc9a760e01b620001a8565b8015620001a25750620001a0826001600160e01b0319620001a8565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d915060005190508280156200021b575060208210155b8015620002285750600081115b979650505050505050565b80516001600160a01b03811681146200024b57600080fd5b919050565b6000806000606084860312156200026657600080fd5b620002718462000233565b9250620002816020850162000233565b9150620002916040850162000233565b90509250925092565b60805160a051611559620002c7600039600081816101520152610e010152600061088101526115596000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80633d0aa6e51161005b5780633d0aa6e5146101185780635260a98c1461012b5780635ab6d0011461014d578063a913b8811461017457600080fd5b80630a5989761461008257806319129e5a146100e257806334e5d29f146100f7575b600080fd5b6100b8610090366004610f9c565b60016020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100f56100f0366004610fda565b610187565b005b61010a610105366004611040565b6102eb565b6040516100d9929190611121565b6100f5610126366004611149565b61038b565b61013e61013936600461116b565b610521565b6040516100d9939291906111c2565b6100b87f000000000000000000000000000000000000000000000000000000000000000081565b6100f5610182366004611040565b61077d565b600061019381336107c0565b6101d7576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b61021773ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000610863565b61027d576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c00000000000000000000000000000000000060448201526064016101ce565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050565b600060607f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db61031a81336107c0565b610359576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016101ce565b6040517f24baa24800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408051602080820183526000808352858152600390915291822060040154610100900460ff16610418576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f52657175657374206e6f7420666f756e6400000000000000000000000000000060448201526064016101ce565b6000848152600360208190526040909120015483101561046c575060408051808201909152601e81527f42616c616e6365206f6620546f6b656e206973206e6f7420656e6f75676800006020820152610471565b600191505b600084815260036020818152604080842080547fffffffffffffffffffffffff0000000000000000000000000000000000000000908116825560018201805482169055600282018054909116905592830193909355600490910180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000169055905161051b9186916105079186918691016111f2565b60405160208183030381529060405261087f565b50505050565b6000606060007f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db61055281336107c0565b610591576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016101ce565b73ffffffffffffffffffffffffffffffffffffffff85166105de576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61061e73ffffffffffffffffffffffffffffffffffffffff86167f2fa7bc9900000000000000000000000000000000000000000000000000000000610863565b610684576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f4943616c6c6261636b48616e646c65720000000000000000000000000000000060448201526064016101ce565b600061069287890189611310565b90506106a18160000151610a9f565b6106b381600001518260200151610ba4565b600081815260016020526040812080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8b1617905596509094509250848673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167f320acf383fac55c3eff3aad884406f0fa211a5c451266edd9de8151bb26b7054868c8c8a60405161076a94939291906113a1565b60405180910390a4505093509350939050565b6107bc82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610a9f92505050565b5050565b600080546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff8481166024830152909116906391d1485490604401602060405180830381865afa158015610838573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085c9190611403565b9392505050565b600061086e83610e68565b801561085c575061085c8383610ecd565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff8116331461090d576040517f5dc645bb00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff821660248201526044016101ce565b60008381526001602052604090205473ffffffffffffffffffffffffffffffffffffffff1661096b576040517fc88d34d7000000000000000000000000000000000000000000000000000000008152600481018490526024016101ce565b6000838152600160205260409081902054905173ffffffffffffffffffffffffffffffffffffffff9091169030907fb8da071166b4cdb339d32ac1c86452cf0ba046f8aeb8230c00d0ce19c173884c906109c89087908790611425565b60405180910390a3600083815260016020526040908190205490517f2fa7bc9900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690632fa7bc9990610a359086908690600401611425565b600060405180830381600087803b158015610a4f57600080fd5b505af1158015610a63573d6000803e3d6000fd5b505050600093845250506001602052506040902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b600081806020019051810190610ab5919061143e565b805190915073ffffffffffffffffffffffffffffffffffffffff16610b36576040517f7662892900000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f746f6b656e41646472657373206973203000000000000000000000000000000060448201526064016101ce565b80602001516000036107bc576040517f7662892900000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f62616c616e63655468726573686f6c642069732030000000000000000000000060448201526064016101ce565b606060008084806020019051810190610bbd919061143e565b9050600084806020019051810190610bd59190611478565b600280549192503091906000610bea836114c4565b9091555060405160609290921b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660208301526034820152605401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152828252805160209182012081840183526000808552835160c08101855233808252885173ffffffffffffffffffffffffffffffffffffffff908116838701908152895182168489019081528b8801516060860190815260808601878152600160a088018181528a8a5260039b8c9052988c9020975188549087167fffffffffffffffffffffffff0000000000000000000000000000000000000000918216178955945190880180549187169186169190911790559151600287018054918616919094161790925590519684019690965594516004928301805494511515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff921515929092167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000090951694909417179092558751875195517f3114f43a0000000000000000000000000000000000000000000000000000000081529182018490526024820192909252908316604482015292821660648401523060848401527f3d0aa6e50000000000000000000000000000000000000000000000000000000060a48401529296509194507f000000000000000000000000000000000000000000000000000000000000000090911690633114f43a9060c401600060405180830381600087803b158015610e4757600080fd5b505af1158015610e5b573d6000803e3d6000fd5b5050505050509250929050565b6000610e94827f01ffc9a700000000000000000000000000000000000000000000000000000000610ecd565b8015610ec75750610ec5827fffffffff00000000000000000000000000000000000000000000000000000000610ecd565b155b92915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015610f85575060208210155b8015610f915750600081115b979650505050505050565b600060208284031215610fae57600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610fd757600080fd5b50565b600060208284031215610fec57600080fd5b813561085c81610fb5565b60008083601f84011261100957600080fd5b50813567ffffffffffffffff81111561102157600080fd5b60208301915083602082850101111561103957600080fd5b9250929050565b6000806020838503121561105357600080fd5b823567ffffffffffffffff81111561106a57600080fd5b61107685828601610ff7565b90969095509350505050565b600281106110b9577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b6000815180845260005b818110156110e3576020818501810151868301820152016110c7565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b61112b8184611082565b60406020820152600061114160408301846110bd565b949350505050565b6000806040838503121561115c57600080fd5b50508035926020909101359150565b60008060006040848603121561118057600080fd5b833567ffffffffffffffff81111561119757600080fd5b6111a386828701610ff7565b90945092505060208401356111b781610fb5565b809150509250925092565b6111cc8185611082565b6060602082015260006111e260608301856110bd565b9050826040830152949350505050565b821515815260406020820152600061114160408301846110bd565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561125f5761125f61120d565b60405290565b600082601f83011261127657600080fd5b813567ffffffffffffffff808211156112915761129161120d565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156112d7576112d761120d565b816040528381528660208588010111156112f057600080fd5b836020870160208301376000602085830101528094505050505092915050565b60006020828403121561132257600080fd5b813567ffffffffffffffff8082111561133a57600080fd5b908301906040828603121561134e57600080fd5b61135661123c565b82358281111561136557600080fd5b61137187828601611265565b82525060208301358281111561138657600080fd5b61139287828601611265565b60208301525095945050505050565b848152606060208201528260608201528284608083013760006080848301015260007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011682016080838203016040840152610f9160808201856110bd565b60006020828403121561141557600080fd5b8151801515811461085c57600080fd5b82815260406020820152600061114160408301846110bd565b60006040828403121561145057600080fd5b61145861123c565b825161146381610fb5565b81526020928301519281019290925250919050565b60006020828403121561148a57600080fd5b6040516020810181811067ffffffffffffffff821117156114ad576114ad61120d565b60405282516114bb81610fb5565b81529392505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361151c577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b506001019056fea2646970667358221220d8b168046b7ea8ef58a98e4718a596bce0ccd4e82ab63c88943c3c5258310fb564736f6c63430008130033000000000000000000000000518ccd79e0e7b75fd5fcc09463fb09cb7d55470d00000000000000000000000004401ff04e6c01a8f1e5696ad6aa053c86b73cd300000000000000000000000077cbcc0e29e10f1eea24e0d109aab26c5b2abd88", + "365375409332725729550921208179070754913983135744", + "1702012368" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x499527835364a150290231b84c6a5297e5dd0024", + "gas": "0x1ad7b8", + "value": "0x0", + "data": "0x91e7e5b400000000000000000000000000000000000000000000000000000000000000600000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006572a5d0000000000000000000000000000000000000000000000000000000000000188060c06040523480156200001157600080fd5b506040516200182038038062001820833981016040819052620000349162000250565b828080620000536001600160a01b038216637965db0b60e01b62000147565b62000096576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b038316908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050506001600160a01b038116620001065760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0382166200012e5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b039081166080521660a052506200029a565b600062000154836200016f565b8015620001685750620001688383620001a8565b9392505050565b600062000184826301ffc9a760e01b620001a8565b8015620001a25750620001a0826001600160e01b0319620001a8565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d915060005190508280156200021b575060208210155b8015620002285750600081115b979650505050505050565b80516001600160a01b03811681146200024b57600080fd5b919050565b6000806000606084860312156200026657600080fd5b620002718462000233565b9250620002816020850162000233565b9150620002916040850162000233565b90509250925092565b60805160a051611559620002c7600039600081816101520152610e010152600061088101526115596000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80633d0aa6e51161005b5780633d0aa6e5146101185780635260a98c1461012b5780635ab6d0011461014d578063a913b8811461017457600080fd5b80630a5989761461008257806319129e5a146100e257806334e5d29f146100f7575b600080fd5b6100b8610090366004610f9c565b60016020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100f56100f0366004610fda565b610187565b005b61010a610105366004611040565b6102eb565b6040516100d9929190611121565b6100f5610126366004611149565b61038b565b61013e61013936600461116b565b610521565b6040516100d9939291906111c2565b6100b87f000000000000000000000000000000000000000000000000000000000000000081565b6100f5610182366004611040565b61077d565b600061019381336107c0565b6101d7576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b61021773ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000610863565b61027d576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c00000000000000000000000000000000000060448201526064016101ce565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050565b600060607f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db61031a81336107c0565b610359576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016101ce565b6040517f24baa24800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408051602080820183526000808352858152600390915291822060040154610100900460ff16610418576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f52657175657374206e6f7420666f756e6400000000000000000000000000000060448201526064016101ce565b6000848152600360208190526040909120015483101561046c575060408051808201909152601e81527f42616c616e6365206f6620546f6b656e206973206e6f7420656e6f75676800006020820152610471565b600191505b600084815260036020818152604080842080547fffffffffffffffffffffffff0000000000000000000000000000000000000000908116825560018201805482169055600282018054909116905592830193909355600490910180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000169055905161051b9186916105079186918691016111f2565b60405160208183030381529060405261087f565b50505050565b6000606060007f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db61055281336107c0565b610591576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016101ce565b73ffffffffffffffffffffffffffffffffffffffff85166105de576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61061e73ffffffffffffffffffffffffffffffffffffffff86167f2fa7bc9900000000000000000000000000000000000000000000000000000000610863565b610684576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f4943616c6c6261636b48616e646c65720000000000000000000000000000000060448201526064016101ce565b600061069287890189611310565b90506106a18160000151610a9f565b6106b381600001518260200151610ba4565b600081815260016020526040812080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8b1617905596509094509250848673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167f320acf383fac55c3eff3aad884406f0fa211a5c451266edd9de8151bb26b7054868c8c8a60405161076a94939291906113a1565b60405180910390a4505093509350939050565b6107bc82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610a9f92505050565b5050565b600080546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff8481166024830152909116906391d1485490604401602060405180830381865afa158015610838573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085c9190611403565b9392505050565b600061086e83610e68565b801561085c575061085c8383610ecd565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff8116331461090d576040517f5dc645bb00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff821660248201526044016101ce565b60008381526001602052604090205473ffffffffffffffffffffffffffffffffffffffff1661096b576040517fc88d34d7000000000000000000000000000000000000000000000000000000008152600481018490526024016101ce565b6000838152600160205260409081902054905173ffffffffffffffffffffffffffffffffffffffff9091169030907fb8da071166b4cdb339d32ac1c86452cf0ba046f8aeb8230c00d0ce19c173884c906109c89087908790611425565b60405180910390a3600083815260016020526040908190205490517f2fa7bc9900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690632fa7bc9990610a359086908690600401611425565b600060405180830381600087803b158015610a4f57600080fd5b505af1158015610a63573d6000803e3d6000fd5b505050600093845250506001602052506040902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b600081806020019051810190610ab5919061143e565b805190915073ffffffffffffffffffffffffffffffffffffffff16610b36576040517f7662892900000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f746f6b656e41646472657373206973203000000000000000000000000000000060448201526064016101ce565b80602001516000036107bc576040517f7662892900000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f62616c616e63655468726573686f6c642069732030000000000000000000000060448201526064016101ce565b606060008084806020019051810190610bbd919061143e565b9050600084806020019051810190610bd59190611478565b600280549192503091906000610bea836114c4565b9091555060405160609290921b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660208301526034820152605401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152828252805160209182012081840183526000808552835160c08101855233808252885173ffffffffffffffffffffffffffffffffffffffff908116838701908152895182168489019081528b8801516060860190815260808601878152600160a088018181528a8a5260039b8c9052988c9020975188549087167fffffffffffffffffffffffff0000000000000000000000000000000000000000918216178955945190880180549187169186169190911790559151600287018054918616919094161790925590519684019690965594516004928301805494511515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff921515929092167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000090951694909417179092558751875195517f3114f43a0000000000000000000000000000000000000000000000000000000081529182018490526024820192909252908316604482015292821660648401523060848401527f3d0aa6e50000000000000000000000000000000000000000000000000000000060a48401529296509194507f000000000000000000000000000000000000000000000000000000000000000090911690633114f43a9060c401600060405180830381600087803b158015610e4757600080fd5b505af1158015610e5b573d6000803e3d6000fd5b5050505050509250929050565b6000610e94827f01ffc9a700000000000000000000000000000000000000000000000000000000610ecd565b8015610ec75750610ec5827fffffffff00000000000000000000000000000000000000000000000000000000610ecd565b155b92915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015610f85575060208210155b8015610f915750600081115b979650505050505050565b600060208284031215610fae57600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610fd757600080fd5b50565b600060208284031215610fec57600080fd5b813561085c81610fb5565b60008083601f84011261100957600080fd5b50813567ffffffffffffffff81111561102157600080fd5b60208301915083602082850101111561103957600080fd5b9250929050565b6000806020838503121561105357600080fd5b823567ffffffffffffffff81111561106a57600080fd5b61107685828601610ff7565b90969095509350505050565b600281106110b9577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b6000815180845260005b818110156110e3576020818501810151868301820152016110c7565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b61112b8184611082565b60406020820152600061114160408301846110bd565b949350505050565b6000806040838503121561115c57600080fd5b50508035926020909101359150565b60008060006040848603121561118057600080fd5b833567ffffffffffffffff81111561119757600080fd5b6111a386828701610ff7565b90945092505060208401356111b781610fb5565b809150509250925092565b6111cc8185611082565b6060602082015260006111e260608301856110bd565b9050826040830152949350505050565b821515815260406020820152600061114160408301846110bd565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561125f5761125f61120d565b60405290565b600082601f83011261127657600080fd5b813567ffffffffffffffff808211156112915761129161120d565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156112d7576112d761120d565b816040528381528660208588010111156112f057600080fd5b836020870160208301376000602085830101528094505050505092915050565b60006020828403121561132257600080fd5b813567ffffffffffffffff8082111561133a57600080fd5b908301906040828603121561134e57600080fd5b61135661123c565b82358281111561136557600080fd5b61137187828601611265565b82525060208301358281111561138657600080fd5b61139287828601611265565b60208301525095945050505050565b848152606060208201528260608201528284608083013760006080848301015260007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011682016080838203016040840152610f9160808201856110bd565b60006020828403121561141557600080fd5b8151801515811461085c57600080fd5b82815260406020820152600061114160408301846110bd565b60006040828403121561145057600080fd5b61145861123c565b825161146381610fb5565b81526020928301519281019290925250919050565b60006020828403121561148a57600080fd5b6040516020810181811067ffffffffffffffff821117156114ad576114ad61120d565b60405282516114bb81610fb5565b81529392505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361151c577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b506001019056fea2646970667358221220d8b168046b7ea8ef58a98e4718a596bce0ccd4e82ab63c88943c3c5258310fb564736f6c63430008130033000000000000000000000000518ccd79e0e7b75fd5fcc09463fb09cb7d55470d00000000000000000000000004401ff04e6c01a8f1e5696ad6aa053c86b73cd300000000000000000000000077cbcc0e29e10f1eea24e0d109aab26c5b2abd88", + "nonce": "0x805", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE2", + "address": "0x6b71284309DF6871cC28595d938eC57A5Ad06A0A", + "initCode": "60c06040523480156200001157600080fd5b506040516200182038038062001820833981016040819052620000349162000250565b828080620000536001600160a01b038216637965db0b60e01b62000147565b62000096576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b038316908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050506001600160a01b038116620001065760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0382166200012e5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b039081166080521660a052506200029a565b600062000154836200016f565b8015620001685750620001688383620001a8565b9392505050565b600062000184826301ffc9a760e01b620001a8565b8015620001a25750620001a0826001600160e01b0319620001a8565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d915060005190508280156200021b575060208210155b8015620002285750600081115b979650505050505050565b80516001600160a01b03811681146200024b57600080fd5b919050565b6000806000606084860312156200026657600080fd5b620002718462000233565b9250620002816020850162000233565b9150620002916040850162000233565b90509250925092565b60805160a051611559620002c7600039600081816101520152610e010152600061088101526115596000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80633d0aa6e51161005b5780633d0aa6e5146101185780635260a98c1461012b5780635ab6d0011461014d578063a913b8811461017457600080fd5b80630a5989761461008257806319129e5a146100e257806334e5d29f146100f7575b600080fd5b6100b8610090366004610f9c565b60016020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100f56100f0366004610fda565b610187565b005b61010a610105366004611040565b6102eb565b6040516100d9929190611121565b6100f5610126366004611149565b61038b565b61013e61013936600461116b565b610521565b6040516100d9939291906111c2565b6100b87f000000000000000000000000000000000000000000000000000000000000000081565b6100f5610182366004611040565b61077d565b600061019381336107c0565b6101d7576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b61021773ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000610863565b61027d576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c00000000000000000000000000000000000060448201526064016101ce565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050565b600060607f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db61031a81336107c0565b610359576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016101ce565b6040517f24baa24800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408051602080820183526000808352858152600390915291822060040154610100900460ff16610418576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f52657175657374206e6f7420666f756e6400000000000000000000000000000060448201526064016101ce565b6000848152600360208190526040909120015483101561046c575060408051808201909152601e81527f42616c616e6365206f6620546f6b656e206973206e6f7420656e6f75676800006020820152610471565b600191505b600084815260036020818152604080842080547fffffffffffffffffffffffff0000000000000000000000000000000000000000908116825560018201805482169055600282018054909116905592830193909355600490910180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000169055905161051b9186916105079186918691016111f2565b60405160208183030381529060405261087f565b50505050565b6000606060007f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db61055281336107c0565b610591576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016101ce565b73ffffffffffffffffffffffffffffffffffffffff85166105de576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61061e73ffffffffffffffffffffffffffffffffffffffff86167f2fa7bc9900000000000000000000000000000000000000000000000000000000610863565b610684576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f4943616c6c6261636b48616e646c65720000000000000000000000000000000060448201526064016101ce565b600061069287890189611310565b90506106a18160000151610a9f565b6106b381600001518260200151610ba4565b600081815260016020526040812080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8b1617905596509094509250848673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167f320acf383fac55c3eff3aad884406f0fa211a5c451266edd9de8151bb26b7054868c8c8a60405161076a94939291906113a1565b60405180910390a4505093509350939050565b6107bc82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610a9f92505050565b5050565b600080546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff8481166024830152909116906391d1485490604401602060405180830381865afa158015610838573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085c9190611403565b9392505050565b600061086e83610e68565b801561085c575061085c8383610ecd565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff8116331461090d576040517f5dc645bb00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff821660248201526044016101ce565b60008381526001602052604090205473ffffffffffffffffffffffffffffffffffffffff1661096b576040517fc88d34d7000000000000000000000000000000000000000000000000000000008152600481018490526024016101ce565b6000838152600160205260409081902054905173ffffffffffffffffffffffffffffffffffffffff9091169030907fb8da071166b4cdb339d32ac1c86452cf0ba046f8aeb8230c00d0ce19c173884c906109c89087908790611425565b60405180910390a3600083815260016020526040908190205490517f2fa7bc9900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690632fa7bc9990610a359086908690600401611425565b600060405180830381600087803b158015610a4f57600080fd5b505af1158015610a63573d6000803e3d6000fd5b505050600093845250506001602052506040902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b600081806020019051810190610ab5919061143e565b805190915073ffffffffffffffffffffffffffffffffffffffff16610b36576040517f7662892900000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f746f6b656e41646472657373206973203000000000000000000000000000000060448201526064016101ce565b80602001516000036107bc576040517f7662892900000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f62616c616e63655468726573686f6c642069732030000000000000000000000060448201526064016101ce565b606060008084806020019051810190610bbd919061143e565b9050600084806020019051810190610bd59190611478565b600280549192503091906000610bea836114c4565b9091555060405160609290921b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660208301526034820152605401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152828252805160209182012081840183526000808552835160c08101855233808252885173ffffffffffffffffffffffffffffffffffffffff908116838701908152895182168489019081528b8801516060860190815260808601878152600160a088018181528a8a5260039b8c9052988c9020975188549087167fffffffffffffffffffffffff0000000000000000000000000000000000000000918216178955945190880180549187169186169190911790559151600287018054918616919094161790925590519684019690965594516004928301805494511515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff921515929092167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000090951694909417179092558751875195517f3114f43a0000000000000000000000000000000000000000000000000000000081529182018490526024820192909252908316604482015292821660648401523060848401527f3d0aa6e50000000000000000000000000000000000000000000000000000000060a48401529296509194507f000000000000000000000000000000000000000000000000000000000000000090911690633114f43a9060c401600060405180830381600087803b158015610e4757600080fd5b505af1158015610e5b573d6000803e3d6000fd5b5050505050509250929050565b6000610e94827f01ffc9a700000000000000000000000000000000000000000000000000000000610ecd565b8015610ec75750610ec5827fffffffff00000000000000000000000000000000000000000000000000000000610ecd565b155b92915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015610f85575060208210155b8015610f915750600081115b979650505050505050565b600060208284031215610fae57600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610fd757600080fd5b50565b600060208284031215610fec57600080fd5b813561085c81610fb5565b60008083601f84011261100957600080fd5b50813567ffffffffffffffff81111561102157600080fd5b60208301915083602082850101111561103957600080fd5b9250929050565b6000806020838503121561105357600080fd5b823567ffffffffffffffff81111561106a57600080fd5b61107685828601610ff7565b90969095509350505050565b600281106110b9577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b6000815180845260005b818110156110e3576020818501810151868301820152016110c7565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b61112b8184611082565b60406020820152600061114160408301846110bd565b949350505050565b6000806040838503121561115c57600080fd5b50508035926020909101359150565b60008060006040848603121561118057600080fd5b833567ffffffffffffffff81111561119757600080fd5b6111a386828701610ff7565b90945092505060208401356111b781610fb5565b809150509250925092565b6111cc8185611082565b6060602082015260006111e260608301856110bd565b9050826040830152949350505050565b821515815260406020820152600061114160408301846110bd565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561125f5761125f61120d565b60405290565b600082601f83011261127657600080fd5b813567ffffffffffffffff808211156112915761129161120d565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156112d7576112d761120d565b816040528381528660208588010111156112f057600080fd5b836020870160208301376000602085830101528094505050505092915050565b60006020828403121561132257600080fd5b813567ffffffffffffffff8082111561133a57600080fd5b908301906040828603121561134e57600080fd5b61135661123c565b82358281111561136557600080fd5b61137187828601611265565b82525060208301358281111561138657600080fd5b61139287828601611265565b60208301525095945050505050565b848152606060208201528260608201528284608083013760006080848301015260007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011682016080838203016040840152610f9160808201856110bd565b60006020828403121561141557600080fd5b8151801515811461085c57600080fd5b82815260406020820152600061114160408301846110bd565b60006040828403121561145057600080fd5b61145861123c565b825161146381610fb5565b81526020928301519281019290925250919050565b60006020828403121561148a57600080fd5b6040516020810181811067ffffffffffffffff821117156114ad576114ad61120d565b60405282516114bb81610fb5565b81529392505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361151c577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b506001019056fea2646970667358221220d8b168046b7ea8ef58a98e4718a596bce0ccd4e82ab63c88943c3c5258310fb564736f6c63430008130033000000000000000000000000518ccd79e0e7b75fd5fcc09463fb09cb7d55470d00000000000000000000000004401ff04e6c01a8f1e5696ad6aa053c86b73cd300000000000000000000000077cbcc0e29e10f1eea24e0d109aab26c5b2abd88" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0x5d04194e7e2a17cce05c6f6a35b73030d6ae2f12fd61bebdaaeb100bb4b86090", + "transactionType": "CREATE", + "contractName": "MockERC721", + "contractAddress": "0x4facD61ea098FB09C03dBE33D98Cc8Fe4D35eb5e", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x1edc92", + "value": "0x0", + "data": "0x60806040523480156200001157600080fd5b506040518060400160405280600a8152602001694d6f636b45524337323160b01b815250604051806040016040528060048152602001634d37323160e01b815250816000908162000063919062000120565b50600162000072828262000120565b505050620001ec565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000a657607f821691505b602082108103620000c757634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200011b57600081815260208120601f850160051c81016020861015620000f65750805b601f850160051c820191505b81811015620001175782815560010162000102565b5050505b505050565b81516001600160401b038111156200013c576200013c6200007b565b62000154816200014d845462000091565b84620000cd565b602080601f8311600181146200018c5760008415620001735750858301515b600019600386901b1c1916600185901b17855562000117565b600085815260208120601f198616915b82811015620001bd578886015182559484019460019091019084016200019c565b5085821015620001dc5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b611a7980620001fc6000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80636352211e1161008c578063a22cb46511610066578063a22cb465146101ee578063b88d4fde14610201578063c87b56dd14610214578063e985e9c51461022757600080fd5b80636352211e146101b257806370a08231146101c557806395d89b41146101e657600080fd5b8063095ea7b3116100c8578063095ea7b31461016457806323b872dd1461017957806340c10f191461018c57806342842e0e1461019f57600080fd5b806301ffc9a7146100ef57806306fdde0314610117578063081812fc1461012c575b600080fd5b6101026100fd366004611662565b610270565b60405190151581526020015b60405180910390f35b61011f610355565b60405161010e91906116ed565b61013f61013a366004611700565b6103e7565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161010e565b610177610172366004611742565b61041b565b005b61017761018736600461176c565b6105ac565b61017761019a366004611742565b61064d565b6101776101ad36600461176c565b61065b565b61013f6101c0366004611700565b610676565b6101d86101d33660046117a8565b610702565b60405190815260200161010e565b61011f6107d0565b6101776101fc3660046117c3565b6107df565b61017761020f36600461182e565b6107ea565b61011f610222366004611700565b610892565b610102610235366004611928565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260056020908152604080832093909416825291909152205460ff1690565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061030357507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b8061034f57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6060600080546103649061195b565b80601f01602080910402602001604051908101604052809291908181526020018280546103909061195b565b80156103dd5780601f106103b2576101008083540402835291602001916103dd565b820191906000526020600020905b8154815290600101906020018083116103c057829003601f168201915b5050505050905090565b60006103f282610906565b5060009081526004602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b600061042682610676565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036104e8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff8216148061051157506105118133610235565b61059d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c00000060648201526084016104df565b6105a78383610994565b505050565b6105b63382610a34565b610642576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f7665640000000000000000000000000000000000000060648201526084016104df565b6105a7838383610af4565b6106578282610def565b5050565b6105a7838383604051806020016040528060008152506107ea565b60008181526002602052604081205473ffffffffffffffffffffffffffffffffffffffff168061034f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e204944000000000000000060448201526064016104df565b600073ffffffffffffffffffffffffffffffffffffffff82166107a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e6572000000000000000000000000000000000000000000000060648201526084016104df565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526003602052604090205490565b6060600180546103649061195b565b610657338383610e09565b6107f43383610a34565b610880576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f7665640000000000000000000000000000000000000060648201526084016104df565b61088c84848484610f36565b50505050565b606061089d82610906565b60006108b460408051602081019091526000815290565b905060008151116108d457604051806020016040528060008152506108ff565b806108de84610fd9565b6040516020016108ef9291906119ae565b6040516020818303038152906040525b9392505050565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff16610991576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e204944000000000000000060448201526064016104df565b50565b600081815260046020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811790915581906109ee82610676565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080610a4083610676565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480610aae575073ffffffffffffffffffffffffffffffffffffffff80821660009081526005602090815260408083209388168352929052205460ff165b80610aec57508373ffffffffffffffffffffffffffffffffffffffff16610ad4846103e7565b73ffffffffffffffffffffffffffffffffffffffff16145b949350505050565b8273ffffffffffffffffffffffffffffffffffffffff16610b1482610676565b73ffffffffffffffffffffffffffffffffffffffff1614610bb7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e657200000000000000000000000000000000000000000000000000000060648201526084016104df565b73ffffffffffffffffffffffffffffffffffffffff8216610c59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016104df565b8273ffffffffffffffffffffffffffffffffffffffff16610c7982610676565b73ffffffffffffffffffffffffffffffffffffffff1614610d1c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e657200000000000000000000000000000000000000000000000000000060648201526084016104df565b600081815260046020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff8781168086526003855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b610657828260405180602001604052806000815250611097565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610e9e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016104df565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526005602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b610f41848484610af4565b610f4d8484848461113a565b61088c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016104df565b60606000610fe68361132d565b600101905060008167ffffffffffffffff811115611006576110066117ff565b6040519080825280601f01601f191660200182016040528015611030576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a850494508461103a57509392505050565b6110a1838361140f565b6110ae600084848461113a565b6105a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016104df565b600073ffffffffffffffffffffffffffffffffffffffff84163b15611322576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a02906111b19033908990889088906004016119dd565b6020604051808303816000875af192505050801561120a575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261120791810190611a26565b60015b6112d7573d808015611238576040519150601f19603f3d011682016040523d82523d6000602084013e61123d565b606091505b5080516000036112cf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016104df565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050610aec565b506001949350505050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611376577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef810000000083106113a2576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106113c057662386f26fc10000830492506010015b6305f5e10083106113d8576305f5e100830492506008015b61271083106113ec57612710830492506004015b606483106113fe576064830492506002015b600a831061034f5760010192915050565b73ffffffffffffffffffffffffffffffffffffffff821661148c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016104df565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1615611518576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016104df565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff16156115a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016104df565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260036020908152604080832080546001019055848352600290915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b7fffffffff000000000000000000000000000000000000000000000000000000008116811461099157600080fd5b60006020828403121561167457600080fd5b81356108ff81611634565b60005b8381101561169a578181015183820152602001611682565b50506000910152565b600081518084526116bb81602086016020860161167f565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006108ff60208301846116a3565b60006020828403121561171257600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461173d57600080fd5b919050565b6000806040838503121561175557600080fd5b61175e83611719565b946020939093013593505050565b60008060006060848603121561178157600080fd5b61178a84611719565b925061179860208501611719565b9150604084013590509250925092565b6000602082840312156117ba57600080fd5b6108ff82611719565b600080604083850312156117d657600080fd5b6117df83611719565b9150602083013580151581146117f457600080fd5b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000806000806080858703121561184457600080fd5b61184d85611719565b935061185b60208601611719565b925060408501359150606085013567ffffffffffffffff8082111561187f57600080fd5b818701915087601f83011261189357600080fd5b8135818111156118a5576118a56117ff565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156118eb576118eb6117ff565b816040528281528a602084870101111561190457600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b6000806040838503121561193b57600080fd5b61194483611719565b915061195260208401611719565b90509250929050565b600181811c9082168061196f57607f821691505b6020821081036119a8577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b600083516119c081846020880161167f565b8351908301906119d481836020880161167f565b01949350505050565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525083604083015260806060830152611a1c60808301846116a3565b9695505050505050565b600060208284031215611a3857600080fd5b81516108ff8161163456fea2646970667358221220d673ef7c8f1def245d3be39f8336c1275d8505ccfbf91acc7ee1bdd6cae4c30264736f6c63430008130033", + "nonce": "0x806", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x47aa93a51bc40c5445afcc850299e083f3e6e3cd27cd7eb9969c87c25803eb33", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x518ccd79e0e7b75fd5fcc09463fb09cb7d55470d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15d189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "nonce": "0x807", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x403d9d27ae2ee4b5c04c9837c02b8a5d2e366b649b2589df87a26027ea2c2df0", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x518ccd79e0e7b75fd5fcc09463fb09cb7d55470d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15d637821dcee84aabec9c8cf4f6f643013a24ad27fd41511ffd937aea80d8619a9000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "nonce": "0x808", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x2e3d10d1c62e824d02b989b573bc2676938d73278fd434e4e28b2e887a8d5c41", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x518ccd79e0e7b75fd5fcc09463fb09cb7d55470d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15da8b84e71bc3552b48fea3678097679554a90f0e2c12c536a8bd697c05041e279000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "nonce": "0x809", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x32f92ba64f8b30d430206406af9100b703d5af754503ccb3807c7d29b910f55c", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x518ccd79e0e7b75fd5fcc09463fb09cb7d55470d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15d256895704541e78004f0fd55953a8bcc54c628755b14fbf53afdc556473f9bd0000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "nonce": "0x80a", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xcba312354d7f71791424f1317bb1128375f356bc112babf03c77b5066eb1e219", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x518ccd79e0e7b75fd5fcc09463fb09cb7d55470d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15d02f7fd2cb4d8e8ad75bab0a56a6f1ed7091336a83e11ccacc4e51f915215ab4c000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "nonce": "0x80b", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xb4bb24a91d9099eac2be9ed61af556a881a10f41750c37731f8cbc1b31d708f0", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x518ccd79e0e7b75fd5fcc09463fb09cb7d55470d", + "gas": "0x140e3", + "value": "0x0", + "data": "0x2f2ff15dc9a6ce5d86bdc06f8d57f20091bf09bf611e57d0626b65aa9ebb3c9179ba650f000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "nonce": "0x80c", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x94192c5603f740fb5da599625b671b698572da3fbe9ba8756aca02d8a1150e83", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x518ccd79e0e7b75fd5fcc09463fb09cb7d55470d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15de4a10d29decbd34c09a62a511d4fd993a7d8cbbf58d7d4278711c29c9148b8f700000000000000000000000025a6f44df208e8cc79e97fe72e240f4cdb3d9a46", + "nonce": "0x80d", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xc3de772cd32c687c606cfe44ac27799d5f1ad6a2bba49f3e4911436a3d2dcd72", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x518ccd79e0e7b75fd5fcc09463fb09cb7d55470d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15de4a10d29decbd34c09a62a511d4fd993a7d8cbbf58d7d4278711c29c9148b8f7000000000000000000000000c4f7e87f9ff2a2df9bc7ff8399558b594ebf911a", + "nonce": "0x80e", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x48fea7539c9635665a5fe2f6b93d9b7cbcdc277d355e5535866020321769aac7", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x518ccd79e0e7b75fd5fcc09463fb09cb7d55470d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15d33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db00000000000000000000000051870a0659a87c7b46baef7311b3128006e1fb16", + "nonce": "0x80f", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x06d0014648eafa4a0d15871f9f93113d3c8ef3feae041b868736c0687a65b5b5", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x518ccd79e0e7b75fd5fcc09463fb09cb7d55470d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15d33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db000000000000000000000000d3e9f80f4cc22761587b19a7f5335a017bcb0ecd", + "nonce": "0x810", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x05436d8041d4feb5101821ab547d2a561514ab8e4822be7e65dd416a26a9a2a8", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x518ccd79e0e7b75fd5fcc09463fb09cb7d55470d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15d33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db0000000000000000000000005fb712af304570ad9599e55e1105b7a42a5e30db", + "nonce": "0x811", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xe28f471cdaacea3748c1fa39bf1ed94ce6fceb0cfb3d2209c1ebc4ff053806eb", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x518ccd79e0e7b75fd5fcc09463fb09cb7d55470d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15d33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db000000000000000000000000058bb0d7795cfa2a46c60c0b63f8f0fa7cd1eed5", + "nonce": "0x812", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x84bf3d8ff2fd42cb33def0c55c627b34904230f3e7372dedd41a640271383afe", + "transactionType": "CALL", + "contractName": "ModuleRegistry", + "contractAddress": "0x51870A0659A87c7B46baEF7311B3128006E1FB16", + "function": "registerProtocolModule(string,address)", + "arguments": [ + "REGISTRATION_MODULE", + "0xD3E9F80F4Cc22761587B19A7F5335A017bcB0eCd" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x51870a0659a87c7b46baef7311b3128006e1fb16", + "gas": "0x1447b", + "value": "0x0", + "data": "0xd08906d60000000000000000000000000000000000000000000000000000000000000040000000000000000000000000d3e9f80f4cc22761587b19a7f5335a017bcb0ecd0000000000000000000000000000000000000000000000000000000000000013524547495354524154494f4e5f4d4f44554c4500000000000000000000000000", + "nonce": "0x813", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xd59894c1a06160516ca2bcc779bbe338f4cfebedbe5a9cee12dfc2159a0ab988", + "transactionType": "CALL", + "contractName": "ModuleRegistry", + "contractAddress": "0x51870A0659A87c7B46baEF7311B3128006E1FB16", + "function": "registerProtocolModule(string,address)", + "arguments": [ + "RELATIONSHIP_MODULE", + "0x5fb712AF304570aD9599e55E1105b7a42a5e30Db" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x51870a0659a87c7b46baef7311b3128006e1fb16", + "gas": "0x1447b", + "value": "0x0", + "data": "0xd08906d600000000000000000000000000000000000000000000000000000000000000400000000000000000000000005fb712af304570ad9599e55e1105b7a42a5e30db000000000000000000000000000000000000000000000000000000000000001352454c4154494f4e534849505f4d4f44554c4500000000000000000000000000", + "nonce": "0x814", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x1ffb1a979bb740b3d72d9283c509e19bac5ca1b185e2cdc3d9caf9b86233d831", + "transactionType": "CALL", + "contractName": "ModuleRegistry", + "contractAddress": "0x51870A0659A87c7B46baEF7311B3128006E1FB16", + "function": "registerProtocolModule(string,address)", + "arguments": [ + "LICENSING_MODULE", + "0x058bB0D7795CfA2a46C60C0b63F8f0fa7cD1EEd5" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x51870a0659a87c7b46baef7311b3128006e1fb16", + "gas": "0x1444a", + "value": "0x0", + "data": "0xd08906d60000000000000000000000000000000000000000000000000000000000000040000000000000000000000000058bb0d7795cfa2a46c60c0b63f8f0fa7cd1eed500000000000000000000000000000000000000000000000000000000000000104c4943454e53494e475f4d4f44554c4500000000000000000000000000000000", + "nonce": "0x815", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x801095c317c215a221d06d8cdb3b0a22ebbef014f7acabef627fdae7f756f247", + "transactionType": "CALL", + "contractName": "StoryProtocol", + "contractAddress": "0x25A6f44df208E8Cc79E97fE72E240F4cDb3D9a46", + "function": "registerIpOrg(address,string,string,string[]):(address)", + "arguments": [ + "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "Sample IP Org", + "SIPO", + "[STORY, CHARACTER]" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x25a6f44df208e8cc79e97fe72e240f4cdb3d9a46", + "gas": "0x61a7b", + "value": "0x0", + "data": "0x98e8e6ea000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000d53616d706c65204950204f72670000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000045349504f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000553544f525900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000094348415241435445520000000000000000000000000000000000000000000000", + "nonce": "0x816", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0x1434fC16D6f101605d79577E86A5005424461570", + "initCode": "3d602d80600a3d3981f3363d3d373d3d3d363d7332ef4938e99bbd517f1f673470270aeede017a7a5af43d82803e903d91602b57fd5bf3" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0xe4a5f49d9dd2944e060cbb1557f354424cfd005bef16109ffc9ede5ebf0269db", + "transactionType": "CALL", + "contractName": "ModuleRegistry", + "contractAddress": "0x51870A0659A87c7B46baEF7311B3128006E1FB16", + "function": "registerProtocolHook(string,address)", + "arguments": [ + "TOKEN_GATED_HOOK", + "0x919Cc6581801039f92863862B186025a1F562B17" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x51870a0659a87c7b46baef7311b3128006e1fb16", + "gas": "0x1bddc", + "value": "0x0", + "data": "0xd04d78c60000000000000000000000000000000000000000000000000000000000000040000000000000000000000000919cc6581801039f92863862b186025a1f562b170000000000000000000000000000000000000000000000000000000000000010544f4b454e5f47415445445f484f4f4b00000000000000000000000000000000", + "nonce": "0x817", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x9bac9b42100faa9ae0888a1d9e234c364aee08f5915774332eb66b1009e78510", + "transactionType": "CALL", + "contractName": "ModuleRegistry", + "contractAddress": "0x51870A0659A87c7B46baEF7311B3128006E1FB16", + "function": "registerProtocolHook(string,address)", + "arguments": [ + "POLYGON_TOKEN_HOOK", + "0x6b71284309DF6871cC28595d938eC57A5Ad06A0A" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x51870a0659a87c7b46baef7311b3128006e1fb16", + "gas": "0x1bdfd", + "value": "0x0", + "data": "0xd04d78c600000000000000000000000000000000000000000000000000000000000000400000000000000000000000006b71284309df6871cc28595d938ec57a5ad06a0a0000000000000000000000000000000000000000000000000000000000000012504f4c59474f4e5f544f4b454e5f484f4f4b0000000000000000000000000000", + "nonce": "0x818", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x16a8fff5090d2589d2b306d04af5275d6aba1bcf3dcc4f62067393369d13cf57", + "transactionType": "CALL", + "contractName": "RegistrationModule", + "contractAddress": "0xD3E9F80F4Cc22761587B19A7F5335A017bcB0eCd", + "function": "registerHooks(uint8,address,address[],bytes[],bytes)", + "arguments": [ + "0", + "0x1434fC16D6f101605d79577E86A5005424461570", + "[0x919Cc6581801039f92863862B186025a1F562B17, 0x6b71284309DF6871cC28595d938eC57A5Ad06A0A]", + "[0x0000000000000000000000004facd61ea098fb09c03dbe33d98cc8fe4d35eb5e, 0x0000000000000000000000004facd61ea098fb09c03dbe33d98cc8fe4d35eb5e0000000000000000000000000000000000000000000000000000000000000001]", + "0xe761f303268b55a3dc96719551acb95ca3bd1ebeef4b720be68dd92563627a3f" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xd3e9f80f4cc22761587b19a7f5335a017bcb0ecd", + "gas": "0x665ec", + "value": "0x0", + "data": "0x9533563d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000001434fc16d6f101605d79577e86a500542446157000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000919cc6581801039f92863862b186025a1f562b170000000000000000000000006b71284309df6871cc28595d938ec57a5ad06a0a00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000200000000000000000000000004facd61ea098fb09c03dbe33d98cc8fe4d35eb5e00000000000000000000000000000000000000000000000000000000000000400000000000000000000000004facd61ea098fb09c03dbe33d98cc8fe4d35eb5e00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020e761f303268b55a3dc96719551acb95ca3bd1ebeef4b720be68dd92563627a3f", + "nonce": "0x819", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xa3c1a3087c5a99a0fb87108b28c61b94ed9500616da895ed7590a96face368ca", + "transactionType": "CALL", + "contractName": "LicensingFrameworkRepo", + "contractAddress": "0x3113e5bfe2251A9fcA1225083cf6d36547E63e07", + "function": "addFramework((string,string,(bytes32,uint8,bytes,bytes)[]))", + "arguments": [ + "(SPUML-1.0, https://github.com/storyprotocol/protocol-contracts/blob/main/SPUML-v1.pdf, [(0x4368616e6e656c732d4f662d446973747269627574696f6e0000000000000018, 4, 0x, 0x), (0x4174747269627574696f6e00000000000000000000000000000000000000000b, 0, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x), (0x44657269766174697665732d416c6c6f77656400000000000000000000000013, 0, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x), (0x44657269766174697665732d416c6c6f7765642d4f7074696f6e73000000001b, 5, 0x, 0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000003416c6c6f7765642d576974682d417070726f76616c0000000000000000000015416c6c6f7765642d5265636970726f63616c2d4c6963656e736500000000001a416c6c6f7765642d576974682d4174747269627574696f6e0000000000000018)])" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x3113e5bfe2251a9fca1225083cf6d36547e63e07", + "gas": "0x164d60", + "value": "0x0", + "data": "0xc8cea2150000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000095350554d4c2d312e300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004a68747470733a2f2f6769746875622e636f6d2f73746f727970726f746f636f6c2f70726f746f636f6c2d636f6e7472616374732f626c6f622f6d61696e2f5350554d4c2d76312e70646600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000003004368616e6e656c732d4f662d446973747269627574696f6e00000000000000180000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004174747269627574696f6e00000000000000000000000000000000000000000b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044657269766174697665732d416c6c6f776564000000000000000000000000130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044657269766174697665732d416c6c6f7765642d4f7074696f6e73000000001b0000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000003416c6c6f7765642d576974682d417070726f76616c0000000000000000000015416c6c6f7765642d5265636970726f63616c2d4c6963656e736500000000001a416c6c6f7765642d576974682d4174747269627574696f6e0000000000000018", + "nonce": "0x81a", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x268e37803ef61c5be00822983907bf7cae439a10f5bce3006a454e86cfc5bdba", + "0xfde8bcaa71872ceb1f5570fe234905444695bf220597adb0facee691a0e936ed", + "0x8d77b124c15a9a95e83130954ba5e386bfa09db488506462c492d1d8932062e5", + "0x5cef1fa852da9c51bb37504446cea2708bcf829485ef6af1f4b6f4ebfaad27aa", + "0x20e56a5db623534cd0345e992dbfdfb712f9caca6d59b310c070a7eee9e19215", + "0x2bb57468dbedb53b56ff6025980717fb50edbc2eeb91c444d76620313646e2f1", + "0x6b6536c934fc7d4d1dba6374b0f6658c59bb0bc6b60a04a54a798accc816c975", + "0x23a9b55f090db2b42a8eecd0d860389790e13ae95d7c16651550c6f5f8d9434f", + "0x3f1232fc659c4a138d1986e263b91319bb7d1cfd0a1aabdea21de303fa36756f", + "0x9bf0846cfcc00ddefe61416013db4b321a377e294fd6bd0a34363c9c93f18781", + "0xd27abaa9b1d80e05ddefe448f5674ee786621d742a591d4c2ea3d7a634885714", + "0xb86c38745a8d892c1604649381942ca13b63cfe211e0b01efce0887852361d11", + "0x8f5a3400435f0fb05e7fbe4fe81304716808b3061c16cd5cceb4a6027bdafdd9", + "0x8b356cbc685595174796414c99a5d40e3afd1efff57081804bf8b019fee871ca", + "0x320fcca1822ce25672b02b24f7323526c37aee94e33ea2d5dbd92d67a4f8569d", + "0x5d04194e7e2a17cce05c6f6a35b73030d6ae2f12fd61bebdaaeb100bb4b86090", + "0x47aa93a51bc40c5445afcc850299e083f3e6e3cd27cd7eb9969c87c25803eb33", + "0x403d9d27ae2ee4b5c04c9837c02b8a5d2e366b649b2589df87a26027ea2c2df0", + "0x2e3d10d1c62e824d02b989b573bc2676938d73278fd434e4e28b2e887a8d5c41", + "0x32f92ba64f8b30d430206406af9100b703d5af754503ccb3807c7d29b910f55c", + "0xcba312354d7f71791424f1317bb1128375f356bc112babf03c77b5066eb1e219", + "0xb4bb24a91d9099eac2be9ed61af556a881a10f41750c37731f8cbc1b31d708f0", + "0x94192c5603f740fb5da599625b671b698572da3fbe9ba8756aca02d8a1150e83", + "0xc3de772cd32c687c606cfe44ac27799d5f1ad6a2bba49f3e4911436a3d2dcd72", + "0x48fea7539c9635665a5fe2f6b93d9b7cbcdc277d355e5535866020321769aac7", + "0x06d0014648eafa4a0d15871f9f93113d3c8ef3feae041b868736c0687a65b5b5", + "0x05436d8041d4feb5101821ab547d2a561514ab8e4822be7e65dd416a26a9a2a8", + "0xe28f471cdaacea3748c1fa39bf1ed94ce6fceb0cfb3d2209c1ebc4ff053806eb", + "0x84bf3d8ff2fd42cb33def0c55c627b34904230f3e7372dedd41a640271383afe", + "0xd59894c1a06160516ca2bcc779bbe338f4cfebedbe5a9cee12dfc2159a0ab988", + "0x1ffb1a979bb740b3d72d9283c509e19bac5ca1b185e2cdc3d9caf9b86233d831", + "0x801095c317c215a221d06d8cdb3b0a22ebbef014f7acabef627fdae7f756f247", + "0xe4a5f49d9dd2944e060cbb1557f354424cfd005bef16109ffc9ede5ebf0269db", + "0x9bac9b42100faa9ae0888a1d9e234c364aee08f5915774332eb66b1009e78510", + "0x16a8fff5090d2589d2b306d04af5275d6aba1bcf3dcc4f62067393369d13cf57", + "0xa3c1a3087c5a99a0fb87108b28c61b94ed9500616da895ed7590a96face368ca" + ], + "path": "/Users/drmanhattan/Workspace/StoryProtocol/protocol-contracts/broadcast/Main.s.sol/11155111/run-latest.json", + "returns": {}, + "timestamp": 1702012387, + "chain": 11155111, + "multi": false, + "commit": "d1b1d7f" +} \ No newline at end of file diff --git a/broadcast/Main.s.sol/11155111/run-1702012431.json b/broadcast/Main.s.sol/11155111/run-1702012431.json new file mode 100644 index 00000000..f70c3118 --- /dev/null +++ b/broadcast/Main.s.sol/11155111/run-1702012431.json @@ -0,0 +1,2035 @@ +{ + "transactions": [ + { + "hash": "0x268e37803ef61c5be00822983907bf7cae439a10f5bce3006a454e86cfc5bdba", + "transactionType": "CREATE", + "contractName": "AccessControlSingleton", + "contractAddress": "0x8db8b66518E9Cb412aF5573c5423582587117533", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x2138be", + "value": "0x0", + "data": "0x60a06040523060805234801561001457600080fd5b50608051611d9061004c600039600081816104d101528181610581015281816106d60152818161078601526108cb0152611d906000f3fe6080604052600436106100dd5760003560e01c806352d1902d1161007f578063a217fddf11610059578063a217fddf146102a8578063ac9650d8146102bd578063c4d66de8146102ea578063d547741f1461030a57600080fd5b806352d1902d146101ea57806354fd4d50146101ff57806391d148541461025557600080fd5b80632f2ff15d116100bb5780632f2ff15d1461017757806336568abe146101975780633659cfe6146101b75780634f1ef286146101d757600080fd5b806301ffc9a7146100e25780631e4e009114610117578063248a9ca314610139575b600080fd5b3480156100ee57600080fd5b506101026100fd3660046117aa565b61032a565b60405190151581526020015b60405180910390f35b34801561012357600080fd5b506101376101323660046117ec565b6103c3565b005b34801561014557600080fd5b5061016961015436600461180e565b60009081526065602052604090206001015490565b60405190815260200161010e565b34801561018357600080fd5b50610137610192366004611850565b6103dd565b3480156101a357600080fd5b506101376101b2366004611850565b610402565b3480156101c357600080fd5b506101376101d236600461187c565b6104ba565b6101376101e53660046118c6565b6106bf565b3480156101f657600080fd5b506101696108b1565b34801561020b57600080fd5b506102486040518060400160405280600581526020017f302e312e3000000000000000000000000000000000000000000000000000000081525081565b60405161010e9190611a14565b34801561026157600080fd5b50610102610270366004611850565b600091825260656020908152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b3480156102b457600080fd5b50610169600081565b3480156102c957600080fd5b506102dd6102d8366004611a27565b61099d565b60405161010e9190611a9c565b3480156102f657600080fd5b5061013761030536600461187c565b610a92565b34801561031657600080fd5b50610137610325366004611850565b610c84565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806103bd57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60006103ce81610ca9565b6103d88383610cb3565b505050565b6000828152606560205260409020600101546103f881610ca9565b6103d88383610cfe565b73ffffffffffffffffffffffffffffffffffffffff811633146104ac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b6104b68282610df2565b5050565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016300361057f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016104a3565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166105f47f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610697576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016104a3565b6106a081610ead565b604080516000808252602082019092526106bc91839190610ed7565b50565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610784576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016104a3565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166107f97f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff161461089c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016104a3565b6108a582610ead565b6104b682826001610ed7565b60003073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610978576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016104a3565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b60608167ffffffffffffffff8111156109b8576109b8611897565b6040519080825280602002602001820160405280156109eb57816020015b60608152602001906001900390816109d65790505b50905060005b82811015610a8b57610a5b30858584818110610a0f57610a0f611b1c565b9050602002810190610a219190611b4b565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506110d692505050565b828281518110610a6d57610a6d611b1c565b60200260200101819052508080610a8390611be6565b9150506109f1565b5092915050565b600054610100900460ff1615808015610ab25750600054600160ff909116105b80610acc5750303b158015610acc575060005460ff166001145b610b58576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016104a3565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610bb657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b73ffffffffffffffffffffffffffffffffffffffff8216610c03576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c0b611102565b610c13611102565b610c1e600083610cfe565b80156104b657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b600082815260656020526040902060010154610c9f81610ca9565b6103d88383610df2565b6106bc813361119b565b600082815260656020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff166104b657600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff85168452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055610d943390565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16156104b657600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e36104b681610ca9565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610f0a576103d883611255565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610f8f575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252610f8c91810190611c1e565b60015b61101b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016104a3565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81146110ca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016104a3565b506103d883838361135f565b60606110fb8383604051806060016040528060278152602001611d346027913961138a565b9392505050565b600054610100900460ff16611199576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016104a3565b565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff166104b6576111db8161140f565b6111e683602061142e565b6040516020016111f7929190611c37565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a00000000000000000000000000000000000000000000000000000000082526104a391600401611a14565b73ffffffffffffffffffffffffffffffffffffffff81163b6112f9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016104a3565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61136883611671565b6000825111806113755750805b156103d85761138483836110d6565b50505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516113b49190611cb8565b600060405180830381855af49150503d80600081146113ef576040519150601f19603f3d011682016040523d82523d6000602084013e6113f4565b606091505b5091509150611405868383876116be565b9695505050505050565b60606103bd73ffffffffffffffffffffffffffffffffffffffff831660145b6060600061143d836002611cd4565b611448906002611ceb565b67ffffffffffffffff81111561146057611460611897565b6040519080825280601f01601f19166020018201604052801561148a576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106114c1576114c1611b1c565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061152457611524611b1c565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000611560846002611cd4565b61156b906001611ceb565b90505b6001811115611608577f303132333435363738396162636465660000000000000000000000000000000085600f16601081106115ac576115ac611b1c565b1a60f81b8282815181106115c2576115c2611b1c565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c9361160181611cfe565b905061156e565b5083156110fb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016104a3565b61167a81611255565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060831561175457825160000361174d5773ffffffffffffffffffffffffffffffffffffffff85163b61174d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016104a3565b508161175e565b61175e8383611766565b949350505050565b8151156117765781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104a39190611a14565b6000602082840312156117bc57600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146110fb57600080fd5b600080604083850312156117ff57600080fd5b50508035926020909101359150565b60006020828403121561182057600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461184b57600080fd5b919050565b6000806040838503121561186357600080fd5b8235915061187360208401611827565b90509250929050565b60006020828403121561188e57600080fd5b6110fb82611827565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080604083850312156118d957600080fd5b6118e283611827565b9150602083013567ffffffffffffffff808211156118ff57600080fd5b818501915085601f83011261191357600080fd5b81358181111561192557611925611897565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561196b5761196b611897565b8160405282815288602084870101111561198457600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b838110156119c15781810151838201526020016119a9565b50506000910152565b600081518084526119e28160208601602086016119a6565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006110fb60208301846119ca565b60008060208385031215611a3a57600080fd5b823567ffffffffffffffff80821115611a5257600080fd5b818501915085601f830112611a6657600080fd5b813581811115611a7557600080fd5b8660208260051b8501011115611a8a57600080fd5b60209290920196919550909350505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015611b0f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452611afd8583516119ca565b94509285019290850190600101611ac3565b5092979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611b8057600080fd5b83018035915067ffffffffffffffff821115611b9b57600080fd5b602001915036819003821315611bb057600080fd5b9250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611c1757611c17611bb7565b5060010190565b600060208284031215611c3057600080fd5b5051919050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351611c6f8160178501602088016119a6565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351611cac8160288401602088016119a6565b01602801949350505050565b60008251611cca8184602087016119a6565b9190910192915050565b80820281158282048414176103bd576103bd611bb7565b808201808211156103bd576103bd611bb7565b600081611d0d57611d0d611bb7565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220c1f5e7366e6e39b285e4066626c260cad32cb7f5868a153eb73217f270d2937864736f6c63430008130033", + "nonce": "0x7f7", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xfde8bcaa71872ceb1f5570fe234905444695bf220597adb0facee691a0e936ed", + "transactionType": "CREATE", + "contractName": "ERC1967Proxy", + "contractAddress": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "function": null, + "arguments": [ + "0x8db8b66518E9Cb412aF5573c5423582587117533", + "0xc4d66de8000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x3bece", + "value": "0x0", + "data": "0x60806040526040516104ee3803806104ee833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c760279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60be806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea264697066735822122091c81c9b8ac755a7e1e08c0e9f65600d21e642457fb84c7f9e0d0a65b62d269064736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c65640000000000000000000000008db8b66518e9cb412af5573c542358258711753300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de8000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab00000000000000000000000000000000000000000000000000000000", + "nonce": "0x7f8", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x8d77b124c15a9a95e83130954ba5e386bfa09db488506462c492d1d8932062e5", + "transactionType": "CREATE", + "contractName": "LicensingFrameworkRepo", + "contractAddress": "0x3113e5bfe2251A9fcA1225083cf6d36547E63e07", + "function": null, + "arguments": [ + "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x208b42", + "value": "0x0", + "data": "0x60806040523480156200001157600080fd5b5060405162001e1f38038062001e1f8339810160408190526200003491620001cd565b80620000516001600160a01b038216637965db0b60e01b620000e1565b62000094576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b038316908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050620001f8565b6000620000ee8362000109565b801562000102575062000102838362000142565b9392505050565b60006200011e826301ffc9a760e01b62000142565b80156200013c57506200013a826001600160e01b031962000142565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d91506000519050828015620001b5575060208210155b8015620001c25750600081115b979650505050505050565b600060208284031215620001e057600080fd5b81516001600160a01b03811681146200010257600080fd5b611c1780620002086000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063c2e26bbb1161005b578063c2e26bbb14610108578063c8cea2151461011b578063e75afa551461012e578063eae376e31461014e57600080fd5b806319129e5a1461008d5780637859a97e146100a25780639faddd20146100c8578063ac9650d8146100e8575b600080fd5b6100a061009b366004611198565b61016e565b005b6100b56100b0366004611217565b6102d2565b6040519081526020015b60405180910390f35b6100db6100d6366004611259565b610302565b6040516100bf91906113d1565b6100fb6100f63660046113e4565b6104e8565b6040516100bf9190611459565b6100db610116366004611259565b6105dd565b6100a06101293660046114d9565b6107cb565b61014161013c366004611217565b6109c4565b6040516100bf9190611514565b61016161015c366004611217565b610bae565b6040516100bf9190611587565b600061017a8133610c62565b6101be576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b6101fe73ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000610d05565b610264576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c00000000000000000000000000000000000060448201526064016101b5565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050565b6000600183836040516102e692919061159a565b9081526040519081900360200190206003015490505b92915050565b604080516080810182526000808252602082015260609181018290528181019190915260006001858560405161033992919061159a565b9081526020016040518091039020905080600301838154811061035e5761035e6115aa565b9060005260206000209060040201604051806080016040529081600082015481526020016001820160009054906101000a900460ff1660058111156103a5576103a56112a5565b60058111156103b6576103b66112a5565b81526020016002820180546103ca906115d9565b80601f01602080910402602001604051908101604052809291908181526020018280546103f6906115d9565b80156104435780601f1061041857610100808354040283529160200191610443565b820191906000526020600020905b81548152906001019060200180831161042657829003601f168201915b5050505050815260200160038201805461045c906115d9565b80601f0160208091040260200160405190810160405280929190818152602001828054610488906115d9565b80156104d55780601f106104aa576101008083540402835291602001916104d5565b820191906000526020600020905b8154815290600101906020018083116104b857829003601f168201915b5050505050815250509150509392505050565b60608167ffffffffffffffff8111156105035761050361162c565b60405190808252806020026020018201604052801561053657816020015b60608152602001906001900390816105215790505b50905060005b828110156105d6576105a63085858481811061055a5761055a6115aa565b905060200281019061056c919061165b565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610d2192505050565b8282815181106105b8576105b86115aa565b602002602001018190525080806105ce906116c0565b91505061053c565b5092915050565b60408051608081018252600080825260208201526060918101829052818101919091526002600085858560405160200161061993929190611768565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181528151602092830120835282820193909352908201600020825160808101909352805483526001810154909183019060ff166005811115610689576106896112a5565b600581111561069a5761069a6112a5565b81526020016002820180546106ae906115d9565b80601f01602080910402602001604051908101604052809291908181526020018280546106da906115d9565b80156107275780601f106106fc57610100808354040283529160200191610727565b820191906000526020600020905b81548152906001019060200180831161070a57829003601f168201915b50505050508152602001600382018054610740906115d9565b80601f016020809104026020016040519081016040528092919081815260200182805461076c906115d9565b80156107b95780601f1061078e576101008083540402835291602001916107b9565b820191906000526020600020905b81548152906001019060200180831161079c57829003601f168201915b50505050508152505090509392505050565b7f256895704541e78004f0fd55953a8bcc54c628755b14fbf53afdc556473f9bd06107f68133610c62565b610835576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016101b5565b60006001610843848061165b565b60405161085192919061159a565b90815260200160405180910390209050600061086f82600101610d46565b11156108a7576040517f7e5d56bb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006108b6604085018561178c565b91505060968111156108f4576040517fb6cb3c0400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b818110156109525761094061090c868061165b565b610919604089018961178c565b85818110610929576109296115aa565b905060200281019061093b91906117f4565b610d50565b8061094a816116c0565b9150506108f7565b50610960602085018561165b565b839161096d919083611881565b507fcc3b4b42d496457f15f49a410f201fdb906b09fbff771f240a8dc8418abe68be610999858061165b565b6109a6602088018861165b565b6040516109b6949392919061199c565b60405180910390a150505050565b6060600183836040516109d892919061159a565b9081526020016040518091039020600301805480602002602001604051908101604052809291908181526020016000905b82821015610ba25783829060005260206000209060040201604051806080016040529081600082015481526020016001820160009054906101000a900460ff166005811115610a5a57610a5a6112a5565b6005811115610a6b57610a6b6112a5565b8152602001600282018054610a7f906115d9565b80601f0160208091040260200160405190810160405280929190818152602001828054610aab906115d9565b8015610af85780601f10610acd57610100808354040283529160200191610af8565b820191906000526020600020905b815481529060010190602001808311610adb57829003601f168201915b50505050508152602001600382018054610b11906115d9565b80601f0160208091040260200160405190810160405280929190818152602001828054610b3d906115d9565b8015610b8a5780601f10610b5f57610100808354040283529160200191610b8a565b820191906000526020600020905b815481529060010190602001808311610b6d57829003601f168201915b50505050508152505081526020019060010190610a09565b50505050905092915050565b606060018383604051610bc292919061159a565b9081526040519081900360200190208054610bdc906115d9565b80601f0160208091040260200160405190810160405280929190818152602001828054610c08906115d9565b8015610c555780601f10610c2a57610100808354040283529160200191610c55565b820191906000526020600020905b815481529060010190602001808311610c3857829003601f168201915b5050505050905092915050565b600080546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff8481166024830152909116906391d1485490604401602060405180830381865afa158015610cda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cfe91906119c3565b9392505050565b6000610d1083610e81565b8015610cfe5750610cfe8383610ee5565b6060610cfe8383604051806060016040528060278152602001611bbb60279139610fb4565b60006102fc825490565b600060018484604051610d6492919061159a565b90815260405190819003602001902090508135610d846001830182611039565b15610dbb576040517f982f2a2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610dc86001830182611051565b508260026000878785604051602001610de393929190611768565b6040516020818303038152906040528051906020012081526020019081526020016000208181610e1391906119f5565b505060038201805460018101825560009182526020909120849160040201610e3b82826119f5565b50507f25be0d4acedf2199ce49f3044ddf933ebe2febd8c63bd2cdd7ed12b458fc336185858386604051610e729493929190611b13565b60405180910390a15050505050565b6000610ead827f01ffc9a700000000000000000000000000000000000000000000000000000000610ee5565b80156102fc5750610ede827fffffffff00000000000000000000000000000000000000000000000000000000610ee5565b1592915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015610f9d575060208210155b8015610fa95750600081115b979650505050505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051610fde9190611ba8565b600060405180830381855af49150503d8060008114611019576040519150601f19603f3d011682016040523d82523d6000602084013e61101e565b606091505b509150915061102f8683838761105d565b9695505050505050565b60008181526001830160205260408120541515610cfe565b6000610cfe8383611105565b606083156110f35782516000036110ec5773ffffffffffffffffffffffffffffffffffffffff85163b6110ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016101b5565b50816110fd565b6110fd8383611154565b949350505050565b600081815260018301602052604081205461114c575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556102fc565b5060006102fc565b8151156111645781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101b59190611587565b6000602082840312156111aa57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610cfe57600080fd5b60008083601f8401126111e057600080fd5b50813567ffffffffffffffff8111156111f857600080fd5b60208301915083602082850101111561121057600080fd5b9250929050565b6000806020838503121561122a57600080fd5b823567ffffffffffffffff81111561124157600080fd5b61124d858286016111ce565b90969095509350505050565b60008060006040848603121561126e57600080fd5b833567ffffffffffffffff81111561128557600080fd5b611291868287016111ce565b909790965060209590950135949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6006811061130b577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b60005b8381101561132a578181015183820152602001611312565b50506000910152565b6000815180845261134b81602086016020860161130f565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b805182526000602082015161139560208501826112d4565b506040820151608060408501526113af6080850182611333565b9050606083015184820360608601526113c88282611333565b95945050505050565b602081526000610cfe602083018461137d565b600080602083850312156113f757600080fd5b823567ffffffffffffffff8082111561140f57600080fd5b818501915085601f83011261142357600080fd5b81358181111561143257600080fd5b8660208260051b850101111561144757600080fd5b60209290920196919550909350505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156114cc577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08886030184526114ba858351611333565b94509285019290850190600101611480565b5092979650505050505050565b6000602082840312156114eb57600080fd5b813567ffffffffffffffff81111561150257600080fd5b820160608185031215610cfe57600080fd5b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156114cc577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc088860301845261157585835161137d565b9450928501929085019060010161153b565b602081526000610cfe6020830184611333565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600181811c908216806115ed57607f821691505b602082108103611626577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261169057600080fd5b83018035915067ffffffffffffffff8211156116ab57600080fd5b60200191503681900382131561121057600080fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611718577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60408152600061177c60408301858761171f565b9050826020830152949350505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126117c157600080fd5b83018035915067ffffffffffffffff8211156117dc57600080fd5b6020019150600581901b360382131561121057600080fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8183360301811261182857600080fd5b9190910192915050565b601f82111561187c57600081815260208120601f850160051c810160208610156118595750805b601f850160051c820191505b8181101561187857828155600101611865565b5050505b505050565b67ffffffffffffffff8311156118995761189961162c565b6118ad836118a783546115d9565b83611832565b6000601f8411600181146118ff57600085156118c95750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355611995565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b8281101561194e578685013582556020948501946001909201910161192e565b5086821015611989577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b6040815260006119b060408301868861171f565b8281036020840152610fa981858761171f565b6000602082840312156119d557600080fd5b81518015158114610cfe57600080fd5b600681106119f257600080fd5b50565b81358155600181016020830135611a0b816119e5565b60068110611a42577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0082541660ff821681178355505050611a7e604083018361165b565b611a8c818360028601611881565b5050611a9b606083018361165b565b611aa9818360038601611881565b50505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611ae457600080fd5b830160208101925035905067ffffffffffffffff811115611b0457600080fd5b80360382131561121057600080fd5b606081526000611b2760608301868861171f565b8460208401528281036040840152833581526020840135611b47816119e5565b611b5460208301826112d4565b50611b626040850185611aaf565b60806040840152611b7760808401828461171f565b915050611b876060860186611aaf565b8383036060850152611b9a83828461171f565b9a9950505050505050505050565b6000825161182881846020870161130f56fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212208f3e172f26b1e16118674b4d7985c156f2849b9f9fd282fb3045456dfd7724a564736f6c63430008130033000000000000000000000000518ccd79e0e7b75fd5fcc09463fb09cb7d55470d", + "nonce": "0x7f9", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x5cef1fa852da9c51bb37504446cea2708bcf829485ef6af1f4b6f4ebfaad27aa", + "transactionType": "CREATE", + "contractName": "ModuleRegistry", + "contractAddress": "0x51870A0659A87c7B46baEF7311B3128006E1FB16", + "function": null, + "arguments": [ + "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x276514", + "value": "0x0", + "data": "0x60806040523480156200001157600080fd5b506040516200246c3803806200246c8339810160408190526200003491620001cd565b80620000516001600160a01b038216637965db0b60e01b620000e1565b62000094576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b038316908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050620001f8565b6000620000ee8362000109565b801562000102575062000102838362000142565b9392505050565b60006200011e826301ffc9a760e01b62000142565b80156200013c57506200013a826001600160e01b031962000142565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d91506000519050828015620001b5575060208210155b8015620001c25750600081115b979650505050505050565b600060208284031215620001e057600080fd5b81516001600160a01b03811681146200010257600080fd5b61226480620002086000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c80638694509411610097578063d04d78c611610066578063d04d78c614610225578063d08906d614610238578063e1fc45ce1461024b578063eca535191461025e57600080fd5b806386945094146101df578063ac9650d8146101f2578063b38609e814610212578063c7bdcb8a146101df57600080fd5b80634066edd9116100d35780634066edd914610179578063449f1a961461018c5780635c7a980b146101c457806382984f30146101cc57600080fd5b806319129e5a1461010557806320b76ffc1461011a57806337e22bd41461012d5780633af83c1814610156575b600080fd5b6101186101133660046115ac565b610271565b005b610118610128366004611612565b6103d5565b61014061013b366004611854565b6103eb565b60405161014d9190611982565b60405180910390f35b610169610164366004611995565b610405565b604051901515815260200161014d565b6101186101873660046119ec565b610460565b61019f61019a3660046119ec565b610672565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161014d565b61019f600081565b6101696101da3660046115ac565b6106b4565b61019f6101ed3660046119ec565b610718565b610205610200366004611a73565b61072c565b60405161014d9190611afb565b610140610220366004611b0e565b610821565b610118610233366004611995565b610939565b610118610246366004611995565b610acd565b610140610259366004611bf6565b610c1d565b61011861026c3660046119ec565b610ca3565b600061027d8133610e63565b6102c1576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b61030173ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000610f06565b610367576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c00000000000000000000000000000000000060448201526064016102b8565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050565b6103e3853386868686610f22565b505050505050565b60606103fb8633878787876110d0565b9695505050505050565b60008173ffffffffffffffffffffffffffffffffffffffff1660018585604051610430929190611c8b565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff161490509392505050565b7fc9a6ce5d86bdc06f8d57f20091bf09bf611e57d0626b65aa9ebb3c9179ba650f61048b8133610e63565b6104ca576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016102b8565b600073ffffffffffffffffffffffffffffffffffffffff16600284846040516104f4929190611c8b565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff16036105555782826040517f3fbd33b30000000000000000000000000000000000000000000000000000000081526004016102b8929190611ce4565b600060028484604051610569929190611c8b565b9081526040519081900360200181205473ffffffffffffffffffffffffffffffffffffffff1691506002906105a19086908690611c8b565b908152604080516020928190038301902080547fffffffffffffffffffffffff000000000000000000000000000000000000000016905573ffffffffffffffffffffffffffffffffffffffff831660009081526003909252812061060491611524565b8073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f946d7ea49afbef075e4d6f78364557a1cd3e32b89d9a963d6d041caac5e8953a8686604051610664929190611ce4565b60405180910390a350505050565b600060028383604051610686929190611c8b565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff16905092915050565b73ffffffffffffffffffffffffffffffffffffffff811660008181526003602052604080822090519192916002916106eb91611d4b565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff161492915050565b600060018383604051610686929190611c8b565b60608167ffffffffffffffff81111561074757610747611695565b60405190808252806020026020018201604052801561077a57816020015b60608152602001906001900390816107655790505b50905060005b8281101561081a576107ea3085858481811061079e5761079e611ddf565b90506020028101906107b09190611e0e565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061126992505050565b8282815181106107fc576107fc611ddf565b6020026020010181905250808061081290611e73565b915050610780565b5092915050565b60607fe4a10d29decbd34c09a62a511d4fd993a7d8cbbf58d7d4278711c29c9148b8f761084e8133610e63565b61088d576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016102b8565b6109298c8c8c8c8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061091a92508c91508d9050611ed2565b610924898b611ed2565b6110d0565b9c9b505050505050505050505050565b7fc9a6ce5d86bdc06f8d57f20091bf09bf611e57d0626b65aa9ebb3c9179ba650f6109648133610e63565b6109a3576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016102b8565b73ffffffffffffffffffffffffffffffffffffffff82166109f0576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8160028585604051610a03929190611c8b565b908152604080516020928190038301902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9485161790559184166000908152600390915220610a6c848683611f2a565b508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f33f12a9d70fd5f6771d495aae3b2cf0abc703cbaa526982b65446f1ef8816f9b8686604051610664929190611ce4565b7fc9a6ce5d86bdc06f8d57f20091bf09bf611e57d0626b65aa9ebb3c9179ba650f610af88133610e63565b610b37576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016102b8565b73ffffffffffffffffffffffffffffffffffffffff8216610b84576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8160018585604051610b97929190611c8b565b908152604051908190036020018120805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff0000000000000000000000000000000000000000909116179055908316906000907f14d77cb3ef4c75b9a031527cf63890f47708121a75c8b9c9cddbacc19defd122906106649088908890611ce4565b60607fe4a10d29decbd34c09a62a511d4fd993a7d8cbbf58d7d4278711c29c9148b8f7610c4a8133610e63565b610c89576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016102b8565b610c97888888888888610f22565b98975050505050505050565b7fc9a6ce5d86bdc06f8d57f20091bf09bf611e57d0626b65aa9ebb3c9179ba650f610cce8133610e63565b610d0d576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016102b8565b600073ffffffffffffffffffffffffffffffffffffffff1660018484604051610d37929190611c8b565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff1603610d985782826040517f97385f510000000000000000000000000000000000000000000000000000000081526004016102b8929190611ce4565b600060018484604051610dac929190611c8b565b9081526040519081900360200181205473ffffffffffffffffffffffffffffffffffffffff169150600190610de49086908690611c8b565b90815260405190819003602001812080547fffffffffffffffffffffffff000000000000000000000000000000000000000016905573ffffffffffffffffffffffffffffffffffffffff8216906000907f335f1d2bb0046b3a423088788bb8d6350f8a36ff7d554592f91d8102ea0ce4d7906106649088908890611ce4565b600080546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff8481166024830152909116906391d1485490604401602060405180830381865afa158015610edb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eff9190612045565b9392505050565b6000610f118361128e565b8015610eff5750610eff83836112f3565b6060600060018686604051610f38929190611c8b565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff16905080610f9b5785856040517f97385f510000000000000000000000000000000000000000000000000000000081526004016102b8929190611ce4565b6040517f4fcbd21300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821690634fcbd21390610ff3908b908b9089908990600401612067565b6000604051808303816000875af1158015611012573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261105891908101906120a1565b91508673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167f48786003f3d30e41bfa4ee09afdeb9bfb04b7e06e2f74f3177da393a793bbc33888888886040516110bd9493929190612118565b60405180910390a3509695505050505050565b606060006001866040516110e4919061213f565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff1690508061114557856040517f97385f510000000000000000000000000000000000000000000000000000000081526004016102b89190611982565b6040517fb6efd29d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82169063b6efd29d9061119f908b908b908a908a908a9060040161215b565b6000604051808303816000875af11580156111be573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261120491908101906120a1565b91508673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fc370e2f187a6d9446aca617bbcd60f84f24a0020a0c55dbc4ff5c8a3ce87abb5888888886040516110bd94939291906121ba565b6060610eff8383604051806060016040528060278152602001612208602791396113c2565b60006112ba827f01ffc9a7000000000000000000000000000000000000000000000000000000006112f3565b80156112ed57506112eb827fffffffff000000000000000000000000000000000000000000000000000000006112f3565b155b92915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d915060005190508280156113ab575060208210155b80156113b75750600081115b979650505050505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516113ec919061213f565b600060405180830381855af49150503d8060008114611427576040519150601f19603f3d011682016040523d82523d6000602084013e61142c565b606091505b50915091506103fb86838387606083156114ce5782516000036114c75773ffffffffffffffffffffffffffffffffffffffff85163b6114c7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102b8565b50816114d8565b6114d883836114e0565b949350505050565b8151156114f05781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102b89190611982565b50805461153090611cf8565b6000825580601f10611540575050565b601f01602090049060005260206000209081019061155e9190611561565b50565b5b808211156115765760008155600101611562565b5090565b73ffffffffffffffffffffffffffffffffffffffff8116811461155e57600080fd5b80356115a78161157a565b919050565b6000602082840312156115be57600080fd5b8135610eff8161157a565b60008083601f8401126115db57600080fd5b50813567ffffffffffffffff8111156115f357600080fd5b60208301915083602082850101111561160b57600080fd5b9250929050565b60008060008060006060868803121561162a57600080fd5b85356116358161157a565b9450602086013567ffffffffffffffff8082111561165257600080fd5b61165e89838a016115c9565b9096509450604088013591508082111561167757600080fd5b50611684888289016115c9565b969995985093965092949392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561170b5761170b611695565b604052919050565b600067ffffffffffffffff82111561172d5761172d611695565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f83011261176a57600080fd5b813561177d61177882611713565b6116c4565b81815284602083860101111561179257600080fd5b816020850160208301376000918101602001919091529392505050565b600067ffffffffffffffff808411156117ca576117ca611695565b8360051b60206117db8183016116c4565b868152935090840190808401878311156117f457600080fd5b855b838110156118285780358581111561180e5760008081fd5b61181a8a828a01611759565b8352509082019082016117f6565b50505050509392505050565b600082601f83011261184557600080fd5b610eff838335602085016117af565b600080600080600060a0868803121561186c57600080fd5b85356118778161157a565b9450602086013567ffffffffffffffff8082111561189457600080fd5b6118a089838a01611759565b955060408801359150808211156118b657600080fd5b6118c289838a01611759565b945060608801359150808211156118d857600080fd5b6118e489838a01611834565b935060808801359150808211156118fa57600080fd5b5061190788828901611834565b9150509295509295909350565b60005b8381101561192f578181015183820152602001611917565b50506000910152565b60008151808452611950816020860160208601611914565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610eff6020830184611938565b6000806000604084860312156119aa57600080fd5b833567ffffffffffffffff8111156119c157600080fd5b6119cd868287016115c9565b90945092505060208401356119e18161157a565b809150509250925092565b600080602083850312156119ff57600080fd5b823567ffffffffffffffff811115611a1657600080fd5b611a22858286016115c9565b90969095509350505050565b60008083601f840112611a4057600080fd5b50813567ffffffffffffffff811115611a5857600080fd5b6020830191508360208260051b850101111561160b57600080fd5b60008060208385031215611a8657600080fd5b823567ffffffffffffffff811115611a9d57600080fd5b611a2285828601611a2e565b6000815180845260208085019450848260051b860182860160005b85811015611aee578383038952611adc838351611938565b98850198925090840190600101611ac4565b5090979650505050505050565b602081526000610eff6020830184611aa9565b60008060008060008060008060008060c08b8d031215611b2d57600080fd5b611b368b61159c565b9950611b4460208c0161159c565b985060408b013567ffffffffffffffff80821115611b6157600080fd5b611b6d8e838f016115c9565b909a50985060608d0135915080821115611b8657600080fd5b611b928e838f016115c9565b909850965060808d0135915080821115611bab57600080fd5b611bb78e838f01611a2e565b909650945060a08d0135915080821115611bd057600080fd5b50611bdd8d828e01611a2e565b915080935050809150509295989b9194979a5092959850565b60008060008060008060808789031215611c0f57600080fd5b8635611c1a8161157a565b95506020870135611c2a8161157a565b9450604087013567ffffffffffffffff80821115611c4757600080fd5b611c538a838b016115c9565b90965094506060890135915080821115611c6c57600080fd5b50611c7989828a016115c9565b979a9699509497509295939492505050565b8183823760009101908152919050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6020815260006114d8602083018486611c9b565b600181811c90821680611d0c57607f821691505b602082108103611d45577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b6000808354611d5981611cf8565b60018281168015611d715760018114611da457611dd3565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0084168752821515830287019450611dd3565b8760005260208060002060005b85811015611dca5781548a820152908401908201611db1565b50505082870194505b50929695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611e4357600080fd5b83018035915067ffffffffffffffff821115611e5e57600080fd5b60200191503681900382131561160b57600080fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611ecb577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b6000610eff3684846117af565b601f821115611f2557600081815260208120601f850160051c81016020861015611f065750805b601f850160051c820191505b818110156103e357828155600101611f12565b505050565b67ffffffffffffffff831115611f4257611f42611695565b611f5683611f508354611cf8565b83611edf565b6000601f841160018114611fa85760008515611f725750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b17835561203e565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b82811015611ff75786850135825560209485019460019092019101611fd7565b5086821015612032577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b60006020828403121561205757600080fd5b81518015158114610eff57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250606060408301526103fb606083018486611c9b565b6000602082840312156120b357600080fd5b815167ffffffffffffffff8111156120ca57600080fd5b8201601f810184136120db57600080fd5b80516120e961177882611713565b8181528560208385010111156120fe57600080fd5b61210f826020830160208601611914565b95945050505050565b60408152600061212c604083018688611c9b565b82810360208401526113b7818587611c9b565b60008251612151818460208701611914565b9190910192915050565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525060a0604083015261219460a0830186611938565b82810360608401526121a68186611aa9565b90508281036080840152610c978185611aa9565b6080815260006121cd6080830187611938565b82810360208401526121df8187611938565b905082810360408401526121f38186611aa9565b905082810360608401526113b78185611aa956fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220db500e1b4c73af951db86225ddf5da0ca8d3d8bec7e9430df8a7b51035fa9ee564736f6c63430008130033000000000000000000000000518ccd79e0e7b75fd5fcc09463fb09cb7d55470d", + "nonce": "0x7fa", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x20e56a5db623534cd0345e992dbfdfb712f9caca6d59b310c070a7eee9e19215", + "transactionType": "CREATE", + "contractName": "IPAssetRegistry", + "contractAddress": "0x5B81030C087d41558E3FCF23B3575E85c9A768e6", + "function": null, + "arguments": [ + "0x51870A0659A87c7B46baEF7311B3128006E1FB16" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x132c3f", + "value": "0x0", + "data": "0x60a0604052600060015534801561001557600080fd5b5060405161113e38038061113e83398101604081905261003491610045565b6001600160a01b0316608052610075565b60006020828403121561005757600080fd5b81516001600160a01b038116811461006e57600080fd5b9392505050565b6080516110926100ac6000396000818161018e0152818161023f0152818161040f0152818161057c01526106af01526110926000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806387cb967a1161005b57806387cb967a14610150578063b95ddb5214610189578063c47f8bfa146101b0578063d896dd64146101d057600080fd5b8063251fe79c1461008d578063299d1cf6146100a257806342d21ef7146100df578063601a924c1461012f575b600080fd5b6100a061009b366004610b62565b6101e3565b005b6100b56100b0366004610b92565b61039b565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61011d6100ed366004610b92565b60009081526020819052604090206001015474010000000000000000000000000000000000000000900460ff1690565b60405160ff90911681526020016100d6565b61014261013d366004610bda565b61051d565b6040519081526020016100d6565b6100b561015e366004610b92565b60009081526020819052604090206002015473ffffffffffffffffffffffffffffffffffffffff1690565b6100b57f000000000000000000000000000000000000000000000000000000000000000081565b6101c36101be366004610b92565b610951565b6040516100d69190610d3a565b6100a06101de366004610dbd565b610aa0565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815233917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a9161028791600401610de8565b602060405180830381865afa1580156102a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102c89190610dfb565b73ffffffffffffffffffffffffffffffffffffffff1614610315576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008281526020819052604080822060020180547fffffffffffffffffffffffff0000000000000000000000000000000000000000811673ffffffffffffffffffffffffffffffffffffffff8681169182179093559251911692839186917f147c62691502c52a4a793c136ab712d9695053acdd62d44170a823bc377a59f591a4505050565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a000000000000000000000000000000000000000000000000000000008152600091829173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a916104439190600401610de8565b602060405180830381865afa158015610460573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104849190610dfb565b6040517f6352211e0000000000000000000000000000000000000000000000000000000081526004810185905290915073ffffffffffffffffffffffffffffffffffffffff821690636352211e90602401602060405180830381865afa1580156104f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105169190610dfb565b9392505050565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260009133917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a916105c59190600401610de8565b602060405180830381865afa1580156105e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106069190610dfb565b73ffffffffffffffffffffffffffffffffffffffff1614610653576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815233917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a916106f791600401610de8565b602060405180830381865afa158015610714573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107389190610dfb565b73ffffffffffffffffffffffffffffffffffffffff1614610785576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016000815461079490610e18565b91829055506040805160c08101825285815273ffffffffffffffffffffffffffffffffffffffff8781166020808401919091526001838501529089166060830152608082018690524267ffffffffffffffff811660a084015260008581529182905292902081519394509192909190819061080f9082610f19565b50602082015160018201805460408086015160ff1674010000000000000000000000000000000000000000027fffffffffffffffffffffff00000000000000000000000000000000000000000090921673ffffffffffffffffffffffffffffffffffffffff948516179190911790915560608401516002840180549184167fffffffffffffffffffffffff0000000000000000000000000000000000000000929092169190911790556080840151600384015560a0909301516004909201805467ffffffffffffffff9093167fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909316929092179091559051868216918816907f964ceb922535d169779e716f1dea5a577aeef2427e753bdb9eace345bca56b929061094090869089908990611033565b60405180910390a350949350505050565b6040805160c081018252606080825260006020830181905292820183905281018290526080810182905260a081019190915260008281526020819052604090819020815160c081019092528054829082906109ab90610e77565b80601f01602080910402602001604051908101604052809291908181526020018280546109d790610e77565b8015610a245780601f106109f957610100808354040283529160200191610a24565b820191906000526020600020905b815481529060010190602001808311610a0757829003601f168201915b5050509183525050600182015473ffffffffffffffffffffffffffffffffffffffff80821660208401527401000000000000000000000000000000000000000090910460ff16604083015260028301541660608201526003820154608082015260049091015467ffffffffffffffff1660a09091015292915050565b60008281526020818152604091829020600101805460ff858116740100000000000000000000000000000000000000008181027fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff8516179094558551939092041680835292820152849283917fd98efe2dd5b76c52df27ca251c889b2339e9f49fdd2e02e72abbae1136a1f014910160405180910390a250505050565b73ffffffffffffffffffffffffffffffffffffffff81168114610b5f57600080fd5b50565b60008060408385031215610b7557600080fd5b823591506020830135610b8781610b3d565b809150509250929050565b600060208284031215610ba457600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060008060808587031215610bf057600080fd5b8435610bfb81610b3d565b93506020850135610c0b81610b3d565b9250604085013567ffffffffffffffff80821115610c2857600080fd5b818701915087601f830112610c3c57600080fd5b813581811115610c4e57610c4e610bab565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715610c9457610c94610bab565b816040528281528a6020848701011115610cad57600080fd5b826020860160208301376000928101602001929092525095989497509495606001359450505050565b6000815180845260005b81811015610cfc57602081850181015186830182015201610ce0565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081526000825160c06020840152610d5660e0840182610cd6565b9050602084015173ffffffffffffffffffffffffffffffffffffffff808216604086015260ff60408701511660608601528060608701511660808601525050608084015160a084015267ffffffffffffffff60a08501511660c08401528091505092915050565b60008060408385031215610dd057600080fd5b82359150602083013560ff81168114610b8757600080fd5b6020815260006105166020830184610cd6565b600060208284031215610e0d57600080fd5b815161051681610b3d565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610e70577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b600181811c90821680610e8b57607f821691505b602082108103610ec4577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f821115610f1457600081815260208120601f850160051c81016020861015610ef15750805b601f850160051c820191505b81811015610f1057828155600101610efd565b5050505b505050565b815167ffffffffffffffff811115610f3357610f33610bab565b610f4781610f418454610e77565b84610eca565b602080601f831160018114610f9a5760008415610f645750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610f10565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015610fe757888601518255948401946001909101908401610fc8565b508582101561102357878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b83815260606020820152600061104c6060830185610cd6565b905082604083015294935050505056fea26469706673582212208eaf86cacb600d9314b9d1d5d2261f9c609ee632773c3332418ebe9b5cc85fba64736f6c6343000813003300000000000000000000000051870a0659a87c7b46baef7311b3128006e1fb16", + "nonce": "0x7fb", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x2bb57468dbedb53b56ff6025980717fb50edbc2eeb91c444d76620313646e2f1", + "transactionType": "CREATE", + "contractName": "LicenseRegistry", + "contractAddress": "0x826a953332Df2e1a994C7CFae68E129ba683Aa8F", + "function": null, + "arguments": [ + "0x5B81030C087d41558E3FCF23B3575E85c9A768e6", + "0x51870A0659A87c7B46baEF7311B3128006E1FB16", + "0x3113e5bfe2251A9fcA1225083cf6d36547E63e07" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x3e569c", + "value": "0x0", + "data": "0x60e06040523480156200001157600080fd5b5060405162003ab038038062003ab0833981016040819052620000349162000160565b6040518060400160405280601a81526020017f53746f72792050726f746f636f6c204c6963656e7365204e4654000000000000815250604051806040016040528060048152602001631313919560e21b81525081600090816200009891906200024f565b506001620000a782826200024f565b5050506001600160a01b038316620000d25760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b038084166080528216620001005760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0380831660a05281166200012e5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b031660c052506200031b9050565b80516001600160a01b03811681146200015b57600080fd5b919050565b6000806000606084860312156200017657600080fd5b620001818462000143565b9250620001916020850162000143565b9150620001a16040850162000143565b90509250925092565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620001d557607f821691505b602082108103620001f657634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200024a57600081815260208120601f850160051c81016020861015620002255750805b601f850160051c820191505b81811015620002465782815560010162000231565b5050505b505050565b81516001600160401b038111156200026b576200026b620001aa565b62000283816200027c8454620001c0565b84620001fc565b602080601f831160018114620002bb5760008415620002a25750858301515b600019600386901b1c1916600185901b17855562000246565b600085815260208120601f198616915b82811015620002ec57888601518255948401946001909101908401620002cb565b50858210156200030b5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60805160a05160c0516137426200036e600039600061043401526000818161048901528181610adb0152818161106c015281816112980152611808015260008181610522015261225301526137426000f3fe608060405234801561001057600080fd5b506004361061020b5760003560e01c806370a082311161012a578063c8c0eb87116100bd578063e006e5a71161008c578063e705c2b811610071578063e705c2b8146105b3578063e985e9c5146105c6578063eb683a491461060f57600080fd5b8063e006e5a714610567578063e58efef61461057a57600080fd5b8063c8c0eb87146104cc578063d09d894e1461050a578063d2faf8b01461051d578063d7f9ab8b1461054457600080fd5b8063a22cb465116100f9578063a22cb4651461045e578063b88d4fde14610471578063b95ddb5214610484578063c87b56dd146104ab57600080fd5b806370a082311461040957806371e074dd1461041c57806376a4b13b1461042f57806395d89b411461045657600080fd5b8063357a595a116101a2578063439d4b5c11610171578063439d4b5c1461039257806356227341146103a55780636103b2ce146103d65780636352211e146103f657600080fd5b8063357a595a1461031957806337f8ebfb1461032c5780633c06e1dc1461035657806342842e0e1461037f57600080fd5b806308a4f072116101de57806308a4f072146102be578063095ea7b3146102de5780631f09e4e5146102f357806323b872dd1461030657600080fd5b806301ffc9a714610210578063056569af1461023857806306fdde0314610296578063081812fc146102ab575b600080fd5b61022361021e366004612a88565b610622565b60405190151581526020015b60405180910390f35b610271610246366004612aac565b60009081526006602052604090206001015473ffffffffffffffffffffffffffffffffffffffff1690565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161022f565b61029e610707565b60405161022f9190612b29565b6102716102b9366004612aac565b610799565b6102d16102cc366004612aac565b6107cd565b60405161022f9190612b3c565b6102f16102ec366004612bf7565b6108db565b005b6102f1610301366004612c21565b610a6c565b6102f1610314366004612c4d565b610b96565b6102f1610327366004612aac565b610c37565b61022361033a366004612aac565b6000908152600660205260409020546301000000900460ff1690565b610223610364366004612aac565b60009081526006602052604090205462010000900460ff1690565b6102f161038d366004612c4d565b610c44565b6102f16103a0366004612aac565b610c5f565b6103c86103b3366004612aac565b60009081526006602052604090206005015490565b60405190815260200161022f565b6103e96103e4366004612aac565b610d25565b60405161022f9190612cf3565b610271610404366004612aac565b610ea1565b6103c8610417366004612de3565b610f2d565b6102f161042a366004612dfe565b610ffb565b6102717f000000000000000000000000000000000000000000000000000000000000000081565b61029e611164565b6102f161046c366004612e39565b611173565b6102f161047f366004612fc9565b61117e565b6102717f000000000000000000000000000000000000000000000000000000000000000081565b61029e6104b9366004612aac565b5060408051602081019091526000815290565b6102716104da366004612aac565b600090815260066020526040902054640100000000900473ffffffffffffffffffffffffffffffffffffffff1690565b6103c8610518366004613031565b611226565b6102717f000000000000000000000000000000000000000000000000000000000000000081565b6103c8610552366004612aac565b60009081526006602052604090206004015490565b610271610575366004612aac565b6116c7565b610271610588366004612aac565b60009081526006602052604090206002015473ffffffffffffffffffffffffffffffffffffffff1690565b6102236105c1366004612aac565b6116d2565b6102236105d4366004613075565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260056020908152604080832093909416825291909152205460ff1690565b6103c861061d3660046131a9565b611796565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd0000000000000000000000000000000000000000000000000000000014806106b557507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b8061070157507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b606060008054610716906132b0565b80601f0160208091040260200160405190810160405280929190818152602001828054610742906132b0565b801561078f5780601f106107645761010080835404028352916020019161078f565b820191906000526020600020905b81548152906001019060200180831161077257829003601f168201915b5050505050905090565b60006107a482611bb0565b5060009081526004602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b606060076000838152602001908152602001600020805480602002602001604051908101604052809291908181526020016000905b828210156108d057838290600052602060002090600202016040518060400160405290816000820154815260200160018201805461083f906132b0565b80601f016020809104026020016040519081016040528092919081815260200182805461086b906132b0565b80156108b85780601f1061088d576101008083540402835291602001916108b8565b820191906000526020600020905b81548152906001019060200180831161089b57829003601f168201915b50505050508152505081526020019060010190610802565b505050509050919050565b60006108e682610ea1565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036109a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff821614806109d157506109d181336105d4565b610a5d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000606482015260840161099f565b610a678383611c3b565b505050565b604080518082018252601081527f4c4943454e53494e475f4d4f44554c4500000000000000000000000000000000602082015290517f3af83c1800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001691633af83c1891610b1191903390600401613303565b602060405180830381865afa158015610b2e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b52919061333b565b610b88576040517f039cb0ee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b928282611cdb565b5050565b610ba03382611e2a565b610c2c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f76656400000000000000000000000000000000000000606482015260840161099f565b610a67838383611ee9565b610c418133611cdb565b50565b610a678383836040518060200160405280600081525061117e565b600081815260066020526040902054640100000000900473ffffffffffffffffffffffffffffffffffffffff163314610cc4576040517f95e4a90e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008181526006602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660031790555182917ff8ecc300d4504a2b49692052f138b7e697df679cf0580522720ce405bd01be5591a250565b6040805161014081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810191909152600082815260066020526040812090815460ff166003811115610d9b57610d9b612c89565b03610dd2576040517fc28093d700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408051610140810190915281548290829060ff166003811115610df857610df8612c89565b6003811115610e0957610e09612c89565b8152815461010080820460ff9081161515602085015262010000830481161515604085015263010000008304161515606084015264010000000090910473ffffffffffffffffffffffffffffffffffffffff90811660808401526001840154811660a084015260028401541660c0830152600383015460e0830152600483015490820152600590910154610120909101529392505050565b60008181526002602052604081205473ffffffffffffffffffffffffffffffffffffffff1680610701576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e2049440000000000000000604482015260640161099f565b600073ffffffffffffffffffffffffffffffffffffffff8216610fd2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e65720000000000000000000000000000000000000000000000606482015260840161099f565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526003602052604090205490565b604080518082018252601081527f4c4943454e53494e475f4d4f44554c4500000000000000000000000000000000602082015290517f3af83c18000000000000000000000000000000000000000000000000000000008152839173ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001691633af83c18916110a1913390600401613303565b602060405180830381865afa1580156110be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110e2919061333b565b15801561112357506110f381610ea1565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b1561115a576040517fc1b4742400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a6783836121e4565b606060018054610716906132b0565b610b9233838361239b565b6111883383611e2a565b611214576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f76656400000000000000000000000000000000000000606482015260840161099f565b611220848484846124c8565b50505050565b604080518082018252601081527f4c4943454e53494e475f4d4f44554c4500000000000000000000000000000000602082015290517f3af83c1800000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001691633af83c18916112cd913390600401613303565b602060405180830381865afa1580156112ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061130e919061333b565b611344576040517f039cb0ee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61134d856116d2565b611383576040517f72b0a52c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600085815260066020526040808220815161014081019092528054829060ff1660038111156113b4576113b4612c89565b60038111156113c5576113c5612c89565b8152815461010080820460ff9081161515602085015262010000830481161515604085015263010000008304161515606084015264010000000090910473ffffffffffffffffffffffffffffffffffffffff90811660808401526001840154811660a084015260028401541660c0830152600383015460e08301526004830154908201526005909101546101209091015260088054919250600091829061146b90613358565b9182905550610120830188905273ffffffffffffffffffffffffffffffffffffffff871660a084015261010083018590526060830151909150156114ae57600282525b600087815260076020526040808220838352912081546114ce9290612980565b506000818152600660205260409020825181548492919082907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600183600381111561151d5761151d612c89565b021790555060208201518154604080850151606086015160808701517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000ff90941661010095151586027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff16176201000092151592909202919091177fffffffffffffffff000000000000000000000000000000000000000000ffffff166301000000911515919091027fffffffffffffffff0000000000000000000000000000000000000000ffffffff161764010000000073ffffffffffffffffffffffffffffffffffffffff9384160217845560a08501516001850180547fffffffffffffffffffffffff000000000000000000000000000000000000000090811692851692909217905560c086015160028601805490921693169290921790915560e08401516003840155908301516004830155610120909201516005909101555181907f0eaf6d681055f593c54be5a95da92bb2249915d24efbd7686fd32f6f89784204906116a9908590612cf3565b60405180910390a26116bb858261256b565b9150505b949350505050565b600061070182610ea1565b6000816000036116e457506000919050565b811561178e57600260008381526006602052604090205460ff16600381111561170f5761170f612c89565b148061173b575060008281526006602052604081205460ff16600381111561173957611739612c89565b145b806117685750600360008381526006602052604090205460ff16600381111561176657611766612c89565b145b1561177557506000919050565b60009182526006602052604090912060050154906116e4565b506001919050565b604080518082018252601081527f4c4943454e53494e475f4d4f44554c4500000000000000000000000000000000602082015290517f3af83c1800000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001691633af83c189161183d913390600401613303565b602060405180830381865afa15801561185a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061187e919061333b565b6118b4576040517f039cb0ee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b835160018160038111156118ca576118ca612c89565b141580156118ea575060028160038111156118e7576118e7612c89565b14155b15611921576040517f92439ccc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060086000815461193290613358565b9182905550600081815260066020526040902087518154929350889282907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600183600381111561198657611986612c89565b021790555060208201518154604080850151606086015160808701517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000ff90941661010095151586027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff16176201000092151592909202919091177fffffffffffffffff000000000000000000000000000000000000000000ffffff166301000000911515919091027fffffffffffffffff0000000000000000000000000000000000000000ffffffff161764010000000073ffffffffffffffffffffffffffffffffffffffff9384160217845560a08501516001850180547fffffffffffffffffffffffff000000000000000000000000000000000000000090811692851692909217905560c086015160028601805490921693169290921790915560e08401516003840155908301516004830155610120909201516005909101555181907f0eaf6d681055f593c54be5a95da92bb2249915d24efbd7686fd32f6f8978420490611b12908990612cf3565b60405180910390a2611b24858261256b565b83516000828152600760205260408120905b82811015611ba35781878281518110611b5157611b516133b7565b6020908102919091018101518254600181810185556000948552938390208251600290920201908155918101519092820190611b8d9082613434565b5050508080611b9b90613358565b915050611b36565b5091979650505050505050565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff16610c41576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e2049440000000000000000604482015260640161099f565b600081815260046020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091558190611c9582610ea1565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000828152600660205260409020600181015473ffffffffffffffffffffffffffffffffffffffff838116911614611d3f576040517f54c26a8800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002815460ff166003811115611d5757611d57612c89565b14611d8e576040517ff40190f500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611d9b81600501546116d2565b611dd1576040517f72b0a52c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117815560405183907fa3ada00687872cb827044ee48684890eeb5caffc2d7abf015ea327c7d7d06b8490600090a2505050565b600080611e3683610ea1565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611ea4575073ffffffffffffffffffffffffffffffffffffffff80821660009081526005602090815260408083209388168352929052205460ff165b806116bf57508373ffffffffffffffffffffffffffffffffffffffff16611eca84610799565b73ffffffffffffffffffffffffffffffffffffffff1614949350505050565b8273ffffffffffffffffffffffffffffffffffffffff16611f0982610ea1565b73ffffffffffffffffffffffffffffffffffffffff1614611fac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e6572000000000000000000000000000000000000000000000000000000606482015260840161099f565b73ffffffffffffffffffffffffffffffffffffffff821661204e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161099f565b8273ffffffffffffffffffffffffffffffffffffffff1661206e82610ea1565b73ffffffffffffffffffffffffffffffffffffffff1614612111576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e6572000000000000000000000000000000000000000000000000000000606482015260840161099f565b600081815260046020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff8781168086526003855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b816121ee816116d2565b612224576040517fa15e441100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f42d21ef7000000000000000000000000000000000000000000000000000000008152600481018390527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906342d21ef790602401602060405180830381865afa1580156122af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122d3919061354e565b60ff1660011461230f576040517f32a7f99e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008381526006602052604090206004015415612358576040517fed035e9700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008381526006602052604080822060040184905551839185917f9d2bbd85f58e2a13e5a13a8d77b039e02a44b601338e36691ab827a547b2353e9190a3505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612430576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161099f565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526005602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6124d3848484611ee9565b6124df84848484612790565b611220576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e7465720000000000000000000000000000606482015260840161099f565b73ffffffffffffffffffffffffffffffffffffffff82166125e8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161099f565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1615612674576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161099f565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1615612700576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161099f565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260036020908152604080832080546001019055848352600290915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b600073ffffffffffffffffffffffffffffffffffffffff84163b15612978576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a0290612807903390899088908890600401613571565b6020604051808303816000875af1925050508015612860575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261285d918101906135ba565b60015b61292d573d80801561288e576040519150601f19603f3d011682016040523d82523d6000602084013e612893565b606091505b508051600003612925576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e7465720000000000000000000000000000606482015260840161099f565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a02000000000000000000000000000000000000000000000000000000001490506116bf565b5060016116bf565b8280548282559060005260206000209060020281019282156129dd5760005260206000209160020282015b828111156129dd578254825582826001808201906129cb908401826135d7565b505050916002019190600201906129ab565b506129e99291506129ed565b5090565b808211156129e9576000808255612a076001830182612a10565b506002016129ed565b508054612a1c906132b0565b6000825580601f10612a2c575050565b601f016020900490600052602060002090810190610c4191905b808211156129e95760008155600101612a46565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610c4157600080fd5b600060208284031215612a9a57600080fd5b8135612aa581612a5a565b9392505050565b600060208284031215612abe57600080fd5b5035919050565b6000815180845260005b81811015612aeb57602081850181015186830182015201612acf565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081526000612aa56020830184612ac5565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015612bc0578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0018552815180518452870151878401879052612bad87850182612ac5565b9588019593505090860190600101612b63565b509098975050505050505050565b803573ffffffffffffffffffffffffffffffffffffffff81168114612bf257600080fd5b919050565b60008060408385031215612c0a57600080fd5b612c1383612bce565b946020939093013593505050565b60008060408385031215612c3457600080fd5b82359150612c4460208401612bce565b90509250929050565b600080600060608486031215612c6257600080fd5b612c6b84612bce565b9250612c7960208501612bce565b9150604084013590509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60048110612cef577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b600061014082019050612d07828451612cb8565b6020830151612d1a602084018215159052565b506040830151612d2e604084018215159052565b506060830151612d42606084018215159052565b506080830151612d6a608084018273ffffffffffffffffffffffffffffffffffffffff169052565b5060a0830151612d9260a084018273ffffffffffffffffffffffffffffffffffffffff169052565b5060c0830151612dba60c084018273ffffffffffffffffffffffffffffffffffffffff169052565b5060e083015160e083015261010080840151818401525061012080840151818401525092915050565b600060208284031215612df557600080fd5b612aa582612bce565b60008060408385031215612e1157600080fd5b50508035926020909101359150565b8015158114610c4157600080fd5b8035612bf281612e20565b60008060408385031215612e4c57600080fd5b612e5583612bce565b91506020830135612e6581612e20565b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715612ec257612ec2612e70565b60405290565b604051610140810167ffffffffffffffff81118282101715612ec257612ec2612e70565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715612f3357612f33612e70565b604052919050565b600082601f830112612f4c57600080fd5b813567ffffffffffffffff811115612f6657612f66612e70565b612f9760207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601612eec565b818152846020838601011115612fac57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060808587031215612fdf57600080fd5b612fe885612bce565b9350612ff660208601612bce565b925060408501359150606085013567ffffffffffffffff81111561301957600080fd5b61302587828801612f3b565b91505092959194509250565b6000806000806080858703121561304757600080fd5b8435935061305760208601612bce565b925061306560408601612bce565b9396929550929360600135925050565b6000806040838503121561308857600080fd5b61309183612bce565b9150612c4460208401612bce565b803560048110612bf257600080fd5b600082601f8301126130bf57600080fd5b8135602067ffffffffffffffff808311156130dc576130dc612e70565b8260051b6130eb838201612eec565b938452858101830193838101908886111561310557600080fd5b84880192505b8583101561319d578235848111156131235760008081fd5b88016040818b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0018113156131595760008081fd5b613161612e9f565b82880135815290820135908682111561317a5760008081fd5b6131888c8984860101612f3b565b8189015284525050918401919084019061310b565b98975050505050505050565b60008060008385036101808112156131c057600080fd5b610140808212156131d057600080fd5b6131d8612ec8565b91506131e38661309f565b82526131f160208701612e2e565b602083015261320260408701612e2e565b604083015261321360608701612e2e565b606083015261322460808701612bce565b608083015261323560a08701612bce565b60a083015261324660c08701612bce565b60c083015260e086013560e083015261010080870135818401525061012080870135818401525081945061327b818701612bce565b9350505061016084013567ffffffffffffffff81111561329a57600080fd5b6132a6868287016130ae565b9150509250925092565b600181811c908216806132c457607f821691505b6020821081036132fd577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b6040815260006133166040830185612ac5565b905073ffffffffffffffffffffffffffffffffffffffff831660208301529392505050565b60006020828403121561334d57600080fd5b8151612aa581612e20565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036133b0577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b601f821115610a6757600081815260208120601f850160051c8101602086101561340d5750805b601f850160051c820191505b8181101561342c57828155600101613419565b505050505050565b815167ffffffffffffffff81111561344e5761344e612e70565b6134628161345c84546132b0565b846133e6565b602080601f8311600181146134b5576000841561347f5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b17855561342c565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015613502578886015182559484019460019091019084016134e3565b508582101561353e57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121561356057600080fd5b815160ff81168114612aa557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250836040830152608060608301526135b06080830184612ac5565b9695505050505050565b6000602082840312156135cc57600080fd5b8151612aa581612a5a565b8181036135e2575050565b6135ec82546132b0565b67ffffffffffffffff81111561360457613604612e70565b6136128161345c84546132b0565b6000601f821160018114613664576000831561362e5750848201545b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600385901b1c1916600184901b178455613705565b6000858152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0841690600086815260209020845b838110156136bc578286015482556001958601959091019060200161369c565b50858310156136f857818501547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b50505060018360011b0184555b505050505056fea264697066735822122005918b5bf82ecfc5cbade9a10b99b05effee689d7ff16f261a52e83b5a4c9b0464736f6c634300081300330000000000000000000000005b81030c087d41558e3fcf23b3575e85c9a768e600000000000000000000000051870a0659a87c7b46baef7311b3128006e1fb160000000000000000000000003113e5bfe2251a9fca1225083cf6d36547e63e07", + "nonce": "0x7fc", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x6b6536c934fc7d4d1dba6374b0f6658c59bb0bc6b60a04a54a798accc816c975", + "transactionType": "CREATE", + "contractName": "IPOrgController", + "contractAddress": "0x9Be54430f2962a115353Ad2e8c62A106bBe71849", + "function": null, + "arguments": [ + "0x51870A0659A87c7B46baEF7311B3128006E1FB16" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x5e866f", + "value": "0x0", + "data": "0x60c0604052306080523480156200001557600080fd5b50604051620056d6380380620056d683398101604081905262000038916200004a565b6001600160a01b031660a0526200007c565b6000602082840312156200005d57600080fd5b81516001600160a01b03811681146200007557600080fd5b9392505050565b60805160a05161560a620000cc6000396000818161028b01528181610e88015261121b0152600081816106ae01528181610760015281816108bc0152818161096e0152610abe015261560a6000f3fe608060405260043610620000fb5760003560e01c806398e8e6ea1162000095578063caae51b81162000060578063caae51b814620002d2578063d8b67cc214620002f7578063eb3dcb7c146200031c578063fc1dad81146200035257600080fd5b806398e8e6ea146200022d578063a0f336f81462000252578063b95ddb521462000277578063c4d66de814620002ad57600080fd5b80633659cfe611620000d65780633659cfe6146200019b57806349403c8e14620001c05780634f1ef28614620001ef57806352d1902d146200020657600080fd5b806314afd79e146200010057806319129e5a146200014f57806331678cf61462000176575b600080fd5b3480156200010d57600080fd5b50620001256200011f366004620021c5565b6200039e565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b3480156200015c57600080fd5b50620001746200016e366004620021c5565b620003cf565b005b3480156200018357600080fd5b506200017462000195366004620021e3565b6200055b565b348015620001a857600080fd5b5062000174620001ba366004620021c5565b62000697565b348015620001cd57600080fd5b50606554620001259073ffffffffffffffffffffffffffffffffffffffff1681565b6200017462000200366004620022e5565b620008a5565b3480156200021357600080fd5b506200021e62000aa4565b60405190815260200162000146565b3480156200023a57600080fd5b50620001256200024c366004620023cc565b62000b92565b3480156200025f57600080fd5b506200017462000271366004620021c5565b62000f81565b3480156200028457600080fd5b50620001257f000000000000000000000000000000000000000000000000000000000000000081565b348015620002ba57600080fd5b5062000174620002cc366004620021c5565b620010ee565b348015620002df57600080fd5b5062000125620002f1366004620021c5565b6200134c565b3480156200030457600080fd5b506200017462000316366004620021c5565b6200137b565b3480156200032957600080fd5b50620003416200033b366004620021c5565b620014aa565b604051901515815260200162000146565b3480156200035f57600080fd5b507f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b65473ffffffffffffffffffffffffffffffffffffffff1662000125565b600080620003ac83620014e7565b54610100900473ffffffffffffffffffffffffffffffffffffffff169392505050565b6000620003dd813362001561565b62000422576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b6200046473ffffffffffffffffffffffffffffffffffffffff83167f7965db0b000000000000000000000000000000000000000000000000000000006200162e565b620004cc576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c000000000000000000000000000000000000604482015260640162000419565b7f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811782556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a2505050565b60006200056883620014e7565b8054909150610100900473ffffffffffffffffffffffffffffffffffffffff163314620005c1576040517f14d325a600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff82166200060f576040517f19f28cd700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84811691821790925560408051928616835260208301919091527f9d1eed91033af603ca90974d7f9dcffdc1a38de6e354262a1cd59243e6997f6091015b60405180910390a1505050565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630036200075e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c0000000000000000000000000000000000000000606482015260840162000419565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16620007d47f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff161462000879576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f78790000000000000000000000000000000000000000606482015260840162000419565b620008848162001656565b60408051600080825260208201909252620008a291839190620016c4565b50565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630036200096c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c0000000000000000000000000000000000000000606482015260840162000419565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16620009e27f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff161462000a87576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f78790000000000000000000000000000000000000000606482015260840162000419565b62000a928262001656565b62000aa082826001620016c4565b5050565b60003073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161462000b6d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c0000000000000000606482015260840162000419565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b600073ffffffffffffffffffffffffffffffffffffffff881662000be2576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60655462000c069073ffffffffffffffffffffffffffffffffffffffff16620018d4565b6040517f4cd88b7600000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff821690634cd88b769062000c63908a908a908a908a90600401620024fd565b600060405180830381600087803b15801562000c7e57600080fd5b505af115801562000c93573d6000803e3d6000fd5b50505050600062000ca36200199e565b60408051606081018252600180825273ffffffffffffffffffffffffffffffffffffffff8d8116602080850191825260008587018181528a851682528883528782209651875494517fffffffffffffffffffffff0000000000000000000000000000000000000000009095169015157fffffffffffffffffffffff0000000000000000000000000000000000000000ff16176101009486169490940293909317865591519490930180547fffffffffffffffffffffffff000000000000000000000000000000000000000016949092169390931790559151929350917f9aeb830ec91a14c97a5446cc7c86a42f73a78f37f9a77afa238b5d11520ddfbc9162000db1918891889101620025df565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905262000def929160200162002667565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181528282018252601383527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602084015290517fe1fc45ce00000000000000000000000000000000000000000000000000000000815290925073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163e1fc45ce9162000ec4918791309190879060040162002682565b6000604051808303816000875af115801562000ee4573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405262000f2c9190810190620026d1565b507f81e084d978860accc83df39f75b801d9019e40d18643b9b39f4cd2a70ca35adb8a848b8b8b8b8b8b60405162000f6c98979695949392919062002751565b60405180910390a15050979650505050505050565b600062000f8e82620014e7565b600181015490915073ffffffffffffffffffffffffffffffffffffffff16331462000fe5576040517f14d325a600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80546001820180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055336101009081027fffffffffffffffffffffff0000000000000000000000000000000000000000ff83161783556040805173ffffffffffffffffffffffffffffffffffffffff86811682526000602083015292909304909116917f9d1eed91033af603ca90974d7f9dcffdc1a38de6e354262a1cd59243e6997f60910160405180910390a16040805173ffffffffffffffffffffffffffffffffffffffff80861682528316602082015233918101919091527fa32ba34dcc7e0ace14cb99fb86f246e799dc1c9f82f03fc23290320b958e4af7906060016200068a565b600054610100900460ff16158080156200110f5750600054600160ff909116105b806200112b5750303b1580156200112b575060005460ff166001145b620011b9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840162000419565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156200121857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b307f0000000000000000000000000000000000000000000000000000000000000000604051620012489062002192565b73ffffffffffffffffffffffffffffffffffffffff928316815291166020820152604001604051809103906000f08015801562001289573d6000803e3d6000fd5b50606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055620012d9620019ce565b620012e48262001a69565b801562000aa057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15050565b6000806200135a83620014e7565b6001015473ffffffffffffffffffffffffffffffffffffffff169392505050565b60006200138882620014e7565b8054909150610100900473ffffffffffffffffffffffffffffffffffffffff163314620013e1576040517f14d325a600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600181015473ffffffffffffffffffffffffffffffffffffffff1662001433576040517f82fcfdf400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001690556040805173ffffffffffffffffffffffffffffffffffffffff84168152600060208201527f9d1eed91033af603ca90974d7f9dcffdc1a38de6e354262a1cd59243e6997f60910162001340565b600080620014b76200199e565b73ffffffffffffffffffffffffffffffffffffffff90931660009081526020939093525050604090205460ff1690565b600080620014f46200199e565b73ffffffffffffffffffffffffffffffffffffffff84166000908152602082905260409020805490935090915060ff166200155b576040517ff8e2020300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50919050565b6000807f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810187905273ffffffffffffffffffffffffffffffffffffffff86811660248301529293509116906391d1485490604401602060405180830381865afa158015620015fe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620016249190620027c8565b9150505b92915050565b60006200163b8362001d29565b80156200164f57506200164f838362001d92565b9392505050565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e362001683813362001561565b62000aa0576040517f75000dc00000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440162000419565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615620016ff57620016fa8362001e63565b505050565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562001787575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526200178491810190620027ec565b60015b62001815576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f742055555053000000000000000000000000000000000000606482015260840162000419565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114620018c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c65555549440000000000000000000000000000000000000000000000606482015260840162000419565b50620016fa83838362001f6f565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008260601b60e81c176000526e5af43d82803e903d91602b57fd5bf38260781b17602052603760096000f0905073ffffffffffffffffffffffffffffffffffffffff811662001999576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f455243313136373a20637265617465206661696c656400000000000000000000604482015260640162000419565b919050565b6000806200162860017f8d6a35d81367c6224789d71f67c0286162ba180a6bdb769f04c214735cdb8ce162002806565b600054610100900460ff1662001a67576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840162000419565b565b600054610100900460ff161580801562001a8a5750600054600160ff909116105b8062001aa65750303b15801562001aa6575060005460ff166001145b62001b34576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840162000419565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801562001b9357600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b62001bd573ffffffffffffffffffffffffffffffffffffffff83167f7965db0b000000000000000000000000000000000000000000000000000000006200162e565b62001c3d576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c000000000000000000000000000000000000604482015260640162000419565b7f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811782556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a250801562000aa057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200162001340565b600062001d57827f01ffc9a70000000000000000000000000000000000000000000000000000000062001d92565b801562001628575062001d8b827fffffffff0000000000000000000000000000000000000000000000000000000062001d92565b1592915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d9150600051905082801562001e4b575060208210155b801562001e585750600081115b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff81163b62001f09576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e747261637400000000000000000000000000000000000000606482015260840162000419565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b62001f7a8362001fa0565b60008251118062001f885750805b15620016fa5762001f9a838362001fef565b50505050565b62001fab8162001e63565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606200164f8383604051806060016040528060278152602001620055ae6027913960606000808573ffffffffffffffffffffffffffffffffffffffff16856040516200203d919062002841565b600060405180830381855af49150503d80600081146200207a576040519150601f19603f3d011682016040523d82523d6000602084013e6200207f565b606091505b509150915062002092868383876200209c565b9695505050505050565b60608315620021375782516000036200212f5773ffffffffffffffffffffffffffffffffffffffff85163b6200212f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640162000419565b508162002143565b6200214383836200214b565b949350505050565b8151156200215c5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200041991906200285f565b612d39806200287583390190565b803573ffffffffffffffffffffffffffffffffffffffff811681146200199957600080fd5b600060208284031215620021d857600080fd5b6200164f82620021a0565b60008060408385031215620021f757600080fd5b6200220283620021a0565b91506200221260208401620021a0565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156200229457620022946200221b565b604052919050565b600067ffffffffffffffff821115620022b957620022b96200221b565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60008060408385031215620022f957600080fd5b6200230483620021a0565b9150602083013567ffffffffffffffff8111156200232157600080fd5b8301601f810185136200233357600080fd5b80356200234a62002344826200229c565b6200224a565b8181528660208385010111156200236057600080fd5b816020840160208301376000602083830101528093505050509250929050565b60008083601f8401126200239357600080fd5b50813567ffffffffffffffff811115620023ac57600080fd5b602083019150836020828501011115620023c557600080fd5b9250929050565b60008060008060008060006080888a031215620023e857600080fd5b620023f388620021a0565b9650602088013567ffffffffffffffff808211156200241157600080fd5b6200241f8b838c0162002380565b909850965060408a01359150808211156200243957600080fd5b620024478b838c0162002380565b909650945060608a01359150808211156200246157600080fd5b818a0191508a601f8301126200247657600080fd5b8135818111156200248657600080fd5b8b60208260051b85010111156200249c57600080fd5b60208301945080935050505092959891949750929550565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60408152600062002513604083018688620024b4565b828103602084015262001e58818587620024b4565b81835260006020808501808196508560051b810191508460005b87811015620025d257828403895281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18836030181126200258357600080fd5b8701858101903567ffffffffffffffff811115620025a057600080fd5b803603821315620025b057600080fd5b620025bd868284620024b4565b9a87019a955050509084019060010162002542565b5091979650505050505050565b6020815260006200214360208301848662002528565b60005b8381101562002612578181015183820152602001620025f8565b50506000910152565b6000815180845262002635816020860160208601620025f5565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b8281526040602082015260006200214360408301846200261b565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525060806040830152620026bd60808301856200261b565b828103606084015262001e5881856200261b565b600060208284031215620026e457600080fd5b815167ffffffffffffffff811115620026fc57600080fd5b8201601f810184136200270e57600080fd5b80516200271f62002344826200229c565b8181528560208385010111156200273557600080fd5b62002748826020830160208601620025f5565b95945050505050565b600073ffffffffffffffffffffffffffffffffffffffff808b168352808a1660208401525060a060408301526200278d60a08301888a620024b4565b8281036060840152620027a2818789620024b4565b90508281036080840152620027b981858762002528565b9b9a5050505050505050505050565b600060208284031215620027db57600080fd5b815180151581146200164f57600080fd5b600060208284031215620027ff57600080fd5b5051919050565b8181038181111562001628577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000825162002855818460208701620025f5565b9190910192915050565b6020815260006200164f60208301846200261b56fe60c06040523480156200001157600080fd5b5060405162002d3938038062002d3983398101604081905262000034916200017d565b600054610100900460ff1615808015620000555750600054600160ff909116105b80620000715750303b15801562000071575060005460ff166001145b620000d95760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b6000805460ff191660011790558015620000fd576000805461ff0019166101001790555b6001600160a01b0380841660a0528216608052801562000157576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050620001b5565b80516001600160a01b03811681146200017857600080fd5b919050565b600080604083850312156200019157600080fd5b6200019c8362000160565b9150620001ac6020840162000160565b90509250929050565b60805160a051612b2662000213600039600081816103c101528181610b0f015261107b01526000818161031101528181610784015281816108dc01528181610cb701528181610e37015281816112ac015261147e0152612b266000f3fe608060405234801561001057600080fd5b50600436106101985760003560e01c806370a08231116100e3578063c3cc244a1161008c578063e985e9c511610066578063e985e9c514610373578063ee0fc121146103bc578063f3f6f0d7146103e357600080fd5b8063c3cc244a14610333578063c87b56dd14610358578063e8a3d4851461036b57600080fd5b8063a22cb465116100bd578063a22cb465146102e6578063b88d4fde146102f9578063b95ddb521461030c57600080fd5b806370a08231146102c35780638da5cb5b146102d657806395d89b41146102de57600080fd5b806342842e0e11610145578063626273a11161011f578063626273a11461028a5780636352211e1461029d578063691562a0146102b057600080fd5b806342842e0e1461025157806342966c68146102645780634cd88b761461027757600080fd5b8063095ea7b311610176578063095ea7b31461021257806318160ddd1461022757806323b872dd1461023e57600080fd5b806301ffc9a71461019d57806306fdde03146101c5578063081812fc146101da575b600080fd5b6101b06101ab36600461235b565b6103ec565b60405190151581526020015b60405180910390f35b6101cd6104d1565b6040516101bc91906123e6565b6101ed6101e83660046123f9565b610563565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101bc565b610225610220366004612434565b610597565b005b61023060985481565b6040519081526020016101bc565b61022561024c366004612460565b610728565b61022561025f366004612460565b610865565b6102256102723660046123f9565b610880565b6102256102853660046124ea565b6109d3565b6102306102983660046123f9565b610c43565b6101ed6102ab3660046123f9565b610dcd565b6102306102be366004612556565b610dd8565b6102306102d1366004612595565b610f7c565b6101ed61104a565b6101cd611100565b6102256102f43660046125b2565b61110f565b6102256103073660046126a9565b61111e565b6101ed7f000000000000000000000000000000000000000000000000000000000000000081565b6103466103413660046123f9565b6111c6565b60405160ff90911681526020016101bc565b6101cd6103663660046123f9565b611237565b6101cd611409565b6101b0610381366004612758565b73ffffffffffffffffffffffffffffffffffffffff9182166000908152606a6020908152604080832093909416825291909152205460ff1690565b6101ed7f000000000000000000000000000000000000000000000000000000000000000081565b61023060975481565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061047f57507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b806104cb57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6060606580546104e090612786565b80601f016020809104026020016040519081016040528092919081815260200182805461050c90612786565b80156105595780601f1061052e57610100808354040283529160200191610559565b820191906000526020600020905b81548152906001019060200180831161053c57829003601f168201915b5050505050905090565b600061056e826115aa565b5060009081526069602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60006105a282611635565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610664576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff8216148061068d575061068d8133610381565b610719576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000606482015260840161065b565b61072383836116c1565b505050565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815233917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a916107cc916004016123e6565b602060405180830381865afa1580156107e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061080d91906127d9565b73ffffffffffffffffffffffffffffffffffffffff161461085a576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610723838383611761565b6107238383836040518060200160405280600081525061111e565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815233917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a91610924916004016123e6565b602060405180830381865afa158015610941573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061096591906127d9565b73ffffffffffffffffffffffffffffffffffffffff16146109b2576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b609880549060006109c283612825565b91905055506109d081611a5c565b50565b600054610100900460ff16158080156109f35750600054600160ff909116105b80610a0d5750303b158015610a0d575060005460ff166001145b610a99576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840161065b565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610af757600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610b66576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610bd985858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f89018190048102820181019092528781529250879150869081908401838280828437600092019190915250611b3492505050565b8015610c3c57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a000000000000000000000000000000000000000000000000000000008152600091829173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a91610ceb91906004016123e6565b602060405180830381865afa158015610d08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d2c91906127d9565b6040517f5f32b4300000000000000000000000000000000000000000000000000000000081523060048201526024810185905290915073ffffffffffffffffffffffffffffffffffffffff821690635f32b430906044016020604051808303816000875af1158015610da2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dc6919061285a565b9392505050565b60006104cb82611635565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260009133917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a91610e8091906004016123e6565b602060405180830381865afa158015610e9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec191906127d9565b73ffffffffffffffffffffffffffffffffffffffff1614610f0e576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60988054906000610f1e83612873565b9190505550609760008154610f3290612873565b9182905550600081815260996020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff851617905590506104cb8382611bd5565b600073ffffffffffffffffffffffffffffffffffffffff8216611021576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e65720000000000000000000000000000000000000000000000606482015260840161065b565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526068602052604090205490565b6040517f14afd79e0000000000000000000000000000000000000000000000000000000081523060048201526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906314afd79e90602401602060405180830381865afa1580156110d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110fb91906127d9565b905090565b6060606680546104e090612786565b61111a338383611dfa565b5050565b6111283383611f27565b6111b4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f76656400000000000000000000000000000000000000606482015260840161065b565b6111c084848484611fe7565b50505050565b60008181526067602052604081205473ffffffffffffffffffffffffffffffffffffffff16611221576040517f6831df8d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060009081526099602052604090205460ff1690565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260609160009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a916112e091906004016123e6565b602060405180830381865afa1580156112fd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061132191906127d9565b90508073ffffffffffffffffffffffffffffffffffffffff1663e8d72654308561134a876111c6565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815273ffffffffffffffffffffffffffffffffffffffff9093166004840152602483019190915260ff166044820152606401600060405180830381865afa1580156113c3573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610dc691908101906128ab565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260609160009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a916114b291906004016123e6565b602060405180830381865afa1580156114cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114f391906127d9565b6040517e844d1300000000000000000000000000000000000000000000000000000000815230600482015290915073ffffffffffffffffffffffffffffffffffffffff82169062844d1390602401600060405180830381865afa15801561155e573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526115a491908101906128ab565b91505090565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff166109d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e2049440000000000000000604482015260640161065b565b60008181526067602052604081205473ffffffffffffffffffffffffffffffffffffffff16806104cb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e2049440000000000000000604482015260640161065b565b600081815260696020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117909155819061171b82611635565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b8273ffffffffffffffffffffffffffffffffffffffff1661178182611635565b73ffffffffffffffffffffffffffffffffffffffff1614611824576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e6572000000000000000000000000000000000000000000000000000000606482015260840161065b565b73ffffffffffffffffffffffffffffffffffffffff82166118c6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161065b565b8273ffffffffffffffffffffffffffffffffffffffff166118e682611635565b73ffffffffffffffffffffffffffffffffffffffff1614611989576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e6572000000000000000000000000000000000000000000000000000000606482015260840161065b565b600081815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff8781168086526068855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905590871680865283862080546001019055868652606790945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6000611a6782611635565b9050611a7282611635565b600083815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff85168085526068845282852080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190558785526067909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b600054610100900460ff16611bcb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161065b565b61111a828261208a565b73ffffffffffffffffffffffffffffffffffffffff8216611c52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161065b565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff1615611cde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161065b565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff1615611d6a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161065b565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260686020908152604080832080546001019055848352606790915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611e8f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161065b565b73ffffffffffffffffffffffffffffffffffffffff8381166000818152606a602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b600080611f3383611635565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611fa1575073ffffffffffffffffffffffffffffffffffffffff8082166000908152606a602090815260408083209388168352929052205460ff165b80611fdf57508373ffffffffffffffffffffffffffffffffffffffff16611fc784610563565b73ffffffffffffffffffffffffffffffffffffffff16145b949350505050565b611ff2848484611761565b611ffe8484848461213a565b6111c0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e7465720000000000000000000000000000606482015260840161065b565b600054610100900460ff16612121576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161065b565b606561212d8382612970565b5060666107238282612970565b600073ffffffffffffffffffffffffffffffffffffffff84163b15612322576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a02906121b1903390899088908890600401612a8a565b6020604051808303816000875af192505050801561220a575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261220791810190612ad3565b60015b6122d7573d808015612238576040519150601f19603f3d011682016040523d82523d6000602084013e61223d565b606091505b5080516000036122cf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e7465720000000000000000000000000000606482015260840161065b565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050611fdf565b506001949350505050565b7fffffffff00000000000000000000000000000000000000000000000000000000811681146109d057600080fd5b60006020828403121561236d57600080fd5b8135610dc68161232d565b60005b8381101561239357818101518382015260200161237b565b50506000910152565b600081518084526123b4816020860160208601612378565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610dc6602083018461239c565b60006020828403121561240b57600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff811681146109d057600080fd5b6000806040838503121561244757600080fd5b823561245281612412565b946020939093013593505050565b60008060006060848603121561247557600080fd5b833561248081612412565b9250602084013561249081612412565b929592945050506040919091013590565b60008083601f8401126124b357600080fd5b50813567ffffffffffffffff8111156124cb57600080fd5b6020830191508360208285010111156124e357600080fd5b9250929050565b6000806000806040858703121561250057600080fd5b843567ffffffffffffffff8082111561251857600080fd5b612524888389016124a1565b9096509450602087013591508082111561253d57600080fd5b5061254a878288016124a1565b95989497509550505050565b6000806040838503121561256957600080fd5b823561257481612412565b9150602083013560ff8116811461258a57600080fd5b809150509250929050565b6000602082840312156125a757600080fd5b8135610dc681612412565b600080604083850312156125c557600080fd5b82356125d081612412565b91506020830135801515811461258a57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561265b5761265b6125e5565b604052919050565b600067ffffffffffffffff82111561267d5761267d6125e5565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600080600080608085870312156126bf57600080fd5b84356126ca81612412565b935060208501356126da81612412565b925060408501359150606085013567ffffffffffffffff8111156126fd57600080fd5b8501601f8101871361270e57600080fd5b803561272161271c82612663565b612614565b81815288602083850101111561273657600080fd5b8160208401602083013760006020838301015280935050505092959194509250565b6000806040838503121561276b57600080fd5b823561277681612412565b9150602083013561258a81612412565b600181811c9082168061279a57607f821691505b6020821081036127d3577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b6000602082840312156127eb57600080fd5b8151610dc681612412565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600081612834576128346127f6565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b60006020828403121561286c57600080fd5b5051919050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036128a4576128a46127f6565b5060010190565b6000602082840312156128bd57600080fd5b815167ffffffffffffffff8111156128d457600080fd5b8201601f810184136128e557600080fd5b80516128f361271c82612663565b81815285602083850101111561290857600080fd5b612919826020830160208601612378565b95945050505050565b601f82111561072357600081815260208120601f850160051c810160208610156129495750805b601f850160051c820191505b8181101561296857828155600101612955565b505050505050565b815167ffffffffffffffff81111561298a5761298a6125e5565b61299e816129988454612786565b84612922565b602080601f8311600181146129f157600084156129bb5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555612968565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015612a3e57888601518255948401946001909101908401612a1f565b5085821015612a7a57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525083604083015260806060830152612ac9608083018461239c565b9695505050505050565b600060208284031215612ae557600080fd5b8151610dc68161232d56fea26469706673582212202f539941999670b371ba76bce5df1736fd82afb2c9c939e8219ae46e05215f2064736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220c5ad7174fbcec6fe1a447b9d3bc0f95e4d23c7be87864477488c24c33653be3664736f6c6343000813003300000000000000000000000051870a0659a87c7b46baef7311b3128006e1fb16", + "nonce": "0x7fd", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x23a9b55f090db2b42a8eecd0d860389790e13ae95d7c16651550c6f5f8d9434f", + "transactionType": "CREATE", + "contractName": "ERC1967Proxy", + "contractAddress": "0xC4F7E87F9FF2A2DF9bC7FF8399558B594EBF911A", + "function": null, + "arguments": [ + "0x9Be54430f2962a115353Ad2e8c62A106bBe71849", + "0xc4d66de8000000000000000000000000518ccd79e0e7b75fd5fcc09463fb09cb7d55470d" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x316ce5", + "value": "0x0", + "data": "0x60806040526040516104ee3803806104ee833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c760279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60be806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea264697066735822122091c81c9b8ac755a7e1e08c0e9f65600d21e642457fb84c7f9e0d0a65b62d269064736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c65640000000000000000000000009be54430f2962a115353ad2e8c62a106bbe7184900000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de8000000000000000000000000518ccd79e0e7b75fd5fcc09463fb09cb7d55470d00000000000000000000000000000000000000000000000000000000", + "nonce": "0x7fe", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0x32ef4938e99BBD517F1f673470270aeedE017a7a", + "initCode": "60c06040523480156200001157600080fd5b5060405162002d3938038062002d3983398101604081905262000034916200017d565b600054610100900460ff1615808015620000555750600054600160ff909116105b80620000715750303b15801562000071575060005460ff166001145b620000d95760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b6000805460ff191660011790558015620000fd576000805461ff0019166101001790555b6001600160a01b0380841660a0528216608052801562000157576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050620001b5565b80516001600160a01b03811681146200017857600080fd5b919050565b600080604083850312156200019157600080fd5b6200019c8362000160565b9150620001ac6020840162000160565b90509250929050565b60805160a051612b2662000213600039600081816103c101528181610b0f015261107b01526000818161031101528181610784015281816108dc01528181610cb701528181610e37015281816112ac015261147e0152612b266000f3fe608060405234801561001057600080fd5b50600436106101985760003560e01c806370a08231116100e3578063c3cc244a1161008c578063e985e9c511610066578063e985e9c514610373578063ee0fc121146103bc578063f3f6f0d7146103e357600080fd5b8063c3cc244a14610333578063c87b56dd14610358578063e8a3d4851461036b57600080fd5b8063a22cb465116100bd578063a22cb465146102e6578063b88d4fde146102f9578063b95ddb521461030c57600080fd5b806370a08231146102c35780638da5cb5b146102d657806395d89b41146102de57600080fd5b806342842e0e11610145578063626273a11161011f578063626273a11461028a5780636352211e1461029d578063691562a0146102b057600080fd5b806342842e0e1461025157806342966c68146102645780634cd88b761461027757600080fd5b8063095ea7b311610176578063095ea7b31461021257806318160ddd1461022757806323b872dd1461023e57600080fd5b806301ffc9a71461019d57806306fdde03146101c5578063081812fc146101da575b600080fd5b6101b06101ab36600461235b565b6103ec565b60405190151581526020015b60405180910390f35b6101cd6104d1565b6040516101bc91906123e6565b6101ed6101e83660046123f9565b610563565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101bc565b610225610220366004612434565b610597565b005b61023060985481565b6040519081526020016101bc565b61022561024c366004612460565b610728565b61022561025f366004612460565b610865565b6102256102723660046123f9565b610880565b6102256102853660046124ea565b6109d3565b6102306102983660046123f9565b610c43565b6101ed6102ab3660046123f9565b610dcd565b6102306102be366004612556565b610dd8565b6102306102d1366004612595565b610f7c565b6101ed61104a565b6101cd611100565b6102256102f43660046125b2565b61110f565b6102256103073660046126a9565b61111e565b6101ed7f000000000000000000000000000000000000000000000000000000000000000081565b6103466103413660046123f9565b6111c6565b60405160ff90911681526020016101bc565b6101cd6103663660046123f9565b611237565b6101cd611409565b6101b0610381366004612758565b73ffffffffffffffffffffffffffffffffffffffff9182166000908152606a6020908152604080832093909416825291909152205460ff1690565b6101ed7f000000000000000000000000000000000000000000000000000000000000000081565b61023060975481565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061047f57507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b806104cb57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6060606580546104e090612786565b80601f016020809104026020016040519081016040528092919081815260200182805461050c90612786565b80156105595780601f1061052e57610100808354040283529160200191610559565b820191906000526020600020905b81548152906001019060200180831161053c57829003601f168201915b5050505050905090565b600061056e826115aa565b5060009081526069602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60006105a282611635565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610664576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff8216148061068d575061068d8133610381565b610719576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000606482015260840161065b565b61072383836116c1565b505050565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815233917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a916107cc916004016123e6565b602060405180830381865afa1580156107e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061080d91906127d9565b73ffffffffffffffffffffffffffffffffffffffff161461085a576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610723838383611761565b6107238383836040518060200160405280600081525061111e565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815233917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a91610924916004016123e6565b602060405180830381865afa158015610941573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061096591906127d9565b73ffffffffffffffffffffffffffffffffffffffff16146109b2576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b609880549060006109c283612825565b91905055506109d081611a5c565b50565b600054610100900460ff16158080156109f35750600054600160ff909116105b80610a0d5750303b158015610a0d575060005460ff166001145b610a99576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840161065b565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610af757600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610b66576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610bd985858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f89018190048102820181019092528781529250879150869081908401838280828437600092019190915250611b3492505050565b8015610c3c57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a000000000000000000000000000000000000000000000000000000008152600091829173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a91610ceb91906004016123e6565b602060405180830381865afa158015610d08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d2c91906127d9565b6040517f5f32b4300000000000000000000000000000000000000000000000000000000081523060048201526024810185905290915073ffffffffffffffffffffffffffffffffffffffff821690635f32b430906044016020604051808303816000875af1158015610da2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dc6919061285a565b9392505050565b60006104cb82611635565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260009133917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a91610e8091906004016123e6565b602060405180830381865afa158015610e9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec191906127d9565b73ffffffffffffffffffffffffffffffffffffffff1614610f0e576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60988054906000610f1e83612873565b9190505550609760008154610f3290612873565b9182905550600081815260996020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff851617905590506104cb8382611bd5565b600073ffffffffffffffffffffffffffffffffffffffff8216611021576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e65720000000000000000000000000000000000000000000000606482015260840161065b565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526068602052604090205490565b6040517f14afd79e0000000000000000000000000000000000000000000000000000000081523060048201526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906314afd79e90602401602060405180830381865afa1580156110d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110fb91906127d9565b905090565b6060606680546104e090612786565b61111a338383611dfa565b5050565b6111283383611f27565b6111b4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f76656400000000000000000000000000000000000000606482015260840161065b565b6111c084848484611fe7565b50505050565b60008181526067602052604081205473ffffffffffffffffffffffffffffffffffffffff16611221576040517f6831df8d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060009081526099602052604090205460ff1690565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260609160009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a916112e091906004016123e6565b602060405180830381865afa1580156112fd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061132191906127d9565b90508073ffffffffffffffffffffffffffffffffffffffff1663e8d72654308561134a876111c6565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815273ffffffffffffffffffffffffffffffffffffffff9093166004840152602483019190915260ff166044820152606401600060405180830381865afa1580156113c3573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610dc691908101906128ab565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260609160009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a916114b291906004016123e6565b602060405180830381865afa1580156114cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114f391906127d9565b6040517e844d1300000000000000000000000000000000000000000000000000000000815230600482015290915073ffffffffffffffffffffffffffffffffffffffff82169062844d1390602401600060405180830381865afa15801561155e573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526115a491908101906128ab565b91505090565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff166109d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e2049440000000000000000604482015260640161065b565b60008181526067602052604081205473ffffffffffffffffffffffffffffffffffffffff16806104cb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e2049440000000000000000604482015260640161065b565b600081815260696020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117909155819061171b82611635565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b8273ffffffffffffffffffffffffffffffffffffffff1661178182611635565b73ffffffffffffffffffffffffffffffffffffffff1614611824576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e6572000000000000000000000000000000000000000000000000000000606482015260840161065b565b73ffffffffffffffffffffffffffffffffffffffff82166118c6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161065b565b8273ffffffffffffffffffffffffffffffffffffffff166118e682611635565b73ffffffffffffffffffffffffffffffffffffffff1614611989576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e6572000000000000000000000000000000000000000000000000000000606482015260840161065b565b600081815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff8781168086526068855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905590871680865283862080546001019055868652606790945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6000611a6782611635565b9050611a7282611635565b600083815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff85168085526068845282852080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190558785526067909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b600054610100900460ff16611bcb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161065b565b61111a828261208a565b73ffffffffffffffffffffffffffffffffffffffff8216611c52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161065b565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff1615611cde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161065b565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff1615611d6a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161065b565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260686020908152604080832080546001019055848352606790915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611e8f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161065b565b73ffffffffffffffffffffffffffffffffffffffff8381166000818152606a602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b600080611f3383611635565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611fa1575073ffffffffffffffffffffffffffffffffffffffff8082166000908152606a602090815260408083209388168352929052205460ff165b80611fdf57508373ffffffffffffffffffffffffffffffffffffffff16611fc784610563565b73ffffffffffffffffffffffffffffffffffffffff16145b949350505050565b611ff2848484611761565b611ffe8484848461213a565b6111c0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e7465720000000000000000000000000000606482015260840161065b565b600054610100900460ff16612121576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161065b565b606561212d8382612970565b5060666107238282612970565b600073ffffffffffffffffffffffffffffffffffffffff84163b15612322576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a02906121b1903390899088908890600401612a8a565b6020604051808303816000875af192505050801561220a575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261220791810190612ad3565b60015b6122d7573d808015612238576040519150601f19603f3d011682016040523d82523d6000602084013e61223d565b606091505b5080516000036122cf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e7465720000000000000000000000000000606482015260840161065b565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050611fdf565b506001949350505050565b7fffffffff00000000000000000000000000000000000000000000000000000000811681146109d057600080fd5b60006020828403121561236d57600080fd5b8135610dc68161232d565b60005b8381101561239357818101518382015260200161237b565b50506000910152565b600081518084526123b4816020860160208601612378565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610dc6602083018461239c565b60006020828403121561240b57600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff811681146109d057600080fd5b6000806040838503121561244757600080fd5b823561245281612412565b946020939093013593505050565b60008060006060848603121561247557600080fd5b833561248081612412565b9250602084013561249081612412565b929592945050506040919091013590565b60008083601f8401126124b357600080fd5b50813567ffffffffffffffff8111156124cb57600080fd5b6020830191508360208285010111156124e357600080fd5b9250929050565b6000806000806040858703121561250057600080fd5b843567ffffffffffffffff8082111561251857600080fd5b612524888389016124a1565b9096509450602087013591508082111561253d57600080fd5b5061254a878288016124a1565b95989497509550505050565b6000806040838503121561256957600080fd5b823561257481612412565b9150602083013560ff8116811461258a57600080fd5b809150509250929050565b6000602082840312156125a757600080fd5b8135610dc681612412565b600080604083850312156125c557600080fd5b82356125d081612412565b91506020830135801515811461258a57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561265b5761265b6125e5565b604052919050565b600067ffffffffffffffff82111561267d5761267d6125e5565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600080600080608085870312156126bf57600080fd5b84356126ca81612412565b935060208501356126da81612412565b925060408501359150606085013567ffffffffffffffff8111156126fd57600080fd5b8501601f8101871361270e57600080fd5b803561272161271c82612663565b612614565b81815288602083850101111561273657600080fd5b8160208401602083013760006020838301015280935050505092959194509250565b6000806040838503121561276b57600080fd5b823561277681612412565b9150602083013561258a81612412565b600181811c9082168061279a57607f821691505b6020821081036127d3577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b6000602082840312156127eb57600080fd5b8151610dc681612412565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600081612834576128346127f6565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b60006020828403121561286c57600080fd5b5051919050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036128a4576128a46127f6565b5060010190565b6000602082840312156128bd57600080fd5b815167ffffffffffffffff8111156128d457600080fd5b8201601f810184136128e557600080fd5b80516128f361271c82612663565b81815285602083850101111561290857600080fd5b612919826020830160208601612378565b95945050505050565b601f82111561072357600081815260208120601f850160051c810160208610156129495750805b601f850160051c820191505b8181101561296857828155600101612955565b505050505050565b815167ffffffffffffffff81111561298a5761298a6125e5565b61299e816129988454612786565b84612922565b602080601f8311600181146129f157600084156129bb5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555612968565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015612a3e57888601518255948401946001909101908401612a1f565b5085821015612a7a57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525083604083015260806060830152612ac9608083018461239c565b9695505050505050565b600060208284031215612ae557600080fd5b8151610dc68161232d56fea26469706673582212202f539941999670b371ba76bce5df1736fd82afb2c9c939e8219ae46e05215f2064736f6c63430008130033000000000000000000000000c4f7e87f9ff2a2df9bc7ff8399558b594ebf911a00000000000000000000000051870a0659a87c7b46baef7311b3128006e1fb16" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0x3f1232fc659c4a138d1986e263b91319bb7d1cfd0a1aabdea21de303fa36756f", + "transactionType": "CREATE", + "contractName": "StoryProtocol", + "contractAddress": "0x25A6f44df208E8Cc79E97fE72E240F4cDb3D9a46", + "function": null, + "arguments": [ + "0xC4F7E87F9FF2A2DF9bC7FF8399558B594EBF911A", + "0x51870A0659A87c7B46baEF7311B3128006E1FB16" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x29960b", + "value": "0x0", + "data": "0x60c06040523480156200001157600080fd5b5060405162002667380380620026678339810160408190526200003491620000a2565b6001600160a01b03821615806200005257506001600160a01b038116155b15620000715760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b039182166080521660a052620000e1565b6001600160a01b03811681146200009f57600080fd5b50565b60008060408385031215620000b657600080fd5b8251620000c38162000089565b6020840151909250620000d68162000089565b809150509250929050565b60805160a05161250c6200015b600039600081816102530152818161036e0152818161044c015281816105aa015281816106f101528181610953015281816109dd01528181610bf101528181610df401528181610f800152818161107201526112950152600081816101750152610b5c015261250c6000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c806398e8e6ea11610097578063b108e1c611610066578063b108e1c61461023b578063b95ddb521461024e578063ce75e7fc14610275578063eb3b0cba1461028857600080fd5b806398e8e6ea146101e2578063a3a0428f146101f5578063a5823a3714610208578063ac9650d81461021b57600080fd5b80634d343a45116100d35780634d343a451461015d57806351e06b90146101705780635a5173bd146101bc5780637a103e33146101cf57600080fd5b806317031df1146100fa5780632d26ff3e146101275780633d20e00d1461013c575b600080fd5b61010d61010836600461154a565b61029b565b604080519283526020830191909152015b60405180910390f35b61013a6101353660046115f1565b610435565b005b61014f61014a36600461163e565b610581565b60405190815260200161011e565b61013a61016b36600461168b565b6106ef565b6101977f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161011e565b61013a6101ca3660046116b7565b610884565b61013a6101dd36600461174e565b6109db565b6101976101f0366004611796565b610b1c565b61014f61020336600461154a565b610bec565b61013a610216366004611843565b610d07565b61022e6102293660046118f4565b610e89565b60405161011e91906119db565b61013a6102493660046119ee565b610f7e565b6101977f000000000000000000000000000000000000000000000000000000000000000081565b61013a610283366004611a3e565b611070565b61013a610296366004611a73565b6111c2565b60008060007fe761f303268b55a3dc96719551acb95ca3bd1ebeef4b720be68dd92563627a3f886040516020016102d29190611b9b565b60408051601f19818403018152908290526102f09291602001611c30565b60408051601f198184030181528282018252601383527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602084015290517fb38609e800000000000000000000000000000000000000000000000000000000815290925060009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163b38609e8916103af918e91339188908f908f908f908f90600401611c99565b6000604051808303816000875af11580156103ce573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103f69190810190611d4c565b9050805160000361040f5760008093509350505061042a565b808060200190518101906104239190611df9565b9350935050505b965096945050505050565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001663e1fc45ce6104816040840160208501611e1d565b336040518060400160405280601381526020017f52454c4154494f4e534849505f4d4f44554c45000000000000000000000000008152507f99bf0fbd60208ca164accd299e2c0a8b4475c1a2df53c2d7160870f682536528866040516020016104ea9190611f2c565b60408051601f19818403018152908290526105089291602001611c30565b6040516020818303038152906040526040518563ffffffff1660e01b81526004016105369493929190611fff565b6000604051808303816000875af1158015610555573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261057d9190810190611d4c565b5050565b6000808660405160200161059591906120ee565b604051602081830303815290604052905060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663b38609e88a336040518060400160405280601081526020017f4c4943454e53494e475f4d4f44554c45000000000000000000000000000000008152507f3f92a83f1dd77188c62fa393a54ccf9854be836ca6c243397d0acbbce04723878760405160200161064f929190611c30565b6040516020818303038152906040528c8c8c8c6040518963ffffffff1660e01b8152600401610685989796959493929190611c99565b6000604051808303816000875af11580156106a4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106cc9190810190611d4c565b9050808060200190518101906106e29190612134565b9998505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663b38609e883336040518060400160405280601081526020017f4c4943454e53494e475f4d4f44554c45000000000000000000000000000000008152507f5281374dd3fc2bb7839f50fddfb6a14a666cb4d23b20d6aecf9b9950d103b3368660405160200161079791815260200190565b60408051601f19818403018152908290526107b59291602001611c30565b60408051808303601f1901815260008084526020840190925291906107ea565b60608152602001906001900390816107d55790505b506040805160008082526020820190925290610816565b60608152602001906001900390816108015790505b506040518763ffffffff1660e01b81526004016108389695949392919061214d565b6000604051808303816000875af1158015610857573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261087f9190810190611d4c565b505050565b60007f9aeb830ec91a14c97a5446cc7c86a42f73a78f37f9a77afa238b5d11520ddfbc83836040516020016108ba9291906121c0565b60408051601f19818403018152908290526108d89291602001611c30565b60408051601f198184030181528282018252601383527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602084015290517fe1fc45ce00000000000000000000000000000000000000000000000000000000815290925073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163e1fc45ce9161098d9188913391908790600401611fff565b6000604051808303816000875af11580156109ac573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109d49190810190611d4c565b5050505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e1fc45ce84336040518060400160405280601381526020017f52454c4154494f4e534849505f4d4f44554c45000000000000000000000000008152507fe5801b46183bd353d44247232707bb62253655a0580ade69a754ba7157ddf8fd8787604051602001610a839291906121d4565b60408051601f1981840301815290829052610aa19291602001611c30565b6040516020818303038152906040526040518563ffffffff1660e01b8152600401610acf9493929190611fff565b6000604051808303816000875af1158015610aee573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b169190810190611d4c565b50505050565b6040517f98e8e6ea00000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906398e8e6ea90610b9d908b908b908b908b908b908b908b906004016121e8565b6020604051808303816000875af1158015610bbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be0919061224e565b98975050505050505050565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663b38609e889336040518060400160405280601381526020017f52454c4154494f4e534849505f4d4f44554c45000000000000000000000000008152508b604051602001610c74919061226b565b6040516020818303038152906040528b8b8b8b6040518963ffffffff1660e01b8152600401610caa989796959493929190611c99565b6000604051808303816000875af1158015610cc9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610cf19190810190611d4c565b905080806020019051810190610be09190612134565b6040805173ffffffffffffffffffffffffffffffffffffffff898116602083015288168183015260608082018890528251808303909101815260808201909252600091610d79917fbc42750dbe73870bbe102106b22fd8bdfa53c7247eca196d8bb7da9527f0c1e5919060a001611c30565b60408051601f198184030181528282018252601383527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602084015290517fb38609e800000000000000000000000000000000000000000000000000000000815290925073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163b38609e891610e36918d9133919087908c908c908c908c90600401611c99565b6000604051808303816000875af1158015610e55573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e7d9190810190611d4c565b50505050505050505050565b60608167ffffffffffffffff811115610ea457610ea4611d1d565b604051908082528060200260200182016040528015610ed757816020015b6060815260200190600190039081610ec25790505b50905060005b82811015610f7757610f4730858584818110610efb57610efb6122f4565b9050602002810190610f0d9190612323565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061131f92505050565b828281518110610f5957610f596122f4565b60200260200101819052508080610f6f90612388565b915050610edd565b5092915050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e1fc45ce83336040518060400160405280601081526020017f4c4943454e53494e475f4d4f44554c45000000000000000000000000000000008152507f8b21f20183a523515c357db6dba25c92b138630b63988ca3e60a6be86c8da0458660405160200161102491906123e7565b60408051601f19818403018152908290526110429291602001611c30565b6040516020818303038152906040526040518563ffffffff1660e01b81526004016108389493929190611fff565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663b38609e884336040518060400160405280601081526020017f4c4943454e53494e475f4d4f44554c45000000000000000000000000000000008152507f29def77ab981c01a6b53c58b23dd89ac4447095f721298424063ed3f16962ac68787604051602001611121929190918252602082015260400190565b60408051601f198184030181529082905261113f9291602001611c30565b60408051808303601f190181526000808452602084019092529190611174565b606081526020019060019003908161115f5790505b5060408051600080825260208201909252906111a0565b606081526020019060019003908161118b5790505b506040518763ffffffff1660e01b8152600401610acf9695949392919061214d565b60007f88fae8356076de6f233fd00b30fad913df2329364a9e9242abdc96adccc3bfc9858585856040516020016111fc9493929190612459565b60408051601f198184030181529082905261121a9291602001611c30565b60408051601f198184030181528282018252601383527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602084015290517fe1fc45ce00000000000000000000000000000000000000000000000000000000815290925073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163e1fc45ce916112cf918a913391908790600401611fff565b6000604051808303816000875af11580156112ee573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113169190810190611d4c565b50505050505050565b606061134483836040518060600160405280602781526020016124b06027913961134b565b9392505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516113759190612480565b600060405180830381855af49150503d80600081146113b0576040519150601f19603f3d011682016040523d82523d6000602084013e6113b5565b606091505b50915091506113c6868383876113d0565b9695505050505050565b6060831561146b5782516000036114645773ffffffffffffffffffffffffffffffffffffffff85163b611464576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064015b60405180910390fd5b5081611475565b611475838361147d565b949350505050565b81511561148d5781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145b919061249c565b73ffffffffffffffffffffffffffffffffffffffff811681146114e357600080fd5b50565b600060a082840312156114f857600080fd5b50919050565b60008083601f84011261151057600080fd5b50813567ffffffffffffffff81111561152857600080fd5b6020830191508360208260051b850101111561154357600080fd5b9250929050565b6000806000806000806080878903121561156357600080fd5b863561156e816114c1565b9550602087013567ffffffffffffffff8082111561158b57600080fd5b6115978a838b016114e6565b965060408901359150808211156115ad57600080fd5b6115b98a838b016114fe565b909650945060608901359150808211156115d257600080fd5b506115df89828a016114fe565b979a9699509497509295939492505050565b60006020828403121561160357600080fd5b813567ffffffffffffffff81111561161a57600080fd5b820160c0818503121561134457600080fd5b6000606082840312156114f857600080fd5b6000806000806000806080878903121561165757600080fd5b8635611662816114c1565b9550602087013567ffffffffffffffff8082111561167f57600080fd5b6115978a838b0161162c565b6000806040838503121561169e57600080fd5b82356116a9816114c1565b946020939093013593505050565b6000806000604084860312156116cc57600080fd5b83356116d7816114c1565b9250602084013567ffffffffffffffff8111156116f357600080fd5b6116ff868287016114fe565b9497909650939450505050565b60008083601f84011261171e57600080fd5b50813567ffffffffffffffff81111561173657600080fd5b60208301915083602082850101111561154357600080fd5b60008060006040848603121561176357600080fd5b833561176e816114c1565b9250602084013567ffffffffffffffff81111561178a57600080fd5b6116ff8682870161170c565b60008060008060008060006080888a0312156117b157600080fd5b87356117bc816114c1565b9650602088013567ffffffffffffffff808211156117d957600080fd5b6117e58b838c0161170c565b909850965060408a01359150808211156117fe57600080fd5b61180a8b838c0161170c565b909650945060608a013591508082111561182357600080fd5b506118308a828b016114fe565b989b979a50959850939692959293505050565b60008060008060008060008060c0898b03121561185f57600080fd5b883561186a816114c1565b9750602089013561187a816114c1565b9650604089013561188a816114c1565b955060608901359450608089013567ffffffffffffffff808211156118ae57600080fd5b6118ba8c838d016114fe565b909650945060a08b01359150808211156118d357600080fd5b506118e08b828c016114fe565b999c989b5096995094979396929594505050565b6000806020838503121561190757600080fd5b823567ffffffffffffffff81111561191e57600080fd5b61192a858286016114fe565b90969095509350505050565b60005b83811015611951578181015183820152602001611939565b50506000910152565b60008151808452611972816020860160208601611936565b601f01601f19169290920160200192915050565b600081518084526020808501808196508360051b8101915082860160005b858110156119ce5782840389526119bc84835161195a565b988501989350908401906001016119a4565b5091979650505050505050565b6020815260006113446020830184611986565b60008060408385031215611a0157600080fd5b8235611a0c816114c1565b9150602083013567ffffffffffffffff811115611a2857600080fd5b611a348582860161162c565b9150509250929050565b600080600060608486031215611a5357600080fd5b8335611a5e816114c1565b95602085013595506040909401359392505050565b600080600080600060608688031215611a8b57600080fd5b8535611a96816114c1565b9450602086013567ffffffffffffffff80821115611ab357600080fd5b611abf89838a0161170c565b90965094506040880135915080821115611ad857600080fd5b50611ae58882890161170c565b969995985093965092949392505050565b803560ff81168114611b0757600080fd5b919050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611b4157600080fd5b830160208101925035905067ffffffffffffffff811115611b6157600080fd5b80360382131561154357600080fd5b818352818160208501375060006020828401015260006020601f19601f840116840101905092915050565b6020815260008235611bac816114c1565b73ffffffffffffffffffffffffffffffffffffffff811660208401525060ff611bd760208501611af6565b166040830152611bea6040840184611b0c565b60a06060850152611bff60c085018284611b70565b91505060608401356080840152611c196080850185611b0c565b601f198584030160a08601526113c6838284611b70565b828152604060208201526000611475604083018461195a565b81835260006020808501808196508560051b810191508460005b878110156119ce578284038952611c7a8288611b0c565b611c85868284611b70565b9a87019a9550505090840190600101611c63565b600073ffffffffffffffffffffffffffffffffffffffff808b168352808a1660208401525060c06040830152611cd260c083018961195a565b8281036060840152611ce4818961195a565b90508281036080840152611cf9818789611c49565b905082810360a0840152611d0e818587611c49565b9b9a5050505050505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600060208284031215611d5e57600080fd5b815167ffffffffffffffff80821115611d7657600080fd5b818401915084601f830112611d8a57600080fd5b815181811115611d9c57611d9c611d1d565b604051601f8201601f19908116603f01168101908382118183101715611dc457611dc4611d1d565b81604052828152876020848701011115611ddd57600080fd5b611dee836020830160208801611936565b979650505050505050565b60008060408385031215611e0c57600080fd5b505080516020909101519092909150565b600060208284031215611e2f57600080fd5b8135611344816114c1565b803560068110611b0757600080fd5b60068110611e80577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611eb957600080fd5b830160208101925035905067ffffffffffffffff811115611ed957600080fd5b8060051b360382131561154357600080fd5b8183526000602080850194508260005b85811015611f215760ff611f0e83611af6565b1687529582019590820190600101611efb565b509495945050505050565b602081526000611f3c8384611b0c565b60c06020850152611f5160e085018284611b70565b9150506020840135611f62816114c1565b73ffffffffffffffffffffffffffffffffffffffff8116604085015250611f9760608401611f9260408701611e3a565b611e49565b611fa360608501611e3a565b611fb06080850182611e49565b50611fbe6080850185611e84565b601f19808685030160a0870152611fd6848385611eeb565b9350611fe560a0880188611e84565b93509150808685030160c0870152506113c6838383611eeb565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525060806040830152612038608083018561195a565b8281036060840152611dee818561195a565b81835260006020808501808196508560051b81019150846000805b888110156120e0578385038a5282357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc18936030181126120a3578283fd5b88018035865260406120b788830183611b0c565b925081898901526120cb8289018483611b70565b9c89019c975050509286019250600101612065565b509298975050505050505050565b6020815260006120fe8384611e84565b6060602085015261211360808501828461204a565b91505060208401356040840152604084013560608401528091505092915050565b60006020828403121561214657600080fd5b5051919050565b600073ffffffffffffffffffffffffffffffffffffffff808916835280881660208401525060c0604083015261218660c083018761195a565b8281036060840152612198818761195a565b905082810360808401526121ac8186611986565b905082810360a08401526106e28185611986565b602081526000611475602083018486611c49565b602081526000611475602083018486611b70565b73ffffffffffffffffffffffffffffffffffffffff8816815260806020820152600061221860808301888a611b70565b828103604084015261222b818789611b70565b90508281036060840152612240818587611c49565b9a9950505050505050505050565b60006020828403121561226057600080fd5b8151611344816114c1565b60208152600061227b8384611b0c565b60a0602085015261229060c085018284611b70565b91505060208401356122a1816114c1565b73ffffffffffffffffffffffffffffffffffffffff808216604086015260408601356060860152606086013591506122d8826114c1565b16608084810191909152939093013560a0909201919091525090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261235857600080fd5b83018035915067ffffffffffffffff82111561237357600080fd5b60200191503681900382131561154357600080fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036123e0577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b6020815260006123f78384611b0c565b6060602085015261240c608085018284611b70565b91505061241c6020850185611e84565b601f1985840301604086015261243383828461204a565b9250505060408401356003811061244957600080fd5b6060939093019290925250919050565b60408152600061246d604083018688611b70565b8281036020840152611dee818587611b70565b60008251612492818460208701611936565b9190910192915050565b602081526000611344602083018461195a56fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212205bf994a91e6fba3b278809c0a83ee1a072556ea0f02b0e66fa33d78fe971388664736f6c63430008130033000000000000000000000000c4f7e87f9ff2a2df9bc7ff8399558b594ebf911a00000000000000000000000051870a0659a87c7b46baef7311b3128006e1fb16", + "nonce": "0x7ff", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x9bf0846cfcc00ddefe61416013db4b321a377e294fd6bd0a34363c9c93f18781", + "transactionType": "CREATE", + "contractName": "RegistrationModule", + "contractAddress": "0xD3E9F80F4Cc22761587B19A7F5335A017bcB0eCd", + "function": null, + "arguments": [ + "(0x5B81030C087d41558E3FCF23B3575E85c9A768e6, 0x51870A0659A87c7B46baEF7311B3128006E1FB16, 0x826a953332Df2e1a994C7CFae68E129ba683Aa8F, 0xC4F7E87F9FF2A2DF9bC7FF8399558B594EBF911A)", + "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x62a498", + "value": "0x0", + "data": "0x6101006040523480156200001257600080fd5b5060405162005c4838038062005c48833981016040819052620000359162000298565b6020820151819083906001600160a01b038116620000665760405163134141bd60e11b815260040160405180910390fd5b6001600160a01b039081166080528151166200009557604051636028d8f760e01b815260040160405180910390fd5b80516001600160a01b0390811660a052604082015116620000c957604051635a70c46160e11b815260040160405180910390fd5b60408101516001600160a01b0390811660c052606090910151811660e052620000fc908216637965db0b60e01b6200018f565b6200013f576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600580546001600160a01b0319166001600160a01b0383169081179091556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a250505062000350565b60006200019c83620001b7565b8015620001b05750620001b08383620001f0565b9392505050565b6000620001cc826301ffc9a760e01b620001f0565b8015620001ea5750620001e8826001600160e01b0319620001f0565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801562000263575060208210155b8015620002705750600081115b979650505050505050565b80516001600160a01b03811681146200029357600080fd5b919050565b60008082840360a0811215620002ad57600080fd5b6080811215620002bc57600080fd5b50604051608081016001600160401b0381118282101715620002ee57634e487b7160e01b600052604160045260246000fd5b604052620002fc846200027b565b81526200030c602085016200027b565b60208201526200031f604085016200027b565b604082015262000332606085016200027b565b6060820152915062000347608084016200027b565b90509250929050565b60805160a05160c05160e051615894620003b4600039600081816102990152613699015260006104a401526000818161044401528181611c2d0152613ccc01526000818161040a01528181610c620152818161154a0152612ceb01526158946000f3fe608060405234801561001057600080fd5b50600436106101c35760003560e01c80638a8cb0b4116100f9578063bc12fcca11610097578063e8d7265411610071578063e8d7265414610479578063e8fb5c9b1461048c578063f0ebdc831461049f578063fba854e0146104c657600080fd5b8063bc12fcca1461042c578063d2faf8b01461043f578063e57204041461046657600080fd5b8063a5b04d45116100d3578063a5b04d45146103cc578063a6829872146103df578063b6efd29d146103f2578063b95ddb521461040557600080fd5b80638a8cb0b4146103575780639533563d146103995780639b722202146103ac57600080fd5b80634fcbd213116101665780636352211e116101405780636352211e1461030b57806368a4f0711461031e5780637448c5681461033157806377379d941461034457600080fd5b80634fcbd2131461028157806351e06b90146102945780635f32b430146102e057600080fd5b806319129e5a116101a257806319129e5a1461022a5780632fa7bc991461023f57806332ee6813146102525780634fa4467c1461027957600080fd5b8062844d13146101c857806301ffc9a7146101f157806302a8df9114610214575b600080fd5b6101db6101d6366004614079565b6104d9565b6040516101e89190614104565b60405180910390f35b6102046101ff366004614117565b6105d2565b60405190151581526020016101e8565b61021c60ff81565b6040519081526020016101e8565b61023d610238366004614079565b6106b5565b005b61023d61024d3660046141a2565b61081b565b61021c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81565b61021c600a81565b6101db61028f3660046141ee565b610c48565b6102bb7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101e8565b61021c6102ee366004614253565b600860209081526000928352604080842090915290825290205481565b6102bb61031936600461427f565b610cce565b6101db61032c3660046142a5565b610d8d565b61021c61033f3660046142da565b610f62565b6102046103523660046142f8565b610f76565b610204610365366004614349565b73ffffffffffffffffffffffffffffffffffffffff821660009081526007602052604090206002015460ff82161092915050565b61023d6103a73660046143c7565b610fae565b6103bf6103ba366004614079565b611181565b6040516101e89190614486565b61023d6103da366004614506565b611280565b6101db6103ed366004614253565b61148b565b6101db610400366004614547565b611530565b6102bb7f000000000000000000000000000000000000000000000000000000000000000081565b61021c61043a3660046142da565b61168a565b6102bb7f000000000000000000000000000000000000000000000000000000000000000081565b6102bb6104743660046142a5565b611696565b6101db6104873660046145f2565b61178e565b61021c61049a3660046142f8565b611e69565b6102bb7f000000000000000000000000000000000000000000000000000000000000000081565b61023d6104d4366004614629565b611e86565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260076020526040812060010180546060929190610511906146c8565b80601f016020809104026020016040519081016040528092919081815260200182805461053d906146c8565b801561058a5780601f1061055f5761010080835404028352916020019161058a565b820191906000526020600020905b81548152906001019060200180831161056d57829003601f168201915b5050505050905080516000036105cc576040517f87dc059f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f2fa7bc9900000000000000000000000000000000000000000000000000000000148061066557507fffffffff0000000000000000000000000000000000000000000000000000000082167ff924008e00000000000000000000000000000000000000000000000000000000145b806105cc57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316146105cc565b60006106c18133612064565b610705576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b61074573ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000612100565b6107ab576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c00000000000000000000000000000000000060448201526064016106fc565b600580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a25050565b60008061082a83850185614877565b915091508115610b375760008581526004602052604081206007018054916108518361490a565b9091555050600085815260046020908152604091829020825161010081018452815473ffffffffffffffffffffffffffffffffffffffff908116825260018301541692810192909252600281018054610b3194840191906108b1906146c8565b80601f01602080910402602001604051908101604052809291908181526020018280546108dd906146c8565b801561092a5780601f106108ff5761010080835404028352916020019161092a565b820191906000526020600020905b81548152906001019060200180831161090d57829003601f168201915b5050505050815260200160038201805480602002602001604051908101604052809291908181526020016000905b82821015610a04578382906000526020600020018054610977906146c8565b80601f01602080910402602001604051908101604052809291908181526020018280546109a3906146c8565b80156109f05780601f106109c5576101008083540402835291602001916109f0565b820191906000526020600020905b8154815290600101906020018083116109d357829003601f168201915b505050505081526020019060010190610958565b50505050815260200160048201805480602002602001604051908101604052809291908181526020016000905b82821015610add578382906000526020600020018054610a50906146c8565b80601f0160208091040260200160405190810160405280929190818152602001828054610a7c906146c8565b8015610ac95780601f10610a9e57610100808354040283529160200191610ac9565b820191906000526020600020905b815481529060010190602001808311610aac57829003601f168201915b505050505081526020019060010190610a31565b5050509082525060058201546020820152600682015460409091019060ff166001811115610b0d57610b0d614942565b6001811115610b1e57610b1e614942565b815260200160078201548152505061211c565b50610b9c565b6000858152600460205260409081902060010154905173ffffffffffffffffffffffffffffffffffffffff909116907f7f7ce7cf4c1b43e1bf51034d0ad7062abb9d4529c7bb0510d512249b0fb7145290610b93908490614104565b60405180910390a25b600085815260046020526040812080547fffffffffffffffffffffffff00000000000000000000000000000000000000009081168255600182018054909116905590610beb6002830182613f56565b610bf9600383016000613f93565b610c07600483016000613f93565b506000600582018190556006820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690556007909101555050505050565b60603373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610cb9576040517f72823b5400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610cc585858585612226565b95945050505050565b600081815260066020908152604080832081518083018352815473ffffffffffffffffffffffffffffffffffffffff1680825260019092015493810184905291517f6352211e00000000000000000000000000000000000000000000000000000000815260048101939093529091636352211e90602401602060405180830381865afa158015610d62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d869190614971565b9392505050565b60606000610d9b8585612334565b805480602002602001604051908101604052809291908181526020016000905b82821015610e67578382906000526020600020018054610dda906146c8565b80601f0160208091040260200160405190810160405280929190818152602001828054610e06906146c8565b8015610e535780601f10610e2857610100808354040283529160200191610e53565b820191906000526020600020905b815481529060010190602001808311610e3657829003601f168201915b505050505081526020019060010190610dbb565b50505050905080518310610eaa576040517f9c7692bf000000000000000000000000000000000000000000000000000000008152600481018490526024016106fc565b610eb48585612334565b8381548110610ec557610ec561498e565b906000526020600020018054610eda906146c8565b80601f0160208091040260200160405190810160405280929190818152602001828054610f06906146c8565b8015610f535780601f10610f2857610100808354040283529160200191610f53565b820191906000526020600020905b815481529060010190602001808311610f3657829003601f168201915b50505050509150509392505050565b6000610f6e8383612376565b549392505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610fa4858585611e69565b1415949350505050565b8673ffffffffffffffffffffffffffffffffffffffff8116610ffc576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611047573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061106b9190614971565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146110cf576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006110dd8385018561427f565b905060006111638a836040805173ffffffffffffffffffffffffffffffffffffffff84166020820152908101829052606080820152600c60808201527f524547495354524154494f4e000000000000000000000000000000000000000060a082015260009060c00160405160208183030381529060405280519060200120905092915050565b90506111748b8b838c8c8c8c611e86565b5050505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600760209081526040808320600201805482518185028101850190935280835260609492939192909184015b828210156112755783829060005260206000200180546111e8906146c8565b80601f0160208091040260200160405190810160405280929190818152602001828054611214906146c8565b80156112615780601f1061123657610100808354040283529160200191611261565b820191906000526020600020905b81548152906001019060200180831161124457829003601f168201915b5050505050815260200190600101906111c9565b505050509050919050565b8173ffffffffffffffffffffffffffffffffffffffff81166112ce576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611319573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061133d9190614971565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146113a1576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008460018111156113b5576113b5614942565b1480156113cf575060008281526020819052604090205415155b156114075760008281526020819052604081206113eb91613fb1565b600082815260026020526040812061140291613f93565b611449565b6000828152600160205260409020541561144957600082815260016020526040812061143291613fb1565b600082815260036020526040812061144991613f93565b8184600181111561145c5761145c614942565b6040517f1fe48a4ec69671720d8bdd8f8a6853d16f486c0bb91fcaf5b8ffc4932b8bc9f490600090a350505050565b6009602090815260009283526040808420909152908252902080546114af906146c8565b80601f01602080910402602001604051908101604052809291908181526020018280546114db906146c8565b80156115285780601f106114fd57610100808354040283529160200191611528565b820191906000526020600020905b81548152906001019060200180831161150b57829003601f168201915b505050505081565b60603373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146115a1576040517f72823b5400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115ad898989896123b8565b60006115bb8a8a8a8a6125b5565b905060006040518061010001604052808c73ffffffffffffffffffffffffffffffffffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505090825250602001611649888a614a01565b81526020016116588688614a01565b815260208101849052604001600081526020016000815250905061167b8161211c565b9b9a5050505050505050505050565b6000610f6e8383612334565b6000806116a38585612376565b80548060200260200160405190810160405280929190818152602001828054801561170457602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116116d9575b5050505050905080518310611748576040517f9c7692bf000000000000000000000000000000000000000000000000000000008152600481018490526024016106fc565b6117528585612376565b83815481106117635761176361498e565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1695945050505050565b73ffffffffffffffffffffffffffffffffffffffff831660008181526008602090815260408083208684529091528082205490517f6352211e0000000000000000000000000000000000000000000000000000000081526004810186905260609391929190636352211e90602401602060405180830381865afa158015611819573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061183d9190614971565b905073ffffffffffffffffffffffffffffffffffffffff811661188c576040517f85a9692000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff86166000908152600960209081526040808320888452909152812080546118c7906146c8565b905011156119915773ffffffffffffffffffffffffffffffffffffffff861660009081526009602090815260408083208884529091529020805461190a906146c8565b80601f0160208091040260200160405190810160405280929190818152602001828054611936906146c8565b80156119835780601f1061195857610100808354040283529160200191611983565b820191906000526020600020905b81548152906001019060200180831161196657829003601f168201915b505050505092505050610d86565b73ffffffffffffffffffffffffffffffffffffffff86166000908152600760205260408082208151606081019092528054829082906119cf906146c8565b80601f01602080910402602001604051908101604052809291908181526020018280546119fb906146c8565b8015611a485780601f10611a1d57610100808354040283529160200191611a48565b820191906000526020600020905b815481529060010190602001808311611a2b57829003601f168201915b50505050508152602001600182018054611a61906146c8565b80601f0160208091040260200160405190810160405280929190818152602001828054611a8d906146c8565b8015611ada5780601f10611aaf57610100808354040283529160200191611ada565b820191906000526020600020905b815481529060010190602001808311611abd57829003601f168201915b5050505050815260200160028201805480602002602001604051908101604052809291908181526020016000905b82821015611bb4578382906000526020600020018054611b27906146c8565b80601f0160208091040260200160405190810160405280929190818152602001828054611b53906146c8565b8015611ba05780601f10611b7557610100808354040283529160200191611ba0565b820191906000526020600020905b815481529060010190602001808311611b8357829003601f168201915b505050505081526020019060010190611b08565b5050509152505080515190915015611bfb578051611bd184612653565b604051602001611be2929190614a91565b6040516020818303038152906040529350505050610d86565b6040517fc47f8bfa000000000000000000000000000000000000000000000000000000008152600481018490526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063c47f8bfa90602401600060405180830381865afa158015611c89573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052611ccf9190810190614b22565b90506000611cdc85612653565b8251604051611cef929190602001614bec565b60405160208183030381529060405290506000611d27836060015173ffffffffffffffffffffffffffffffffffffffff166014612711565b611d488673ffffffffffffffffffffffffffffffffffffffff166014612711565b604051602001611d59929190614d2f565b60405160208183030381529060405290506000611d91846020015173ffffffffffffffffffffffffffffffffffffffff166014612711565b85604001518a60ff1681518110611daa57611daa61498e565b6020026020010151611dc2866040015160ff16612653565b6080870151611dd2906020612711565b611de98860a0015167ffffffffffffffff16612653565b604051602001611dfd959493929190614e2b565b6040516020818303038152906040529050611e3a838383604051602001611e2693929190615090565b604051602081830303815290604052612954565b604051602001611e4a91906150fb565b6040516020818303038152906040529750505050505050509392505050565b6000611e7e611e788585612376565b83612aa7565b949350505050565b8573ffffffffffffffffffffffffffffffffffffffff8116611ed4576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f1f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f439190614971565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611fa7576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611fb2888888611280565b61200e611fbf8988612376565b611fc98a89612334565b8787808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506120099250889150899050614a01565b612b41565b8588600181111561202157612021614942565b7f5e140eb5bed8bcb1664a04c0be4aa419e0d2dbf1277a4a6770882a0beb3b91b28787604051612052929190615140565b60405180910390a35050505050505050565b6005546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810184905273ffffffffffffffffffffffffffffffffffffffff838116602483015260009216906391d1485490604401602060405180830381865afa1580156120dc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d86919061519b565b600061210b83612f7b565b8015610d865750610d868383612fdf565b606060008260c00151600181111561213657612136614942565b1480156121495750612147826130ae565b155b156121a957816020015173ffffffffffffffffffffffffffffffffffffffff167fa1e5a8c0fde3fa4d7320c3f9de0ab0a2c1ee6e891e6a513ca0811ddcf768b59460405160405180910390a2505060408051602081019091526000815290565b6121c08260000151836020015184604001516134a3565b600160c0840152600060e084015290506121d9826130ae565b50816020015173ffffffffffffffffffffffffffffffffffffffff167f4ec4635a4d1f6ebe9ee3a059f74fc5d802e04d2d115c4090337a34e3b137c98a60405160405180910390a2919050565b606061223285856135db565b600080612241848601866151b8565b915091507f88fae8356076de6f233fd00b30fad913df2329364a9e9242abdc96adccc3bfc98203612299576000808280602001905181019061228391906151f5565b9150915061229289838361370c565b505061231a565b7f9aeb830ec91a14c97a5446cc7c86a42f73a78f37f9a77afa238b5d11520ddfbc82036122e8576000818060200190518101906122d6919061524f565b90506122e288826137a2565b5061231a565b6040517f04e4b46900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505060408051602081019091526000815295945050505050565b60008083600181111561234957612349614942565b03612362575060008181526002602052604090206105cc565b5060008181526003602052604090206105cc565b60008083600181111561238b5761238b614942565b036123a4575060008181526020819052604090206105cc565b5060008181526001602052604090206105cc565b6000806123c7838501856151b8565b915091507fbc42750dbe73870bbe102106b22fd8bdfa53c7247eca196d8bb7da9527f0c1e582036124bf5760008060008380602001905181019061240b9190615300565b9250925092508273ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614158061248057508773ffffffffffffffffffffffffffffffffffffffff1661246782610cce565b73ffffffffffffffffffffffffffffffffffffffff1614155b156124b7576040517f7e833cd700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050506125ad565b7fe761f303268b55a3dc96719551acb95ca3bd1ebeef4b720be68dd92563627a3f820361257b576000818060200190518101906124fc9190615343565b90508573ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff1614612567576040517f7e833cd700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612575878260200151613867565b506125ad565b6040517f9ca9add400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050505050565b6000806125c4838501856151b8565b50905061264986826040805173ffffffffffffffffffffffffffffffffffffffff84166020820152908101829052606080820152600c60808201527f524547495354524154494f4e000000000000000000000000000000000000000060a082015260009060c00160405160208183030381529060405280519060200120905092915050565b9695505050505050565b60606000612660836138d4565b600101905060008167ffffffffffffffff81111561268057612680614729565b6040519080825280601f01601f1916602001820160405280156126aa576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85049450846126b457509392505050565b60606000612720836002615404565b61272b90600261541b565b67ffffffffffffffff81111561274357612743614729565b6040519080825280601f01601f19166020018201604052801561276d576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106127a4576127a461498e565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106128075761280761498e565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000612843846002615404565b61284e90600161541b565b90505b60018111156128eb577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061288f5761288f61498e565b1a60f81b8282815181106128a5576128a561498e565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c936128e48161542e565b9050612851565b508315610d86576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016106fc565b6060815160000361297357505060408051602081019091526000815290565b600060405180606001604052806040815260200161581f60409139905060006003845160026129a2919061541b565b6129ac9190615463565b6129b7906004615404565b67ffffffffffffffff8111156129cf576129cf614729565b6040519080825280601f01601f1916602001820160405280156129f9576020820181803683370190505b509050600182016020820185865187015b80821015612a65576003820191508151603f8160121c168501518453600184019350603f81600c1c168501518453600184019350603f8160061c168501518453600184019350603f8116850151845350600183019250612a0a565b5050600386510660018114612a815760028114612a9457612a9c565b603d6001830353603d6002830353612a9c565b603d60018303535b509195945050505050565b8154600090815b81811015612b17578373ffffffffffffffffffffffffffffffffffffffff16858281548110612adf57612adf61498e565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1603612b0f5791506105cc9050565b600101612aae565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff949350505050565b8151600a811115612b7e576040517f760fb4ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80825114612bb8576040517f3021beb200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b818110156125ad57600073ffffffffffffffffffffffffffffffffffffffff16848281518110612bed57612bed61498e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1603612c42576040517f7d4de38200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600081118015612cb25750836001820381518110612c6257612c6261498e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff16848281518110612c9257612c9261498e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff16145b15612ce9576040517fd696c40800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166382984f30858381518110612d3757612d3761498e565b60200260200101516040518263ffffffff1660e01b8152600401612d77919073ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b602060405180830381865afa158015612d94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612db8919061519b565b612e2557838181518110612dce57612dce61498e565b60200260200101516040517f5a9873880000000000000000000000000000000000000000000000000000000081526004016106fc919073ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b838181518110612e3757612e3761498e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1663a913b881848381518110612e6c57612e6c61498e565b60200260200101516040518263ffffffff1660e01b8152600401612e909190614104565b60006040518083038186803b158015612ea857600080fd5b505afa158015612ebc573d6000803e3d6000fd5b5050505085848281518110612ed357612ed361498e565b60209081029190910181015182546001810184556000938452919092200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90921691909117905582518590849083908110612f4957612f4961498e565b60209081029190910181015182546001810184556000938452919092200190612f7290826154e4565b50600101612bbb565b6000612fa7827f01ffc9a700000000000000000000000000000000000000000000000000000000612fdf565b80156105cc5750612fd8827fffffffff00000000000000000000000000000000000000000000000000000000612fdf565b1592915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015613097575060208210155b80156130a35750600081115b979650505050505050565b6000806130c38360c001518460a00151612376565b80548060200260200160405190810160405280929190818152602001828054801561312457602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116130f9575b50505050509050600061313f8460c001518560a00151612334565b805480602002602001604051908101604052809291908181526020016000905b8282101561320b57838290600052602060002001805461317e906146c8565b80601f01602080910402602001604051908101604052809291908181526020018280546131aa906146c8565b80156131f75780601f106131cc576101008083540402835291602001916131f7565b820191906000526020600020905b8154815290600101906020018083116131da57829003601f168201915b50505050508152602001906001019061315f565b50508451929350600091508190508660c00151600181111561322f5761322f614942565b1461323e578560800151613244565b85606001515b90508181511461329c578560c00151600181111561326457613264614942565b6040517f3171c36f00000000000000000000000000000000000000000000000000000000815260ff90911660048201526024016106fc565b60e08601515b8281101561349657808760e0018181525050600060405180604001604052808684815181106132d3576132d361498e565b602002602001015181526020018484815181106132f2576132f261498e565b60200260200101518152509050600061334f8784815181106133165761331661498e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673800000000000000000000000000000000000000016151590565b15613432578683815181106133665761336661498e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff166334e5d29f8360405160200161339a91906155fe565b6040516020818303038152906040526040518263ffffffff1660e01b81526004016133c59190614104565b6000604051808303816000875af11580156133e4573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261342a9190810190615655565b509050613459565b6134568784815181106134475761344761498e565b6020026020010151838b6139b6565b90505b600181600181111561346d5761346d614942565b146134815750600098975050505050505050565b5050808061348e9061490a565b9150506132a2565b5060019695505050505050565b6060600080838060200190518101906134bc919061569c565b915091507fbc42750dbe73870bbe102106b22fd8bdfa53c7247eca196d8bb7da9527f0c1e5820361352e576000806000838060200190518101906135009190615300565b92509250925061351289828585613bb8565b6040518060200160405280600081525095505050505050610d86565b7fe761f303268b55a3dc96719551acb95ca3bd1ebeef4b720be68dd92563627a3f82036135c25760008180602001905181019061356b9190615343565b90506000806135928984600001518560400151866020015187606001518860800151613cc7565b60408051602081019390935282810191909152805180830382018152606090920190529550610d86945050505050565b5050604080516020810190915260008152949350505050565b8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561363d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136619190614971565b73ffffffffffffffffffffffffffffffffffffffff16141580156136d157508073ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1614155b15613708576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b73ffffffffffffffffffffffffffffffffffffffff831660009081526007602052604090208061373c84826154e4565b506001810161374b83826154e4565b508373ffffffffffffffffffffffffffffffffffffffff167f6c1850fce35387a891e82ca88e975790ab6f0709e9ed6842e01397f296012a7e84846040516137949291906156cd565b60405180910390a250505050565b805160ff8111156137df576040517f1c17d63a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff83166000908152600760205260408120905b8281101561386057816002018482815181106138245761382461498e565b6020908102919091018101518254600181018455600093845291909220019061384d90826154e4565b50806138588161490a565b915050613806565b5050505050565b73ffffffffffffffffffffffffffffffffffffffff821660009081526007602052604090206002015460ff808216908316106138cf576040517f12d7e46c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000831061391d577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef81000000008310613949576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061396757662386f26fc10000830492506010015b6305f5e100831061397f576305f5e100830492506008015b612710831061399357612710830492506004015b606483106139a5576064830492506002015b600a83106105cc5760010192915050565b60008060008573ffffffffffffffffffffffffffffffffffffffff16635260a98c866040516020016139e891906155fe565b604051602081830303815290604052306040518363ffffffff1660e01b8152600401613a159291906156f2565b6000604051808303816000875af1158015613a34573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052613a7a919081019061572a565b91935090915060009050826001811115613a9657613a96614942565b03613baf57600081815260046020908152604091829020865181547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff92831617835592880151600183018054909416911617909155908501518591906002820190613b1990826154e4565b5060608201518051613b35916003840191602090910190613fcf565b5060808201518051613b51916004840191602090910190613fcf565b5060a0820151600582015560c08201516006820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660018381811115613b9c57613b9c614942565b021790555060e082015181600701559050505b50949350505050565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301528281166024830152604482018590528516906323b872dd90606401600060405180830381600087803b158015613c3057600080fd5b505af1158015613c44573d6000803e3d6000fd5b5050505073ffffffffffffffffffffffffffffffffffffffff84811660008181526008602090815260408083208884528252918290205482518881528786169281019290925293851681830152905183917f0480e159be1c15e0022dfbc6d236db58db83a033908eca4876f796f60ed871b9919081900360600190a35050505050565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663601a924c898989886040518563ffffffff1660e01b8152600401613d299493929190615784565b6020604051808303816000875af1158015613d48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d6c91906157ce565b6040517f691562a000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff898116600483015260ff881660248301529193509089169063691562a0906044016020604051808303816000875af1158015613de7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e0b91906157ce565b73ffffffffffffffffffffffffffffffffffffffff89811660008181526008602090815260408083208684528252808320889055805180820182529384528382018681528884526006909252909120825181547fffffffffffffffffffffffff00000000000000000000000000000000000000001694169390931783555160019092019190915584519192509015613ed95773ffffffffffffffffffffffffffffffffffffffff891660009081526009602090815260408083208584529091529020613ed785826154e4565b505b8560ff168873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff167fd051b12b5a18291aec9a26b17774a4be2d10dce167cbdc5944c7942c78f901c186868c8b8b604051613f429594939291906157e7565b60405180910390a450965096945050505050565b508054613f62906146c8565b6000825580601f10613f72575050565b601f016020900490600052602060002090810190613f909190614025565b50565b5080546000825590600052602060002090810190613f90919061403a565b5080546000825590600052602060002090810190613f909190614025565b828054828255906000526020600020908101928215614015579160200282015b82811115614015578251829061400590826154e4565b5091602001919060010190613fef565b5061402192915061403a565b5090565b5b808211156140215760008155600101614026565b8082111561402157600061404e8282613f56565b5060010161403a565b73ffffffffffffffffffffffffffffffffffffffff81168114613f9057600080fd5b60006020828403121561408b57600080fd5b8135610d8681614057565b60005b838110156140b1578181015183820152602001614099565b50506000910152565b600081518084526140d2816020860160208601614096565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610d8660208301846140ba565b60006020828403121561412957600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610d8657600080fd5b60008083601f84011261416b57600080fd5b50813567ffffffffffffffff81111561418357600080fd5b60208301915083602082850101111561419b57600080fd5b9250929050565b6000806000604084860312156141b757600080fd5b83359250602084013567ffffffffffffffff8111156141d557600080fd5b6141e186828701614159565b9497909650939450505050565b6000806000806060858703121561420457600080fd5b843561420f81614057565b9350602085013561421f81614057565b9250604085013567ffffffffffffffff81111561423b57600080fd5b61424787828801614159565b95989497509550505050565b6000806040838503121561426657600080fd5b823561427181614057565b946020939093013593505050565b60006020828403121561429157600080fd5b5035919050565b60028110613f9057600080fd5b6000806000606084860312156142ba57600080fd5b83356142c581614298565b95602085013595506040909401359392505050565b600080604083850312156142ed57600080fd5b823561427181614298565b60008060006060848603121561430d57600080fd5b833561431881614298565b925060208401359150604084013561432f81614057565b809150509250925092565b60ff81168114613f9057600080fd5b6000806040838503121561435c57600080fd5b823561436781614057565b915060208301356143778161433a565b809150509250929050565b60008083601f84011261439457600080fd5b50813567ffffffffffffffff8111156143ac57600080fd5b6020830191508360208260051b850101111561419b57600080fd5b60008060008060008060008060a0898b0312156143e357600080fd5b88356143ee81614298565b975060208901356143fe81614057565b9650604089013567ffffffffffffffff8082111561441b57600080fd5b6144278c838d01614382565b909850965060608b013591508082111561444057600080fd5b61444c8c838d01614382565b909650945060808b013591508082111561446557600080fd5b506144728b828c01614159565b999c989b5096995094979396929594505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156144f9577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08886030184526144e78583516140ba565b945092850192908501906001016144ad565b5092979650505050505050565b60008060006060848603121561451b57600080fd5b833561452681614298565b9250602084013561453681614057565b929592945050506040919091013590565b60008060008060008060008060a0898b03121561456357600080fd5b883561456e81614057565b9750602089013561457e81614057565b9650604089013567ffffffffffffffff8082111561459b57600080fd5b6145a78c838d01614159565b909850965060608b01359150808211156145c057600080fd5b6145cc8c838d01614382565b909650945060808b01359150808211156145e557600080fd5b506144728b828c01614382565b60008060006060848603121561460757600080fd5b833561461281614057565b925060208401359150604084013561432f8161433a565b600080600080600080600060a0888a03121561464457600080fd5b873561464f81614298565b9650602088013561465f81614057565b955060408801359450606088013567ffffffffffffffff8082111561468357600080fd5b61468f8b838c01614382565b909650945060808a01359150808211156146a857600080fd5b506146b58a828b01614382565b989b979a50959850939692959293505050565b600181811c908216806146dc57607f821691505b602082108103614715577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b8015158114613f9057600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff8111828210171561477b5761477b614729565b60405290565b60405160a0810167ffffffffffffffff8111828210171561477b5761477b614729565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156147eb576147eb614729565b604052919050565b600067ffffffffffffffff82111561480d5761480d614729565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600061484c614847846147f3565b6147a4565b905082815283838301111561486057600080fd5b828260208301376000602084830101529392505050565b6000806040838503121561488a57600080fd5b82356148958161471b565b9150602083013567ffffffffffffffff8111156148b157600080fd5b8301601f810185136148c257600080fd5b6148d185823560208401614839565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361493b5761493b6148db565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60006020828403121561498357600080fd5b8151610d8681614057565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600067ffffffffffffffff8211156149d7576149d7614729565b5060051b60200190565b600082601f8301126149f257600080fd5b610d8683833560208501614839565b6000614a0f614847846149bd565b80848252602080830192508560051b850136811115614a2d57600080fd5b855b81811015614a6957803567ffffffffffffffff811115614a4f5760008081fd5b614a5b36828a016149e1565b865250938201938201614a2f565b50919695505050505050565b60008151614a87818560208601614096565b9290920192915050565b60008351614aa3818460208801614096565b835190830190614ab7818360208801614096565b01949350505050565b600082601f830112614ad157600080fd5b8151614adf614847826147f3565b818152846020838601011115614af457600080fd5b611e7e826020830160208701614096565b805167ffffffffffffffff81168114614b1d57600080fd5b919050565b600060208284031215614b3457600080fd5b815167ffffffffffffffff80821115614b4c57600080fd5b9083019060c08286031215614b6057600080fd5b614b68614758565b825182811115614b7757600080fd5b614b8387828601614ac0565b82525060208301519150614b9682614057565b81602082015260408301519150614bac8261433a565b81604082015260608301519150614bc282614057565b81606082015260808301516080820152614bde60a08401614b05565b60a082015295945050505050565b7f7b226e616d65223a2022476c6f62616c20495020417373657420230000000000815260008351614c2481601b850160208801614096565b7f222c20226465736372697074696f6e223a20224950204f726720417373657420601b918401918201527f526567697374726174696f6e2044657461696c73222c20226174747269627574603b8201527f6573223a205b0000000000000000000000000000000000000000000000000000605b8201527f7b2274726169745f74797065223a20224e616d65222c202276616c7565223a2060618201527f220000000000000000000000000000000000000000000000000000000000000060818201528351614cf9816082840160208801614096565b7f227d2c000000000000000000000000000000000000000000000000000000000060829290910191820152608501949350505050565b7f7b2274726169745f74797065223a20224950204f7267222c202276616c75652281527f3a20220000000000000000000000000000000000000000000000000000000000602082015260008351614d8d816023850160208801614096565b80830190507f227d2c00000000000000000000000000000000000000000000000000000000008060238301527f7b2274726169745f74797065223a202243757272656e74204950204f776e657260268301527f222c202276616c7565223a20220000000000000000000000000000000000000060468301528451614e18816053850160208901614096565b6053920191820152605601949350505050565b7f7b2274726169745f74797065223a2022496e697469616c20526567697374726181527f6e74222c202276616c7565223a20220000000000000000000000000000000000602082015260008651614e8981602f850160208b01614096565b80830190507f227d2c000000000000000000000000000000000000000000000000000000000080602f8301527f7b2274726169745f74797065223a20224950204f72672041737365742054797060328301527f65222c202276616c7565223a202200000000000000000000000000000000000060528301528751614f14816060850160208c01614096565b60609201918201527f7b2274726169745f74797065223a2022537461747573222c202276616c75652260638201527f3a20220000000000000000000000000000000000000000000000000000000000608382015261508461505b615055615006614f88615000614fb182608689018e614a75565b7f227d2c0000000000000000000000000000000000000000000000000000000000815260030190565b7f7b2274726169745f74797065223a202248617368222c202276616c7565223a2081527f2200000000000000000000000000000000000000000000000000000000000000602082015260210190565b8a614a75565b7f7b2274726169745f74797065223a2022526567697374726174696f6e2044617481527f65222c202276616c7565223a20220000000000000000000000000000000000006020820152602e0190565b86614a75565b7f227d000000000000000000000000000000000000000000000000000000000000815260020190565b98975050505050505050565b600084516150a2818460208901614096565b8451908301906150b6818360208901614096565b84519101906150c9818360208801614096565b7f5d7d000000000000000000000000000000000000000000000000000000000000910190815260020195945050505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c00000081526000825161513381601d850160208701614096565b91909101601d0192915050565b60208082528181018390526000908460408401835b8681101561519057823561516881614057565b73ffffffffffffffffffffffffffffffffffffffff1682529183019190830190600101615155565b509695505050505050565b6000602082840312156151ad57600080fd5b8151610d868161471b565b600080604083850312156151cb57600080fd5b82359150602083013567ffffffffffffffff8111156151e957600080fd5b6148d1858286016149e1565b6000806040838503121561520857600080fd5b825167ffffffffffffffff8082111561522057600080fd5b61522c86838701614ac0565b9350602085015191508082111561524257600080fd5b506148d185828601614ac0565b6000602080838503121561526257600080fd5b825167ffffffffffffffff8082111561527a57600080fd5b818501915085601f83011261528e57600080fd5b815161529c614847826149bd565b81815260059190911b830184019084810190888311156152bb57600080fd5b8585015b838110156152f3578051858111156152d75760008081fd5b6152e58b89838a0101614ac0565b8452509186019186016152bf565b5098975050505050505050565b60008060006060848603121561531557600080fd5b835161532081614057565b602085015190935061533181614057565b80925050604084015190509250925092565b60006020828403121561535557600080fd5b815167ffffffffffffffff8082111561536d57600080fd5b9083019060a0828603121561538157600080fd5b615389614781565b825161539481614057565b815260208301516153a48161433a565b60208201526040830151828111156153bb57600080fd5b6153c787828601614ac0565b604083015250606083015160608201526080830151828111156153e957600080fd5b6153f587828601614ac0565b60808301525095945050505050565b80820281158282048414176105cc576105cc6148db565b808201808211156105cc576105cc6148db565b60008161543d5761543d6148db565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b600082615499577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b601f8211156138cf57600081815260208120601f850160051c810160208610156154c55750805b601f850160051c820191505b818110156125ad578281556001016154d1565b815167ffffffffffffffff8111156154fe576154fe614729565b6155128161550c84546146c8565b8461549e565b602080601f831160018114615565576000841561552f5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b1785556125ad565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156155b257888601518255948401946001909101908401615593565b50858210156155ee57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b60208152600082516040602084015261561a60608401826140ba565b905060208401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0848303016040850152610cc582826140ba565b6000806040838503121561566857600080fd5b825161567381614298565b602084015190925067ffffffffffffffff81111561569057600080fd5b6148d185828601614ac0565b600080604083850312156156af57600080fd5b82519150602083015167ffffffffffffffff81111561569057600080fd5b6040815260006156e060408301856140ba565b8281036020840152610cc581856140ba565b60408152600061570560408301856140ba565b905073ffffffffffffffffffffffffffffffffffffffff831660208301529392505050565b60008060006060848603121561573f57600080fd5b835161574a81614298565b602085015190935067ffffffffffffffff81111561576757600080fd5b61577386828701614ac0565b925050604084015190509250925092565b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250608060408301526157bd60808301856140ba565b905082606083015295945050505050565b6000602082840312156157e057600080fd5b5051919050565b85815284602082015260a06040820152600061580660a08301866140ba565b846060840152828103608084015261508481856140ba56fe4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2fa2646970667358221220649f1162533c82b294440c39a1f9ce1aa0719a40999a2c158b524cbd3206043764736f6c634300081300330000000000000000000000005b81030c087d41558e3fcf23b3575e85c9a768e600000000000000000000000051870a0659a87c7b46baef7311b3128006e1fb16000000000000000000000000826a953332df2e1a994c7cfae68e129ba683aa8f000000000000000000000000c4f7e87f9ff2a2df9bc7ff8399558b594ebf911a000000000000000000000000518ccd79e0e7b75fd5fcc09463fb09cb7d55470d", + "nonce": "0x800", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xd27abaa9b1d80e05ddefe448f5674ee786621d742a591d4c2ea3d7a634885714", + "transactionType": "CREATE", + "contractName": "RelationshipModule", + "contractAddress": "0x5fb712AF304570aD9599e55E1105b7a42a5e30Db", + "function": null, + "arguments": [ + "(0x5B81030C087d41558E3FCF23B3575E85c9A768e6, 0x51870A0659A87c7B46baEF7311B3128006E1FB16, 0x826a953332Df2e1a994C7CFae68E129ba683Aa8F, 0xC4F7E87F9FF2A2DF9bC7FF8399558B594EBF911A)", + "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x5377a4", + "value": "0x0", + "data": "0x6101006040523480156200001257600080fd5b5060405162004e5d38038062004e5d833981016040819052620000359162000298565b6020820151819083906001600160a01b038116620000665760405163134141bd60e11b815260040160405180910390fd5b6001600160a01b039081166080528151166200009557604051636028d8f760e01b815260040160405180910390fd5b80516001600160a01b0390811660a052604082015116620000c957604051635a70c46160e11b815260040160405180910390fd5b60408101516001600160a01b0390811660c052606090910151811660e052620000fc908216637965db0b60e01b6200018f565b6200013f576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600580546001600160a01b0319166001600160a01b0383169081179091556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a250505062000350565b60006200019c83620001b7565b8015620001b05750620001b08383620001f0565b9392505050565b6000620001cc826301ffc9a760e01b620001f0565b8015620001ea5750620001e8826001600160e01b0319620001f0565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801562000263575060208210155b8015620002705750600081115b979650505050505050565b80516001600160a01b03811681146200029357600080fd5b919050565b60008082840360a0811215620002ad57600080fd5b6080811215620002bc57600080fd5b50604051608081016001600160401b0381118282101715620002ee57634e487b7160e01b600052604160045260246000fd5b604052620002fc846200027b565b81526200030c602085016200027b565b60208201526200031f604085016200027b565b604082015262000332606085016200027b565b6060820152915062000347608084016200027b565b90509250929050565b60805160a05160c05160e051614aa9620003b4600039600061028201526000818161043801526134960152600081816103d8015261339401526000818161039e01528181610c9201528181611472015281816122ad01526135da0152614aa96000f3fe608060405234801561001057600080fd5b50600436106101985760003560e01c806376ced32d116100e3578063d2faf8b01161008c578063e8fb5c9b11610066578063e8fb5c9b14610420578063f0ebdc8314610433578063fba854e01461045a57600080fd5b8063d2faf8b0146103d3578063e5720404146103fa578063e7d8e9311461040d57600080fd5b8063b6efd29d116100bd578063b6efd29d14610386578063b95ddb5214610399578063bc12fcca146103c057600080fd5b806376ced32d1461030257806377379d9414610360578063a5b04d451461037357600080fd5b80634fa4467c116101455780636191d3561161011f5780636191d356146102c957806368a4f071146102dc5780637448c568146102ef57600080fd5b80634fa4467c146102555780634fcbd2131461025d57806351e06b901461027d57600080fd5b80632fa7bc99116101765780632fa7bc99146101fb578063322e41b51461020e57806332ee68131461022e57600080fd5b806301ffc9a71461019d57806319129e5a146101c557806329b2632b146101da575b600080fd5b6101b06101ab3660046138b1565b61046d565b60405190151581526020015b60405180910390f35b6101d86101d3366004613925565b610552565b005b6101ed6101e8366004613942565b6106b8565b6040519081526020016101bc565b6101d86102093660046139c6565b6106fb565b61022161021c366004613a12565b610b28565b6040516101bc9190613a7b565b6101ed7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81565b6101ed600a81565b61027061026b366004613ae7565b610c78565b6040516101bc9190613b4c565b6102a47f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101bc565b6101d86102d7366004613bb1565b610cfe565b6102706102ea366004613c70565b610e7e565b6101ed6102fd366004613ca5565b611053565b610315610310366004613dd8565b611067565b60408051825173ffffffffffffffffffffffffffffffffffffffff908116825260208085015190830152838301511691810191909152606091820151918101919091526080016101bc565b6101b061036e366004613e28565b611215565b6101d8610381366004613e6a565b61124d565b610270610394366004613eab565b611458565b6102a47f000000000000000000000000000000000000000000000000000000000000000081565b6101ed6103ce366004613ca5565b6115b2565b6102a47f000000000000000000000000000000000000000000000000000000000000000081565b6102a4610408366004613c70565b6115be565b6101b061041b366004613942565b6116b6565b6101ed61042e366004613e28565b6116fd565b6102a47f000000000000000000000000000000000000000000000000000000000000000081565b6101d8610468366004613ed2565b61171a565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f2fa7bc9900000000000000000000000000000000000000000000000000000000148061050057507fffffffff0000000000000000000000000000000000000000000000000000000082167ff924008e00000000000000000000000000000000000000000000000000000000145b8061054c57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b600061055e81336118f8565b6105a2576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b6105e273ffffffffffffffffffffffffffffffffffffffff83167f7965db0b0000000000000000000000000000000000000000000000000000000061199b565b610648576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c0000000000000000000000000000000000006044820152606401610599565b600580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a25050565b6000600a6000836040516020016106cf9190613f9c565b604051602081830303815290604052805190602001208152602001908152602001600020549050919050565b60008061070a83850185614096565b915091508115610a17576000858152600460205260408120600701805491610731836140b4565b9091555050600085815260046020908152604091829020825161010081018452815473ffffffffffffffffffffffffffffffffffffffff908116825260018301541692810192909252600281018054610a11948401919061079190614113565b80601f01602080910402602001604051908101604052809291908181526020018280546107bd90614113565b801561080a5780601f106107df5761010080835404028352916020019161080a565b820191906000526020600020905b8154815290600101906020018083116107ed57829003601f168201915b5050505050815260200160038201805480602002602001604051908101604052809291908181526020016000905b828210156108e457838290600052602060002001805461085790614113565b80601f016020809104026020016040519081016040528092919081815260200182805461088390614113565b80156108d05780601f106108a5576101008083540402835291602001916108d0565b820191906000526020600020905b8154815290600101906020018083116108b357829003601f168201915b505050505081526020019060010190610838565b50505050815260200160048201805480602002602001604051908101604052809291908181526020016000905b828210156109bd57838290600052602060002001805461093090614113565b80601f016020809104026020016040519081016040528092919081815260200182805461095c90614113565b80156109a95780601f1061097e576101008083540402835291602001916109a9565b820191906000526020600020905b81548152906001019060200180831161098c57829003601f168201915b505050505081526020019060010190610911565b5050509082525060058201546020820152600682015460409091019060ff1660018111156109ed576109ed614166565b60018111156109fe576109fe614166565b81526020016007820154815250506119b7565b50610a7c565b6000858152600460205260409081902060010154905173ffffffffffffffffffffffffffffffffffffffff909116907f7f7ce7cf4c1b43e1bf51034d0ad7062abb9d4529c7bb0510d512249b0fb7145290610a73908490613b4c565b60405180910390a25b600085815260046020526040812080547fffffffffffffffffffffffff00000000000000000000000000000000000000009081168255600182018054909116905590610acb60028301826137b0565b610ad96003830160006137ed565b610ae76004830160006137ed565b506000600582018190556006820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690556007909101555050505050565b610b866040518060a0016040528060608152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081525090565b60008281526009602052604090819020815160a08101909252805482908290610bae90614113565b80601f0160208091040260200160405190810160405280929190818152602001828054610bda90614113565b8015610c275780601f10610bfc57610100808354040283529160200191610c27565b820191906000526020600020905b815481529060010190602001808311610c0a57829003601f168201915b5050509183525050600182015473ffffffffffffffffffffffffffffffffffffffff908116602083015260028301541660408201526003820154606082015260049091015460809091015292915050565b60603373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610ce9576040517f72823b5400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610cf585858585611ac1565b95945050505050565b8673ffffffffffffffffffffffffffffffffffffffff8116610d4c576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dbb91906141a0565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e1f576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610e618989898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611bc392505050565b9050610e728a8a838989898961171a565b50505050505050505050565b60606000610e8c8585611bf6565b805480602002602001604051908101604052809291908181526020016000905b82821015610f58578382906000526020600020018054610ecb90614113565b80601f0160208091040260200160405190810160405280929190818152602001828054610ef790614113565b8015610f445780601f10610f1957610100808354040283529160200191610f44565b820191906000526020600020905b815481529060010190602001808311610f2757829003601f168201915b505050505081526020019060010190610eac565b50505050905080518310610f9b576040517f9c7692bf00000000000000000000000000000000000000000000000000000000815260048101849052602401610599565b610fa58585611bf6565b8381548110610fb657610fb66141bd565b906000526020600020018054610fcb90614113565b80601f0160208091040260200160405190810160405280929190818152602001828054610ff790614113565b80156110445780601f1061101957610100808354040283529160200191611044565b820191906000526020600020905b81548152906001019060200180831161102757829003601f168201915b50505050509150509392505050565b600061105f8383611c38565b549392505050565b60408051608081018252600080825260208201819052918101829052606081019190915273ffffffffffffffffffffffffffffffffffffffff8316611115576006826040516110b691906141ec565b908152604080519182900360209081018320608084018352805473ffffffffffffffffffffffffffffffffffffffff908116855260018201549285019290925260028101549091169183019190915260030154606082015290506111a0565b60076000848460405160200161112c929190614208565b60408051601f1981840301815291815281516020928301208352828201939093529082016000208251608081018452815473ffffffffffffffffffffffffffffffffffffffff9081168252600183015493820193909352600282015490921692820192909252600390910154606082015290505b805173ffffffffffffffffffffffffffffffffffffffff1615806111dc5750604081015173ffffffffffffffffffffffffffffffffffffffff16155b1561054c57816040517fd8952ceb0000000000000000000000000000000000000000000000000000000081526004016105999190613b4c565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6112438585856116fd565b1415949350505050565b8173ffffffffffffffffffffffffffffffffffffffff811661129b576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061130a91906141a0565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461136e576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084600181111561138257611382614166565b14801561139c575060008281526020819052604090205415155b156113d45760008281526020819052604081206113b89161380b565b60008281526002602052604081206113cf916137ed565b611416565b600082815260016020526040902054156114165760008281526001602052604081206113ff9161380b565b6000828152600360205260408120611416916137ed565b8184600181111561142957611429614166565b6040517f1fe48a4ec69671720d8bdd8f8a6853d16f486c0bb91fcaf5b8ffc4932b8bc9f490600090a350505050565b60603373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146114c9576040517f72823b5400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6114d589898989611c7a565b60006114e38a8a8a8a612040565b905060006040518061010001604052808c73ffffffffffffffffffffffffffffffffffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505090825250602001611571888a61425b565b8152602001611580868861425b565b81526020810184905260400160008152602001600081525090506115a3816119b7565b9b9a5050505050505050505050565b600061105f8383611bf6565b6000806115cb8585611c38565b80548060200260200160405190810160405280929190818152602001828054801561162c57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311611601575b5050505050905080518310611670576040517f9c7692bf00000000000000000000000000000000000000000000000000000000815260048101849052602401610599565b61167a8585611c38565b838154811061168b5761168b6141bd565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1695945050505050565b6000600a6000836040516020016116cd9190613f9c565b60405160208183030381529060405280519060200120815260200190815260200160002054600014159050919050565b600061171261170c8585611c38565b83612069565b949350505050565b8573ffffffffffffffffffffffffffffffffffffffff8116611768576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156117b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117d791906141a0565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461183b576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61184688888861124d565b6118a26118538988611c38565b61185d8a89611bf6565b87878080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061189d925088915089905061425b565b612103565b858860018111156118b5576118b5614166565b7f5e140eb5bed8bcb1664a04c0be4aa419e0d2dbf1277a4a6770882a0beb3b91b287876040516118e69291906142cf565b60405180910390a35050505050505050565b6005546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810184905273ffffffffffffffffffffffffffffffffffffffff838116602483015260009216906391d1485490604401602060405180830381865afa158015611970573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611994919061432a565b9392505050565b60006119a68361253d565b8015611994575061199483836125a1565b606060008260c0015160018111156119d1576119d1614166565b1480156119e457506119e282612670565b155b15611a4457816020015173ffffffffffffffffffffffffffffffffffffffff167fa1e5a8c0fde3fa4d7320c3f9de0ab0a2c1ee6e891e6a513ca0811ddcf768b59460405160405180910390a2505060408051602081019091526000815290565b611a5b826000015183602001518460400151612a47565b600160c0840152600060e08401529050611a7482612670565b50816020015173ffffffffffffffffffffffffffffffffffffffff167f4ec4635a4d1f6ebe9ee3a059f74fc5d802e04d2d115c4090337a34e3b137c98a60405160405180910390a2919050565b6060611acd8585612c20565b600080611adc84860186614347565b915091507f99bf0fbd60208ca164accd299e2c0a8b4475c1a2df53c2d7160870f6825365288203611b2857611b2381806020019051810190611b1e919061449d565b612db0565b611ba9565b7fe5801b46183bd353d44247232707bb62253655a0580ade69a754ba7157ddf8fd8203611b7757600081806020019051810190611b659190614575565b9050611b718882613055565b50611ba9565b6040517f7265e5c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505060408051602081019091526000815295945050505050565b60008282604051602001611bd8929190614208565b60405160208183030381529060405280519060200120905092915050565b600080836001811115611c0b57611c0b614166565b03611c245750600081815260026020526040902061054c565b50600081815260036020526040902061054c565b600080836001811115611c4d57611c4d614166565b03611c665750600081815260208190526040902061054c565b50600081815260016020526040902061054c565b6000611c88828401846145aa565b90506000611c9a868360000151611067565b602083015190915073ffffffffffffffffffffffffffffffffffffffff16611cee576040517f3489abf600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805173ffffffffffffffffffffffffffffffffffffffff90811614611d7a57806000015173ffffffffffffffffffffffffffffffffffffffff16826020015173ffffffffffffffffffffffffffffffffffffffff1614611d7a576040517f3489abf600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081015115611e695760408083015190517fc3cc244a00000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff89169163c3cc244a91611de09160040190815260200190565b602060405180830381865afa158015611dfd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e21919061465a565b6020830151909150600160ff83161b16611e67576040517ff3c6318200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b606082015173ffffffffffffffffffffffffffffffffffffffff16611eba576040517f642321ac00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604081015173ffffffffffffffffffffffffffffffffffffffff90811614611f4957806040015173ffffffffffffffffffffffffffffffffffffffff16826060015173ffffffffffffffffffffffffffffffffffffffff1614611f49576040517f642321ac00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6060810151156120385760808201516040517fc3cc244a00000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff89169163c3cc244a91611faf9160040190815260200190565b602060405180830381865afa158015611fcc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ff0919061465a565b6060830151909150600160ff83161b16612036576040517f5a790ab800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b505050505050565b60008061204f838501856145aa565b905061205f868260000151611bc3565b9695505050505050565b8154600090815b818110156120d9578373ffffffffffffffffffffffffffffffffffffffff168582815481106120a1576120a16141bd565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16036120d157915061054c9050565b600101612070565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff949350505050565b8151600a811115612140576040517f760fb4ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8082511461217a576040517f3021beb200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b8181101561203857600073ffffffffffffffffffffffffffffffffffffffff168482815181106121af576121af6141bd565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1603612204576040517f7d4de38200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000811180156122745750836001820381518110612224576122246141bd565b602002602001015173ffffffffffffffffffffffffffffffffffffffff16848281518110612254576122546141bd565b602002602001015173ffffffffffffffffffffffffffffffffffffffff16145b156122ab576040517fd696c40800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166382984f308583815181106122f9576122f96141bd565b60200260200101516040518263ffffffff1660e01b8152600401612339919073ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b602060405180830381865afa158015612356573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061237a919061432a565b6123e757838181518110612390576123906141bd565b60200260200101516040517f5a987388000000000000000000000000000000000000000000000000000000008152600401610599919073ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b8381815181106123f9576123f96141bd565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1663a913b88184838151811061242e5761242e6141bd565b60200260200101516040518263ffffffff1660e01b81526004016124529190613b4c565b60006040518083038186803b15801561246a57600080fd5b505afa15801561247e573d6000803e3d6000fd5b5050505085848281518110612495576124956141bd565b60209081029190910181015182546001810184556000938452919092200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9092169190911790558251859084908390811061250b5761250b6141bd565b6020908102919091018101518254600181018455600093845291909220019061253490826146c0565b5060010161217d565b6000612569827f01ffc9a7000000000000000000000000000000000000000000000000000000006125a1565b801561054c575061259a827fffffffff000000000000000000000000000000000000000000000000000000006125a1565b1592915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015612659575060208210155b80156126655750600081115b979650505050505050565b6000806126858360c001518460a00151611c38565b8054806020026020016040519081016040528092919081815260200182805480156126e657602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116126bb575b5050505050905060006127018460c001518560a00151611bf6565b805480602002602001604051908101604052809291908181526020016000905b828210156127cd57838290600052602060002001805461274090614113565b80601f016020809104026020016040519081016040528092919081815260200182805461276c90614113565b80156127b95780601f1061278e576101008083540402835291602001916127b9565b820191906000526020600020905b81548152906001019060200180831161279c57829003601f168201915b505050505081526020019060010190612721565b50508451929350600091508190508660c0015160018111156127f1576127f1614166565b14612800578560800151612806565b85606001515b90508181511461285e578560c00151600181111561282657612826614166565b6040517f3171c36f00000000000000000000000000000000000000000000000000000000815260ff9091166004820152602401610599565b60e08601515b82811015612a3a57808760e001818152505060006040518060400160405280868481518110612895576128956141bd565b602002602001015181526020018484815181106128b4576128b46141bd565b6020026020010151815250905060006129118784815181106128d8576128d86141bd565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673800000000000000000000000000000000000000016151590565b156129d657868381518110612928576129286141bd565b602002602001015173ffffffffffffffffffffffffffffffffffffffff166334e5d29f8360405160200161295c91906147bc565b6040516020818303038152906040526040518263ffffffff1660e01b81526004016129879190613b4c565b6000604051808303816000875af11580156129a6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526129ce91908101906147f5565b5090506129fd565b6129fa8784815181106129eb576129eb6141bd565b6020026020010151838b613191565b90505b6001816001811115612a1157612a11614166565b14612a255750600098975050505050505050565b50508080612a32906140b4565b915050612864565b5060019695505050505050565b6060600082806020019051810190612a5f919061483c565b90506000600860008154612a72906140b4565b91829055506040805160a0810182528451815260208086015173ffffffffffffffffffffffffffffffffffffffff90811682840152606080880151909116838501528684015190830152608080870151908301526000848152600990915291909120815192935090918291908190612aea90826146c0565b506020828101516001830180547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff9384161790915560408086015160028601805490931693169290921790556060840151600384015560809093015160049092019190915590518391600a91600091612b7d91869101613a7b565b60405160208183030381529060405280519060200120815260200190815260200160002081905550817fc1ab5d0231434d664068cd9e5f80a04152484f1844e564dd9fee5c687caa0d7c84600001518560200151866040015187606001518860800151604051612bf19594939291906148ec565b60405180910390a260408051602081018490520160405160208183030381529060405293505050509392505050565b73ffffffffffffffffffffffffffffffffffffffff8216612cdd57612c657f637821dcee84aabec9c8cf4f6f643013a24ad27fd41511ffd937aea80d8619a9826118f8565b612cd9576040517f75000dc00000000000000000000000000000000000000000000000000000000081527f637821dcee84aabec9c8cf4f6f643013a24ad27fd41511ffd937aea80d8619a9600482015273ffffffffffffffffffffffffffffffffffffffff82166024820152604401610599565b5050565b8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612d3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d6391906141a0565b73ffffffffffffffffffffffffffffffffffffffff1614612cd9576040517fdc13a9c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080612dce83604001516000015184602001518560600151613375565b91509150600080612df085604001516020015186602001518760800151613375565b91509150600060405180608001604052808673ffffffffffffffffffffffffffffffffffffffff1681526020018581526020018473ffffffffffffffffffffffffffffffffffffffff168152602001838152509050600073ffffffffffffffffffffffffffffffffffffffff16866020015173ffffffffffffffffffffffffffffffffffffffff1603612f16578060068760000151604051612e9291906141ec565b9081526040805160209281900383019020835181547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff92831617835593850151600183015591840151600282018054909416921691909117909155606090910151600390910155612fcb565b806007600088602001518960000151604051602001612f36929190614208565b60408051808303601f190181529181528151602092830120835282820193909352908201600020835181547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff9283161783559285015160018301559284015160028201805490931693169290921790556060909101516003909101555b856020015173ffffffffffffffffffffffffffffffffffffffff167f5afe4586ed79afd39271a5d07aaa8d60de58e6e9a48ebf10c8f1ce828b592e7587600001518360000151896040015160000151856020015186604001518c604001516020015188606001516040516130459796959493929190614975565b60405180910390a2505050505050565b73ffffffffffffffffffffffffffffffffffffffff82166130d75760068160405161308091906141ec565b90815260405190819003602001902080547fffffffffffffffffffffffff00000000000000000000000000000000000000009081168255600060018301819055600283018054909216909155600390910155613154565b6007600083836040516020016130ee929190614208565b60408051601f19818403018152918152815160209283012083529082019290925201600090812080547fffffffffffffffffffffffff00000000000000000000000000000000000000009081168255600182018390556002820180549091169055600301555b7fa1b9abc85838f61f05343c3b5b89fe250131975f2b25b6029a263e253dc0e7fd81836040516131859291906149e1565b60405180910390a15050565b60008060008573ffffffffffffffffffffffffffffffffffffffff16635260a98c866040516020016131c391906147bc565b604051602081830303815290604052306040518363ffffffff1660e01b81526004016131f09291906149e1565b6000604051808303816000875af115801561320f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526132379190810190614a19565b9193509091506000905082600181111561325357613253614166565b0361336c57600081815260046020908152604091829020865181547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff928316178355928801516001830180549094169116179091559085015185919060028201906132d690826146c0565b50606082015180516132f2916003840191602090910190613829565b506080820151805161330e916004840191602090910190613829565b5060a0820151600582015560c08201516006820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001838181111561335957613359614166565b021790555060e082015181600701559050505b50949350505050565b600080600185600581111561338c5761338c614166565b036133bc57507f000000000000000000000000000000000000000000000000000000000000000090506000613560565b60028560058111156133d0576133d0614166565b0361347a5773ffffffffffffffffffffffffffffffffffffffff8416613422576040517fe86db48e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61342c8484613568565b8251600003613467576040517f521299a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8361347184613766565b91509150613560565b600385600581111561348e5761348e614166565b036134be57507f000000000000000000000000000000000000000000000000000000000000000090506000613560565b60048560058111156134d2576134d2614166565b036134f6575073ffffffffffffffffffffffffffffffffffffffff90506000613560565b600585600581111561350a5761350a614166565b0361352e575073ffffffffffffffffffffffffffffffffffffffff90506000613560565b6040517f92c6e29000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b935093915050565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a9161360d91600401613b4c565b602060405180830381865afa15801561362a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061364e91906141a0565b825190915060005b8181101561375f578273ffffffffffffffffffffffffffffffffffffffff16638a8cb0b48686848151811061368d5761368d6141bd565b60200260200101516040518363ffffffff1660e01b81526004016136d692919073ffffffffffffffffffffffffffffffffffffffff92909216825260ff16602082015260400190565b602060405180830381865afa1580156136f3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613717919061432a565b61374d576040517fa4ba834600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80613757816140b4565b915050613656565b5050505050565b600080805b83518110156137a957838181518110613786576137866141bd565b602002602001015160ff1660ff166001901b82179150808060010191505061376b565b5092915050565b5080546137bc90614113565b6000825580601f106137cc575050565b601f0160209004906000526020600020908101906137ea919061387f565b50565b50805460008255906000526020600020908101906137ea9190613894565b50805460008255906000526020600020908101906137ea919061387f565b82805482825590600052602060002090810192821561386f579160200282015b8281111561386f578251829061385f90826146c0565b5091602001919060010190613849565b5061387b929150613894565b5090565b5b8082111561387b5760008155600101613880565b8082111561387b5760006138a882826137b0565b50600101613894565b6000602082840312156138c357600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461199457600080fd5b73ffffffffffffffffffffffffffffffffffffffff811681146137ea57600080fd5b8035613920816138f3565b919050565b60006020828403121561393757600080fd5b8135611994816138f3565b60006020828403121561395457600080fd5b813567ffffffffffffffff81111561396b57600080fd5b820160a0818503121561199457600080fd5b60008083601f84011261398f57600080fd5b50813567ffffffffffffffff8111156139a757600080fd5b6020830191508360208285010111156139bf57600080fd5b9250929050565b6000806000604084860312156139db57600080fd5b83359250602084013567ffffffffffffffff8111156139f957600080fd5b613a058682870161397d565b9497909650939450505050565b600060208284031215613a2457600080fd5b5035919050565b60005b83811015613a46578181015183820152602001613a2e565b50506000910152565b60008151808452613a67816020860160208601613a2b565b601f01601f19169290920160200192915050565b602081526000825160a06020840152613a9760c0840182613a4f565b9050602084015173ffffffffffffffffffffffffffffffffffffffff8082166040860152806040870151166060860152505060608401516080840152608084015160a08401528091505092915050565b60008060008060608587031215613afd57600080fd5b8435613b08816138f3565b93506020850135613b18816138f3565b9250604085013567ffffffffffffffff811115613b3457600080fd5b613b408782880161397d565b95989497509550505050565b6020815260006119946020830184613a4f565b600281106137ea57600080fd5b60008083601f840112613b7e57600080fd5b50813567ffffffffffffffff811115613b9657600080fd5b6020830191508360208260051b85010111156139bf57600080fd5b60008060008060008060008060a0898b031215613bcd57600080fd5b8835613bd881613b5f565b97506020890135613be8816138f3565b9650604089013567ffffffffffffffff80821115613c0557600080fd5b613c118c838d0161397d565b909850965060608b0135915080821115613c2a57600080fd5b613c368c838d01613b6c565b909650945060808b0135915080821115613c4f57600080fd5b50613c5c8b828c01613b6c565b999c989b5096995094979396929594505050565b600080600060608486031215613c8557600080fd5b8335613c9081613b5f565b95602085013595506040909401359392505050565b60008060408385031215613cb857600080fd5b8235613cc381613b5f565b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160a0810167ffffffffffffffff81118282101715613d2357613d23613cd1565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715613d5257613d52613cd1565b604052919050565b600067ffffffffffffffff821115613d7457613d74613cd1565b50601f01601f191660200190565b600082601f830112613d9357600080fd5b8135613da6613da182613d5a565b613d29565b818152846020838601011115613dbb57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060408385031215613deb57600080fd5b8235613df6816138f3565b9150602083013567ffffffffffffffff811115613e1257600080fd5b613e1e85828601613d82565b9150509250929050565b600080600060608486031215613e3d57600080fd5b8335613e4881613b5f565b9250602084013591506040840135613e5f816138f3565b809150509250925092565b600080600060608486031215613e7f57600080fd5b8335613e8a81613b5f565b92506020840135613e9a816138f3565b929592945050506040919091013590565b60008060008060008060008060a0898b031215613ec757600080fd5b8835613bd8816138f3565b600080600080600080600060a0888a031215613eed57600080fd5b8735613ef881613b5f565b96506020880135613f08816138f3565b955060408801359450606088013567ffffffffffffffff80821115613f2c57600080fd5b613f388b838c01613b6c565b909650945060808a0135915080821115613f5157600080fd5b50613f5e8a828b01613b6c565b989b979a50959850939692959293505050565b818352818160208501375060006020828401015260006020601f19601f840116840101905092915050565b60208152600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112613fd457600080fd5b830160208101903567ffffffffffffffff811115613ff157600080fd5b80360382131561400057600080fd5b60a0602085015261401560c085018284613f71565b91505061402460208501613915565b73ffffffffffffffffffffffffffffffffffffffff811660408501525061404d60408501613915565b73ffffffffffffffffffffffffffffffffffffffff811660608501525060608401356080840152608084013560a08401528091505092915050565b80151581146137ea57600080fd5b600080604083850312156140a957600080fd5b8235613df681614088565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361410c577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b600181811c9082168061412757607f821691505b602082108103614160577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b8051613920816138f3565b6000602082840312156141b257600080fd5b8151611994816138f3565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082516141fe818460208701613a2b565b9190910192915050565b73ffffffffffffffffffffffffffffffffffffffff831681526040602082015260006117126040830184613a4f565b600067ffffffffffffffff82111561425157614251613cd1565b5060051b60200190565b6000614269613da184614237565b80848252602080830192508560051b85013681111561428757600080fd5b855b818110156142c357803567ffffffffffffffff8111156142a95760008081fd5b6142b536828a01613d82565b865250938201938201614289565b50919695505050505050565b60208082528181018390526000908460408401835b8681101561431f5782356142f7816138f3565b73ffffffffffffffffffffffffffffffffffffffff16825291830191908301906001016142e4565b509695505050505050565b60006020828403121561433c57600080fd5b815161199481614088565b6000806040838503121561435a57600080fd5b82359150602083013567ffffffffffffffff811115613e1257600080fd5b600082601f83011261438957600080fd5b8151614397613da182613d5a565b8181528460208386010111156143ac57600080fd5b611712826020830160208701613a2b565b80516006811061392057600080fd5b6000604082840312156143de57600080fd5b6040516040810181811067ffffffffffffffff8211171561440157614401613cd1565b604052905080614410836143bd565b815261441e602084016143bd565b60208201525092915050565b805160ff8116811461392057600080fd5b600082601f83011261444c57600080fd5b8151602061445c613da183614237565b82815260059290921b8401810191818101908684111561447b57600080fd5b8286015b8481101561431f576144908161442a565b835291830191830161447f565b6000602082840312156144af57600080fd5b815167ffffffffffffffff808211156144c757600080fd5b9083019060c082860312156144db57600080fd5b6144e3613d00565b8251828111156144f257600080fd5b6144fe87828601614378565b82525061450d60208401614195565b602082015261451f86604085016143cc565b604082015260808301518281111561453657600080fd5b6145428782860161443b565b60608301525060a08301518281111561455a57600080fd5b6145668782860161443b565b60808301525095945050505050565b60006020828403121561458757600080fd5b815167ffffffffffffffff81111561459e57600080fd5b61171284828501614378565b6000602082840312156145bc57600080fd5b813567ffffffffffffffff808211156145d457600080fd5b9083019060a082860312156145e857600080fd5b6145f0613d00565b8235828111156145ff57600080fd5b61460b87828601613d82565b8252506020830135915061461e826138f3565b816020820152604083013560408201526060830135915061463e826138f3565b8160608201526080830135608082015280935050505092915050565b60006020828403121561466c57600080fd5b6119948261442a565b601f8211156146bb57600081815260208120601f850160051c8101602086101561469c5750805b601f850160051c820191505b81811015612038578281556001016146a8565b505050565b815167ffffffffffffffff8111156146da576146da613cd1565b6146ee816146e88454614113565b84614675565b602080601f831160018114614741576000841561470b5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555612038565b600085815260208120601f198616915b8281101561477057888601518255948401946001909101908401614751565b50858210156147ac57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b6020815260008251604060208401526147d86060840182613a4f565b90506020840151601f19848303016040850152610cf58282613a4f565b6000806040838503121561480857600080fd5b825161481381613b5f565b602084015190925067ffffffffffffffff81111561483057600080fd5b613e1e85828601614378565b60006020828403121561484e57600080fd5b815167ffffffffffffffff8082111561486657600080fd5b9083019060a0828603121561487a57600080fd5b614882613d00565b82518281111561489157600080fd5b61489d87828601614378565b825250602083015191506148b0826138f3565b81602082015260408301516040820152606083015191506148d0826138f3565b8160608201526080830151608082015280935050505092915050565b60a0815260006148ff60a0830188613a4f565b73ffffffffffffffffffffffffffffffffffffffff968716602084015260408301959095525091909316606082015260800191909152919050565b60068110614971577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b60e08152600061498860e083018a613a4f565b905073ffffffffffffffffffffffffffffffffffffffff80891660208401526149b4604084018961493a565b60608301879052851660808301526149cf60a083018561493a565b8260c083015298975050505050505050565b6040815260006149f46040830185613a4f565b905073ffffffffffffffffffffffffffffffffffffffff831660208301529392505050565b600080600060608486031215614a2e57600080fd5b8351614a3981613b5f565b602085015190935067ffffffffffffffff811115614a5657600080fd5b614a6286828701614378565b92505060408401519050925092509256fea2646970667358221220258178ab529cffb4ff863013666f66a9b26a909e8f1e6c95e23e6fe2c2394bd364736f6c634300081300330000000000000000000000005b81030c087d41558e3fcf23b3575e85c9a768e600000000000000000000000051870a0659a87c7b46baef7311b3128006e1fb16000000000000000000000000826a953332df2e1a994c7cfae68e129ba683aa8f000000000000000000000000c4f7e87f9ff2a2df9bc7ff8399558b594ebf911a000000000000000000000000518ccd79e0e7b75fd5fcc09463fb09cb7d55470d", + "nonce": "0x801", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xb86c38745a8d892c1604649381942ca13b63cfe211e0b01efce0887852361d11", + "transactionType": "CREATE", + "contractName": "LicensingModule", + "contractAddress": "0x058bB0D7795CfA2a46C60C0b63F8f0fa7cD1EEd5", + "function": null, + "arguments": [ + "(0x5B81030C087d41558E3FCF23B3575E85c9A768e6, 0x51870A0659A87c7B46baEF7311B3128006E1FB16, 0x826a953332Df2e1a994C7CFae68E129ba683Aa8F, 0xC4F7E87F9FF2A2DF9bC7FF8399558B594EBF911A)", + "0x3113e5bfe2251A9fcA1225083cf6d36547E63e07", + "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x5650df", + "value": "0x0", + "data": "0x6101406040523480156200001257600080fd5b50604051620050eb380380620050eb833981016040819052620000359162000167565b602083015183906001600160a01b038116620000645760405163134141bd60e11b815260040160405180910390fd5b6001600160a01b039081166080528151166200009357604051636028d8f760e01b815260040160405180910390fd5b80516001600160a01b0390811660a052604082015116620000c757604051635a70c46160e11b815260040160405180910390fd5b60408101516001600160a01b0390811660c052606090910151811660e0528216620001055760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03808316610100528116620001345760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03166101205250620002319050565b80516001600160a01b03811681146200016257600080fd5b919050565b600080600083850360c08112156200017e57600080fd5b60808112156200018d57600080fd5b50604051608081016001600160401b0381118282101715620001bf57634e487b7160e01b600052604160045260246000fd5b604052620001cd856200014a565b8152620001dd602086016200014a565b6020820152620001f0604086016200014a565b604082015262000203606086016200014a565b6060820152925062000218608085016200014a565b91506200022860a085016200014a565b90509250925092565b60805160a05160c05160e0516101005161012051614dfa620002f1600039600081816102de015261348f0152600081816103180152818161231d015281816124e3015281816126430152613394015260006102260152600081816103ff01528181611f7a0152818161206b01528181612a1401528181612b0d01528181612c330152818161323c01526135250152600081816103b201526132ce0152600081816103780152818161096001528181610f3c01526118270152614dfa6000f3fe608060405234801561001057600080fd5b50600436106101825760003560e01c806376a4b13b116100d8578063bc12fcca1161008c578063e8fb5c9b11610066578063e8fb5c9b146103e7578063f0ebdc83146103fa578063fba854e01461042157600080fd5b8063bc12fcca1461039a578063d2faf8b0146103ad578063e5720404146103d457600080fd5b8063a5b04d45116100bd578063a5b04d451461034d578063b6efd29d14610360578063b95ddb521461037357600080fd5b806376a4b13b1461031357806377379d941461033a57600080fd5b806351e06b901161013a57806368a4f0711161011457806368a4f071146102c6578063743fee4a146102d95780637448c5681461030057600080fd5b806351e06b9014610221578063562573a91461026d578063582d35d7146102b357600080fd5b806332ee68131161016b57806332ee6813146101c45780634fa4467c146101f95780634fcbd2131461020157600080fd5b806301ffc9a7146101875780632fa7bc99146101af575b600080fd5b61019a610195366004613b09565b610434565b60405190151581526020015b60405180910390f35b6101c26101bd366004613b94565b610519565b005b6101eb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81565b6040519081526020016101a6565b6101eb600a81565b61021461020f366004613c02565b610946565b6040516101a69190613cb7565b6102487f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101a6565b6102a661027b366004613cca565b73ffffffffffffffffffffffffffffffffffffffff1660009081526006602052604090205460ff1690565b6040516101a69190613d2a565b6102146102c1366004613d38565b6109ce565b6102146102d4366004613d81565b610af1565b6102487f000000000000000000000000000000000000000000000000000000000000000081565b6101eb61030e366004613db6565b610ccb565b6102487f000000000000000000000000000000000000000000000000000000000000000081565b61019a610348366004613de2565b610cdf565b6101c261035b366004613e24565b610d17565b61021461036e366004613eaa565b610f22565b6102487f000000000000000000000000000000000000000000000000000000000000000081565b6101eb6103a8366004613db6565b611085565b6102487f000000000000000000000000000000000000000000000000000000000000000081565b6102486103e2366004613d81565b611091565b6101eb6103f5366004613de2565b611189565b6102487f000000000000000000000000000000000000000000000000000000000000000081565b6101c261042f366004613f69565b61119e565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f2fa7bc990000000000000000000000000000000000000000000000000000000014806104c757507fffffffff0000000000000000000000000000000000000000000000000000000082167ff924008e00000000000000000000000000000000000000000000000000000000145b8061051357507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60008061052883850185614128565b91509150811561083557600085815260046020526040812060070180549161054f8361418c565b9091555050600085815260046020908152604091829020825161010081018452815473ffffffffffffffffffffffffffffffffffffffff90811682526001830154169281019290925260028101805461082f94840191906105af906141eb565b80601f01602080910402602001604051908101604052809291908181526020018280546105db906141eb565b80156106285780601f106105fd57610100808354040283529160200191610628565b820191906000526020600020905b81548152906001019060200180831161060b57829003601f168201915b5050505050815260200160038201805480602002602001604051908101604052809291908181526020016000905b82821015610702578382906000526020600020018054610675906141eb565b80601f01602080910402602001604051908101604052809291908181526020018280546106a1906141eb565b80156106ee5780601f106106c3576101008083540402835291602001916106ee565b820191906000526020600020905b8154815290600101906020018083116106d157829003601f168201915b505050505081526020019060010190610656565b50505050815260200160048201805480602002602001604051908101604052809291908181526020016000905b828210156107db57838290600052602060002001805461074e906141eb565b80601f016020809104026020016040519081016040528092919081815260200182805461077a906141eb565b80156107c75780601f1061079c576101008083540402835291602001916107c7565b820191906000526020600020905b8154815290600101906020018083116107aa57829003601f168201915b50505050508152602001906001019061072f565b5050509082525060058201546020820152600682015460409091019060ff16600181111561080b5761080b613ce7565b600181111561081c5761081c613ce7565b815260200160078201548152505061137c565b5061089a565b6000858152600460205260409081902060010154905173ffffffffffffffffffffffffffffffffffffffff909116907f7f7ce7cf4c1b43e1bf51034d0ad7062abb9d4529c7bb0510d512249b0fb7145290610891908490613cb7565b60405180910390a25b600085815260046020526040812080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811682556001820180549091169055906108e96002830182613a08565b6108f7600383016000613a45565b610905600483016000613a45565b506000600582018190556006820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690556007909101555050505050565b60603373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146109b7576040517f72823b5400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6109c385858585611486565b90505b949350505050565b6060600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610a5085858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061150892505050565b81526020019081526020016000208054610a69906141eb565b80601f0160208091040260200160405190810160405280929190818152602001828054610a95906141eb565b8015610ae25780601f10610ab757610100808354040283529160200191610ae2565b820191906000526020600020905b815481529060010190602001808311610ac557829003601f168201915b505050505090505b9392505050565b60606000610aff858561155f565b805480602002602001604051908101604052809291908181526020016000905b82821015610bcb578382906000526020600020018054610b3e906141eb565b80601f0160208091040260200160405190810160405280929190818152602001828054610b6a906141eb565b8015610bb75780601f10610b8c57610100808354040283529160200191610bb7565b820191906000526020600020905b815481529060010190602001808311610b9a57829003601f168201915b505050505081526020019060010190610b1f565b50505050905080518310610c13576040517f9c7692bf000000000000000000000000000000000000000000000000000000008152600481018490526024015b60405180910390fd5b610c1d858561155f565b8381548110610c2e57610c2e61423e565b906000526020600020018054610c43906141eb565b80601f0160208091040260200160405190810160405280929190818152602001828054610c6f906141eb565b8015610cbc5780601f10610c9157610100808354040283529160200191610cbc565b820191906000526020600020905b815481529060010190602001808311610c9f57829003601f168201915b50505050509150509392505050565b6000610cd783836115a1565b549392505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610d0d858585611189565b1415949350505050565b8173ffffffffffffffffffffffffffffffffffffffff8116610d65576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610db0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dd4919061426d565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e38576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000846001811115610e4c57610e4c613ce7565b148015610e66575060008281526020819052604090205415155b15610e9e576000828152602081905260408120610e8291613a63565b6000828152600260205260408120610e9991613a45565b610ee0565b60008281526001602052604090205415610ee0576000828152600160205260408120610ec991613a63565b6000828152600360205260408120610ee091613a45565b81846001811115610ef357610ef3613ce7565b6040517f1fe48a4ec69671720d8bdd8f8a6853d16f486c0bb91fcaf5b8ffc4932b8bc9f490600090a350505050565b60603373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610f93576040517f72823b5400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60007fff5c818c3a09617e24e0ba5e97a8b336e42589e94d6f586a74a28d768ee2c8cb905060006040518061010001604052808c73ffffffffffffffffffffffffffffffffffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505090825250602001611044888a6142ce565b815260200161105386886142ce565b81526020810184905260400160008152602001600081525090506110768161137c565b9b9a5050505050505050505050565b6000610cd7838361155f565b60008061109e85856115a1565b8054806020026020016040519081016040528092919081815260200182805480156110ff57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116110d4575b5050505050905080518310611143576040517f9c7692bf00000000000000000000000000000000000000000000000000000000815260048101849052602401610c0a565b61114d85856115a1565b838154811061115e5761115e61423e565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1695945050505050565b60006109c661119885856115a1565b836115e3565b8573ffffffffffffffffffffffffffffffffffffffff81166111ec576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611237573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061125b919061426d565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146112bf576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6112ca888888610d17565b6113266112d789886115a1565b6112e18a8961155f565b87878080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061132192508891508990506142ce565b61167d565b8588600181111561133957611339613ce7565b7f5e140eb5bed8bcb1664a04c0be4aa419e0d2dbf1277a4a6770882a0beb3b91b2878760405161136a929190614342565b60405180910390a35050505050505050565b606060008260c00151600181111561139657611396613ce7565b1480156113a957506113a782611abf565b155b1561140957816020015173ffffffffffffffffffffffffffffffffffffffff167fa1e5a8c0fde3fa4d7320c3f9de0ab0a2c1ee6e891e6a513ca0811ddcf768b59460405160405180910390a2505060408051602081019091526000815290565b611420826000015183602001518460400151611e96565b600160c0840152600060e0840152905061143982611abf565b50816020015173ffffffffffffffffffffffffffffffffffffffff167f4ec4635a4d1f6ebe9ee3a059f74fc5d802e04d2d115c4090337a34e3b137c98a60405160405180910390a2919050565b60606000806114978486018661439d565b915091507f8b21f20183a523515c357db6dba25c92b138630b63988ca3e60a6be86c8da04582036114d6576114cd878783612129565b925050506109c6565b6040517f96bb42f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080829050601f8151111561154c57826040517f305a27a9000000000000000000000000000000000000000000000000000000008152600401610c0a9190613cb7565b8051611557826143da565b179392505050565b60008083600181111561157457611574613ce7565b0361158d57506000818152600260205260409020610513565b506000818152600360205260409020610513565b6000808360018111156115b6576115b6613ce7565b036115cf57506000818152602081905260409020610513565b506000818152600160205260409020610513565b8154600090815b81811015611653578373ffffffffffffffffffffffffffffffffffffffff1685828154811061161b5761161b61423e565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff160361164b5791506105139050565b6001016115ea565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff949350505050565b8151600a8111156116ba576040517f760fb4ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b808251146116f4576040517f3021beb200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b81811015611ab757600073ffffffffffffffffffffffffffffffffffffffff168482815181106117295761172961423e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff160361177e576040517f7d4de38200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000811180156117ee575083600182038151811061179e5761179e61423e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff168482815181106117ce576117ce61423e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff16145b15611825576040517fd696c40800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166382984f308583815181106118735761187361423e565b60200260200101516040518263ffffffff1660e01b81526004016118b3919073ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b602060405180830381865afa1580156118d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118f4919061441c565b6119615783818151811061190a5761190a61423e565b60200260200101516040517f5a987388000000000000000000000000000000000000000000000000000000008152600401610c0a919073ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b8381815181106119735761197361423e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1663a913b8818483815181106119a8576119a861423e565b60200260200101516040518263ffffffff1660e01b81526004016119cc9190613cb7565b60006040518083038186803b1580156119e457600080fd5b505afa1580156119f8573d6000803e3d6000fd5b5050505085848281518110611a0f57611a0f61423e565b60209081029190910181015182546001810184556000938452919092200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90921691909117905582518590849083908110611a8557611a8561423e565b60209081029190910181015182546001810184556000938452919092200190611aae9082614484565b506001016116f7565b505050505050565b600080611ad48360c001518460a001516115a1565b805480602002602001604051908101604052809291908181526020018280548015611b3557602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311611b0a575b505050505090506000611b508460c001518560a0015161155f565b805480602002602001604051908101604052809291908181526020016000905b82821015611c1c578382906000526020600020018054611b8f906141eb565b80601f0160208091040260200160405190810160405280929190818152602001828054611bbb906141eb565b8015611c085780601f10611bdd57610100808354040283529160200191611c08565b820191906000526020600020905b815481529060010190602001808311611beb57829003601f168201915b505050505081526020019060010190611b70565b50508451929350600091508190508660c001516001811115611c4057611c40613ce7565b14611c4f578560800151611c55565b85606001515b905081815114611cad578560c001516001811115611c7557611c75613ce7565b6040517f3171c36f00000000000000000000000000000000000000000000000000000000815260ff9091166004820152602401610c0a565b60e08601515b82811015611e8957808760e001818152505060006040518060400160405280868481518110611ce457611ce461423e565b60200260200101518152602001848481518110611d0357611d0361423e565b602002602001015181525090506000611d60878481518110611d2757611d2761423e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673800000000000000000000000000000000000000016151590565b15611e2557868381518110611d7757611d7761423e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff166334e5d29f83604051602001611dab9190614580565b6040516020818303038152906040526040518263ffffffff1660e01b8152600401611dd69190613cb7565b6000604051808303816000875af1158015611df5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611e1d9190810190614607565b509050611e4c565b611e49878481518110611e3a57611e3a61423e565b6020026020010151838b6127bd565b90505b6001816001811115611e6057611e60613ce7565b14611e745750600098975050505050505050565b50508080611e819061418c565b915050611cb3565b5060019695505050505050565b606060008083806020019051810190611eaf919061464e565b915091507f3f92a83f1dd77188c62fa393a54ccf9854be836ca6c243397d0acbbce04723878203611eee57611ee58686836129a1565b92505050610aea565b7f5281374dd3fc2bb7839f50fddfb6a14a666cb4d23b20d6aecf9b9950d103b3368203611ff257600081806020019051810190611f2b919061467f565b6040517f1f09e4e50000000000000000000000000000000000000000000000000000000081526004810182905273ffffffffffffffffffffffffffffffffffffffff88811660248301529192507f000000000000000000000000000000000000000000000000000000000000000090911690631f09e4e590604401600060405180830381600087803b158015611fc057600080fd5b505af1158015611fd4573d6000803e3d6000fd5b50505050604051806020016040528060008152509350505050610aea565b7f29def77ab981c01a6b53c58b23dd89ac4447095f721298424063ed3f16962ac682036120f757600080828060200190518101906120309190614698565b6040517f71e074dd000000000000000000000000000000000000000000000000000000008152600481018390526024810182905291935091507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906371e074dd90604401600060405180830381600087803b1580156120c457600080fd5b505af11580156120d8573d6000803e3d6000fd5b5050505060405180602001604052806000815250945050505050610aea565b6040517f8c3cdde800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60608273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561218d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121b1919061426d565b73ffffffffffffffffffffffffffffffffffffffff16146121fe576040517f679dd15600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600082806020019051810190612214919061477f565b905060008160400151600281111561222e5761222e613ce7565b03612265576040517fbe53f1bf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff821660009081526006602052604090205460ff1660028111156122a2576122a2613ce7565b146122d9576040517f58d7c9ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602082015182516040517f7859a97e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001691637859a97e916123519190600401613cb7565b602060405180830381865afa15801561236e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612392919061467f565b815111156123cc576040517f7c22012400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408084015173ffffffffffffffffffffffffffffffffffffffff8416600090815260066020529190912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600183600281111561242f5761242f613ce7565b0217905550825173ffffffffffffffffffffffffffffffffffffffff83166000908152600760205260409020906124669082614484565b5073ffffffffffffffffffffffffffffffffffffffff808316600081815260056020526040908190208451875192517feae376e300000000000000000000000000000000000000000000000000000000815291949093927fffedbcce1b94ebe928a55b7ca34c76074cbe7f467d561b9c0589d5d985b39be39290917f0000000000000000000000000000000000000000000000000000000000000000169063eae376e390612518908490600401613cb7565b600060405180830381865afa158015612535573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261255d919081019061482b565b886040015160405161257193929190614860565b60405180910390a260005b818110156127a05760008482815181106125985761259861423e565b6020026020010151905060008460008360000151815260200190815260200160002080546125c5906141eb565b905011156125ff576040517f1590386a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b865181516040517fc2e26bbb00000000000000000000000000000000000000000000000000000000815260009273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169263c2e26bbb92612678929190600401614895565b600060405180830381865afa158015612695573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526126bd9190810190614965565b90506126cd818360200151612e03565b612703576040517fac6293b300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60208083015183516000908152918790526040909120906127249082614484565b508673ffffffffffffffffffffffffffffffffffffffff167f9c3f6f42e7e2cb05b8a3b21a99f597eb17f3f57ab9156b34f81fb51f221a1d3a61276a84600001516130ac565b836020015185602001516040516127839392919061499a565b60405180910390a2505080806127989061418c565b91505061257c565b505060408051602081019091526000815298975050505050505050565b60008060008573ffffffffffffffffffffffffffffffffffffffff16635260a98c866040516020016127ef9190614580565b604051602081830303815290604052306040518363ffffffff1660e01b815260040161281c9291906149df565b6000604051808303816000875af115801561283b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526128639190810190614a17565b9193509091506000905082600181111561287f5761287f613ce7565b0361299857600081815260046020908152604091829020865181547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff928316178355928801516001830180549094169116179091559085015185919060028201906129029082614484565b506060820151805161291e916003840191602090910190613a81565b506080820151805161293a916004840191602090910190613a81565b5060a0820151600582015560c08201516006820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001838181111561298557612985613ce7565b021790555060e082015181600701559050505b50949350505050565b60606000828060200190518101906129b99190614a71565b905060006129d18686846020015185604001516130eb565b90508160200151600014612aca5760208201516040517fe705c2b800000000000000000000000000000000000000000000000000000000815260048101919091527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063e705c2b890602401602060405180830381865afa158015612a70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a94919061441c565b612aca576040517f37efd03900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602082015115801590612b8d575060208201516040517f3c06e1dc00000000000000000000000000000000000000000000000000000000815260048101919091527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690633c06e1dc90602401602060405180830381865afa158015612b69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b8d919061441c565b15612cca5781515115612bcc576040517f4af02eb800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602082015160408084015190517fd09d894e000000000000000000000000000000000000000000000000000000008152600481019290925273ffffffffffffffffffffffffffffffffffffffff8381166024840152878116604484015260648301919091527f0000000000000000000000000000000000000000000000000000000000000000169063d09d894e906084016020604051808303816000875af1158015612c7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ca0919061467f565b604051602001612cb291815260200190565b60405160208183030381529060405292505050610aea565b8473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614612d2f576040517f2d05516900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612ca086868385600760008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054612d80906141eb565b80601f0160208091040260200160405190810160405280929190818152602001828054612dac906141eb565b8015612df95780601f10612dce57610100808354040283529160200191612df9565b820191906000526020600020905b815481529060010190602001808311612ddc57829003601f168201915b505050505061338f565b60007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470828051906020012003612e3b57506001610513565b600083602001516005811115612e5357612e53613ce7565b03612e765781806020019051810190612e6c919061441c565b5060019050610513565b600183602001516005811115612e8e57612e8e613ce7565b03612ebb5781806020019051810190612ea7919061467f565b600003612eb657506000610513565b6130a3565b600283602001516005811115612ed357612ed3613ce7565b03612f2757600073ffffffffffffffffffffffffffffffffffffffff1682806020019051810190612f04919061426d565b73ffffffffffffffffffffffffffffffffffffffff1603612eb657506000610513565b600383602001516005811115612f3f57612f3f613ce7565b036130075781806020019051810190612f58919061482b565b50604051602001612f9a9060208082526001908201527f2000000000000000000000000000000000000000000000000000000000000000604082015260600190565b6040516020818303038152906040528051906020012082805190602001201480612ffa5750604051602001612fda90602080825260009082015260400190565b604051602081830303815290604052805190602001208280519060200120145b15612eb657506000610513565b60048360200151600581111561301f5761301f613ce7565b036130555760008280602001905181019061303a9190614af5565b9050805160000361304f576000915050610513565b506130a3565b60058360200151600581111561306d5761306d613ce7565b036130a3576000836060015180602001905181019061308c9190614af5565b905080516000036130a1576000915050610513565b505b50600192915050565b606060006130b9836135d3565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b73ffffffffffffffffffffffffffffffffffffffff841660009081526006602052604081205460ff168181600281111561312757613127613ce7565b0361315e576040517f8c17640800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600181600281111561317257613172613ce7565b036131ee578573ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156131c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131e6919061426d565b9150506109c6565b600281600281111561320257613202613ce7565b0361335d578315613299576040517f6352211e000000000000000000000000000000000000000000000000000000008152600481018590527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690636352211e906024015b602060405180830381865afa1580156131c2573d6000803e3d6000fd5b8215613312576040517f299d1cf6000000000000000000000000000000000000000000000000000000008152600481018490527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063299d1cf69060240161327c565b8573ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156131c2573d6000803e3d6000fd5b6040517fbe53f1bf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e75afa55846040518263ffffffff1660e01b81526004016133eb9190613cb7565b600060405180830381865afa158015613408573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526134309190810190614b86565b90506000806000806134478b896000015187613614565b935093509350935060006040518061014001604052806001600381111561347057613470613ce7565b81526020018515158152602001841515815260200183151581526020017f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018d73ffffffffffffffffffffffffffffffffffffffff16815260200161350a8a611508565b81526020018a6040015181526020018a6020015181525090507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663eb683a49828d886040518463ffffffff1660e01b815260040161358093929190614cb0565b6020604051808303816000875af115801561359f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135c3919061467f565b9c9b505050505050505050505050565b600060ff8216601f811115610513576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815173ffffffffffffffffffffffffffffffffffffffff841660009081526005602052604081208351606093839283928067ffffffffffffffff81111561365d5761365d614016565b6040519080825280602002602001820160405280156136a357816020015b60408051808201909152600081526060602082015281526020019060019003908161367b5790505b50965060005b818110156139375760008982815181106136c5576136c561423e565b6020026020010151905060008460008360000151815260200190815260200160002080546136f2906141eb565b80601f016020809104026020016040519081016040528092919081815260200182805461371e906141eb565b801561376b5780601f106137405761010080835404028352916020019161376b565b820191906000526020600020905b81548152906001019060200180831161374e57829003601f168201915b50505050509050606060005b878110156137d15760008e82815181106137935761379361423e565b602002602001015190506137ae816000015186600001511490565b156137be576020015191506137d1565b50806137c98161418c565b915050613777565b5060006137df828486613952565b9050604051806040016040528085600001518152602001828152508c868151811061380c5761380c61423e565b60200260200101819052507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081805190602001200361384e5750505050613925565b61389184600001516040518060400160405280601381526020017f44657269766174697665732d416c6c6f776564000000000000000000000000008152506139f5565b156138b157808060200190518101906138aa919061441c565b9a50613920565b6138f484600001516040518060400160405280601b81526020017f44657269766174697665732d416c6c6f7765642d4f7074696f6e7300000000008152506139f5565b156139205760008180602001905181019061390f919061467f565b6001811615159b5060021615159950505b505050505b8061392f8161418c565b9150506136a9565b50856139465760009450600093505b50505093509350935093565b8251606090156139dc57825115613995576040517f42445ce000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61399f8285612e03565b6139d5576040517f5bcde08d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5082610aea565b8251156139ea575081610aea565b506040810151610aea565b6000610aea83613a0484611508565b1490565b508054613a14906141eb565b6000825580601f10613a24575050565b601f016020900490600052602060002090810190613a429190613ad7565b50565b5080546000825590600052602060002090810190613a429190613aec565b5080546000825590600052602060002090810190613a429190613ad7565b828054828255906000526020600020908101928215613ac7579160200282015b82811115613ac75782518290613ab79082614484565b5091602001919060010190613aa1565b50613ad3929150613aec565b5090565b5b80821115613ad35760008155600101613ad8565b80821115613ad3576000613b008282613a08565b50600101613aec565b600060208284031215613b1b57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610aea57600080fd5b60008083601f840112613b5d57600080fd5b50813567ffffffffffffffff811115613b7557600080fd5b602083019150836020828501011115613b8d57600080fd5b9250929050565b600080600060408486031215613ba957600080fd5b83359250602084013567ffffffffffffffff811115613bc757600080fd5b613bd386828701613b4b565b9497909650939450505050565b73ffffffffffffffffffffffffffffffffffffffff81168114613a4257600080fd5b60008060008060608587031215613c1857600080fd5b8435613c2381613be0565b93506020850135613c3381613be0565b9250604085013567ffffffffffffffff811115613c4f57600080fd5b613c5b87828801613b4b565b95989497509550505050565b60005b83811015613c82578181015183820152602001613c6a565b50506000910152565b60008151808452613ca3816020860160208601613c67565b601f01601f19169290920160200192915050565b602081526000610aea6020830184613c8b565b600060208284031215613cdc57600080fd5b8135610aea81613be0565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60038110613d2657613d26613ce7565b9052565b602081016105138284613d16565b600080600060408486031215613d4d57600080fd5b8335613d5881613be0565b9250602084013567ffffffffffffffff811115613bc757600080fd5b60028110613a4257600080fd5b600080600060608486031215613d9657600080fd5b8335613da181613d74565b95602085013595506040909401359392505050565b60008060408385031215613dc957600080fd5b8235613dd481613d74565b946020939093013593505050565b600080600060608486031215613df757600080fd5b8335613e0281613d74565b9250602084013591506040840135613e1981613be0565b809150509250925092565b600080600060608486031215613e3957600080fd5b8335613e4481613d74565b92506020840135613e5481613be0565b929592945050506040919091013590565b60008083601f840112613e7757600080fd5b50813567ffffffffffffffff811115613e8f57600080fd5b6020830191508360208260051b8501011115613b8d57600080fd5b60008060008060008060008060a0898b031215613ec657600080fd5b8835613ed181613be0565b97506020890135613ee181613be0565b9650604089013567ffffffffffffffff80821115613efe57600080fd5b613f0a8c838d01613b4b565b909850965060608b0135915080821115613f2357600080fd5b613f2f8c838d01613e65565b909650945060808b0135915080821115613f4857600080fd5b50613f558b828c01613e65565b999c989b5096995094979396929594505050565b600080600080600080600060a0888a031215613f8457600080fd5b8735613f8f81613d74565b96506020880135613f9f81613be0565b955060408801359450606088013567ffffffffffffffff80821115613fc357600080fd5b613fcf8b838c01613e65565b909650945060808a0135915080821115613fe857600080fd5b50613ff58a828b01613e65565b989b979a50959850939692959293505050565b8015158114613a4257600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561406857614068614016565b60405290565b6040516060810167ffffffffffffffff8111828210171561406857614068614016565b604051601f8201601f1916810167ffffffffffffffff811182821017156140ba576140ba614016565b604052919050565b600067ffffffffffffffff8211156140dc576140dc614016565b50601f01601f191660200190565b60006140fd6140f8846140c2565b614091565b905082815283838301111561411157600080fd5b828260208301376000602084830101529392505050565b6000806040838503121561413b57600080fd5b823561414681614008565b9150602083013567ffffffffffffffff81111561416257600080fd5b8301601f8101851361417357600080fd5b614182858235602084016140ea565b9150509250929050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036141e4577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b600181811c908216806141ff57607f821691505b602082108103614238577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006020828403121561427f57600080fd5b8151610aea81613be0565b600067ffffffffffffffff8211156142a4576142a4614016565b5060051b60200190565b600082601f8301126142bf57600080fd5b610aea838335602085016140ea565b60006142dc6140f88461428a565b80848252602080830192508560051b8501368111156142fa57600080fd5b855b8181101561433657803567ffffffffffffffff81111561431c5760008081fd5b61432836828a016142ae565b8652509382019382016142fc565b50919695505050505050565b60208082528181018390526000908460408401835b8681101561439257823561436a81613be0565b73ffffffffffffffffffffffffffffffffffffffff1682529183019190830190600101614357565b509695505050505050565b600080604083850312156143b057600080fd5b82359150602083013567ffffffffffffffff8111156143ce57600080fd5b614182858286016142ae565b80516020808301519190811015614238577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60209190910360031b1b16919050565b60006020828403121561442e57600080fd5b8151610aea81614008565b601f82111561447f57600081815260208120601f850160051c810160208610156144605750805b601f850160051c820191505b81811015611ab75782815560010161446c565b505050565b815167ffffffffffffffff81111561449e5761449e614016565b6144b2816144ac84546141eb565b84614439565b602080601f83116001811461450557600084156144cf5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555611ab7565b600085815260208120601f198616915b8281101561453457888601518255948401946001909101908401614515565b508582101561457057878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b60208152600082516040602084015261459c6060840182613c8b565b90506020840151601f198483030160408501526145b98282613c8b565b95945050505050565b600082601f8301126145d357600080fd5b81516145e16140f8826140c2565b8181528460208386010111156145f657600080fd5b6109c6826020830160208701613c67565b6000806040838503121561461a57600080fd5b825161462581613d74565b602084015190925067ffffffffffffffff81111561464257600080fd5b614182858286016145c2565b6000806040838503121561466157600080fd5b82519150602083015167ffffffffffffffff81111561464257600080fd5b60006020828403121561469157600080fd5b5051919050565b600080604083850312156146ab57600080fd5b505080516020909101519092909150565b600082601f8301126146cd57600080fd5b815160206146dd6140f88361428a565b82815260059290921b840181019181810190868411156146fc57600080fd5b8286015b8481101561439257805167ffffffffffffffff808211156147215760008081fd5b8189019150604080601f19848d0301121561473c5760008081fd5b614744614045565b83880151815290830151908282111561475d5760008081fd5b61476b8c89848701016145c2565b818901528652505050918301918301614700565b60006020828403121561479157600080fd5b815167ffffffffffffffff808211156147a957600080fd5b90830190606082860312156147bd57600080fd5b6147c561406e565b8251828111156147d457600080fd5b6147e0878286016145c2565b8252506020830151828111156147f557600080fd5b614801878286016146bc565b602083015250604083015192506003831061481b57600080fd5b6040810192909252509392505050565b60006020828403121561483d57600080fd5b815167ffffffffffffffff81111561485457600080fd5b6109c6848285016145c2565b6060815260006148736060830186613c8b565b82810360208401526148858186613c8b565b9150506109c66040830184613d16565b6040815260006148a86040830185613c8b565b90508260208301529392505050565b6000608082840312156148c957600080fd5b6040516080810167ffffffffffffffff82821081831117156148ed576148ed614016565b8160405282935084518352602085015191506006821061490c57600080fd5b816020840152604085015191508082111561492657600080fd5b614932868387016145c2565b6040840152606085015191508082111561494b57600080fd5b50614958858286016145c2565b6060830152505092915050565b60006020828403121561497757600080fd5b815167ffffffffffffffff81111561498e57600080fd5b6109c6848285016148b7565b6060815260006149ad6060830186613c8b565b600685106149bd576149bd613ce7565b84602084015282810360408401526149d58185613c8b565b9695505050505050565b6040815260006149f26040830185613c8b565b905073ffffffffffffffffffffffffffffffffffffffff831660208301529392505050565b600080600060608486031215614a2c57600080fd5b8351614a3781613d74565b602085015190935067ffffffffffffffff811115614a5457600080fd5b614a60868287016145c2565b925050604084015190509250925092565b600060208284031215614a8357600080fd5b815167ffffffffffffffff80821115614a9b57600080fd5b9083019060608286031215614aaf57600080fd5b614ab761406e565b825182811115614ac657600080fd5b614ad2878286016146bc565b825250602083015160208201526040830151604082015280935050505092915050565b60006020808385031215614b0857600080fd5b825167ffffffffffffffff811115614b1f57600080fd5b8301601f81018513614b3057600080fd5b8051614b3e6140f88261428a565b81815260059190911b82018301908381019087831115614b5d57600080fd5b928401925b82841015614b7b57835182529284019290840190614b62565b979650505050505050565b60006020808385031215614b9957600080fd5b825167ffffffffffffffff80821115614bb157600080fd5b818501915085601f830112614bc557600080fd5b8151614bd36140f88261428a565b81815260059190911b83018401908481019088831115614bf257600080fd5b8585015b83811015614c2a57805185811115614c0e5760008081fd5b614c1c8b89838a01016148b7565b845250918601918601614bf6565b5098975050505050505050565b60048110613d2657613d26613ce7565b600081518084526020808501808196508360051b8101915082860160005b85811015614ca35782840389528151805185528501516040868601819052614c8f81870183613c8b565b9a87019a9550505090840190600101614c65565b5091979650505050505050565b6000610180614cc0838751614c37565b6020860151614cd3602085018215159052565b506040860151614ce7604085018215159052565b506060860151614cfb606085018215159052565b506080860151614d23608085018273ffffffffffffffffffffffffffffffffffffffff169052565b5060a0860151614d4b60a085018273ffffffffffffffffffffffffffffffffffffffff169052565b5060c0860151614d7360c085018273ffffffffffffffffffffffffffffffffffffffff169052565b5060e086810151908401526101008087015190840152610120808701519084015273ffffffffffffffffffffffffffffffffffffffff8516610140840152806101608401526149d581840185614c4756fea2646970667358221220d0c7dac5f95a838db3de11f5024ffd7d80a9e4596e8caaf4c9009d0ad0f26fcd64736f6c634300081300330000000000000000000000005b81030c087d41558e3fcf23b3575e85c9a768e600000000000000000000000051870a0659a87c7b46baef7311b3128006e1fb16000000000000000000000000826a953332df2e1a994c7cfae68e129ba683aa8f000000000000000000000000c4f7e87f9ff2a2df9bc7ff8399558b594ebf911a0000000000000000000000003113e5bfe2251a9fca1225083cf6d36547e63e07000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "nonce": "0x802", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x8f5a3400435f0fb05e7fbe4fe81304716808b3061c16cd5cceb4a6027bdafdd9", + "transactionType": "CREATE", + "contractName": "HooksFactory", + "contractAddress": "0x499527835364a150290231B84C6a5297E5dd0024", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x61e81", + "value": "0x0", + "data": "0x608060405234801561001057600080fd5b506104a7806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c806391e7e5b414610030575b600080fd5b61004361003e366004610315565b61006c565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6000808260405160200161008291815260200190565b6040516020818303038152906040528051906020012060001c905060005b6105dc8110156101385760006100b68284610426565b8751602089012090915060006100cc8383610142565b9050600073800000000000000000000000000000000000000089146100f25760016100f5565b60025b60ff1690506003609e83901c168103610121576101146000858c610158565b965050505050505061013b565b50505050808061013090610439565b9150506100a0565b50505b9392505050565b600061014f8383306102bc565b90505b92915050565b6000834710156101c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f437265617465323a20696e73756666696369656e742062616c616e636500000060448201526064015b60405180910390fd5b8151600003610234576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f437265617465323a2062797465636f6465206c656e677468206973207a65726f60448201526064016101c0565b8282516020840186f5905073ffffffffffffffffffffffffffffffffffffffff811661013b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f437265617465323a204661696c6564206f6e206465706c6f790000000000000060448201526064016101c0565b6000604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060006060848603121561032a57600080fd5b833567ffffffffffffffff8082111561034257600080fd5b818601915086601f83011261035657600080fd5b813581811115610368576103686102e6565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156103ae576103ae6102e6565b816040528281528960208487010111156103c757600080fd5b82602086016020830137600060208483010152809750505050505060208401359150604084013590509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820180821115610152576101526103f7565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361046a5761046a6103f7565b506001019056fea2646970667358221220b9424546b77d6959490d75f2d31169e7b2dd7e680376ab4166cc87ad4d0349cf64736f6c63430008130033", + "nonce": "0x803", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x8b356cbc685595174796414c99a5d40e3afd1efff57081804bf8b019fee871ca", + "transactionType": "CALL", + "contractName": "HooksFactory", + "contractAddress": "0x499527835364a150290231B84C6a5297E5dd0024", + "function": "deploy(bytes,uint256,uint256):(address)", + "arguments": [ + "0x60806040523480156200001157600080fd5b5060405162000f8838038062000f888339810160408190526200003491620001d1565b808080620000536001600160a01b038216637965db0b60e01b620000e5565b62000096576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b038316908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a250505050620001fc565b6000620000f2836200010d565b801562000106575062000106838362000146565b9392505050565b600062000122826301ffc9a760e01b62000146565b80156200014057506200013e826001600160e01b031962000146565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d91506000519050828015620001b9575060208210155b8015620001c65750600081115b979650505050505050565b600060208284031215620001e457600080fd5b81516001600160a01b03811681146200010657600080fd5b610d7c806200020c6000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806319129e5a1461005157806334e5d29f146100665780635260a98c14610090578063a913b881146100b2575b600080fd5b61006461005f3660046108c2565b6100c5565b005b610079610074366004610928565b610229565b604051610087929190610a09565b60405180910390f35b6100a361009e366004610a31565b610328565b60405161008793929190610a88565b6100646100c0366004610928565b6103ca565b60006100d1813361040d565b610115576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b61015573ffffffffffffffffffffffffffffffffffffffff83167f7965db0b000000000000000000000000000000000000000000000000000000006104b0565b6101bb576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c000000000000000000000000000000000000604482015260640161010c565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050565b600060607f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db610258813361040d565b610297576040517f75000dc00000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440161010c565b60006102a585870187610b92565b90506102b481600001516104cc565b6102c6816000015182602001516105df565b600194509250833073ffffffffffffffffffffffffffffffffffffffff167fdfd1fe8825f45c847f436243dea4246c2ed6c29b2ee09d385de7a3049566b69788888760405161031793929190610c39565b60405180910390a350509250929050565b6000606060007f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db610359813361040d565b610398576040517f75000dc00000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440161010c565b6040517fcce14c2300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61040982828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506104cc92505050565b5050565b600080546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff8481166024830152909116906391d1485490604401602060405180830381865afa158015610485573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a99190610c9f565b9392505050565b60006104bb83610769565b80156104a957506104a983836107ce565b6000818060200190518101906104e29190610d11565b805190915073ffffffffffffffffffffffffffffffffffffffff8116610534576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61057473ffffffffffffffffffffffffffffffffffffffff82167f80ac58cd000000000000000000000000000000000000000000000000000000006104b0565b6105da576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f4945524337323100000000000000000000000000000000000000000000000000604482015260640161010c565b505050565b60606000838060200190518101906105f79190610d11565b905060008380602001905181019061060f9190610d11565b805190915073ffffffffffffffffffffffffffffffffffffffff16610660576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815181516040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91821660048201529116906370a0823190602401602060405180830381865afa1580156106d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f49190610d2d565b60000361075157815181516040517fe9dee8af00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff92831660048201529116602482015260440161010c565b50506040805160208101909152600081529392505050565b6000610795827f01ffc9a7000000000000000000000000000000000000000000000000000000006107ce565b80156107c857506107c6827fffffffff000000000000000000000000000000000000000000000000000000006107ce565b155b92915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015610886575060208210155b80156108925750600081115b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff811681146108bf57600080fd5b50565b6000602082840312156108d457600080fd5b81356104a98161089d565b60008083601f8401126108f157600080fd5b50813567ffffffffffffffff81111561090957600080fd5b60208301915083602082850101111561092157600080fd5b9250929050565b6000806020838503121561093b57600080fd5b823567ffffffffffffffff81111561095257600080fd5b61095e858286016108df565b90969095509350505050565b600281106109a1577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b6000815180845260005b818110156109cb576020818501810151868301820152016109af565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b610a13818461096a565b604060208201526000610a2960408301846109a5565b949350505050565b600080600060408486031215610a4657600080fd5b833567ffffffffffffffff811115610a5d57600080fd5b610a69868287016108df565b9094509250506020840135610a7d8161089d565b809150509250925092565b610a92818561096a565b606060208201526000610aa860608301856109a5565b9050826040830152949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112610af857600080fd5b813567ffffffffffffffff80821115610b1357610b13610ab8565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715610b5957610b59610ab8565b81604052838152866020858801011115610b7257600080fd5b836020870160208301376000602085830101528094505050505092915050565b600060208284031215610ba457600080fd5b813567ffffffffffffffff80821115610bbc57600080fd5b9083019060408286031215610bd057600080fd5b604051604081018181108382111715610beb57610beb610ab8565b604052823582811115610bfd57600080fd5b610c0987828601610ae7565b825250602083013582811115610c1e57600080fd5b610c2a87828601610ae7565b60208301525095945050505050565b604081528260408201528284606083013760006060848301015260007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011682016060838203016020840152610c9560608201856109a5565b9695505050505050565b600060208284031215610cb157600080fd5b815180151581146104a957600080fd5b600060208284031215610cd357600080fd5b6040516020810181811067ffffffffffffffff82111715610cf657610cf6610ab8565b80604052508091508251610d098161089d565b905292915050565b600060208284031215610d2357600080fd5b6104a98383610cc1565b600060208284031215610d3f57600080fd5b505191905056fea2646970667358221220ac089ae2ad4a08453a0e62d5ef88cd54351c5b108b99b3628d8b974af06257d264736f6c63430008130033000000000000000000000000518ccd79e0e7b75fd5fcc09463fb09cb7d55470d", + "730750818665451459101842416358141509827966271488", + "1702012368" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x499527835364a150290231b84c6a5297e5dd0024", + "gas": "0x11aa78", + "value": "0x0", + "data": "0x91e7e5b400000000000000000000000000000000000000000000000000000000000000600000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006572a5d00000000000000000000000000000000000000000000000000000000000000fa860806040523480156200001157600080fd5b5060405162000f8838038062000f888339810160408190526200003491620001d1565b808080620000536001600160a01b038216637965db0b60e01b620000e5565b62000096576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b038316908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a250505050620001fc565b6000620000f2836200010d565b801562000106575062000106838362000146565b9392505050565b600062000122826301ffc9a760e01b62000146565b80156200014057506200013e826001600160e01b031962000146565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d91506000519050828015620001b9575060208210155b8015620001c65750600081115b979650505050505050565b600060208284031215620001e457600080fd5b81516001600160a01b03811681146200010657600080fd5b610d7c806200020c6000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806319129e5a1461005157806334e5d29f146100665780635260a98c14610090578063a913b881146100b2575b600080fd5b61006461005f3660046108c2565b6100c5565b005b610079610074366004610928565b610229565b604051610087929190610a09565b60405180910390f35b6100a361009e366004610a31565b610328565b60405161008793929190610a88565b6100646100c0366004610928565b6103ca565b60006100d1813361040d565b610115576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b61015573ffffffffffffffffffffffffffffffffffffffff83167f7965db0b000000000000000000000000000000000000000000000000000000006104b0565b6101bb576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c000000000000000000000000000000000000604482015260640161010c565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050565b600060607f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db610258813361040d565b610297576040517f75000dc00000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440161010c565b60006102a585870187610b92565b90506102b481600001516104cc565b6102c6816000015182602001516105df565b600194509250833073ffffffffffffffffffffffffffffffffffffffff167fdfd1fe8825f45c847f436243dea4246c2ed6c29b2ee09d385de7a3049566b69788888760405161031793929190610c39565b60405180910390a350509250929050565b6000606060007f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db610359813361040d565b610398576040517f75000dc00000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440161010c565b6040517fcce14c2300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61040982828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506104cc92505050565b5050565b600080546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff8481166024830152909116906391d1485490604401602060405180830381865afa158015610485573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a99190610c9f565b9392505050565b60006104bb83610769565b80156104a957506104a983836107ce565b6000818060200190518101906104e29190610d11565b805190915073ffffffffffffffffffffffffffffffffffffffff8116610534576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61057473ffffffffffffffffffffffffffffffffffffffff82167f80ac58cd000000000000000000000000000000000000000000000000000000006104b0565b6105da576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f4945524337323100000000000000000000000000000000000000000000000000604482015260640161010c565b505050565b60606000838060200190518101906105f79190610d11565b905060008380602001905181019061060f9190610d11565b805190915073ffffffffffffffffffffffffffffffffffffffff16610660576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815181516040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91821660048201529116906370a0823190602401602060405180830381865afa1580156106d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f49190610d2d565b60000361075157815181516040517fe9dee8af00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff92831660048201529116602482015260440161010c565b50506040805160208101909152600081529392505050565b6000610795827f01ffc9a7000000000000000000000000000000000000000000000000000000006107ce565b80156107c857506107c6827fffffffff000000000000000000000000000000000000000000000000000000006107ce565b155b92915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015610886575060208210155b80156108925750600081115b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff811681146108bf57600080fd5b50565b6000602082840312156108d457600080fd5b81356104a98161089d565b60008083601f8401126108f157600080fd5b50813567ffffffffffffffff81111561090957600080fd5b60208301915083602082850101111561092157600080fd5b9250929050565b6000806020838503121561093b57600080fd5b823567ffffffffffffffff81111561095257600080fd5b61095e858286016108df565b90969095509350505050565b600281106109a1577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b6000815180845260005b818110156109cb576020818501810151868301820152016109af565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b610a13818461096a565b604060208201526000610a2960408301846109a5565b949350505050565b600080600060408486031215610a4657600080fd5b833567ffffffffffffffff811115610a5d57600080fd5b610a69868287016108df565b9094509250506020840135610a7d8161089d565b809150509250925092565b610a92818561096a565b606060208201526000610aa860608301856109a5565b9050826040830152949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112610af857600080fd5b813567ffffffffffffffff80821115610b1357610b13610ab8565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715610b5957610b59610ab8565b81604052838152866020858801011115610b7257600080fd5b836020870160208301376000602085830101528094505050505092915050565b600060208284031215610ba457600080fd5b813567ffffffffffffffff80821115610bbc57600080fd5b9083019060408286031215610bd057600080fd5b604051604081018181108382111715610beb57610beb610ab8565b604052823582811115610bfd57600080fd5b610c0987828601610ae7565b825250602083013582811115610c1e57600080fd5b610c2a87828601610ae7565b60208301525095945050505050565b604081528260408201528284606083013760006060848301015260007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011682016060838203016020840152610c9560608201856109a5565b9695505050505050565b600060208284031215610cb157600080fd5b815180151581146104a957600080fd5b600060208284031215610cd357600080fd5b6040516020810181811067ffffffffffffffff82111715610cf657610cf6610ab8565b80604052508091508251610d098161089d565b905292915050565b600060208284031215610d2357600080fd5b6104a98383610cc1565b600060208284031215610d3f57600080fd5b505191905056fea2646970667358221220ac089ae2ad4a08453a0e62d5ef88cd54351c5b108b99b3628d8b974af06257d264736f6c63430008130033000000000000000000000000518ccd79e0e7b75fd5fcc09463fb09cb7d55470d000000000000000000000000000000000000000000000000", + "nonce": "0x804", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE2", + "address": "0x919Cc6581801039f92863862B186025a1F562B17", + "initCode": "60806040523480156200001157600080fd5b5060405162000f8838038062000f888339810160408190526200003491620001d1565b808080620000536001600160a01b038216637965db0b60e01b620000e5565b62000096576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b038316908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a250505050620001fc565b6000620000f2836200010d565b801562000106575062000106838362000146565b9392505050565b600062000122826301ffc9a760e01b62000146565b80156200014057506200013e826001600160e01b031962000146565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d91506000519050828015620001b9575060208210155b8015620001c65750600081115b979650505050505050565b600060208284031215620001e457600080fd5b81516001600160a01b03811681146200010657600080fd5b610d7c806200020c6000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806319129e5a1461005157806334e5d29f146100665780635260a98c14610090578063a913b881146100b2575b600080fd5b61006461005f3660046108c2565b6100c5565b005b610079610074366004610928565b610229565b604051610087929190610a09565b60405180910390f35b6100a361009e366004610a31565b610328565b60405161008793929190610a88565b6100646100c0366004610928565b6103ca565b60006100d1813361040d565b610115576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b61015573ffffffffffffffffffffffffffffffffffffffff83167f7965db0b000000000000000000000000000000000000000000000000000000006104b0565b6101bb576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c000000000000000000000000000000000000604482015260640161010c565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050565b600060607f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db610258813361040d565b610297576040517f75000dc00000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440161010c565b60006102a585870187610b92565b90506102b481600001516104cc565b6102c6816000015182602001516105df565b600194509250833073ffffffffffffffffffffffffffffffffffffffff167fdfd1fe8825f45c847f436243dea4246c2ed6c29b2ee09d385de7a3049566b69788888760405161031793929190610c39565b60405180910390a350509250929050565b6000606060007f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db610359813361040d565b610398576040517f75000dc00000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440161010c565b6040517fcce14c2300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61040982828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506104cc92505050565b5050565b600080546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff8481166024830152909116906391d1485490604401602060405180830381865afa158015610485573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a99190610c9f565b9392505050565b60006104bb83610769565b80156104a957506104a983836107ce565b6000818060200190518101906104e29190610d11565b805190915073ffffffffffffffffffffffffffffffffffffffff8116610534576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61057473ffffffffffffffffffffffffffffffffffffffff82167f80ac58cd000000000000000000000000000000000000000000000000000000006104b0565b6105da576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f4945524337323100000000000000000000000000000000000000000000000000604482015260640161010c565b505050565b60606000838060200190518101906105f79190610d11565b905060008380602001905181019061060f9190610d11565b805190915073ffffffffffffffffffffffffffffffffffffffff16610660576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815181516040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91821660048201529116906370a0823190602401602060405180830381865afa1580156106d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f49190610d2d565b60000361075157815181516040517fe9dee8af00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff92831660048201529116602482015260440161010c565b50506040805160208101909152600081529392505050565b6000610795827f01ffc9a7000000000000000000000000000000000000000000000000000000006107ce565b80156107c857506107c6827fffffffff000000000000000000000000000000000000000000000000000000006107ce565b155b92915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015610886575060208210155b80156108925750600081115b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff811681146108bf57600080fd5b50565b6000602082840312156108d457600080fd5b81356104a98161089d565b60008083601f8401126108f157600080fd5b50813567ffffffffffffffff81111561090957600080fd5b60208301915083602082850101111561092157600080fd5b9250929050565b6000806020838503121561093b57600080fd5b823567ffffffffffffffff81111561095257600080fd5b61095e858286016108df565b90969095509350505050565b600281106109a1577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b6000815180845260005b818110156109cb576020818501810151868301820152016109af565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b610a13818461096a565b604060208201526000610a2960408301846109a5565b949350505050565b600080600060408486031215610a4657600080fd5b833567ffffffffffffffff811115610a5d57600080fd5b610a69868287016108df565b9094509250506020840135610a7d8161089d565b809150509250925092565b610a92818561096a565b606060208201526000610aa860608301856109a5565b9050826040830152949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112610af857600080fd5b813567ffffffffffffffff80821115610b1357610b13610ab8565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715610b5957610b59610ab8565b81604052838152866020858801011115610b7257600080fd5b836020870160208301376000602085830101528094505050505092915050565b600060208284031215610ba457600080fd5b813567ffffffffffffffff80821115610bbc57600080fd5b9083019060408286031215610bd057600080fd5b604051604081018181108382111715610beb57610beb610ab8565b604052823582811115610bfd57600080fd5b610c0987828601610ae7565b825250602083013582811115610c1e57600080fd5b610c2a87828601610ae7565b60208301525095945050505050565b604081528260408201528284606083013760006060848301015260007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011682016060838203016020840152610c9560608201856109a5565b9695505050505050565b600060208284031215610cb157600080fd5b815180151581146104a957600080fd5b600060208284031215610cd357600080fd5b6040516020810181811067ffffffffffffffff82111715610cf657610cf6610ab8565b80604052508091508251610d098161089d565b905292915050565b600060208284031215610d2357600080fd5b6104a98383610cc1565b600060208284031215610d3f57600080fd5b505191905056fea2646970667358221220ac089ae2ad4a08453a0e62d5ef88cd54351c5b108b99b3628d8b974af06257d264736f6c63430008130033000000000000000000000000518ccd79e0e7b75fd5fcc09463fb09cb7d55470d" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0x320fcca1822ce25672b02b24f7323526c37aee94e33ea2d5dbd92d67a4f8569d", + "transactionType": "CALL", + "contractName": "HooksFactory", + "contractAddress": "0x499527835364a150290231B84C6a5297E5dd0024", + "function": "deploy(bytes,uint256,uint256):(address)", + "arguments": [ + "0x60c06040523480156200001157600080fd5b506040516200182038038062001820833981016040819052620000349162000250565b828080620000536001600160a01b038216637965db0b60e01b62000147565b62000096576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b038316908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050506001600160a01b038116620001065760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0382166200012e5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b039081166080521660a052506200029a565b600062000154836200016f565b8015620001685750620001688383620001a8565b9392505050565b600062000184826301ffc9a760e01b620001a8565b8015620001a25750620001a0826001600160e01b0319620001a8565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d915060005190508280156200021b575060208210155b8015620002285750600081115b979650505050505050565b80516001600160a01b03811681146200024b57600080fd5b919050565b6000806000606084860312156200026657600080fd5b620002718462000233565b9250620002816020850162000233565b9150620002916040850162000233565b90509250925092565b60805160a051611559620002c7600039600081816101520152610e010152600061088101526115596000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80633d0aa6e51161005b5780633d0aa6e5146101185780635260a98c1461012b5780635ab6d0011461014d578063a913b8811461017457600080fd5b80630a5989761461008257806319129e5a146100e257806334e5d29f146100f7575b600080fd5b6100b8610090366004610f9c565b60016020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100f56100f0366004610fda565b610187565b005b61010a610105366004611040565b6102eb565b6040516100d9929190611121565b6100f5610126366004611149565b61038b565b61013e61013936600461116b565b610521565b6040516100d9939291906111c2565b6100b87f000000000000000000000000000000000000000000000000000000000000000081565b6100f5610182366004611040565b61077d565b600061019381336107c0565b6101d7576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b61021773ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000610863565b61027d576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c00000000000000000000000000000000000060448201526064016101ce565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050565b600060607f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db61031a81336107c0565b610359576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016101ce565b6040517f24baa24800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408051602080820183526000808352858152600390915291822060040154610100900460ff16610418576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f52657175657374206e6f7420666f756e6400000000000000000000000000000060448201526064016101ce565b6000848152600360208190526040909120015483101561046c575060408051808201909152601e81527f42616c616e6365206f6620546f6b656e206973206e6f7420656e6f75676800006020820152610471565b600191505b600084815260036020818152604080842080547fffffffffffffffffffffffff0000000000000000000000000000000000000000908116825560018201805482169055600282018054909116905592830193909355600490910180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000169055905161051b9186916105079186918691016111f2565b60405160208183030381529060405261087f565b50505050565b6000606060007f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db61055281336107c0565b610591576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016101ce565b73ffffffffffffffffffffffffffffffffffffffff85166105de576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61061e73ffffffffffffffffffffffffffffffffffffffff86167f2fa7bc9900000000000000000000000000000000000000000000000000000000610863565b610684576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f4943616c6c6261636b48616e646c65720000000000000000000000000000000060448201526064016101ce565b600061069287890189611310565b90506106a18160000151610a9f565b6106b381600001518260200151610ba4565b600081815260016020526040812080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8b1617905596509094509250848673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167f320acf383fac55c3eff3aad884406f0fa211a5c451266edd9de8151bb26b7054868c8c8a60405161076a94939291906113a1565b60405180910390a4505093509350939050565b6107bc82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610a9f92505050565b5050565b600080546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff8481166024830152909116906391d1485490604401602060405180830381865afa158015610838573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085c9190611403565b9392505050565b600061086e83610e68565b801561085c575061085c8383610ecd565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff8116331461090d576040517f5dc645bb00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff821660248201526044016101ce565b60008381526001602052604090205473ffffffffffffffffffffffffffffffffffffffff1661096b576040517fc88d34d7000000000000000000000000000000000000000000000000000000008152600481018490526024016101ce565b6000838152600160205260409081902054905173ffffffffffffffffffffffffffffffffffffffff9091169030907fb8da071166b4cdb339d32ac1c86452cf0ba046f8aeb8230c00d0ce19c173884c906109c89087908790611425565b60405180910390a3600083815260016020526040908190205490517f2fa7bc9900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690632fa7bc9990610a359086908690600401611425565b600060405180830381600087803b158015610a4f57600080fd5b505af1158015610a63573d6000803e3d6000fd5b505050600093845250506001602052506040902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b600081806020019051810190610ab5919061143e565b805190915073ffffffffffffffffffffffffffffffffffffffff16610b36576040517f7662892900000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f746f6b656e41646472657373206973203000000000000000000000000000000060448201526064016101ce565b80602001516000036107bc576040517f7662892900000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f62616c616e63655468726573686f6c642069732030000000000000000000000060448201526064016101ce565b606060008084806020019051810190610bbd919061143e565b9050600084806020019051810190610bd59190611478565b600280549192503091906000610bea836114c4565b9091555060405160609290921b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660208301526034820152605401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152828252805160209182012081840183526000808552835160c08101855233808252885173ffffffffffffffffffffffffffffffffffffffff908116838701908152895182168489019081528b8801516060860190815260808601878152600160a088018181528a8a5260039b8c9052988c9020975188549087167fffffffffffffffffffffffff0000000000000000000000000000000000000000918216178955945190880180549187169186169190911790559151600287018054918616919094161790925590519684019690965594516004928301805494511515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff921515929092167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000090951694909417179092558751875195517f3114f43a0000000000000000000000000000000000000000000000000000000081529182018490526024820192909252908316604482015292821660648401523060848401527f3d0aa6e50000000000000000000000000000000000000000000000000000000060a48401529296509194507f000000000000000000000000000000000000000000000000000000000000000090911690633114f43a9060c401600060405180830381600087803b158015610e4757600080fd5b505af1158015610e5b573d6000803e3d6000fd5b5050505050509250929050565b6000610e94827f01ffc9a700000000000000000000000000000000000000000000000000000000610ecd565b8015610ec75750610ec5827fffffffff00000000000000000000000000000000000000000000000000000000610ecd565b155b92915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015610f85575060208210155b8015610f915750600081115b979650505050505050565b600060208284031215610fae57600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610fd757600080fd5b50565b600060208284031215610fec57600080fd5b813561085c81610fb5565b60008083601f84011261100957600080fd5b50813567ffffffffffffffff81111561102157600080fd5b60208301915083602082850101111561103957600080fd5b9250929050565b6000806020838503121561105357600080fd5b823567ffffffffffffffff81111561106a57600080fd5b61107685828601610ff7565b90969095509350505050565b600281106110b9577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b6000815180845260005b818110156110e3576020818501810151868301820152016110c7565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b61112b8184611082565b60406020820152600061114160408301846110bd565b949350505050565b6000806040838503121561115c57600080fd5b50508035926020909101359150565b60008060006040848603121561118057600080fd5b833567ffffffffffffffff81111561119757600080fd5b6111a386828701610ff7565b90945092505060208401356111b781610fb5565b809150509250925092565b6111cc8185611082565b6060602082015260006111e260608301856110bd565b9050826040830152949350505050565b821515815260406020820152600061114160408301846110bd565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561125f5761125f61120d565b60405290565b600082601f83011261127657600080fd5b813567ffffffffffffffff808211156112915761129161120d565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156112d7576112d761120d565b816040528381528660208588010111156112f057600080fd5b836020870160208301376000602085830101528094505050505092915050565b60006020828403121561132257600080fd5b813567ffffffffffffffff8082111561133a57600080fd5b908301906040828603121561134e57600080fd5b61135661123c565b82358281111561136557600080fd5b61137187828601611265565b82525060208301358281111561138657600080fd5b61139287828601611265565b60208301525095945050505050565b848152606060208201528260608201528284608083013760006080848301015260007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011682016080838203016040840152610f9160808201856110bd565b60006020828403121561141557600080fd5b8151801515811461085c57600080fd5b82815260406020820152600061114160408301846110bd565b60006040828403121561145057600080fd5b61145861123c565b825161146381610fb5565b81526020928301519281019290925250919050565b60006020828403121561148a57600080fd5b6040516020810181811067ffffffffffffffff821117156114ad576114ad61120d565b60405282516114bb81610fb5565b81529392505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361151c577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b506001019056fea2646970667358221220d8b168046b7ea8ef58a98e4718a596bce0ccd4e82ab63c88943c3c5258310fb564736f6c63430008130033000000000000000000000000518ccd79e0e7b75fd5fcc09463fb09cb7d55470d00000000000000000000000004401ff04e6c01a8f1e5696ad6aa053c86b73cd300000000000000000000000077cbcc0e29e10f1eea24e0d109aab26c5b2abd88", + "365375409332725729550921208179070754913983135744", + "1702012368" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x499527835364a150290231b84c6a5297e5dd0024", + "gas": "0x1ad7b8", + "value": "0x0", + "data": "0x91e7e5b400000000000000000000000000000000000000000000000000000000000000600000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006572a5d0000000000000000000000000000000000000000000000000000000000000188060c06040523480156200001157600080fd5b506040516200182038038062001820833981016040819052620000349162000250565b828080620000536001600160a01b038216637965db0b60e01b62000147565b62000096576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b038316908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050506001600160a01b038116620001065760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0382166200012e5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b039081166080521660a052506200029a565b600062000154836200016f565b8015620001685750620001688383620001a8565b9392505050565b600062000184826301ffc9a760e01b620001a8565b8015620001a25750620001a0826001600160e01b0319620001a8565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d915060005190508280156200021b575060208210155b8015620002285750600081115b979650505050505050565b80516001600160a01b03811681146200024b57600080fd5b919050565b6000806000606084860312156200026657600080fd5b620002718462000233565b9250620002816020850162000233565b9150620002916040850162000233565b90509250925092565b60805160a051611559620002c7600039600081816101520152610e010152600061088101526115596000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80633d0aa6e51161005b5780633d0aa6e5146101185780635260a98c1461012b5780635ab6d0011461014d578063a913b8811461017457600080fd5b80630a5989761461008257806319129e5a146100e257806334e5d29f146100f7575b600080fd5b6100b8610090366004610f9c565b60016020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100f56100f0366004610fda565b610187565b005b61010a610105366004611040565b6102eb565b6040516100d9929190611121565b6100f5610126366004611149565b61038b565b61013e61013936600461116b565b610521565b6040516100d9939291906111c2565b6100b87f000000000000000000000000000000000000000000000000000000000000000081565b6100f5610182366004611040565b61077d565b600061019381336107c0565b6101d7576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b61021773ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000610863565b61027d576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c00000000000000000000000000000000000060448201526064016101ce565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050565b600060607f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db61031a81336107c0565b610359576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016101ce565b6040517f24baa24800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408051602080820183526000808352858152600390915291822060040154610100900460ff16610418576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f52657175657374206e6f7420666f756e6400000000000000000000000000000060448201526064016101ce565b6000848152600360208190526040909120015483101561046c575060408051808201909152601e81527f42616c616e6365206f6620546f6b656e206973206e6f7420656e6f75676800006020820152610471565b600191505b600084815260036020818152604080842080547fffffffffffffffffffffffff0000000000000000000000000000000000000000908116825560018201805482169055600282018054909116905592830193909355600490910180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000169055905161051b9186916105079186918691016111f2565b60405160208183030381529060405261087f565b50505050565b6000606060007f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db61055281336107c0565b610591576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016101ce565b73ffffffffffffffffffffffffffffffffffffffff85166105de576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61061e73ffffffffffffffffffffffffffffffffffffffff86167f2fa7bc9900000000000000000000000000000000000000000000000000000000610863565b610684576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f4943616c6c6261636b48616e646c65720000000000000000000000000000000060448201526064016101ce565b600061069287890189611310565b90506106a18160000151610a9f565b6106b381600001518260200151610ba4565b600081815260016020526040812080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8b1617905596509094509250848673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167f320acf383fac55c3eff3aad884406f0fa211a5c451266edd9de8151bb26b7054868c8c8a60405161076a94939291906113a1565b60405180910390a4505093509350939050565b6107bc82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610a9f92505050565b5050565b600080546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff8481166024830152909116906391d1485490604401602060405180830381865afa158015610838573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085c9190611403565b9392505050565b600061086e83610e68565b801561085c575061085c8383610ecd565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff8116331461090d576040517f5dc645bb00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff821660248201526044016101ce565b60008381526001602052604090205473ffffffffffffffffffffffffffffffffffffffff1661096b576040517fc88d34d7000000000000000000000000000000000000000000000000000000008152600481018490526024016101ce565b6000838152600160205260409081902054905173ffffffffffffffffffffffffffffffffffffffff9091169030907fb8da071166b4cdb339d32ac1c86452cf0ba046f8aeb8230c00d0ce19c173884c906109c89087908790611425565b60405180910390a3600083815260016020526040908190205490517f2fa7bc9900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690632fa7bc9990610a359086908690600401611425565b600060405180830381600087803b158015610a4f57600080fd5b505af1158015610a63573d6000803e3d6000fd5b505050600093845250506001602052506040902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b600081806020019051810190610ab5919061143e565b805190915073ffffffffffffffffffffffffffffffffffffffff16610b36576040517f7662892900000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f746f6b656e41646472657373206973203000000000000000000000000000000060448201526064016101ce565b80602001516000036107bc576040517f7662892900000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f62616c616e63655468726573686f6c642069732030000000000000000000000060448201526064016101ce565b606060008084806020019051810190610bbd919061143e565b9050600084806020019051810190610bd59190611478565b600280549192503091906000610bea836114c4565b9091555060405160609290921b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660208301526034820152605401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152828252805160209182012081840183526000808552835160c08101855233808252885173ffffffffffffffffffffffffffffffffffffffff908116838701908152895182168489019081528b8801516060860190815260808601878152600160a088018181528a8a5260039b8c9052988c9020975188549087167fffffffffffffffffffffffff0000000000000000000000000000000000000000918216178955945190880180549187169186169190911790559151600287018054918616919094161790925590519684019690965594516004928301805494511515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff921515929092167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000090951694909417179092558751875195517f3114f43a0000000000000000000000000000000000000000000000000000000081529182018490526024820192909252908316604482015292821660648401523060848401527f3d0aa6e50000000000000000000000000000000000000000000000000000000060a48401529296509194507f000000000000000000000000000000000000000000000000000000000000000090911690633114f43a9060c401600060405180830381600087803b158015610e4757600080fd5b505af1158015610e5b573d6000803e3d6000fd5b5050505050509250929050565b6000610e94827f01ffc9a700000000000000000000000000000000000000000000000000000000610ecd565b8015610ec75750610ec5827fffffffff00000000000000000000000000000000000000000000000000000000610ecd565b155b92915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015610f85575060208210155b8015610f915750600081115b979650505050505050565b600060208284031215610fae57600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610fd757600080fd5b50565b600060208284031215610fec57600080fd5b813561085c81610fb5565b60008083601f84011261100957600080fd5b50813567ffffffffffffffff81111561102157600080fd5b60208301915083602082850101111561103957600080fd5b9250929050565b6000806020838503121561105357600080fd5b823567ffffffffffffffff81111561106a57600080fd5b61107685828601610ff7565b90969095509350505050565b600281106110b9577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b6000815180845260005b818110156110e3576020818501810151868301820152016110c7565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b61112b8184611082565b60406020820152600061114160408301846110bd565b949350505050565b6000806040838503121561115c57600080fd5b50508035926020909101359150565b60008060006040848603121561118057600080fd5b833567ffffffffffffffff81111561119757600080fd5b6111a386828701610ff7565b90945092505060208401356111b781610fb5565b809150509250925092565b6111cc8185611082565b6060602082015260006111e260608301856110bd565b9050826040830152949350505050565b821515815260406020820152600061114160408301846110bd565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561125f5761125f61120d565b60405290565b600082601f83011261127657600080fd5b813567ffffffffffffffff808211156112915761129161120d565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156112d7576112d761120d565b816040528381528660208588010111156112f057600080fd5b836020870160208301376000602085830101528094505050505092915050565b60006020828403121561132257600080fd5b813567ffffffffffffffff8082111561133a57600080fd5b908301906040828603121561134e57600080fd5b61135661123c565b82358281111561136557600080fd5b61137187828601611265565b82525060208301358281111561138657600080fd5b61139287828601611265565b60208301525095945050505050565b848152606060208201528260608201528284608083013760006080848301015260007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011682016080838203016040840152610f9160808201856110bd565b60006020828403121561141557600080fd5b8151801515811461085c57600080fd5b82815260406020820152600061114160408301846110bd565b60006040828403121561145057600080fd5b61145861123c565b825161146381610fb5565b81526020928301519281019290925250919050565b60006020828403121561148a57600080fd5b6040516020810181811067ffffffffffffffff821117156114ad576114ad61120d565b60405282516114bb81610fb5565b81529392505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361151c577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b506001019056fea2646970667358221220d8b168046b7ea8ef58a98e4718a596bce0ccd4e82ab63c88943c3c5258310fb564736f6c63430008130033000000000000000000000000518ccd79e0e7b75fd5fcc09463fb09cb7d55470d00000000000000000000000004401ff04e6c01a8f1e5696ad6aa053c86b73cd300000000000000000000000077cbcc0e29e10f1eea24e0d109aab26c5b2abd88", + "nonce": "0x805", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE2", + "address": "0x6b71284309DF6871cC28595d938eC57A5Ad06A0A", + "initCode": "60c06040523480156200001157600080fd5b506040516200182038038062001820833981016040819052620000349162000250565b828080620000536001600160a01b038216637965db0b60e01b62000147565b62000096576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b038316908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050506001600160a01b038116620001065760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0382166200012e5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b039081166080521660a052506200029a565b600062000154836200016f565b8015620001685750620001688383620001a8565b9392505050565b600062000184826301ffc9a760e01b620001a8565b8015620001a25750620001a0826001600160e01b0319620001a8565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d915060005190508280156200021b575060208210155b8015620002285750600081115b979650505050505050565b80516001600160a01b03811681146200024b57600080fd5b919050565b6000806000606084860312156200026657600080fd5b620002718462000233565b9250620002816020850162000233565b9150620002916040850162000233565b90509250925092565b60805160a051611559620002c7600039600081816101520152610e010152600061088101526115596000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80633d0aa6e51161005b5780633d0aa6e5146101185780635260a98c1461012b5780635ab6d0011461014d578063a913b8811461017457600080fd5b80630a5989761461008257806319129e5a146100e257806334e5d29f146100f7575b600080fd5b6100b8610090366004610f9c565b60016020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100f56100f0366004610fda565b610187565b005b61010a610105366004611040565b6102eb565b6040516100d9929190611121565b6100f5610126366004611149565b61038b565b61013e61013936600461116b565b610521565b6040516100d9939291906111c2565b6100b87f000000000000000000000000000000000000000000000000000000000000000081565b6100f5610182366004611040565b61077d565b600061019381336107c0565b6101d7576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b61021773ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000610863565b61027d576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c00000000000000000000000000000000000060448201526064016101ce565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050565b600060607f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db61031a81336107c0565b610359576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016101ce565b6040517f24baa24800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408051602080820183526000808352858152600390915291822060040154610100900460ff16610418576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f52657175657374206e6f7420666f756e6400000000000000000000000000000060448201526064016101ce565b6000848152600360208190526040909120015483101561046c575060408051808201909152601e81527f42616c616e6365206f6620546f6b656e206973206e6f7420656e6f75676800006020820152610471565b600191505b600084815260036020818152604080842080547fffffffffffffffffffffffff0000000000000000000000000000000000000000908116825560018201805482169055600282018054909116905592830193909355600490910180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000169055905161051b9186916105079186918691016111f2565b60405160208183030381529060405261087f565b50505050565b6000606060007f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db61055281336107c0565b610591576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016101ce565b73ffffffffffffffffffffffffffffffffffffffff85166105de576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61061e73ffffffffffffffffffffffffffffffffffffffff86167f2fa7bc9900000000000000000000000000000000000000000000000000000000610863565b610684576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f4943616c6c6261636b48616e646c65720000000000000000000000000000000060448201526064016101ce565b600061069287890189611310565b90506106a18160000151610a9f565b6106b381600001518260200151610ba4565b600081815260016020526040812080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8b1617905596509094509250848673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167f320acf383fac55c3eff3aad884406f0fa211a5c451266edd9de8151bb26b7054868c8c8a60405161076a94939291906113a1565b60405180910390a4505093509350939050565b6107bc82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610a9f92505050565b5050565b600080546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff8481166024830152909116906391d1485490604401602060405180830381865afa158015610838573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085c9190611403565b9392505050565b600061086e83610e68565b801561085c575061085c8383610ecd565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff8116331461090d576040517f5dc645bb00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff821660248201526044016101ce565b60008381526001602052604090205473ffffffffffffffffffffffffffffffffffffffff1661096b576040517fc88d34d7000000000000000000000000000000000000000000000000000000008152600481018490526024016101ce565b6000838152600160205260409081902054905173ffffffffffffffffffffffffffffffffffffffff9091169030907fb8da071166b4cdb339d32ac1c86452cf0ba046f8aeb8230c00d0ce19c173884c906109c89087908790611425565b60405180910390a3600083815260016020526040908190205490517f2fa7bc9900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690632fa7bc9990610a359086908690600401611425565b600060405180830381600087803b158015610a4f57600080fd5b505af1158015610a63573d6000803e3d6000fd5b505050600093845250506001602052506040902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b600081806020019051810190610ab5919061143e565b805190915073ffffffffffffffffffffffffffffffffffffffff16610b36576040517f7662892900000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f746f6b656e41646472657373206973203000000000000000000000000000000060448201526064016101ce565b80602001516000036107bc576040517f7662892900000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f62616c616e63655468726573686f6c642069732030000000000000000000000060448201526064016101ce565b606060008084806020019051810190610bbd919061143e565b9050600084806020019051810190610bd59190611478565b600280549192503091906000610bea836114c4565b9091555060405160609290921b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660208301526034820152605401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152828252805160209182012081840183526000808552835160c08101855233808252885173ffffffffffffffffffffffffffffffffffffffff908116838701908152895182168489019081528b8801516060860190815260808601878152600160a088018181528a8a5260039b8c9052988c9020975188549087167fffffffffffffffffffffffff0000000000000000000000000000000000000000918216178955945190880180549187169186169190911790559151600287018054918616919094161790925590519684019690965594516004928301805494511515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff921515929092167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000090951694909417179092558751875195517f3114f43a0000000000000000000000000000000000000000000000000000000081529182018490526024820192909252908316604482015292821660648401523060848401527f3d0aa6e50000000000000000000000000000000000000000000000000000000060a48401529296509194507f000000000000000000000000000000000000000000000000000000000000000090911690633114f43a9060c401600060405180830381600087803b158015610e4757600080fd5b505af1158015610e5b573d6000803e3d6000fd5b5050505050509250929050565b6000610e94827f01ffc9a700000000000000000000000000000000000000000000000000000000610ecd565b8015610ec75750610ec5827fffffffff00000000000000000000000000000000000000000000000000000000610ecd565b155b92915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015610f85575060208210155b8015610f915750600081115b979650505050505050565b600060208284031215610fae57600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610fd757600080fd5b50565b600060208284031215610fec57600080fd5b813561085c81610fb5565b60008083601f84011261100957600080fd5b50813567ffffffffffffffff81111561102157600080fd5b60208301915083602082850101111561103957600080fd5b9250929050565b6000806020838503121561105357600080fd5b823567ffffffffffffffff81111561106a57600080fd5b61107685828601610ff7565b90969095509350505050565b600281106110b9577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b6000815180845260005b818110156110e3576020818501810151868301820152016110c7565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b61112b8184611082565b60406020820152600061114160408301846110bd565b949350505050565b6000806040838503121561115c57600080fd5b50508035926020909101359150565b60008060006040848603121561118057600080fd5b833567ffffffffffffffff81111561119757600080fd5b6111a386828701610ff7565b90945092505060208401356111b781610fb5565b809150509250925092565b6111cc8185611082565b6060602082015260006111e260608301856110bd565b9050826040830152949350505050565b821515815260406020820152600061114160408301846110bd565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561125f5761125f61120d565b60405290565b600082601f83011261127657600080fd5b813567ffffffffffffffff808211156112915761129161120d565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156112d7576112d761120d565b816040528381528660208588010111156112f057600080fd5b836020870160208301376000602085830101528094505050505092915050565b60006020828403121561132257600080fd5b813567ffffffffffffffff8082111561133a57600080fd5b908301906040828603121561134e57600080fd5b61135661123c565b82358281111561136557600080fd5b61137187828601611265565b82525060208301358281111561138657600080fd5b61139287828601611265565b60208301525095945050505050565b848152606060208201528260608201528284608083013760006080848301015260007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011682016080838203016040840152610f9160808201856110bd565b60006020828403121561141557600080fd5b8151801515811461085c57600080fd5b82815260406020820152600061114160408301846110bd565b60006040828403121561145057600080fd5b61145861123c565b825161146381610fb5565b81526020928301519281019290925250919050565b60006020828403121561148a57600080fd5b6040516020810181811067ffffffffffffffff821117156114ad576114ad61120d565b60405282516114bb81610fb5565b81529392505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361151c577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b506001019056fea2646970667358221220d8b168046b7ea8ef58a98e4718a596bce0ccd4e82ab63c88943c3c5258310fb564736f6c63430008130033000000000000000000000000518ccd79e0e7b75fd5fcc09463fb09cb7d55470d00000000000000000000000004401ff04e6c01a8f1e5696ad6aa053c86b73cd300000000000000000000000077cbcc0e29e10f1eea24e0d109aab26c5b2abd88" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0x5d04194e7e2a17cce05c6f6a35b73030d6ae2f12fd61bebdaaeb100bb4b86090", + "transactionType": "CREATE", + "contractName": "MockERC721", + "contractAddress": "0x4facD61ea098FB09C03dBE33D98Cc8Fe4D35eb5e", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x1edc92", + "value": "0x0", + "data": "0x60806040523480156200001157600080fd5b506040518060400160405280600a8152602001694d6f636b45524337323160b01b815250604051806040016040528060048152602001634d37323160e01b815250816000908162000063919062000120565b50600162000072828262000120565b505050620001ec565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000a657607f821691505b602082108103620000c757634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200011b57600081815260208120601f850160051c81016020861015620000f65750805b601f850160051c820191505b81811015620001175782815560010162000102565b5050505b505050565b81516001600160401b038111156200013c576200013c6200007b565b62000154816200014d845462000091565b84620000cd565b602080601f8311600181146200018c5760008415620001735750858301515b600019600386901b1c1916600185901b17855562000117565b600085815260208120601f198616915b82811015620001bd578886015182559484019460019091019084016200019c565b5085821015620001dc5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b611a7980620001fc6000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80636352211e1161008c578063a22cb46511610066578063a22cb465146101ee578063b88d4fde14610201578063c87b56dd14610214578063e985e9c51461022757600080fd5b80636352211e146101b257806370a08231146101c557806395d89b41146101e657600080fd5b8063095ea7b3116100c8578063095ea7b31461016457806323b872dd1461017957806340c10f191461018c57806342842e0e1461019f57600080fd5b806301ffc9a7146100ef57806306fdde0314610117578063081812fc1461012c575b600080fd5b6101026100fd366004611662565b610270565b60405190151581526020015b60405180910390f35b61011f610355565b60405161010e91906116ed565b61013f61013a366004611700565b6103e7565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161010e565b610177610172366004611742565b61041b565b005b61017761018736600461176c565b6105ac565b61017761019a366004611742565b61064d565b6101776101ad36600461176c565b61065b565b61013f6101c0366004611700565b610676565b6101d86101d33660046117a8565b610702565b60405190815260200161010e565b61011f6107d0565b6101776101fc3660046117c3565b6107df565b61017761020f36600461182e565b6107ea565b61011f610222366004611700565b610892565b610102610235366004611928565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260056020908152604080832093909416825291909152205460ff1690565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061030357507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b8061034f57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6060600080546103649061195b565b80601f01602080910402602001604051908101604052809291908181526020018280546103909061195b565b80156103dd5780601f106103b2576101008083540402835291602001916103dd565b820191906000526020600020905b8154815290600101906020018083116103c057829003601f168201915b5050505050905090565b60006103f282610906565b5060009081526004602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b600061042682610676565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036104e8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff8216148061051157506105118133610235565b61059d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c00000060648201526084016104df565b6105a78383610994565b505050565b6105b63382610a34565b610642576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f7665640000000000000000000000000000000000000060648201526084016104df565b6105a7838383610af4565b6106578282610def565b5050565b6105a7838383604051806020016040528060008152506107ea565b60008181526002602052604081205473ffffffffffffffffffffffffffffffffffffffff168061034f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e204944000000000000000060448201526064016104df565b600073ffffffffffffffffffffffffffffffffffffffff82166107a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e6572000000000000000000000000000000000000000000000060648201526084016104df565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526003602052604090205490565b6060600180546103649061195b565b610657338383610e09565b6107f43383610a34565b610880576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f7665640000000000000000000000000000000000000060648201526084016104df565b61088c84848484610f36565b50505050565b606061089d82610906565b60006108b460408051602081019091526000815290565b905060008151116108d457604051806020016040528060008152506108ff565b806108de84610fd9565b6040516020016108ef9291906119ae565b6040516020818303038152906040525b9392505050565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff16610991576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e204944000000000000000060448201526064016104df565b50565b600081815260046020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811790915581906109ee82610676565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080610a4083610676565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480610aae575073ffffffffffffffffffffffffffffffffffffffff80821660009081526005602090815260408083209388168352929052205460ff165b80610aec57508373ffffffffffffffffffffffffffffffffffffffff16610ad4846103e7565b73ffffffffffffffffffffffffffffffffffffffff16145b949350505050565b8273ffffffffffffffffffffffffffffffffffffffff16610b1482610676565b73ffffffffffffffffffffffffffffffffffffffff1614610bb7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e657200000000000000000000000000000000000000000000000000000060648201526084016104df565b73ffffffffffffffffffffffffffffffffffffffff8216610c59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016104df565b8273ffffffffffffffffffffffffffffffffffffffff16610c7982610676565b73ffffffffffffffffffffffffffffffffffffffff1614610d1c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e657200000000000000000000000000000000000000000000000000000060648201526084016104df565b600081815260046020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff8781168086526003855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b610657828260405180602001604052806000815250611097565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610e9e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016104df565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526005602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b610f41848484610af4565b610f4d8484848461113a565b61088c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016104df565b60606000610fe68361132d565b600101905060008167ffffffffffffffff811115611006576110066117ff565b6040519080825280601f01601f191660200182016040528015611030576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a850494508461103a57509392505050565b6110a1838361140f565b6110ae600084848461113a565b6105a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016104df565b600073ffffffffffffffffffffffffffffffffffffffff84163b15611322576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a02906111b19033908990889088906004016119dd565b6020604051808303816000875af192505050801561120a575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261120791810190611a26565b60015b6112d7573d808015611238576040519150601f19603f3d011682016040523d82523d6000602084013e61123d565b606091505b5080516000036112cf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016104df565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050610aec565b506001949350505050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611376577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef810000000083106113a2576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106113c057662386f26fc10000830492506010015b6305f5e10083106113d8576305f5e100830492506008015b61271083106113ec57612710830492506004015b606483106113fe576064830492506002015b600a831061034f5760010192915050565b73ffffffffffffffffffffffffffffffffffffffff821661148c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016104df565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1615611518576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016104df565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff16156115a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016104df565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260036020908152604080832080546001019055848352600290915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b7fffffffff000000000000000000000000000000000000000000000000000000008116811461099157600080fd5b60006020828403121561167457600080fd5b81356108ff81611634565b60005b8381101561169a578181015183820152602001611682565b50506000910152565b600081518084526116bb81602086016020860161167f565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006108ff60208301846116a3565b60006020828403121561171257600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461173d57600080fd5b919050565b6000806040838503121561175557600080fd5b61175e83611719565b946020939093013593505050565b60008060006060848603121561178157600080fd5b61178a84611719565b925061179860208501611719565b9150604084013590509250925092565b6000602082840312156117ba57600080fd5b6108ff82611719565b600080604083850312156117d657600080fd5b6117df83611719565b9150602083013580151581146117f457600080fd5b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000806000806080858703121561184457600080fd5b61184d85611719565b935061185b60208601611719565b925060408501359150606085013567ffffffffffffffff8082111561187f57600080fd5b818701915087601f83011261189357600080fd5b8135818111156118a5576118a56117ff565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156118eb576118eb6117ff565b816040528281528a602084870101111561190457600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b6000806040838503121561193b57600080fd5b61194483611719565b915061195260208401611719565b90509250929050565b600181811c9082168061196f57607f821691505b6020821081036119a8577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b600083516119c081846020880161167f565b8351908301906119d481836020880161167f565b01949350505050565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525083604083015260806060830152611a1c60808301846116a3565b9695505050505050565b600060208284031215611a3857600080fd5b81516108ff8161163456fea2646970667358221220d673ef7c8f1def245d3be39f8336c1275d8505ccfbf91acc7ee1bdd6cae4c30264736f6c63430008130033", + "nonce": "0x806", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x47aa93a51bc40c5445afcc850299e083f3e6e3cd27cd7eb9969c87c25803eb33", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x518ccd79e0e7b75fd5fcc09463fb09cb7d55470d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15d189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "nonce": "0x807", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x403d9d27ae2ee4b5c04c9837c02b8a5d2e366b649b2589df87a26027ea2c2df0", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x518ccd79e0e7b75fd5fcc09463fb09cb7d55470d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15d637821dcee84aabec9c8cf4f6f643013a24ad27fd41511ffd937aea80d8619a9000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "nonce": "0x808", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x2e3d10d1c62e824d02b989b573bc2676938d73278fd434e4e28b2e887a8d5c41", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x518ccd79e0e7b75fd5fcc09463fb09cb7d55470d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15da8b84e71bc3552b48fea3678097679554a90f0e2c12c536a8bd697c05041e279000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "nonce": "0x809", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x32f92ba64f8b30d430206406af9100b703d5af754503ccb3807c7d29b910f55c", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x518ccd79e0e7b75fd5fcc09463fb09cb7d55470d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15d256895704541e78004f0fd55953a8bcc54c628755b14fbf53afdc556473f9bd0000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "nonce": "0x80a", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xcba312354d7f71791424f1317bb1128375f356bc112babf03c77b5066eb1e219", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x518ccd79e0e7b75fd5fcc09463fb09cb7d55470d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15d02f7fd2cb4d8e8ad75bab0a56a6f1ed7091336a83e11ccacc4e51f915215ab4c000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "nonce": "0x80b", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xb4bb24a91d9099eac2be9ed61af556a881a10f41750c37731f8cbc1b31d708f0", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x518ccd79e0e7b75fd5fcc09463fb09cb7d55470d", + "gas": "0x140e3", + "value": "0x0", + "data": "0x2f2ff15dc9a6ce5d86bdc06f8d57f20091bf09bf611e57d0626b65aa9ebb3c9179ba650f000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "nonce": "0x80c", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x94192c5603f740fb5da599625b671b698572da3fbe9ba8756aca02d8a1150e83", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x518ccd79e0e7b75fd5fcc09463fb09cb7d55470d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15de4a10d29decbd34c09a62a511d4fd993a7d8cbbf58d7d4278711c29c9148b8f700000000000000000000000025a6f44df208e8cc79e97fe72e240f4cdb3d9a46", + "nonce": "0x80d", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xc3de772cd32c687c606cfe44ac27799d5f1ad6a2bba49f3e4911436a3d2dcd72", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x518ccd79e0e7b75fd5fcc09463fb09cb7d55470d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15de4a10d29decbd34c09a62a511d4fd993a7d8cbbf58d7d4278711c29c9148b8f7000000000000000000000000c4f7e87f9ff2a2df9bc7ff8399558b594ebf911a", + "nonce": "0x80e", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x48fea7539c9635665a5fe2f6b93d9b7cbcdc277d355e5535866020321769aac7", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x518ccd79e0e7b75fd5fcc09463fb09cb7d55470d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15d33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db00000000000000000000000051870a0659a87c7b46baef7311b3128006e1fb16", + "nonce": "0x80f", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x06d0014648eafa4a0d15871f9f93113d3c8ef3feae041b868736c0687a65b5b5", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x518ccd79e0e7b75fd5fcc09463fb09cb7d55470d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15d33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db000000000000000000000000d3e9f80f4cc22761587b19a7f5335a017bcb0ecd", + "nonce": "0x810", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x05436d8041d4feb5101821ab547d2a561514ab8e4822be7e65dd416a26a9a2a8", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x518ccd79e0e7b75fd5fcc09463fb09cb7d55470d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15d33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db0000000000000000000000005fb712af304570ad9599e55e1105b7a42a5e30db", + "nonce": "0x811", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xe28f471cdaacea3748c1fa39bf1ed94ce6fceb0cfb3d2209c1ebc4ff053806eb", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x518ccd79e0e7b75fd5fcc09463fb09cb7d55470d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15d33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db000000000000000000000000058bb0d7795cfa2a46c60c0b63f8f0fa7cd1eed5", + "nonce": "0x812", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x84bf3d8ff2fd42cb33def0c55c627b34904230f3e7372dedd41a640271383afe", + "transactionType": "CALL", + "contractName": "ModuleRegistry", + "contractAddress": "0x51870A0659A87c7B46baEF7311B3128006E1FB16", + "function": "registerProtocolModule(string,address)", + "arguments": [ + "REGISTRATION_MODULE", + "0xD3E9F80F4Cc22761587B19A7F5335A017bcB0eCd" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x51870a0659a87c7b46baef7311b3128006e1fb16", + "gas": "0x1447b", + "value": "0x0", + "data": "0xd08906d60000000000000000000000000000000000000000000000000000000000000040000000000000000000000000d3e9f80f4cc22761587b19a7f5335a017bcb0ecd0000000000000000000000000000000000000000000000000000000000000013524547495354524154494f4e5f4d4f44554c4500000000000000000000000000", + "nonce": "0x813", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xd59894c1a06160516ca2bcc779bbe338f4cfebedbe5a9cee12dfc2159a0ab988", + "transactionType": "CALL", + "contractName": "ModuleRegistry", + "contractAddress": "0x51870A0659A87c7B46baEF7311B3128006E1FB16", + "function": "registerProtocolModule(string,address)", + "arguments": [ + "RELATIONSHIP_MODULE", + "0x5fb712AF304570aD9599e55E1105b7a42a5e30Db" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x51870a0659a87c7b46baef7311b3128006e1fb16", + "gas": "0x1447b", + "value": "0x0", + "data": "0xd08906d600000000000000000000000000000000000000000000000000000000000000400000000000000000000000005fb712af304570ad9599e55e1105b7a42a5e30db000000000000000000000000000000000000000000000000000000000000001352454c4154494f4e534849505f4d4f44554c4500000000000000000000000000", + "nonce": "0x814", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x1ffb1a979bb740b3d72d9283c509e19bac5ca1b185e2cdc3d9caf9b86233d831", + "transactionType": "CALL", + "contractName": "ModuleRegistry", + "contractAddress": "0x51870A0659A87c7B46baEF7311B3128006E1FB16", + "function": "registerProtocolModule(string,address)", + "arguments": [ + "LICENSING_MODULE", + "0x058bB0D7795CfA2a46C60C0b63F8f0fa7cD1EEd5" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x51870a0659a87c7b46baef7311b3128006e1fb16", + "gas": "0x1444a", + "value": "0x0", + "data": "0xd08906d60000000000000000000000000000000000000000000000000000000000000040000000000000000000000000058bb0d7795cfa2a46c60c0b63f8f0fa7cd1eed500000000000000000000000000000000000000000000000000000000000000104c4943454e53494e475f4d4f44554c4500000000000000000000000000000000", + "nonce": "0x815", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x801095c317c215a221d06d8cdb3b0a22ebbef014f7acabef627fdae7f756f247", + "transactionType": "CALL", + "contractName": "StoryProtocol", + "contractAddress": "0x25A6f44df208E8Cc79E97fE72E240F4cDb3D9a46", + "function": "registerIpOrg(address,string,string,string[]):(address)", + "arguments": [ + "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "Sample IP Org", + "SIPO", + "[STORY, CHARACTER]" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x25a6f44df208e8cc79e97fe72e240f4cdb3d9a46", + "gas": "0x61a7b", + "value": "0x0", + "data": "0x98e8e6ea000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000d53616d706c65204950204f72670000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000045349504f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000553544f525900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000094348415241435445520000000000000000000000000000000000000000000000", + "nonce": "0x816", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0x1434fC16D6f101605d79577E86A5005424461570", + "initCode": "3d602d80600a3d3981f3363d3d373d3d3d363d7332ef4938e99bbd517f1f673470270aeede017a7a5af43d82803e903d91602b57fd5bf3" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0xe4a5f49d9dd2944e060cbb1557f354424cfd005bef16109ffc9ede5ebf0269db", + "transactionType": "CALL", + "contractName": "ModuleRegistry", + "contractAddress": "0x51870A0659A87c7B46baEF7311B3128006E1FB16", + "function": "registerProtocolHook(string,address)", + "arguments": [ + "TOKEN_GATED_HOOK", + "0x919Cc6581801039f92863862B186025a1F562B17" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x51870a0659a87c7b46baef7311b3128006e1fb16", + "gas": "0x1bddc", + "value": "0x0", + "data": "0xd04d78c60000000000000000000000000000000000000000000000000000000000000040000000000000000000000000919cc6581801039f92863862b186025a1f562b170000000000000000000000000000000000000000000000000000000000000010544f4b454e5f47415445445f484f4f4b00000000000000000000000000000000", + "nonce": "0x817", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x9bac9b42100faa9ae0888a1d9e234c364aee08f5915774332eb66b1009e78510", + "transactionType": "CALL", + "contractName": "ModuleRegistry", + "contractAddress": "0x51870A0659A87c7B46baEF7311B3128006E1FB16", + "function": "registerProtocolHook(string,address)", + "arguments": [ + "POLYGON_TOKEN_HOOK", + "0x6b71284309DF6871cC28595d938eC57A5Ad06A0A" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x51870a0659a87c7b46baef7311b3128006e1fb16", + "gas": "0x1bdfd", + "value": "0x0", + "data": "0xd04d78c600000000000000000000000000000000000000000000000000000000000000400000000000000000000000006b71284309df6871cc28595d938ec57a5ad06a0a0000000000000000000000000000000000000000000000000000000000000012504f4c59474f4e5f544f4b454e5f484f4f4b0000000000000000000000000000", + "nonce": "0x818", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x16a8fff5090d2589d2b306d04af5275d6aba1bcf3dcc4f62067393369d13cf57", + "transactionType": "CALL", + "contractName": "RegistrationModule", + "contractAddress": "0xD3E9F80F4Cc22761587B19A7F5335A017bcB0eCd", + "function": "registerHooks(uint8,address,address[],bytes[],bytes)", + "arguments": [ + "0", + "0x1434fC16D6f101605d79577E86A5005424461570", + "[0x919Cc6581801039f92863862B186025a1F562B17, 0x6b71284309DF6871cC28595d938eC57A5Ad06A0A]", + "[0x0000000000000000000000004facd61ea098fb09c03dbe33d98cc8fe4d35eb5e, 0x0000000000000000000000004facd61ea098fb09c03dbe33d98cc8fe4d35eb5e0000000000000000000000000000000000000000000000000000000000000001]", + "0xe761f303268b55a3dc96719551acb95ca3bd1ebeef4b720be68dd92563627a3f" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xd3e9f80f4cc22761587b19a7f5335a017bcb0ecd", + "gas": "0x665ec", + "value": "0x0", + "data": "0x9533563d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000001434fc16d6f101605d79577e86a500542446157000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000919cc6581801039f92863862b186025a1f562b170000000000000000000000006b71284309df6871cc28595d938ec57a5ad06a0a00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000200000000000000000000000004facd61ea098fb09c03dbe33d98cc8fe4d35eb5e00000000000000000000000000000000000000000000000000000000000000400000000000000000000000004facd61ea098fb09c03dbe33d98cc8fe4d35eb5e00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020e761f303268b55a3dc96719551acb95ca3bd1ebeef4b720be68dd92563627a3f", + "nonce": "0x819", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xa3c1a3087c5a99a0fb87108b28c61b94ed9500616da895ed7590a96face368ca", + "transactionType": "CALL", + "contractName": "LicensingFrameworkRepo", + "contractAddress": "0x3113e5bfe2251A9fcA1225083cf6d36547E63e07", + "function": "addFramework((string,string,(bytes32,uint8,bytes,bytes)[]))", + "arguments": [ + "(SPUML-1.0, https://github.com/storyprotocol/protocol-contracts/blob/main/SPUML-v1.pdf, [(0x4368616e6e656c732d4f662d446973747269627574696f6e0000000000000018, 4, 0x, 0x), (0x4174747269627574696f6e00000000000000000000000000000000000000000b, 0, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x), (0x44657269766174697665732d416c6c6f77656400000000000000000000000013, 0, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x), (0x44657269766174697665732d416c6c6f7765642d4f7074696f6e73000000001b, 5, 0x, 0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000003416c6c6f7765642d576974682d417070726f76616c0000000000000000000015416c6c6f7765642d5265636970726f63616c2d4c6963656e736500000000001a416c6c6f7765642d576974682d4174747269627574696f6e0000000000000018)])" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x3113e5bfe2251a9fca1225083cf6d36547e63e07", + "gas": "0x164d60", + "value": "0x0", + "data": "0xc8cea2150000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000095350554d4c2d312e300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004a68747470733a2f2f6769746875622e636f6d2f73746f727970726f746f636f6c2f70726f746f636f6c2d636f6e7472616374732f626c6f622f6d61696e2f5350554d4c2d76312e70646600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000003004368616e6e656c732d4f662d446973747269627574696f6e00000000000000180000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004174747269627574696f6e00000000000000000000000000000000000000000b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044657269766174697665732d416c6c6f776564000000000000000000000000130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044657269766174697665732d416c6c6f7765642d4f7074696f6e73000000001b0000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000003416c6c6f7765642d576974682d417070726f76616c0000000000000000000015416c6c6f7765642d5265636970726f63616c2d4c6963656e736500000000001a416c6c6f7765642d576974682d4174747269627574696f6e0000000000000018", + "nonce": "0x81a", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x268e37803ef61c5be00822983907bf7cae439a10f5bce3006a454e86cfc5bdba", + "transactionIndex": "0x9", + "blockHash": "0x83939979c94f8185c480a04497b4f06bb9ac89d21e4df43ea81b63a475974ffb", + "blockNumber": "0x49ebbb", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x1d4ae6", + "gasUsed": "0x198ffa", + "contractAddress": "0x8db8b66518E9Cb412aF5573c5423582587117533", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb88c4321" + }, + { + "transactionHash": "0xfde8bcaa71872ceb1f5570fe234905444695bf220597adb0facee691a0e936ed", + "transactionIndex": "0xa", + "blockHash": "0x83939979c94f8185c480a04497b4f06bb9ac89d21e4df43ea81b63a475974ffb", + "blockNumber": "0x49ebbb", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x202ccb", + "gasUsed": "0x2e1e5", + "contractAddress": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "logs": [ + { + "address": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "topics": [ + "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", + "0x0000000000000000000000008db8b66518e9cb412af5573c5423582587117533" + ], + "data": "0x", + "blockHash": "0x83939979c94f8185c480a04497b4f06bb9ac89d21e4df43ea81b63a475974ffb", + "blockNumber": "0x49ebbb", + "transactionHash": "0xfde8bcaa71872ceb1f5570fe234905444695bf220597adb0facee691a0e936ed", + "transactionIndex": "0xa", + "logIndex": "0x1", + "removed": false + }, + { + "address": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0x83939979c94f8185c480a04497b4f06bb9ac89d21e4df43ea81b63a475974ffb", + "blockNumber": "0x49ebbb", + "transactionHash": "0xfde8bcaa71872ceb1f5570fe234905444695bf220597adb0facee691a0e936ed", + "transactionIndex": "0xa", + "logIndex": "0x2", + "removed": false + }, + { + "address": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "topics": [ + "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x83939979c94f8185c480a04497b4f06bb9ac89d21e4df43ea81b63a475974ffb", + "blockNumber": "0x49ebbb", + "transactionHash": "0xfde8bcaa71872ceb1f5570fe234905444695bf220597adb0facee691a0e936ed", + "transactionIndex": "0xa", + "logIndex": "0x3", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000004000000000000000000000000400000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000002000000000000020000000100000000000000000000020000400000000000000800000000000000000000000000000000000000002000000000000000000000000000000000000080000000000000000020000000000000000000000000000400000000000000000000001000000000000000000020000000000000000000040000000000008000000100400000000020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb88c4321" + }, + { + "transactionHash": "0x8d77b124c15a9a95e83130954ba5e386bfa09db488506462c492d1d8932062e5", + "transactionIndex": "0xb", + "blockHash": "0x83939979c94f8185c480a04497b4f06bb9ac89d21e4df43ea81b63a475974ffb", + "blockNumber": "0x49ebbb", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x393758", + "gasUsed": "0x190a8d", + "contractAddress": "0x3113e5bfe2251A9fcA1225083cf6d36547E63e07", + "logs": [ + { + "address": "0x3113e5bfe2251A9fcA1225083cf6d36547E63e07", + "topics": [ + "0xc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da9709", + "0x000000000000000000000000518ccd79e0e7b75fd5fcc09463fb09cb7d55470d" + ], + "data": "0x", + "blockHash": "0x83939979c94f8185c480a04497b4f06bb9ac89d21e4df43ea81b63a475974ffb", + "blockNumber": "0x49ebbb", + "transactionHash": "0x8d77b124c15a9a95e83130954ba5e386bfa09db488506462c492d1d8932062e5", + "transactionIndex": "0xb", + "logIndex": "0x4", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000200000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb88c4321" + }, + { + "transactionHash": "0x5cef1fa852da9c51bb37504446cea2708bcf829485ef6af1f4b6f4ebfaad27aa", + "transactionIndex": "0xc", + "blockHash": "0x83939979c94f8185c480a04497b4f06bb9ac89d21e4df43ea81b63a475974ffb", + "blockNumber": "0x49ebbb", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x578763", + "gasUsed": "0x1e500b", + "contractAddress": "0x51870A0659A87c7B46baEF7311B3128006E1FB16", + "logs": [ + { + "address": "0x51870A0659A87c7B46baEF7311B3128006E1FB16", + "topics": [ + "0xc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da9709", + "0x000000000000000000000000518ccd79e0e7b75fd5fcc09463fb09cb7d55470d" + ], + "data": "0x", + "blockHash": "0x83939979c94f8185c480a04497b4f06bb9ac89d21e4df43ea81b63a475974ffb", + "blockNumber": "0x49ebbb", + "transactionHash": "0x5cef1fa852da9c51bb37504446cea2708bcf829485ef6af1f4b6f4ebfaad27aa", + "transactionIndex": "0xc", + "logIndex": "0x5", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000100004000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000400000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb88c4321" + }, + { + "transactionHash": "0x20e56a5db623534cd0345e992dbfdfb712f9caca6d59b310c070a7eee9e19215", + "transactionIndex": "0xd", + "blockHash": "0x83939979c94f8185c480a04497b4f06bb9ac89d21e4df43ea81b63a475974ffb", + "blockNumber": "0x49ebbb", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x66480c", + "gasUsed": "0xec0a9", + "contractAddress": "0x5B81030C087d41558E3FCF23B3575E85c9A768e6", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb88c4321" + }, + { + "transactionHash": "0x2bb57468dbedb53b56ff6025980717fb50edbc2eeb91c444d76620313646e2f1", + "transactionIndex": "0xe", + "blockHash": "0x83939979c94f8185c480a04497b4f06bb9ac89d21e4df43ea81b63a475974ffb", + "blockNumber": "0x49ebbb", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x963f99", + "gasUsed": "0x2ff78d", + "contractAddress": "0x826a953332Df2e1a994C7CFae68E129ba683Aa8F", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb88c4321" + }, + { + "transactionHash": "0x6b6536c934fc7d4d1dba6374b0f6658c59bb0bc6b60a04a54a798accc816c975", + "transactionIndex": "0xf", + "blockHash": "0x83939979c94f8185c480a04497b4f06bb9ac89d21e4df43ea81b63a475974ffb", + "blockNumber": "0x49ebbb", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0xdefb37", + "gasUsed": "0x48bb9e", + "contractAddress": "0x9Be54430f2962a115353Ad2e8c62A106bBe71849", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb88c4321" + }, + { + "transactionHash": "0x23a9b55f090db2b42a8eecd0d860389790e13ae95d7c16651550c6f5f8d9434f", + "transactionIndex": "0x10", + "blockHash": "0x83939979c94f8185c480a04497b4f06bb9ac89d21e4df43ea81b63a475974ffb", + "blockNumber": "0x49ebbb", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x1050368", + "gasUsed": "0x260831", + "contractAddress": "0xC4F7E87F9FF2A2DF9bC7FF8399558B594EBF911A", + "logs": [ + { + "address": "0xC4F7E87F9FF2A2DF9bC7FF8399558B594EBF911A", + "topics": [ + "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", + "0x0000000000000000000000009be54430f2962a115353ad2e8c62a106bbe71849" + ], + "data": "0x", + "blockHash": "0x83939979c94f8185c480a04497b4f06bb9ac89d21e4df43ea81b63a475974ffb", + "blockNumber": "0x49ebbb", + "transactionHash": "0x23a9b55f090db2b42a8eecd0d860389790e13ae95d7c16651550c6f5f8d9434f", + "transactionIndex": "0x10", + "logIndex": "0x6", + "removed": false + }, + { + "address": "0x32ef4938e99BBD517F1f673470270aeedE017a7a", + "topics": [ + "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x83939979c94f8185c480a04497b4f06bb9ac89d21e4df43ea81b63a475974ffb", + "blockNumber": "0x49ebbb", + "transactionHash": "0x23a9b55f090db2b42a8eecd0d860389790e13ae95d7c16651550c6f5f8d9434f", + "transactionIndex": "0x10", + "logIndex": "0x7", + "removed": false + }, + { + "address": "0xC4F7E87F9FF2A2DF9bC7FF8399558B594EBF911A", + "topics": [ + "0xc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da9709", + "0x000000000000000000000000518ccd79e0e7b75fd5fcc09463fb09cb7d55470d" + ], + "data": "0x", + "blockHash": "0x83939979c94f8185c480a04497b4f06bb9ac89d21e4df43ea81b63a475974ffb", + "blockNumber": "0x49ebbb", + "transactionHash": "0x23a9b55f090db2b42a8eecd0d860389790e13ae95d7c16651550c6f5f8d9434f", + "transactionIndex": "0x10", + "logIndex": "0x8", + "removed": false + }, + { + "address": "0xC4F7E87F9FF2A2DF9bC7FF8399558B594EBF911A", + "topics": [ + "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x83939979c94f8185c480a04497b4f06bb9ac89d21e4df43ea81b63a475974ffb", + "blockNumber": "0x49ebbb", + "transactionHash": "0x23a9b55f090db2b42a8eecd0d860389790e13ae95d7c16651550c6f5f8d9434f", + "transactionIndex": "0x10", + "logIndex": "0x9", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000400000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000002040004000000000000a00000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000100000008000000080000000000080000000000000000000000000000000000000000000000400000000010000400000000000000000000000000020010000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000004008000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb88c4321" + }, + { + "transactionHash": "0x3f1232fc659c4a138d1986e263b91319bb7d1cfd0a1aabdea21de303fa36756f", + "transactionIndex": "0x11", + "blockHash": "0x83939979c94f8185c480a04497b4f06bb9ac89d21e4df43ea81b63a475974ffb", + "blockNumber": "0x49ebbb", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x1250318", + "gasUsed": "0x1fffb0", + "contractAddress": "0x25A6f44df208E8Cc79E97fE72E240F4cDb3D9a46", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb88c4321" + }, + { + "transactionHash": "0x9bf0846cfcc00ddefe61416013db4b321a377e294fd6bd0a34363c9c93f18781", + "transactionIndex": "0x12", + "blockHash": "0x83939979c94f8185c480a04497b4f06bb9ac89d21e4df43ea81b63a475974ffb", + "blockNumber": "0x49ebbb", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x170e9fb", + "gasUsed": "0x4be6e3", + "contractAddress": "0xD3E9F80F4Cc22761587B19A7F5335A017bcB0eCd", + "logs": [ + { + "address": "0xD3E9F80F4Cc22761587B19A7F5335A017bcB0eCd", + "topics": [ + "0xc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da9709", + "0x000000000000000000000000518ccd79e0e7b75fd5fcc09463fb09cb7d55470d" + ], + "data": "0x", + "blockHash": "0x83939979c94f8185c480a04497b4f06bb9ac89d21e4df43ea81b63a475974ffb", + "blockNumber": "0x49ebbb", + "transactionHash": "0x9bf0846cfcc00ddefe61416013db4b321a377e294fd6bd0a34363c9c93f18781", + "transactionIndex": "0x12", + "logIndex": "0xa", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000200000000000000000000000000000000004000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb88c4321" + }, + { + "transactionHash": "0xd27abaa9b1d80e05ddefe448f5674ee786621d742a591d4c2ea3d7a634885714", + "transactionIndex": "0x13", + "blockHash": "0x83939979c94f8185c480a04497b4f06bb9ac89d21e4df43ea81b63a475974ffb", + "blockNumber": "0x49ebbb", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x1b12391", + "gasUsed": "0x403996", + "contractAddress": "0x5fb712AF304570aD9599e55E1105b7a42a5e30Db", + "logs": [ + { + "address": "0x5fb712AF304570aD9599e55E1105b7a42a5e30Db", + "topics": [ + "0xc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da9709", + "0x000000000000000000000000518ccd79e0e7b75fd5fcc09463fb09cb7d55470d" + ], + "data": "0x", + "blockHash": "0x83939979c94f8185c480a04497b4f06bb9ac89d21e4df43ea81b63a475974ffb", + "blockNumber": "0x49ebbb", + "transactionHash": "0xd27abaa9b1d80e05ddefe448f5674ee786621d742a591d4c2ea3d7a634885714", + "transactionIndex": "0x13", + "logIndex": "0xb", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000200000400000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000400000000000000000000000000000000000000000000000000010000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb88c4321" + }, + { + "transactionHash": "0xb86c38745a8d892c1604649381942ca13b63cfe211e0b01efce0887852361d11", + "transactionIndex": "0x2", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x430ec4", + "gasUsed": "0x426ab4", + "contractAddress": "0x058bB0D7795CfA2a46C60C0b63F8f0fa7cD1EEd5", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + }, + { + "transactionHash": "0x8f5a3400435f0fb05e7fbe4fe81304716808b3061c16cd5cceb4a6027bdafdd9", + "transactionIndex": "0x3", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x47c413", + "gasUsed": "0x4b54f", + "contractAddress": "0x499527835364a150290231B84C6a5297E5dd0024", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + }, + { + "transactionHash": "0x8b356cbc685595174796414c99a5d40e3afd1efff57081804bf8b019fee871ca", + "transactionIndex": "0x4", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x499527835364a150290231B84C6a5297E5dd0024", + "cumulativeGasUsed": "0x548f3f", + "gasUsed": "0xccb2c", + "contractAddress": null, + "logs": [ + { + "address": "0x919Cc6581801039f92863862B186025a1F562B17", + "topics": [ + "0xc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da9709", + "0x000000000000000000000000518ccd79e0e7b75fd5fcc09463fb09cb7d55470d" + ], + "data": "0x", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0x8b356cbc685595174796414c99a5d40e3afd1efff57081804bf8b019fee871ca", + "transactionIndex": "0x4", + "logIndex": "0x0", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000008000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + }, + { + "transactionHash": "0x320fcca1822ce25672b02b24f7323526c37aee94e33ea2d5dbd92d67a4f8569d", + "transactionIndex": "0x5", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x499527835364a150290231B84C6a5297E5dd0024", + "cumulativeGasUsed": "0x67ffc7", + "gasUsed": "0x137088", + "contractAddress": null, + "logs": [ + { + "address": "0x6b71284309DF6871cC28595d938eC57A5Ad06A0A", + "topics": [ + "0xc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da9709", + "0x000000000000000000000000518ccd79e0e7b75fd5fcc09463fb09cb7d55470d" + ], + "data": "0x", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0x320fcca1822ce25672b02b24f7323526c37aee94e33ea2d5dbd92d67a4f8569d", + "transactionIndex": "0x5", + "logIndex": "0x1", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000020000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000400000000000000000000000000000000000000010000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + }, + { + "transactionHash": "0x5d04194e7e2a17cce05c6f6a35b73030d6ae2f12fd61bebdaaeb100bb4b86090", + "transactionIndex": "0x6", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x7fbeec", + "gasUsed": "0x17bf25", + "contractAddress": "0x4facD61ea098FB09C03dBE33D98Cc8Fe4D35eb5e", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + }, + { + "transactionHash": "0x47aa93a51bc40c5445afcc850299e083f3e6e3cd27cd7eb9969c87c25803eb33", + "transactionIndex": "0x7", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "cumulativeGasUsed": "0x809a61", + "gasUsed": "0xdb75", + "contractAddress": null, + "logs": [ + { + "address": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0x47aa93a51bc40c5445afcc850299e083f3e6e3cd27cd7eb9969c87c25803eb33", + "transactionIndex": "0x7", + "logIndex": "0x2", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000004000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000800000000000000000000000000020000000100000000000000000000000000000000000000000000000000000000000000010000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000008000000100400000000000000080000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + }, + { + "transactionHash": "0x403d9d27ae2ee4b5c04c9837c02b8a5d2e366b649b2589df87a26027ea2c2df0", + "transactionIndex": "0x8", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "cumulativeGasUsed": "0x8175d6", + "gasUsed": "0xdb75", + "contractAddress": null, + "logs": [ + { + "address": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x637821dcee84aabec9c8cf4f6f643013a24ad27fd41511ffd937aea80d8619a9", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0x403d9d27ae2ee4b5c04c9837c02b8a5d2e366b649b2589df87a26027ea2c2df0", + "transactionIndex": "0x8", + "logIndex": "0x3", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000004008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000800000000000000000000000000020000000100000000000000000000000000000000000000000000000000000000000000000000100000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000008000000100400000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + }, + { + "transactionHash": "0x2e3d10d1c62e824d02b989b573bc2676938d73278fd434e4e28b2e887a8d5c41", + "transactionIndex": "0x9", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "cumulativeGasUsed": "0x82514b", + "gasUsed": "0xdb75", + "contractAddress": null, + "logs": [ + { + "address": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0xa8b84e71bc3552b48fea3678097679554a90f0e2c12c536a8bd697c05041e279", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0x2e3d10d1c62e824d02b989b573bc2676938d73278fd434e4e28b2e887a8d5c41", + "transactionIndex": "0x9", + "logIndex": "0x4", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000004000000000000000000000000000000000000000020000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000010800000000000000000000000000020000000100000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000008000000100400000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + }, + { + "transactionHash": "0x32f92ba64f8b30d430206406af9100b703d5af754503ccb3807c7d29b910f55c", + "transactionIndex": "0xa", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "cumulativeGasUsed": "0x832cc0", + "gasUsed": "0xdb75", + "contractAddress": null, + "logs": [ + { + "address": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x256895704541e78004f0fd55953a8bcc54c628755b14fbf53afdc556473f9bd0", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0x32f92ba64f8b30d430206406af9100b703d5af754503ccb3807c7d29b910f55c", + "transactionIndex": "0xa", + "logIndex": "0x5", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000004000000000000000000000000000000040000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000800000000000000000000000000020000000100001000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000008000000100400000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + }, + { + "transactionHash": "0xcba312354d7f71791424f1317bb1128375f356bc112babf03c77b5066eb1e219", + "transactionIndex": "0xb", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "cumulativeGasUsed": "0x840835", + "gasUsed": "0xdb75", + "contractAddress": null, + "logs": [ + { + "address": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x02f7fd2cb4d8e8ad75bab0a56a6f1ed7091336a83e11ccacc4e51f915215ab4c", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0xcba312354d7f71791424f1317bb1128375f356bc112babf03c77b5066eb1e219", + "transactionIndex": "0xb", + "logIndex": "0x6", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000020000000100000080000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000008000000100400000000000000000000000000000000000000000000000000000000040000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + }, + { + "transactionHash": "0xb4bb24a91d9099eac2be9ed61af556a881a10f41750c37731f8cbc1b31d708f0", + "transactionIndex": "0xc", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "cumulativeGasUsed": "0x84e39e", + "gasUsed": "0xdb69", + "contractAddress": null, + "logs": [ + { + "address": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0xc9a6ce5d86bdc06f8d57f20091bf09bf611e57d0626b65aa9ebb3c9179ba650f", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0xb4bb24a91d9099eac2be9ed61af556a881a10f41750c37731f8cbc1b31d708f0", + "transactionIndex": "0xc", + "logIndex": "0x7", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000004000000000000000000000000000000000000000000000000000000000000000000008000000000000020000000000000000000000000000000000000000000000000000800000000000000000000000000020000000100000000000000000000000000000000000000000000000000000020000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000008000000100400000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + }, + { + "transactionHash": "0x94192c5603f740fb5da599625b671b698572da3fbe9ba8756aca02d8a1150e83", + "transactionIndex": "0xd", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "cumulativeGasUsed": "0x85bf13", + "gasUsed": "0xdb75", + "contractAddress": null, + "logs": [ + { + "address": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0xe4a10d29decbd34c09a62a511d4fd993a7d8cbbf58d7d4278711c29c9148b8f7", + "0x00000000000000000000000025a6f44df208e8cc79e97fe72e240f4cdb3d9a46", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0x94192c5603f740fb5da599625b671b698572da3fbe9ba8756aca02d8a1150e83", + "transactionIndex": "0xd", + "logIndex": "0x8", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000104000000000000000000000000000000000000000000000000000004800000000000000000000000000000000000000000002000000000000000000000000000000000000800000000000000000000000000020000000100000000200000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000008000000100400000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + }, + { + "transactionHash": "0xc3de772cd32c687c606cfe44ac27799d5f1ad6a2bba49f3e4911436a3d2dcd72", + "transactionIndex": "0xe", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "cumulativeGasUsed": "0x869a88", + "gasUsed": "0xdb75", + "contractAddress": null, + "logs": [ + { + "address": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0xe4a10d29decbd34c09a62a511d4fd993a7d8cbbf58d7d4278711c29c9148b8f7", + "0x000000000000000000000000c4f7e87f9ff2a2df9bc7ff8399558b594ebf911a", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0xc3de772cd32c687c606cfe44ac27799d5f1ad6a2bba49f3e4911436a3d2dcd72", + "transactionIndex": "0xe", + "logIndex": "0x9", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000104000000000000000000000000000000000000000000000000000004800000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000020000000100000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000001000000000000000000000000000008000000000000000000000008000000100400000000000000000000000000000010000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + }, + { + "transactionHash": "0x48fea7539c9635665a5fe2f6b93d9b7cbcdc277d355e5535866020321769aac7", + "transactionIndex": "0xf", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "cumulativeGasUsed": "0x8775fd", + "gasUsed": "0xdb75", + "contractAddress": null, + "logs": [ + { + "address": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db", + "0x00000000000000000000000051870a0659a87c7b46baef7311b3128006e1fb16", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0x48fea7539c9635665a5fe2f6b93d9b7cbcdc277d355e5535866020321769aac7", + "transactionIndex": "0xf", + "logIndex": "0xa", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000020000000100000000000000000200000000000000000000040000000000000000000000000000000000000000002000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000010000000000000000008000000100400000000000000000000000000000000000000000000000000000000000000800000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + }, + { + "transactionHash": "0x06d0014648eafa4a0d15871f9f93113d3c8ef3feae041b868736c0687a65b5b5", + "transactionIndex": "0x10", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "cumulativeGasUsed": "0x885172", + "gasUsed": "0xdb75", + "contractAddress": null, + "logs": [ + { + "address": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db", + "0x000000000000000000000000d3e9f80f4cc22761587b19a7f5335a017bcb0ecd", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0x06d0014648eafa4a0d15871f9f93113d3c8ef3feae041b868736c0687a65b5b5", + "transactionIndex": "0x10", + "logIndex": "0xb", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000020000000100000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000180000000000000100000000000000000000000008000000000000000000001000000000000000000000000000008000000000000000000000008000000100400000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + }, + { + "transactionHash": "0x05436d8041d4feb5101821ab547d2a561514ab8e4822be7e65dd416a26a9a2a8", + "transactionIndex": "0x11", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "cumulativeGasUsed": "0x892ce7", + "gasUsed": "0xdb75", + "contractAddress": null, + "logs": [ + { + "address": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db", + "0x0000000000000000000000005fb712af304570ad9599e55e1105b7a42a5e30db", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0x05436d8041d4feb5101821ab547d2a561514ab8e4822be7e65dd416a26a9a2a8", + "transactionIndex": "0x11", + "logIndex": "0xc", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000800000000000000000000000000020000000100000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000001000000000000000000020000000000000000000000000000000008000000100400000000000000000000000000000000000000000000000000000000000000000000000800000", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + }, + { + "transactionHash": "0xe28f471cdaacea3748c1fa39bf1ed94ce6fceb0cfb3d2209c1ebc4ff053806eb", + "transactionIndex": "0x12", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "cumulativeGasUsed": "0x8a085c", + "gasUsed": "0xdb75", + "contractAddress": null, + "logs": [ + { + "address": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db", + "0x000000000000000000000000058bb0d7795cfa2a46c60c0b63f8f0fa7cd1eed5", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0xe28f471cdaacea3748c1fa39bf1ed94ce6fceb0cfb3d2209c1ebc4ff053806eb", + "transactionIndex": "0x12", + "logIndex": "0xd", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000020000000100000000000000000200000000000000000000000000000000080000000000000000000000000000002000000000000000000000000000000000000000000000180000000000000000000000000000000000000008000000000000000000001000000000000000000000000000000000000000000000000000008000000100400000000000000000000000000000000000000000020000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + }, + { + "transactionHash": "0x84bf3d8ff2fd42cb33def0c55c627b34904230f3e7372dedd41a640271383afe", + "transactionIndex": "0x13", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x51870A0659A87c7B46baEF7311B3128006E1FB16", + "cumulativeGasUsed": "0x8af348", + "gasUsed": "0xeaec", + "contractAddress": null, + "logs": [ + { + "address": "0x51870A0659A87c7B46baEF7311B3128006E1FB16", + "topics": [ + "0x14d77cb3ef4c75b9a031527cf63890f47708121a75c8b9c9cddbacc19defd122", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000d3e9f80f4cc22761587b19a7f5335a017bcb0ecd" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000013524547495354524154494f4e5f4d4f44554c4500000000000000000000000000", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0x84bf3d8ff2fd42cb33def0c55c627b34904230f3e7372dedd41a640271383afe", + "transactionIndex": "0x13", + "logIndex": "0xe", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000100000000000000000020000000000000000000000020000000000000000000800000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000100000000000000000002000008000000000000000000000000000000000000400000000000008000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + }, + { + "transactionHash": "0xd59894c1a06160516ca2bcc779bbe338f4cfebedbe5a9cee12dfc2159a0ab988", + "transactionIndex": "0x14", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x51870A0659A87c7B46baEF7311B3128006E1FB16", + "cumulativeGasUsed": "0x8bde34", + "gasUsed": "0xeaec", + "contractAddress": null, + "logs": [ + { + "address": "0x51870A0659A87c7B46baEF7311B3128006E1FB16", + "topics": [ + "0x14d77cb3ef4c75b9a031527cf63890f47708121a75c8b9c9cddbacc19defd122", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000005fb712af304570ad9599e55e1105b7a42a5e30db" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001352454c4154494f4e534849505f4d4f44554c4500000000000000000000000000", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0xd59894c1a06160516ca2bcc779bbe338f4cfebedbe5a9cee12dfc2159a0ab988", + "transactionIndex": "0x14", + "logIndex": "0xf", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000080000100000000000000000020000000000000000000000020000000000000000000800000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000400020000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000800000", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + }, + { + "transactionHash": "0x1ffb1a979bb740b3d72d9283c509e19bac5ca1b185e2cdc3d9caf9b86233d831", + "transactionIndex": "0x15", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x51870A0659A87c7B46baEF7311B3128006E1FB16", + "cumulativeGasUsed": "0x8cc8fc", + "gasUsed": "0xeac8", + "contractAddress": null, + "logs": [ + { + "address": "0x51870A0659A87c7B46baEF7311B3128006E1FB16", + "topics": [ + "0x14d77cb3ef4c75b9a031527cf63890f47708121a75c8b9c9cddbacc19defd122", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000058bb0d7795cfa2a46c60c0b63f8f0fa7cd1eed5" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000104c4943454e53494e475f4d4f44554c4500000000000000000000000000000000", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0x1ffb1a979bb740b3d72d9283c509e19bac5ca1b185e2cdc3d9caf9b86233d831", + "transactionIndex": "0x15", + "logIndex": "0x10", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000100000000000000000020000000000000000000000020000000000000000000800000000080000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000002000008000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000020000000000000000000000000000000020000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + }, + { + "transactionHash": "0x801095c317c215a221d06d8cdb3b0a22ebbef014f7acabef627fdae7f756f247", + "transactionIndex": "0x16", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x25A6f44df208E8Cc79E97fE72E240F4cDb3D9a46", + "cumulativeGasUsed": "0x913436", + "gasUsed": "0x46b3a", + "contractAddress": null, + "logs": [ + { + "address": "0x1434fC16D6f101605d79577E86A5005424461570", + "topics": [ + "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0x801095c317c215a221d06d8cdb3b0a22ebbef014f7acabef627fdae7f756f247", + "transactionIndex": "0x16", + "logIndex": "0x11", + "removed": false + }, + { + "address": "0x51870A0659A87c7B46baEF7311B3128006E1FB16", + "topics": [ + "0x48786003f3d30e41bfa4ee09afdeb9bfb04b7e06e2f74f3177da393a793bbc33", + "0x0000000000000000000000001434fc16d6f101605d79577e86a5005424461570", + "0x000000000000000000000000c4f7e87f9ff2a2df9bc7ff8399558b594ebf911a" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000013524547495354524154494f4e5f4d4f44554c450000000000000000000000000000000000000000000000000000000000000000000000000000000000000001609aeb830ec91a14c97a5446cc7c86a42f73a78f37f9a77afa238b5d11520ddfbc000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000553544f525900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000094348415241435445520000000000000000000000000000000000000000000000", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0x801095c317c215a221d06d8cdb3b0a22ebbef014f7acabef627fdae7f756f247", + "transactionIndex": "0x16", + "logIndex": "0x12", + "removed": false + }, + { + "address": "0xC4F7E87F9FF2A2DF9bC7FF8399558B594EBF911A", + "topics": [ + "0x81e084d978860accc83df39f75b801d9019e40d18643b9b39f4cd2a70ca35adb" + ], + "data": "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab0000000000000000000000001434fc16d6f101605d79577e86a500542446157000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000d53616d706c65204950204f72670000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000045349504f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000553544f525900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000094348415241435445520000000000000000000000000000000000000000000000", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0x801095c317c215a221d06d8cdb3b0a22ebbef014f7acabef627fdae7f756f247", + "transactionIndex": "0x16", + "logIndex": "0x13", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000008000020000000000000000000000000000004000000000000000002000000000140000000000000000020000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000002100000000000000000000000000080000000000000010000000000000000000100000000000400000000040000000000000000000001000008400000000000008000000000040000000000000000000000000000000002000000000000000000010000080000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + }, + { + "transactionHash": "0xe4a5f49d9dd2944e060cbb1557f354424cfd005bef16109ffc9ede5ebf0269db", + "transactionIndex": "0x17", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x51870A0659A87c7B46baEF7311B3128006E1FB16", + "cumulativeGasUsed": "0x927702", + "gasUsed": "0x142cc", + "contractAddress": null, + "logs": [ + { + "address": "0x51870A0659A87c7B46baEF7311B3128006E1FB16", + "topics": [ + "0x33f12a9d70fd5f6771d495aae3b2cf0abc703cbaa526982b65446f1ef8816f9b", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000919cc6581801039f92863862b186025a1f562b17" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010544f4b454e5f47415445445f484f4f4b00000000000000000000000000000000", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0xe4a5f49d9dd2944e060cbb1557f354424cfd005bef16109ffc9ede5ebf0269db", + "transactionIndex": "0x17", + "logIndex": "0x14", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000100000000000000000020000000000000000080000020000000000000000000800000000000000000000000010000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000020000000000000000020", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + }, + { + "transactionHash": "0x9bac9b42100faa9ae0888a1d9e234c364aee08f5915774332eb66b1009e78510", + "transactionIndex": "0x18", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x51870A0659A87c7B46baEF7311B3128006E1FB16", + "cumulativeGasUsed": "0x93b9e6", + "gasUsed": "0x142e4", + "contractAddress": null, + "logs": [ + { + "address": "0x51870A0659A87c7B46baEF7311B3128006E1FB16", + "topics": [ + "0x33f12a9d70fd5f6771d495aae3b2cf0abc703cbaa526982b65446f1ef8816f9b", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000006b71284309df6871cc28595d938ec57a5ad06a0a" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000012504f4c59474f4e5f544f4b454e5f484f4f4b0000000000000000000000000000", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0x9bac9b42100faa9ae0888a1d9e234c364aee08f5915774332eb66b1009e78510", + "transactionIndex": "0x18", + "logIndex": "0x15", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000100000000000000000020000000000000000080000020000000000000000000800000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000008000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000020000000008000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + }, + { + "transactionHash": "0x16a8fff5090d2589d2b306d04af5275d6aba1bcf3dcc4f62067393369d13cf57", + "transactionIndex": "0x19", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0xD3E9F80F4Cc22761587B19A7F5335A017bcB0eCd", + "cumulativeGasUsed": "0x9819d9", + "gasUsed": "0x45ff3", + "contractAddress": null, + "logs": [ + { + "address": "0xD3E9F80F4Cc22761587B19A7F5335A017bcB0eCd", + "topics": [ + "0x1fe48a4ec69671720d8bdd8f8a6853d16f486c0bb91fcaf5b8ffc4932b8bc9f4", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x5687dcebb2ddc5ef0e24a46ac21ce3b7b786a733bb07d7fdc588634a193227a7" + ], + "data": "0x", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0x16a8fff5090d2589d2b306d04af5275d6aba1bcf3dcc4f62067393369d13cf57", + "transactionIndex": "0x19", + "logIndex": "0x16", + "removed": false + }, + { + "address": "0xD3E9F80F4Cc22761587B19A7F5335A017bcB0eCd", + "topics": [ + "0x5e140eb5bed8bcb1664a04c0be4aa419e0d2dbf1277a4a6770882a0beb3b91b2", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x5687dcebb2ddc5ef0e24a46ac21ce3b7b786a733bb07d7fdc588634a193227a7" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000919cc6581801039f92863862b186025a1f562b170000000000000000000000006b71284309df6871cc28595d938ec57a5ad06a0a", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0x16a8fff5090d2589d2b306d04af5275d6aba1bcf3dcc4f62067393369d13cf57", + "transactionIndex": "0x19", + "logIndex": "0x17", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000200000000000004000100000000000000000000000020000000000000000000000000000000000000000000000000040000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000820000000000000000000800000000000000000000000001000000000000000000000000080000000000040000000000000001000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + }, + { + "transactionHash": "0xa3c1a3087c5a99a0fb87108b28c61b94ed9500616da895ed7590a96face368ca", + "transactionIndex": "0x1a", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x3113e5bfe2251A9fcA1225083cf6d36547E63e07", + "cumulativeGasUsed": "0xa83f56", + "gasUsed": "0x10257d", + "contractAddress": null, + "logs": [ + { + "address": "0x3113e5bfe2251A9fcA1225083cf6d36547E63e07", + "topics": [ + "0x25be0d4acedf2199ce49f3044ddf933ebe2febd8c63bd2cdd7ed12b458fc3361" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000604368616e6e656c732d4f662d446973747269627574696f6e000000000000001800000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000095350554d4c2d312e3000000000000000000000000000000000000000000000004368616e6e656c732d4f662d446973747269627574696f6e00000000000000180000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0xa3c1a3087c5a99a0fb87108b28c61b94ed9500616da895ed7590a96face368ca", + "transactionIndex": "0x1a", + "logIndex": "0x18", + "removed": false + }, + { + "address": "0x3113e5bfe2251A9fcA1225083cf6d36547E63e07", + "topics": [ + "0x25be0d4acedf2199ce49f3044ddf933ebe2febd8c63bd2cdd7ed12b458fc3361" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000604174747269627574696f6e00000000000000000000000000000000000000000b00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000095350554d4c2d312e3000000000000000000000000000000000000000000000004174747269627574696f6e00000000000000000000000000000000000000000b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0xa3c1a3087c5a99a0fb87108b28c61b94ed9500616da895ed7590a96face368ca", + "transactionIndex": "0x1a", + "logIndex": "0x19", + "removed": false + }, + { + "address": "0x3113e5bfe2251A9fcA1225083cf6d36547E63e07", + "topics": [ + "0x25be0d4acedf2199ce49f3044ddf933ebe2febd8c63bd2cdd7ed12b458fc3361" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000006044657269766174697665732d416c6c6f7765640000000000000000000000001300000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000095350554d4c2d312e30000000000000000000000000000000000000000000000044657269766174697665732d416c6c6f776564000000000000000000000000130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0xa3c1a3087c5a99a0fb87108b28c61b94ed9500616da895ed7590a96face368ca", + "transactionIndex": "0x1a", + "logIndex": "0x1a", + "removed": false + }, + { + "address": "0x3113e5bfe2251A9fcA1225083cf6d36547E63e07", + "topics": [ + "0x25be0d4acedf2199ce49f3044ddf933ebe2febd8c63bd2cdd7ed12b458fc3361" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000006044657269766174697665732d416c6c6f7765642d4f7074696f6e73000000001b00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000095350554d4c2d312e30000000000000000000000000000000000000000000000044657269766174697665732d416c6c6f7765642d4f7074696f6e73000000001b0000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000003416c6c6f7765642d576974682d417070726f76616c0000000000000000000015416c6c6f7765642d5265636970726f63616c2d4c6963656e736500000000001a416c6c6f7765642d576974682d4174747269627574696f6e0000000000000018", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0xa3c1a3087c5a99a0fb87108b28c61b94ed9500616da895ed7590a96face368ca", + "transactionIndex": "0x1a", + "logIndex": "0x1b", + "removed": false + }, + { + "address": "0x3113e5bfe2251A9fcA1225083cf6d36547E63e07", + "topics": [ + "0xcc3b4b42d496457f15f49a410f201fdb906b09fbff771f240a8dc8418abe68be" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000095350554d4c2d312e300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004a68747470733a2f2f6769746875622e636f6d2f73746f727970726f746f636f6c2f70726f746f636f6c2d636f6e7472616374732f626c6f622f6d61696e2f5350554d4c2d76312e70646600000000000000000000000000000000000000000000", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0xa3c1a3087c5a99a0fb87108b28c61b94ed9500616da895ed7590a96face368ca", + "transactionIndex": "0x1a", + "logIndex": "0x1c", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000100008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + } + ], + "libraries": [], + "pending": [], + "path": "/Users/drmanhattan/Workspace/StoryProtocol/protocol-contracts/broadcast/Main.s.sol/11155111/run-latest.json", + "returns": {}, + "timestamp": 1702012431, + "chain": 11155111, + "multi": false, + "commit": "d1b1d7f" +} \ No newline at end of file diff --git a/broadcast/Main.s.sol/11155111/run-1702012710.json b/broadcast/Main.s.sol/11155111/run-1702012710.json new file mode 100644 index 00000000..01066c3e --- /dev/null +++ b/broadcast/Main.s.sol/11155111/run-1702012710.json @@ -0,0 +1,2035 @@ +{ + "transactions": [ + { + "hash": "0x268e37803ef61c5be00822983907bf7cae439a10f5bce3006a454e86cfc5bdba", + "transactionType": "CREATE", + "contractName": "AccessControlSingleton", + "contractAddress": "0x8db8b66518E9Cb412aF5573c5423582587117533", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x2138be", + "value": "0x0", + "data": "0x60a06040523060805234801561001457600080fd5b50608051611d9061004c600039600081816104d101528181610581015281816106d60152818161078601526108cb0152611d906000f3fe6080604052600436106100dd5760003560e01c806352d1902d1161007f578063a217fddf11610059578063a217fddf146102a8578063ac9650d8146102bd578063c4d66de8146102ea578063d547741f1461030a57600080fd5b806352d1902d146101ea57806354fd4d50146101ff57806391d148541461025557600080fd5b80632f2ff15d116100bb5780632f2ff15d1461017757806336568abe146101975780633659cfe6146101b75780634f1ef286146101d757600080fd5b806301ffc9a7146100e25780631e4e009114610117578063248a9ca314610139575b600080fd5b3480156100ee57600080fd5b506101026100fd3660046117aa565b61032a565b60405190151581526020015b60405180910390f35b34801561012357600080fd5b506101376101323660046117ec565b6103c3565b005b34801561014557600080fd5b5061016961015436600461180e565b60009081526065602052604090206001015490565b60405190815260200161010e565b34801561018357600080fd5b50610137610192366004611850565b6103dd565b3480156101a357600080fd5b506101376101b2366004611850565b610402565b3480156101c357600080fd5b506101376101d236600461187c565b6104ba565b6101376101e53660046118c6565b6106bf565b3480156101f657600080fd5b506101696108b1565b34801561020b57600080fd5b506102486040518060400160405280600581526020017f302e312e3000000000000000000000000000000000000000000000000000000081525081565b60405161010e9190611a14565b34801561026157600080fd5b50610102610270366004611850565b600091825260656020908152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b3480156102b457600080fd5b50610169600081565b3480156102c957600080fd5b506102dd6102d8366004611a27565b61099d565b60405161010e9190611a9c565b3480156102f657600080fd5b5061013761030536600461187c565b610a92565b34801561031657600080fd5b50610137610325366004611850565b610c84565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806103bd57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60006103ce81610ca9565b6103d88383610cb3565b505050565b6000828152606560205260409020600101546103f881610ca9565b6103d88383610cfe565b73ffffffffffffffffffffffffffffffffffffffff811633146104ac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b6104b68282610df2565b5050565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016300361057f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016104a3565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166105f47f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610697576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016104a3565b6106a081610ead565b604080516000808252602082019092526106bc91839190610ed7565b50565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610784576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016104a3565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166107f97f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff161461089c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016104a3565b6108a582610ead565b6104b682826001610ed7565b60003073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610978576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016104a3565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b60608167ffffffffffffffff8111156109b8576109b8611897565b6040519080825280602002602001820160405280156109eb57816020015b60608152602001906001900390816109d65790505b50905060005b82811015610a8b57610a5b30858584818110610a0f57610a0f611b1c565b9050602002810190610a219190611b4b565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506110d692505050565b828281518110610a6d57610a6d611b1c565b60200260200101819052508080610a8390611be6565b9150506109f1565b5092915050565b600054610100900460ff1615808015610ab25750600054600160ff909116105b80610acc5750303b158015610acc575060005460ff166001145b610b58576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016104a3565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610bb657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b73ffffffffffffffffffffffffffffffffffffffff8216610c03576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c0b611102565b610c13611102565b610c1e600083610cfe565b80156104b657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b600082815260656020526040902060010154610c9f81610ca9565b6103d88383610df2565b6106bc813361119b565b600082815260656020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff166104b657600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff85168452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055610d943390565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16156104b657600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e36104b681610ca9565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610f0a576103d883611255565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610f8f575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252610f8c91810190611c1e565b60015b61101b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016104a3565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81146110ca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016104a3565b506103d883838361135f565b60606110fb8383604051806060016040528060278152602001611d346027913961138a565b9392505050565b600054610100900460ff16611199576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016104a3565b565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff166104b6576111db8161140f565b6111e683602061142e565b6040516020016111f7929190611c37565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a00000000000000000000000000000000000000000000000000000000082526104a391600401611a14565b73ffffffffffffffffffffffffffffffffffffffff81163b6112f9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016104a3565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61136883611671565b6000825111806113755750805b156103d85761138483836110d6565b50505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516113b49190611cb8565b600060405180830381855af49150503d80600081146113ef576040519150601f19603f3d011682016040523d82523d6000602084013e6113f4565b606091505b5091509150611405868383876116be565b9695505050505050565b60606103bd73ffffffffffffffffffffffffffffffffffffffff831660145b6060600061143d836002611cd4565b611448906002611ceb565b67ffffffffffffffff81111561146057611460611897565b6040519080825280601f01601f19166020018201604052801561148a576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106114c1576114c1611b1c565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061152457611524611b1c565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000611560846002611cd4565b61156b906001611ceb565b90505b6001811115611608577f303132333435363738396162636465660000000000000000000000000000000085600f16601081106115ac576115ac611b1c565b1a60f81b8282815181106115c2576115c2611b1c565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c9361160181611cfe565b905061156e565b5083156110fb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016104a3565b61167a81611255565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060831561175457825160000361174d5773ffffffffffffffffffffffffffffffffffffffff85163b61174d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016104a3565b508161175e565b61175e8383611766565b949350505050565b8151156117765781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104a39190611a14565b6000602082840312156117bc57600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146110fb57600080fd5b600080604083850312156117ff57600080fd5b50508035926020909101359150565b60006020828403121561182057600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461184b57600080fd5b919050565b6000806040838503121561186357600080fd5b8235915061187360208401611827565b90509250929050565b60006020828403121561188e57600080fd5b6110fb82611827565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080604083850312156118d957600080fd5b6118e283611827565b9150602083013567ffffffffffffffff808211156118ff57600080fd5b818501915085601f83011261191357600080fd5b81358181111561192557611925611897565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561196b5761196b611897565b8160405282815288602084870101111561198457600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b838110156119c15781810151838201526020016119a9565b50506000910152565b600081518084526119e28160208601602086016119a6565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006110fb60208301846119ca565b60008060208385031215611a3a57600080fd5b823567ffffffffffffffff80821115611a5257600080fd5b818501915085601f830112611a6657600080fd5b813581811115611a7557600080fd5b8660208260051b8501011115611a8a57600080fd5b60209290920196919550909350505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015611b0f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452611afd8583516119ca565b94509285019290850190600101611ac3565b5092979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611b8057600080fd5b83018035915067ffffffffffffffff821115611b9b57600080fd5b602001915036819003821315611bb057600080fd5b9250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611c1757611c17611bb7565b5060010190565b600060208284031215611c3057600080fd5b5051919050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351611c6f8160178501602088016119a6565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351611cac8160288401602088016119a6565b01602801949350505050565b60008251611cca8184602087016119a6565b9190910192915050565b80820281158282048414176103bd576103bd611bb7565b808201808211156103bd576103bd611bb7565b600081611d0d57611d0d611bb7565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220c1f5e7366e6e39b285e4066626c260cad32cb7f5868a153eb73217f270d2937864736f6c63430008130033", + "nonce": "0x7f7", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xfde8bcaa71872ceb1f5570fe234905444695bf220597adb0facee691a0e936ed", + "transactionType": "CREATE", + "contractName": "ERC1967Proxy", + "contractAddress": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "function": null, + "arguments": [ + "0x8db8b66518E9Cb412aF5573c5423582587117533", + "0xc4d66de8000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x3bece", + "value": "0x0", + "data": "0x60806040526040516104ee3803806104ee833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c760279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60be806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea264697066735822122091c81c9b8ac755a7e1e08c0e9f65600d21e642457fb84c7f9e0d0a65b62d269064736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c65640000000000000000000000008db8b66518e9cb412af5573c542358258711753300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de8000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab00000000000000000000000000000000000000000000000000000000", + "nonce": "0x7f8", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x8d77b124c15a9a95e83130954ba5e386bfa09db488506462c492d1d8932062e5", + "transactionType": "CREATE", + "contractName": "LicensingFrameworkRepo", + "contractAddress": "0x3113e5bfe2251A9fcA1225083cf6d36547E63e07", + "function": null, + "arguments": [ + "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x208b42", + "value": "0x0", + "data": "0x60806040523480156200001157600080fd5b5060405162001e1f38038062001e1f8339810160408190526200003491620001cd565b80620000516001600160a01b038216637965db0b60e01b620000e1565b62000094576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b038316908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050620001f8565b6000620000ee8362000109565b801562000102575062000102838362000142565b9392505050565b60006200011e826301ffc9a760e01b62000142565b80156200013c57506200013a826001600160e01b031962000142565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d91506000519050828015620001b5575060208210155b8015620001c25750600081115b979650505050505050565b600060208284031215620001e057600080fd5b81516001600160a01b03811681146200010257600080fd5b611c1780620002086000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063c2e26bbb1161005b578063c2e26bbb14610108578063c8cea2151461011b578063e75afa551461012e578063eae376e31461014e57600080fd5b806319129e5a1461008d5780637859a97e146100a25780639faddd20146100c8578063ac9650d8146100e8575b600080fd5b6100a061009b366004611198565b61016e565b005b6100b56100b0366004611217565b6102d2565b6040519081526020015b60405180910390f35b6100db6100d6366004611259565b610302565b6040516100bf91906113d1565b6100fb6100f63660046113e4565b6104e8565b6040516100bf9190611459565b6100db610116366004611259565b6105dd565b6100a06101293660046114d9565b6107cb565b61014161013c366004611217565b6109c4565b6040516100bf9190611514565b61016161015c366004611217565b610bae565b6040516100bf9190611587565b600061017a8133610c62565b6101be576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b6101fe73ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000610d05565b610264576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c00000000000000000000000000000000000060448201526064016101b5565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050565b6000600183836040516102e692919061159a565b9081526040519081900360200190206003015490505b92915050565b604080516080810182526000808252602082015260609181018290528181019190915260006001858560405161033992919061159a565b9081526020016040518091039020905080600301838154811061035e5761035e6115aa565b9060005260206000209060040201604051806080016040529081600082015481526020016001820160009054906101000a900460ff1660058111156103a5576103a56112a5565b60058111156103b6576103b66112a5565b81526020016002820180546103ca906115d9565b80601f01602080910402602001604051908101604052809291908181526020018280546103f6906115d9565b80156104435780601f1061041857610100808354040283529160200191610443565b820191906000526020600020905b81548152906001019060200180831161042657829003601f168201915b5050505050815260200160038201805461045c906115d9565b80601f0160208091040260200160405190810160405280929190818152602001828054610488906115d9565b80156104d55780601f106104aa576101008083540402835291602001916104d5565b820191906000526020600020905b8154815290600101906020018083116104b857829003601f168201915b5050505050815250509150509392505050565b60608167ffffffffffffffff8111156105035761050361162c565b60405190808252806020026020018201604052801561053657816020015b60608152602001906001900390816105215790505b50905060005b828110156105d6576105a63085858481811061055a5761055a6115aa565b905060200281019061056c919061165b565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610d2192505050565b8282815181106105b8576105b86115aa565b602002602001018190525080806105ce906116c0565b91505061053c565b5092915050565b60408051608081018252600080825260208201526060918101829052818101919091526002600085858560405160200161061993929190611768565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181528151602092830120835282820193909352908201600020825160808101909352805483526001810154909183019060ff166005811115610689576106896112a5565b600581111561069a5761069a6112a5565b81526020016002820180546106ae906115d9565b80601f01602080910402602001604051908101604052809291908181526020018280546106da906115d9565b80156107275780601f106106fc57610100808354040283529160200191610727565b820191906000526020600020905b81548152906001019060200180831161070a57829003601f168201915b50505050508152602001600382018054610740906115d9565b80601f016020809104026020016040519081016040528092919081815260200182805461076c906115d9565b80156107b95780601f1061078e576101008083540402835291602001916107b9565b820191906000526020600020905b81548152906001019060200180831161079c57829003601f168201915b50505050508152505090509392505050565b7f256895704541e78004f0fd55953a8bcc54c628755b14fbf53afdc556473f9bd06107f68133610c62565b610835576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016101b5565b60006001610843848061165b565b60405161085192919061159a565b90815260200160405180910390209050600061086f82600101610d46565b11156108a7576040517f7e5d56bb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006108b6604085018561178c565b91505060968111156108f4576040517fb6cb3c0400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b818110156109525761094061090c868061165b565b610919604089018961178c565b85818110610929576109296115aa565b905060200281019061093b91906117f4565b610d50565b8061094a816116c0565b9150506108f7565b50610960602085018561165b565b839161096d919083611881565b507fcc3b4b42d496457f15f49a410f201fdb906b09fbff771f240a8dc8418abe68be610999858061165b565b6109a6602088018861165b565b6040516109b6949392919061199c565b60405180910390a150505050565b6060600183836040516109d892919061159a565b9081526020016040518091039020600301805480602002602001604051908101604052809291908181526020016000905b82821015610ba25783829060005260206000209060040201604051806080016040529081600082015481526020016001820160009054906101000a900460ff166005811115610a5a57610a5a6112a5565b6005811115610a6b57610a6b6112a5565b8152602001600282018054610a7f906115d9565b80601f0160208091040260200160405190810160405280929190818152602001828054610aab906115d9565b8015610af85780601f10610acd57610100808354040283529160200191610af8565b820191906000526020600020905b815481529060010190602001808311610adb57829003601f168201915b50505050508152602001600382018054610b11906115d9565b80601f0160208091040260200160405190810160405280929190818152602001828054610b3d906115d9565b8015610b8a5780601f10610b5f57610100808354040283529160200191610b8a565b820191906000526020600020905b815481529060010190602001808311610b6d57829003601f168201915b50505050508152505081526020019060010190610a09565b50505050905092915050565b606060018383604051610bc292919061159a565b9081526040519081900360200190208054610bdc906115d9565b80601f0160208091040260200160405190810160405280929190818152602001828054610c08906115d9565b8015610c555780601f10610c2a57610100808354040283529160200191610c55565b820191906000526020600020905b815481529060010190602001808311610c3857829003601f168201915b5050505050905092915050565b600080546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff8481166024830152909116906391d1485490604401602060405180830381865afa158015610cda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cfe91906119c3565b9392505050565b6000610d1083610e81565b8015610cfe5750610cfe8383610ee5565b6060610cfe8383604051806060016040528060278152602001611bbb60279139610fb4565b60006102fc825490565b600060018484604051610d6492919061159a565b90815260405190819003602001902090508135610d846001830182611039565b15610dbb576040517f982f2a2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610dc86001830182611051565b508260026000878785604051602001610de393929190611768565b6040516020818303038152906040528051906020012081526020019081526020016000208181610e1391906119f5565b505060038201805460018101825560009182526020909120849160040201610e3b82826119f5565b50507f25be0d4acedf2199ce49f3044ddf933ebe2febd8c63bd2cdd7ed12b458fc336185858386604051610e729493929190611b13565b60405180910390a15050505050565b6000610ead827f01ffc9a700000000000000000000000000000000000000000000000000000000610ee5565b80156102fc5750610ede827fffffffff00000000000000000000000000000000000000000000000000000000610ee5565b1592915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015610f9d575060208210155b8015610fa95750600081115b979650505050505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051610fde9190611ba8565b600060405180830381855af49150503d8060008114611019576040519150601f19603f3d011682016040523d82523d6000602084013e61101e565b606091505b509150915061102f8683838761105d565b9695505050505050565b60008181526001830160205260408120541515610cfe565b6000610cfe8383611105565b606083156110f35782516000036110ec5773ffffffffffffffffffffffffffffffffffffffff85163b6110ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016101b5565b50816110fd565b6110fd8383611154565b949350505050565b600081815260018301602052604081205461114c575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556102fc565b5060006102fc565b8151156111645781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101b59190611587565b6000602082840312156111aa57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610cfe57600080fd5b60008083601f8401126111e057600080fd5b50813567ffffffffffffffff8111156111f857600080fd5b60208301915083602082850101111561121057600080fd5b9250929050565b6000806020838503121561122a57600080fd5b823567ffffffffffffffff81111561124157600080fd5b61124d858286016111ce565b90969095509350505050565b60008060006040848603121561126e57600080fd5b833567ffffffffffffffff81111561128557600080fd5b611291868287016111ce565b909790965060209590950135949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6006811061130b577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b60005b8381101561132a578181015183820152602001611312565b50506000910152565b6000815180845261134b81602086016020860161130f565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b805182526000602082015161139560208501826112d4565b506040820151608060408501526113af6080850182611333565b9050606083015184820360608601526113c88282611333565b95945050505050565b602081526000610cfe602083018461137d565b600080602083850312156113f757600080fd5b823567ffffffffffffffff8082111561140f57600080fd5b818501915085601f83011261142357600080fd5b81358181111561143257600080fd5b8660208260051b850101111561144757600080fd5b60209290920196919550909350505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156114cc577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08886030184526114ba858351611333565b94509285019290850190600101611480565b5092979650505050505050565b6000602082840312156114eb57600080fd5b813567ffffffffffffffff81111561150257600080fd5b820160608185031215610cfe57600080fd5b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156114cc577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc088860301845261157585835161137d565b9450928501929085019060010161153b565b602081526000610cfe6020830184611333565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600181811c908216806115ed57607f821691505b602082108103611626577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261169057600080fd5b83018035915067ffffffffffffffff8211156116ab57600080fd5b60200191503681900382131561121057600080fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611718577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60408152600061177c60408301858761171f565b9050826020830152949350505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126117c157600080fd5b83018035915067ffffffffffffffff8211156117dc57600080fd5b6020019150600581901b360382131561121057600080fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8183360301811261182857600080fd5b9190910192915050565b601f82111561187c57600081815260208120601f850160051c810160208610156118595750805b601f850160051c820191505b8181101561187857828155600101611865565b5050505b505050565b67ffffffffffffffff8311156118995761189961162c565b6118ad836118a783546115d9565b83611832565b6000601f8411600181146118ff57600085156118c95750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355611995565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b8281101561194e578685013582556020948501946001909201910161192e565b5086821015611989577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b6040815260006119b060408301868861171f565b8281036020840152610fa981858761171f565b6000602082840312156119d557600080fd5b81518015158114610cfe57600080fd5b600681106119f257600080fd5b50565b81358155600181016020830135611a0b816119e5565b60068110611a42577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0082541660ff821681178355505050611a7e604083018361165b565b611a8c818360028601611881565b5050611a9b606083018361165b565b611aa9818360038601611881565b50505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611ae457600080fd5b830160208101925035905067ffffffffffffffff811115611b0457600080fd5b80360382131561121057600080fd5b606081526000611b2760608301868861171f565b8460208401528281036040840152833581526020840135611b47816119e5565b611b5460208301826112d4565b50611b626040850185611aaf565b60806040840152611b7760808401828461171f565b915050611b876060860186611aaf565b8383036060850152611b9a83828461171f565b9a9950505050505050505050565b6000825161182881846020870161130f56fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212208f3e172f26b1e16118674b4d7985c156f2849b9f9fd282fb3045456dfd7724a564736f6c63430008130033000000000000000000000000518ccd79e0e7b75fd5fcc09463fb09cb7d55470d", + "nonce": "0x7f9", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x5cef1fa852da9c51bb37504446cea2708bcf829485ef6af1f4b6f4ebfaad27aa", + "transactionType": "CREATE", + "contractName": "ModuleRegistry", + "contractAddress": "0x51870A0659A87c7B46baEF7311B3128006E1FB16", + "function": null, + "arguments": [ + "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x276514", + "value": "0x0", + "data": "0x60806040523480156200001157600080fd5b506040516200246c3803806200246c8339810160408190526200003491620001cd565b80620000516001600160a01b038216637965db0b60e01b620000e1565b62000094576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b038316908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050620001f8565b6000620000ee8362000109565b801562000102575062000102838362000142565b9392505050565b60006200011e826301ffc9a760e01b62000142565b80156200013c57506200013a826001600160e01b031962000142565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d91506000519050828015620001b5575060208210155b8015620001c25750600081115b979650505050505050565b600060208284031215620001e057600080fd5b81516001600160a01b03811681146200010257600080fd5b61226480620002086000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c80638694509411610097578063d04d78c611610066578063d04d78c614610225578063d08906d614610238578063e1fc45ce1461024b578063eca535191461025e57600080fd5b806386945094146101df578063ac9650d8146101f2578063b38609e814610212578063c7bdcb8a146101df57600080fd5b80634066edd9116100d35780634066edd914610179578063449f1a961461018c5780635c7a980b146101c457806382984f30146101cc57600080fd5b806319129e5a1461010557806320b76ffc1461011a57806337e22bd41461012d5780633af83c1814610156575b600080fd5b6101186101133660046115ac565b610271565b005b610118610128366004611612565b6103d5565b61014061013b366004611854565b6103eb565b60405161014d9190611982565b60405180910390f35b610169610164366004611995565b610405565b604051901515815260200161014d565b6101186101873660046119ec565b610460565b61019f61019a3660046119ec565b610672565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161014d565b61019f600081565b6101696101da3660046115ac565b6106b4565b61019f6101ed3660046119ec565b610718565b610205610200366004611a73565b61072c565b60405161014d9190611afb565b610140610220366004611b0e565b610821565b610118610233366004611995565b610939565b610118610246366004611995565b610acd565b610140610259366004611bf6565b610c1d565b61011861026c3660046119ec565b610ca3565b600061027d8133610e63565b6102c1576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b61030173ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000610f06565b610367576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c00000000000000000000000000000000000060448201526064016102b8565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050565b6103e3853386868686610f22565b505050505050565b60606103fb8633878787876110d0565b9695505050505050565b60008173ffffffffffffffffffffffffffffffffffffffff1660018585604051610430929190611c8b565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff161490509392505050565b7fc9a6ce5d86bdc06f8d57f20091bf09bf611e57d0626b65aa9ebb3c9179ba650f61048b8133610e63565b6104ca576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016102b8565b600073ffffffffffffffffffffffffffffffffffffffff16600284846040516104f4929190611c8b565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff16036105555782826040517f3fbd33b30000000000000000000000000000000000000000000000000000000081526004016102b8929190611ce4565b600060028484604051610569929190611c8b565b9081526040519081900360200181205473ffffffffffffffffffffffffffffffffffffffff1691506002906105a19086908690611c8b565b908152604080516020928190038301902080547fffffffffffffffffffffffff000000000000000000000000000000000000000016905573ffffffffffffffffffffffffffffffffffffffff831660009081526003909252812061060491611524565b8073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f946d7ea49afbef075e4d6f78364557a1cd3e32b89d9a963d6d041caac5e8953a8686604051610664929190611ce4565b60405180910390a350505050565b600060028383604051610686929190611c8b565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff16905092915050565b73ffffffffffffffffffffffffffffffffffffffff811660008181526003602052604080822090519192916002916106eb91611d4b565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff161492915050565b600060018383604051610686929190611c8b565b60608167ffffffffffffffff81111561074757610747611695565b60405190808252806020026020018201604052801561077a57816020015b60608152602001906001900390816107655790505b50905060005b8281101561081a576107ea3085858481811061079e5761079e611ddf565b90506020028101906107b09190611e0e565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061126992505050565b8282815181106107fc576107fc611ddf565b6020026020010181905250808061081290611e73565b915050610780565b5092915050565b60607fe4a10d29decbd34c09a62a511d4fd993a7d8cbbf58d7d4278711c29c9148b8f761084e8133610e63565b61088d576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016102b8565b6109298c8c8c8c8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061091a92508c91508d9050611ed2565b610924898b611ed2565b6110d0565b9c9b505050505050505050505050565b7fc9a6ce5d86bdc06f8d57f20091bf09bf611e57d0626b65aa9ebb3c9179ba650f6109648133610e63565b6109a3576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016102b8565b73ffffffffffffffffffffffffffffffffffffffff82166109f0576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8160028585604051610a03929190611c8b565b908152604080516020928190038301902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9485161790559184166000908152600390915220610a6c848683611f2a565b508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f33f12a9d70fd5f6771d495aae3b2cf0abc703cbaa526982b65446f1ef8816f9b8686604051610664929190611ce4565b7fc9a6ce5d86bdc06f8d57f20091bf09bf611e57d0626b65aa9ebb3c9179ba650f610af88133610e63565b610b37576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016102b8565b73ffffffffffffffffffffffffffffffffffffffff8216610b84576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8160018585604051610b97929190611c8b565b908152604051908190036020018120805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff0000000000000000000000000000000000000000909116179055908316906000907f14d77cb3ef4c75b9a031527cf63890f47708121a75c8b9c9cddbacc19defd122906106649088908890611ce4565b60607fe4a10d29decbd34c09a62a511d4fd993a7d8cbbf58d7d4278711c29c9148b8f7610c4a8133610e63565b610c89576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016102b8565b610c97888888888888610f22565b98975050505050505050565b7fc9a6ce5d86bdc06f8d57f20091bf09bf611e57d0626b65aa9ebb3c9179ba650f610cce8133610e63565b610d0d576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016102b8565b600073ffffffffffffffffffffffffffffffffffffffff1660018484604051610d37929190611c8b565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff1603610d985782826040517f97385f510000000000000000000000000000000000000000000000000000000081526004016102b8929190611ce4565b600060018484604051610dac929190611c8b565b9081526040519081900360200181205473ffffffffffffffffffffffffffffffffffffffff169150600190610de49086908690611c8b565b90815260405190819003602001812080547fffffffffffffffffffffffff000000000000000000000000000000000000000016905573ffffffffffffffffffffffffffffffffffffffff8216906000907f335f1d2bb0046b3a423088788bb8d6350f8a36ff7d554592f91d8102ea0ce4d7906106649088908890611ce4565b600080546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff8481166024830152909116906391d1485490604401602060405180830381865afa158015610edb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eff9190612045565b9392505050565b6000610f118361128e565b8015610eff5750610eff83836112f3565b6060600060018686604051610f38929190611c8b565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff16905080610f9b5785856040517f97385f510000000000000000000000000000000000000000000000000000000081526004016102b8929190611ce4565b6040517f4fcbd21300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821690634fcbd21390610ff3908b908b9089908990600401612067565b6000604051808303816000875af1158015611012573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261105891908101906120a1565b91508673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167f48786003f3d30e41bfa4ee09afdeb9bfb04b7e06e2f74f3177da393a793bbc33888888886040516110bd9493929190612118565b60405180910390a3509695505050505050565b606060006001866040516110e4919061213f565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff1690508061114557856040517f97385f510000000000000000000000000000000000000000000000000000000081526004016102b89190611982565b6040517fb6efd29d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82169063b6efd29d9061119f908b908b908a908a908a9060040161215b565b6000604051808303816000875af11580156111be573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261120491908101906120a1565b91508673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fc370e2f187a6d9446aca617bbcd60f84f24a0020a0c55dbc4ff5c8a3ce87abb5888888886040516110bd94939291906121ba565b6060610eff8383604051806060016040528060278152602001612208602791396113c2565b60006112ba827f01ffc9a7000000000000000000000000000000000000000000000000000000006112f3565b80156112ed57506112eb827fffffffff000000000000000000000000000000000000000000000000000000006112f3565b155b92915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d915060005190508280156113ab575060208210155b80156113b75750600081115b979650505050505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516113ec919061213f565b600060405180830381855af49150503d8060008114611427576040519150601f19603f3d011682016040523d82523d6000602084013e61142c565b606091505b50915091506103fb86838387606083156114ce5782516000036114c75773ffffffffffffffffffffffffffffffffffffffff85163b6114c7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102b8565b50816114d8565b6114d883836114e0565b949350505050565b8151156114f05781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102b89190611982565b50805461153090611cf8565b6000825580601f10611540575050565b601f01602090049060005260206000209081019061155e9190611561565b50565b5b808211156115765760008155600101611562565b5090565b73ffffffffffffffffffffffffffffffffffffffff8116811461155e57600080fd5b80356115a78161157a565b919050565b6000602082840312156115be57600080fd5b8135610eff8161157a565b60008083601f8401126115db57600080fd5b50813567ffffffffffffffff8111156115f357600080fd5b60208301915083602082850101111561160b57600080fd5b9250929050565b60008060008060006060868803121561162a57600080fd5b85356116358161157a565b9450602086013567ffffffffffffffff8082111561165257600080fd5b61165e89838a016115c9565b9096509450604088013591508082111561167757600080fd5b50611684888289016115c9565b969995985093965092949392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561170b5761170b611695565b604052919050565b600067ffffffffffffffff82111561172d5761172d611695565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f83011261176a57600080fd5b813561177d61177882611713565b6116c4565b81815284602083860101111561179257600080fd5b816020850160208301376000918101602001919091529392505050565b600067ffffffffffffffff808411156117ca576117ca611695565b8360051b60206117db8183016116c4565b868152935090840190808401878311156117f457600080fd5b855b838110156118285780358581111561180e5760008081fd5b61181a8a828a01611759565b8352509082019082016117f6565b50505050509392505050565b600082601f83011261184557600080fd5b610eff838335602085016117af565b600080600080600060a0868803121561186c57600080fd5b85356118778161157a565b9450602086013567ffffffffffffffff8082111561189457600080fd5b6118a089838a01611759565b955060408801359150808211156118b657600080fd5b6118c289838a01611759565b945060608801359150808211156118d857600080fd5b6118e489838a01611834565b935060808801359150808211156118fa57600080fd5b5061190788828901611834565b9150509295509295909350565b60005b8381101561192f578181015183820152602001611917565b50506000910152565b60008151808452611950816020860160208601611914565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610eff6020830184611938565b6000806000604084860312156119aa57600080fd5b833567ffffffffffffffff8111156119c157600080fd5b6119cd868287016115c9565b90945092505060208401356119e18161157a565b809150509250925092565b600080602083850312156119ff57600080fd5b823567ffffffffffffffff811115611a1657600080fd5b611a22858286016115c9565b90969095509350505050565b60008083601f840112611a4057600080fd5b50813567ffffffffffffffff811115611a5857600080fd5b6020830191508360208260051b850101111561160b57600080fd5b60008060208385031215611a8657600080fd5b823567ffffffffffffffff811115611a9d57600080fd5b611a2285828601611a2e565b6000815180845260208085019450848260051b860182860160005b85811015611aee578383038952611adc838351611938565b98850198925090840190600101611ac4565b5090979650505050505050565b602081526000610eff6020830184611aa9565b60008060008060008060008060008060c08b8d031215611b2d57600080fd5b611b368b61159c565b9950611b4460208c0161159c565b985060408b013567ffffffffffffffff80821115611b6157600080fd5b611b6d8e838f016115c9565b909a50985060608d0135915080821115611b8657600080fd5b611b928e838f016115c9565b909850965060808d0135915080821115611bab57600080fd5b611bb78e838f01611a2e565b909650945060a08d0135915080821115611bd057600080fd5b50611bdd8d828e01611a2e565b915080935050809150509295989b9194979a5092959850565b60008060008060008060808789031215611c0f57600080fd5b8635611c1a8161157a565b95506020870135611c2a8161157a565b9450604087013567ffffffffffffffff80821115611c4757600080fd5b611c538a838b016115c9565b90965094506060890135915080821115611c6c57600080fd5b50611c7989828a016115c9565b979a9699509497509295939492505050565b8183823760009101908152919050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6020815260006114d8602083018486611c9b565b600181811c90821680611d0c57607f821691505b602082108103611d45577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b6000808354611d5981611cf8565b60018281168015611d715760018114611da457611dd3565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0084168752821515830287019450611dd3565b8760005260208060002060005b85811015611dca5781548a820152908401908201611db1565b50505082870194505b50929695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611e4357600080fd5b83018035915067ffffffffffffffff821115611e5e57600080fd5b60200191503681900382131561160b57600080fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611ecb577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b6000610eff3684846117af565b601f821115611f2557600081815260208120601f850160051c81016020861015611f065750805b601f850160051c820191505b818110156103e357828155600101611f12565b505050565b67ffffffffffffffff831115611f4257611f42611695565b611f5683611f508354611cf8565b83611edf565b6000601f841160018114611fa85760008515611f725750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b17835561203e565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b82811015611ff75786850135825560209485019460019092019101611fd7565b5086821015612032577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b60006020828403121561205757600080fd5b81518015158114610eff57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250606060408301526103fb606083018486611c9b565b6000602082840312156120b357600080fd5b815167ffffffffffffffff8111156120ca57600080fd5b8201601f810184136120db57600080fd5b80516120e961177882611713565b8181528560208385010111156120fe57600080fd5b61210f826020830160208601611914565b95945050505050565b60408152600061212c604083018688611c9b565b82810360208401526113b7818587611c9b565b60008251612151818460208701611914565b9190910192915050565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525060a0604083015261219460a0830186611938565b82810360608401526121a68186611aa9565b90508281036080840152610c978185611aa9565b6080815260006121cd6080830187611938565b82810360208401526121df8187611938565b905082810360408401526121f38186611aa9565b905082810360608401526113b78185611aa956fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220db500e1b4c73af951db86225ddf5da0ca8d3d8bec7e9430df8a7b51035fa9ee564736f6c63430008130033000000000000000000000000518ccd79e0e7b75fd5fcc09463fb09cb7d55470d", + "nonce": "0x7fa", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x20e56a5db623534cd0345e992dbfdfb712f9caca6d59b310c070a7eee9e19215", + "transactionType": "CREATE", + "contractName": "IPAssetRegistry", + "contractAddress": "0x5B81030C087d41558E3FCF23B3575E85c9A768e6", + "function": null, + "arguments": [ + "0x51870A0659A87c7B46baEF7311B3128006E1FB16" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x132c3f", + "value": "0x0", + "data": "0x60a0604052600060015534801561001557600080fd5b5060405161113e38038061113e83398101604081905261003491610045565b6001600160a01b0316608052610075565b60006020828403121561005757600080fd5b81516001600160a01b038116811461006e57600080fd5b9392505050565b6080516110926100ac6000396000818161018e0152818161023f0152818161040f0152818161057c01526106af01526110926000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806387cb967a1161005b57806387cb967a14610150578063b95ddb5214610189578063c47f8bfa146101b0578063d896dd64146101d057600080fd5b8063251fe79c1461008d578063299d1cf6146100a257806342d21ef7146100df578063601a924c1461012f575b600080fd5b6100a061009b366004610b62565b6101e3565b005b6100b56100b0366004610b92565b61039b565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61011d6100ed366004610b92565b60009081526020819052604090206001015474010000000000000000000000000000000000000000900460ff1690565b60405160ff90911681526020016100d6565b61014261013d366004610bda565b61051d565b6040519081526020016100d6565b6100b561015e366004610b92565b60009081526020819052604090206002015473ffffffffffffffffffffffffffffffffffffffff1690565b6100b57f000000000000000000000000000000000000000000000000000000000000000081565b6101c36101be366004610b92565b610951565b6040516100d69190610d3a565b6100a06101de366004610dbd565b610aa0565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815233917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a9161028791600401610de8565b602060405180830381865afa1580156102a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102c89190610dfb565b73ffffffffffffffffffffffffffffffffffffffff1614610315576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008281526020819052604080822060020180547fffffffffffffffffffffffff0000000000000000000000000000000000000000811673ffffffffffffffffffffffffffffffffffffffff8681169182179093559251911692839186917f147c62691502c52a4a793c136ab712d9695053acdd62d44170a823bc377a59f591a4505050565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a000000000000000000000000000000000000000000000000000000008152600091829173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a916104439190600401610de8565b602060405180830381865afa158015610460573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104849190610dfb565b6040517f6352211e0000000000000000000000000000000000000000000000000000000081526004810185905290915073ffffffffffffffffffffffffffffffffffffffff821690636352211e90602401602060405180830381865afa1580156104f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105169190610dfb565b9392505050565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260009133917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a916105c59190600401610de8565b602060405180830381865afa1580156105e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106069190610dfb565b73ffffffffffffffffffffffffffffffffffffffff1614610653576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815233917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a916106f791600401610de8565b602060405180830381865afa158015610714573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107389190610dfb565b73ffffffffffffffffffffffffffffffffffffffff1614610785576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016000815461079490610e18565b91829055506040805160c08101825285815273ffffffffffffffffffffffffffffffffffffffff8781166020808401919091526001838501529089166060830152608082018690524267ffffffffffffffff811660a084015260008581529182905292902081519394509192909190819061080f9082610f19565b50602082015160018201805460408086015160ff1674010000000000000000000000000000000000000000027fffffffffffffffffffffff00000000000000000000000000000000000000000090921673ffffffffffffffffffffffffffffffffffffffff948516179190911790915560608401516002840180549184167fffffffffffffffffffffffff0000000000000000000000000000000000000000929092169190911790556080840151600384015560a0909301516004909201805467ffffffffffffffff9093167fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909316929092179091559051868216918816907f964ceb922535d169779e716f1dea5a577aeef2427e753bdb9eace345bca56b929061094090869089908990611033565b60405180910390a350949350505050565b6040805160c081018252606080825260006020830181905292820183905281018290526080810182905260a081019190915260008281526020819052604090819020815160c081019092528054829082906109ab90610e77565b80601f01602080910402602001604051908101604052809291908181526020018280546109d790610e77565b8015610a245780601f106109f957610100808354040283529160200191610a24565b820191906000526020600020905b815481529060010190602001808311610a0757829003601f168201915b5050509183525050600182015473ffffffffffffffffffffffffffffffffffffffff80821660208401527401000000000000000000000000000000000000000090910460ff16604083015260028301541660608201526003820154608082015260049091015467ffffffffffffffff1660a09091015292915050565b60008281526020818152604091829020600101805460ff858116740100000000000000000000000000000000000000008181027fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff8516179094558551939092041680835292820152849283917fd98efe2dd5b76c52df27ca251c889b2339e9f49fdd2e02e72abbae1136a1f014910160405180910390a250505050565b73ffffffffffffffffffffffffffffffffffffffff81168114610b5f57600080fd5b50565b60008060408385031215610b7557600080fd5b823591506020830135610b8781610b3d565b809150509250929050565b600060208284031215610ba457600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060008060808587031215610bf057600080fd5b8435610bfb81610b3d565b93506020850135610c0b81610b3d565b9250604085013567ffffffffffffffff80821115610c2857600080fd5b818701915087601f830112610c3c57600080fd5b813581811115610c4e57610c4e610bab565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715610c9457610c94610bab565b816040528281528a6020848701011115610cad57600080fd5b826020860160208301376000928101602001929092525095989497509495606001359450505050565b6000815180845260005b81811015610cfc57602081850181015186830182015201610ce0565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081526000825160c06020840152610d5660e0840182610cd6565b9050602084015173ffffffffffffffffffffffffffffffffffffffff808216604086015260ff60408701511660608601528060608701511660808601525050608084015160a084015267ffffffffffffffff60a08501511660c08401528091505092915050565b60008060408385031215610dd057600080fd5b82359150602083013560ff81168114610b8757600080fd5b6020815260006105166020830184610cd6565b600060208284031215610e0d57600080fd5b815161051681610b3d565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610e70577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b600181811c90821680610e8b57607f821691505b602082108103610ec4577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f821115610f1457600081815260208120601f850160051c81016020861015610ef15750805b601f850160051c820191505b81811015610f1057828155600101610efd565b5050505b505050565b815167ffffffffffffffff811115610f3357610f33610bab565b610f4781610f418454610e77565b84610eca565b602080601f831160018114610f9a5760008415610f645750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610f10565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015610fe757888601518255948401946001909101908401610fc8565b508582101561102357878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b83815260606020820152600061104c6060830185610cd6565b905082604083015294935050505056fea26469706673582212208eaf86cacb600d9314b9d1d5d2261f9c609ee632773c3332418ebe9b5cc85fba64736f6c6343000813003300000000000000000000000051870a0659a87c7b46baef7311b3128006e1fb16", + "nonce": "0x7fb", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x2bb57468dbedb53b56ff6025980717fb50edbc2eeb91c444d76620313646e2f1", + "transactionType": "CREATE", + "contractName": "LicenseRegistry", + "contractAddress": "0x826a953332Df2e1a994C7CFae68E129ba683Aa8F", + "function": null, + "arguments": [ + "0x5B81030C087d41558E3FCF23B3575E85c9A768e6", + "0x51870A0659A87c7B46baEF7311B3128006E1FB16", + "0x3113e5bfe2251A9fcA1225083cf6d36547E63e07" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x3e569c", + "value": "0x0", + "data": "0x60e06040523480156200001157600080fd5b5060405162003ab038038062003ab0833981016040819052620000349162000160565b6040518060400160405280601a81526020017f53746f72792050726f746f636f6c204c6963656e7365204e4654000000000000815250604051806040016040528060048152602001631313919560e21b81525081600090816200009891906200024f565b506001620000a782826200024f565b5050506001600160a01b038316620000d25760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b038084166080528216620001005760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0380831660a05281166200012e5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b031660c052506200031b9050565b80516001600160a01b03811681146200015b57600080fd5b919050565b6000806000606084860312156200017657600080fd5b620001818462000143565b9250620001916020850162000143565b9150620001a16040850162000143565b90509250925092565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620001d557607f821691505b602082108103620001f657634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200024a57600081815260208120601f850160051c81016020861015620002255750805b601f850160051c820191505b81811015620002465782815560010162000231565b5050505b505050565b81516001600160401b038111156200026b576200026b620001aa565b62000283816200027c8454620001c0565b84620001fc565b602080601f831160018114620002bb5760008415620002a25750858301515b600019600386901b1c1916600185901b17855562000246565b600085815260208120601f198616915b82811015620002ec57888601518255948401946001909101908401620002cb565b50858210156200030b5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60805160a05160c0516137426200036e600039600061043401526000818161048901528181610adb0152818161106c015281816112980152611808015260008181610522015261225301526137426000f3fe608060405234801561001057600080fd5b506004361061020b5760003560e01c806370a082311161012a578063c8c0eb87116100bd578063e006e5a71161008c578063e705c2b811610071578063e705c2b8146105b3578063e985e9c5146105c6578063eb683a491461060f57600080fd5b8063e006e5a714610567578063e58efef61461057a57600080fd5b8063c8c0eb87146104cc578063d09d894e1461050a578063d2faf8b01461051d578063d7f9ab8b1461054457600080fd5b8063a22cb465116100f9578063a22cb4651461045e578063b88d4fde14610471578063b95ddb5214610484578063c87b56dd146104ab57600080fd5b806370a082311461040957806371e074dd1461041c57806376a4b13b1461042f57806395d89b411461045657600080fd5b8063357a595a116101a2578063439d4b5c11610171578063439d4b5c1461039257806356227341146103a55780636103b2ce146103d65780636352211e146103f657600080fd5b8063357a595a1461031957806337f8ebfb1461032c5780633c06e1dc1461035657806342842e0e1461037f57600080fd5b806308a4f072116101de57806308a4f072146102be578063095ea7b3146102de5780631f09e4e5146102f357806323b872dd1461030657600080fd5b806301ffc9a714610210578063056569af1461023857806306fdde0314610296578063081812fc146102ab575b600080fd5b61022361021e366004612a88565b610622565b60405190151581526020015b60405180910390f35b610271610246366004612aac565b60009081526006602052604090206001015473ffffffffffffffffffffffffffffffffffffffff1690565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161022f565b61029e610707565b60405161022f9190612b29565b6102716102b9366004612aac565b610799565b6102d16102cc366004612aac565b6107cd565b60405161022f9190612b3c565b6102f16102ec366004612bf7565b6108db565b005b6102f1610301366004612c21565b610a6c565b6102f1610314366004612c4d565b610b96565b6102f1610327366004612aac565b610c37565b61022361033a366004612aac565b6000908152600660205260409020546301000000900460ff1690565b610223610364366004612aac565b60009081526006602052604090205462010000900460ff1690565b6102f161038d366004612c4d565b610c44565b6102f16103a0366004612aac565b610c5f565b6103c86103b3366004612aac565b60009081526006602052604090206005015490565b60405190815260200161022f565b6103e96103e4366004612aac565b610d25565b60405161022f9190612cf3565b610271610404366004612aac565b610ea1565b6103c8610417366004612de3565b610f2d565b6102f161042a366004612dfe565b610ffb565b6102717f000000000000000000000000000000000000000000000000000000000000000081565b61029e611164565b6102f161046c366004612e39565b611173565b6102f161047f366004612fc9565b61117e565b6102717f000000000000000000000000000000000000000000000000000000000000000081565b61029e6104b9366004612aac565b5060408051602081019091526000815290565b6102716104da366004612aac565b600090815260066020526040902054640100000000900473ffffffffffffffffffffffffffffffffffffffff1690565b6103c8610518366004613031565b611226565b6102717f000000000000000000000000000000000000000000000000000000000000000081565b6103c8610552366004612aac565b60009081526006602052604090206004015490565b610271610575366004612aac565b6116c7565b610271610588366004612aac565b60009081526006602052604090206002015473ffffffffffffffffffffffffffffffffffffffff1690565b6102236105c1366004612aac565b6116d2565b6102236105d4366004613075565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260056020908152604080832093909416825291909152205460ff1690565b6103c861061d3660046131a9565b611796565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd0000000000000000000000000000000000000000000000000000000014806106b557507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b8061070157507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b606060008054610716906132b0565b80601f0160208091040260200160405190810160405280929190818152602001828054610742906132b0565b801561078f5780601f106107645761010080835404028352916020019161078f565b820191906000526020600020905b81548152906001019060200180831161077257829003601f168201915b5050505050905090565b60006107a482611bb0565b5060009081526004602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b606060076000838152602001908152602001600020805480602002602001604051908101604052809291908181526020016000905b828210156108d057838290600052602060002090600202016040518060400160405290816000820154815260200160018201805461083f906132b0565b80601f016020809104026020016040519081016040528092919081815260200182805461086b906132b0565b80156108b85780601f1061088d576101008083540402835291602001916108b8565b820191906000526020600020905b81548152906001019060200180831161089b57829003601f168201915b50505050508152505081526020019060010190610802565b505050509050919050565b60006108e682610ea1565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036109a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff821614806109d157506109d181336105d4565b610a5d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000606482015260840161099f565b610a678383611c3b565b505050565b604080518082018252601081527f4c4943454e53494e475f4d4f44554c4500000000000000000000000000000000602082015290517f3af83c1800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001691633af83c1891610b1191903390600401613303565b602060405180830381865afa158015610b2e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b52919061333b565b610b88576040517f039cb0ee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b928282611cdb565b5050565b610ba03382611e2a565b610c2c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f76656400000000000000000000000000000000000000606482015260840161099f565b610a67838383611ee9565b610c418133611cdb565b50565b610a678383836040518060200160405280600081525061117e565b600081815260066020526040902054640100000000900473ffffffffffffffffffffffffffffffffffffffff163314610cc4576040517f95e4a90e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008181526006602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660031790555182917ff8ecc300d4504a2b49692052f138b7e697df679cf0580522720ce405bd01be5591a250565b6040805161014081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810191909152600082815260066020526040812090815460ff166003811115610d9b57610d9b612c89565b03610dd2576040517fc28093d700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408051610140810190915281548290829060ff166003811115610df857610df8612c89565b6003811115610e0957610e09612c89565b8152815461010080820460ff9081161515602085015262010000830481161515604085015263010000008304161515606084015264010000000090910473ffffffffffffffffffffffffffffffffffffffff90811660808401526001840154811660a084015260028401541660c0830152600383015460e0830152600483015490820152600590910154610120909101529392505050565b60008181526002602052604081205473ffffffffffffffffffffffffffffffffffffffff1680610701576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e2049440000000000000000604482015260640161099f565b600073ffffffffffffffffffffffffffffffffffffffff8216610fd2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e65720000000000000000000000000000000000000000000000606482015260840161099f565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526003602052604090205490565b604080518082018252601081527f4c4943454e53494e475f4d4f44554c4500000000000000000000000000000000602082015290517f3af83c18000000000000000000000000000000000000000000000000000000008152839173ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001691633af83c18916110a1913390600401613303565b602060405180830381865afa1580156110be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110e2919061333b565b15801561112357506110f381610ea1565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b1561115a576040517fc1b4742400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a6783836121e4565b606060018054610716906132b0565b610b9233838361239b565b6111883383611e2a565b611214576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f76656400000000000000000000000000000000000000606482015260840161099f565b611220848484846124c8565b50505050565b604080518082018252601081527f4c4943454e53494e475f4d4f44554c4500000000000000000000000000000000602082015290517f3af83c1800000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001691633af83c18916112cd913390600401613303565b602060405180830381865afa1580156112ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061130e919061333b565b611344576040517f039cb0ee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61134d856116d2565b611383576040517f72b0a52c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600085815260066020526040808220815161014081019092528054829060ff1660038111156113b4576113b4612c89565b60038111156113c5576113c5612c89565b8152815461010080820460ff9081161515602085015262010000830481161515604085015263010000008304161515606084015264010000000090910473ffffffffffffffffffffffffffffffffffffffff90811660808401526001840154811660a084015260028401541660c0830152600383015460e08301526004830154908201526005909101546101209091015260088054919250600091829061146b90613358565b9182905550610120830188905273ffffffffffffffffffffffffffffffffffffffff871660a084015261010083018590526060830151909150156114ae57600282525b600087815260076020526040808220838352912081546114ce9290612980565b506000818152600660205260409020825181548492919082907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600183600381111561151d5761151d612c89565b021790555060208201518154604080850151606086015160808701517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000ff90941661010095151586027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff16176201000092151592909202919091177fffffffffffffffff000000000000000000000000000000000000000000ffffff166301000000911515919091027fffffffffffffffff0000000000000000000000000000000000000000ffffffff161764010000000073ffffffffffffffffffffffffffffffffffffffff9384160217845560a08501516001850180547fffffffffffffffffffffffff000000000000000000000000000000000000000090811692851692909217905560c086015160028601805490921693169290921790915560e08401516003840155908301516004830155610120909201516005909101555181907f0eaf6d681055f593c54be5a95da92bb2249915d24efbd7686fd32f6f89784204906116a9908590612cf3565b60405180910390a26116bb858261256b565b9150505b949350505050565b600061070182610ea1565b6000816000036116e457506000919050565b811561178e57600260008381526006602052604090205460ff16600381111561170f5761170f612c89565b148061173b575060008281526006602052604081205460ff16600381111561173957611739612c89565b145b806117685750600360008381526006602052604090205460ff16600381111561176657611766612c89565b145b1561177557506000919050565b60009182526006602052604090912060050154906116e4565b506001919050565b604080518082018252601081527f4c4943454e53494e475f4d4f44554c4500000000000000000000000000000000602082015290517f3af83c1800000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001691633af83c189161183d913390600401613303565b602060405180830381865afa15801561185a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061187e919061333b565b6118b4576040517f039cb0ee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b835160018160038111156118ca576118ca612c89565b141580156118ea575060028160038111156118e7576118e7612c89565b14155b15611921576040517f92439ccc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060086000815461193290613358565b9182905550600081815260066020526040902087518154929350889282907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600183600381111561198657611986612c89565b021790555060208201518154604080850151606086015160808701517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000ff90941661010095151586027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff16176201000092151592909202919091177fffffffffffffffff000000000000000000000000000000000000000000ffffff166301000000911515919091027fffffffffffffffff0000000000000000000000000000000000000000ffffffff161764010000000073ffffffffffffffffffffffffffffffffffffffff9384160217845560a08501516001850180547fffffffffffffffffffffffff000000000000000000000000000000000000000090811692851692909217905560c086015160028601805490921693169290921790915560e08401516003840155908301516004830155610120909201516005909101555181907f0eaf6d681055f593c54be5a95da92bb2249915d24efbd7686fd32f6f8978420490611b12908990612cf3565b60405180910390a2611b24858261256b565b83516000828152600760205260408120905b82811015611ba35781878281518110611b5157611b516133b7565b6020908102919091018101518254600181810185556000948552938390208251600290920201908155918101519092820190611b8d9082613434565b5050508080611b9b90613358565b915050611b36565b5091979650505050505050565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff16610c41576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e2049440000000000000000604482015260640161099f565b600081815260046020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091558190611c9582610ea1565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000828152600660205260409020600181015473ffffffffffffffffffffffffffffffffffffffff838116911614611d3f576040517f54c26a8800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002815460ff166003811115611d5757611d57612c89565b14611d8e576040517ff40190f500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611d9b81600501546116d2565b611dd1576040517f72b0a52c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117815560405183907fa3ada00687872cb827044ee48684890eeb5caffc2d7abf015ea327c7d7d06b8490600090a2505050565b600080611e3683610ea1565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611ea4575073ffffffffffffffffffffffffffffffffffffffff80821660009081526005602090815260408083209388168352929052205460ff165b806116bf57508373ffffffffffffffffffffffffffffffffffffffff16611eca84610799565b73ffffffffffffffffffffffffffffffffffffffff1614949350505050565b8273ffffffffffffffffffffffffffffffffffffffff16611f0982610ea1565b73ffffffffffffffffffffffffffffffffffffffff1614611fac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e6572000000000000000000000000000000000000000000000000000000606482015260840161099f565b73ffffffffffffffffffffffffffffffffffffffff821661204e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161099f565b8273ffffffffffffffffffffffffffffffffffffffff1661206e82610ea1565b73ffffffffffffffffffffffffffffffffffffffff1614612111576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e6572000000000000000000000000000000000000000000000000000000606482015260840161099f565b600081815260046020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff8781168086526003855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b816121ee816116d2565b612224576040517fa15e441100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f42d21ef7000000000000000000000000000000000000000000000000000000008152600481018390527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906342d21ef790602401602060405180830381865afa1580156122af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122d3919061354e565b60ff1660011461230f576040517f32a7f99e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008381526006602052604090206004015415612358576040517fed035e9700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008381526006602052604080822060040184905551839185917f9d2bbd85f58e2a13e5a13a8d77b039e02a44b601338e36691ab827a547b2353e9190a3505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612430576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161099f565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526005602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6124d3848484611ee9565b6124df84848484612790565b611220576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e7465720000000000000000000000000000606482015260840161099f565b73ffffffffffffffffffffffffffffffffffffffff82166125e8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161099f565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1615612674576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161099f565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1615612700576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161099f565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260036020908152604080832080546001019055848352600290915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b600073ffffffffffffffffffffffffffffffffffffffff84163b15612978576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a0290612807903390899088908890600401613571565b6020604051808303816000875af1925050508015612860575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261285d918101906135ba565b60015b61292d573d80801561288e576040519150601f19603f3d011682016040523d82523d6000602084013e612893565b606091505b508051600003612925576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e7465720000000000000000000000000000606482015260840161099f565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a02000000000000000000000000000000000000000000000000000000001490506116bf565b5060016116bf565b8280548282559060005260206000209060020281019282156129dd5760005260206000209160020282015b828111156129dd578254825582826001808201906129cb908401826135d7565b505050916002019190600201906129ab565b506129e99291506129ed565b5090565b808211156129e9576000808255612a076001830182612a10565b506002016129ed565b508054612a1c906132b0565b6000825580601f10612a2c575050565b601f016020900490600052602060002090810190610c4191905b808211156129e95760008155600101612a46565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610c4157600080fd5b600060208284031215612a9a57600080fd5b8135612aa581612a5a565b9392505050565b600060208284031215612abe57600080fd5b5035919050565b6000815180845260005b81811015612aeb57602081850181015186830182015201612acf565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081526000612aa56020830184612ac5565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015612bc0578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0018552815180518452870151878401879052612bad87850182612ac5565b9588019593505090860190600101612b63565b509098975050505050505050565b803573ffffffffffffffffffffffffffffffffffffffff81168114612bf257600080fd5b919050565b60008060408385031215612c0a57600080fd5b612c1383612bce565b946020939093013593505050565b60008060408385031215612c3457600080fd5b82359150612c4460208401612bce565b90509250929050565b600080600060608486031215612c6257600080fd5b612c6b84612bce565b9250612c7960208501612bce565b9150604084013590509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60048110612cef577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b600061014082019050612d07828451612cb8565b6020830151612d1a602084018215159052565b506040830151612d2e604084018215159052565b506060830151612d42606084018215159052565b506080830151612d6a608084018273ffffffffffffffffffffffffffffffffffffffff169052565b5060a0830151612d9260a084018273ffffffffffffffffffffffffffffffffffffffff169052565b5060c0830151612dba60c084018273ffffffffffffffffffffffffffffffffffffffff169052565b5060e083015160e083015261010080840151818401525061012080840151818401525092915050565b600060208284031215612df557600080fd5b612aa582612bce565b60008060408385031215612e1157600080fd5b50508035926020909101359150565b8015158114610c4157600080fd5b8035612bf281612e20565b60008060408385031215612e4c57600080fd5b612e5583612bce565b91506020830135612e6581612e20565b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715612ec257612ec2612e70565b60405290565b604051610140810167ffffffffffffffff81118282101715612ec257612ec2612e70565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715612f3357612f33612e70565b604052919050565b600082601f830112612f4c57600080fd5b813567ffffffffffffffff811115612f6657612f66612e70565b612f9760207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601612eec565b818152846020838601011115612fac57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060808587031215612fdf57600080fd5b612fe885612bce565b9350612ff660208601612bce565b925060408501359150606085013567ffffffffffffffff81111561301957600080fd5b61302587828801612f3b565b91505092959194509250565b6000806000806080858703121561304757600080fd5b8435935061305760208601612bce565b925061306560408601612bce565b9396929550929360600135925050565b6000806040838503121561308857600080fd5b61309183612bce565b9150612c4460208401612bce565b803560048110612bf257600080fd5b600082601f8301126130bf57600080fd5b8135602067ffffffffffffffff808311156130dc576130dc612e70565b8260051b6130eb838201612eec565b938452858101830193838101908886111561310557600080fd5b84880192505b8583101561319d578235848111156131235760008081fd5b88016040818b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0018113156131595760008081fd5b613161612e9f565b82880135815290820135908682111561317a5760008081fd5b6131888c8984860101612f3b565b8189015284525050918401919084019061310b565b98975050505050505050565b60008060008385036101808112156131c057600080fd5b610140808212156131d057600080fd5b6131d8612ec8565b91506131e38661309f565b82526131f160208701612e2e565b602083015261320260408701612e2e565b604083015261321360608701612e2e565b606083015261322460808701612bce565b608083015261323560a08701612bce565b60a083015261324660c08701612bce565b60c083015260e086013560e083015261010080870135818401525061012080870135818401525081945061327b818701612bce565b9350505061016084013567ffffffffffffffff81111561329a57600080fd5b6132a6868287016130ae565b9150509250925092565b600181811c908216806132c457607f821691505b6020821081036132fd577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b6040815260006133166040830185612ac5565b905073ffffffffffffffffffffffffffffffffffffffff831660208301529392505050565b60006020828403121561334d57600080fd5b8151612aa581612e20565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036133b0577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b601f821115610a6757600081815260208120601f850160051c8101602086101561340d5750805b601f850160051c820191505b8181101561342c57828155600101613419565b505050505050565b815167ffffffffffffffff81111561344e5761344e612e70565b6134628161345c84546132b0565b846133e6565b602080601f8311600181146134b5576000841561347f5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b17855561342c565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015613502578886015182559484019460019091019084016134e3565b508582101561353e57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121561356057600080fd5b815160ff81168114612aa557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250836040830152608060608301526135b06080830184612ac5565b9695505050505050565b6000602082840312156135cc57600080fd5b8151612aa581612a5a565b8181036135e2575050565b6135ec82546132b0565b67ffffffffffffffff81111561360457613604612e70565b6136128161345c84546132b0565b6000601f821160018114613664576000831561362e5750848201545b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600385901b1c1916600184901b178455613705565b6000858152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0841690600086815260209020845b838110156136bc578286015482556001958601959091019060200161369c565b50858310156136f857818501547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b50505060018360011b0184555b505050505056fea264697066735822122005918b5bf82ecfc5cbade9a10b99b05effee689d7ff16f261a52e83b5a4c9b0464736f6c634300081300330000000000000000000000005b81030c087d41558e3fcf23b3575e85c9a768e600000000000000000000000051870a0659a87c7b46baef7311b3128006e1fb160000000000000000000000003113e5bfe2251a9fca1225083cf6d36547e63e07", + "nonce": "0x7fc", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x6b6536c934fc7d4d1dba6374b0f6658c59bb0bc6b60a04a54a798accc816c975", + "transactionType": "CREATE", + "contractName": "IPOrgController", + "contractAddress": "0x9Be54430f2962a115353Ad2e8c62A106bBe71849", + "function": null, + "arguments": [ + "0x51870A0659A87c7B46baEF7311B3128006E1FB16" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x5e866f", + "value": "0x0", + "data": "0x60c0604052306080523480156200001557600080fd5b50604051620056d6380380620056d683398101604081905262000038916200004a565b6001600160a01b031660a0526200007c565b6000602082840312156200005d57600080fd5b81516001600160a01b03811681146200007557600080fd5b9392505050565b60805160a05161560a620000cc6000396000818161028b01528181610e88015261121b0152600081816106ae01528181610760015281816108bc0152818161096e0152610abe015261560a6000f3fe608060405260043610620000fb5760003560e01c806398e8e6ea1162000095578063caae51b81162000060578063caae51b814620002d2578063d8b67cc214620002f7578063eb3dcb7c146200031c578063fc1dad81146200035257600080fd5b806398e8e6ea146200022d578063a0f336f81462000252578063b95ddb521462000277578063c4d66de814620002ad57600080fd5b80633659cfe611620000d65780633659cfe6146200019b57806349403c8e14620001c05780634f1ef28614620001ef57806352d1902d146200020657600080fd5b806314afd79e146200010057806319129e5a146200014f57806331678cf61462000176575b600080fd5b3480156200010d57600080fd5b50620001256200011f366004620021c5565b6200039e565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b3480156200015c57600080fd5b50620001746200016e366004620021c5565b620003cf565b005b3480156200018357600080fd5b506200017462000195366004620021e3565b6200055b565b348015620001a857600080fd5b5062000174620001ba366004620021c5565b62000697565b348015620001cd57600080fd5b50606554620001259073ffffffffffffffffffffffffffffffffffffffff1681565b6200017462000200366004620022e5565b620008a5565b3480156200021357600080fd5b506200021e62000aa4565b60405190815260200162000146565b3480156200023a57600080fd5b50620001256200024c366004620023cc565b62000b92565b3480156200025f57600080fd5b506200017462000271366004620021c5565b62000f81565b3480156200028457600080fd5b50620001257f000000000000000000000000000000000000000000000000000000000000000081565b348015620002ba57600080fd5b5062000174620002cc366004620021c5565b620010ee565b348015620002df57600080fd5b5062000125620002f1366004620021c5565b6200134c565b3480156200030457600080fd5b506200017462000316366004620021c5565b6200137b565b3480156200032957600080fd5b50620003416200033b366004620021c5565b620014aa565b604051901515815260200162000146565b3480156200035f57600080fd5b507f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b65473ffffffffffffffffffffffffffffffffffffffff1662000125565b600080620003ac83620014e7565b54610100900473ffffffffffffffffffffffffffffffffffffffff169392505050565b6000620003dd813362001561565b62000422576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b6200046473ffffffffffffffffffffffffffffffffffffffff83167f7965db0b000000000000000000000000000000000000000000000000000000006200162e565b620004cc576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c000000000000000000000000000000000000604482015260640162000419565b7f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811782556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a2505050565b60006200056883620014e7565b8054909150610100900473ffffffffffffffffffffffffffffffffffffffff163314620005c1576040517f14d325a600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff82166200060f576040517f19f28cd700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84811691821790925560408051928616835260208301919091527f9d1eed91033af603ca90974d7f9dcffdc1a38de6e354262a1cd59243e6997f6091015b60405180910390a1505050565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630036200075e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c0000000000000000000000000000000000000000606482015260840162000419565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16620007d47f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff161462000879576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f78790000000000000000000000000000000000000000606482015260840162000419565b620008848162001656565b60408051600080825260208201909252620008a291839190620016c4565b50565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630036200096c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c0000000000000000000000000000000000000000606482015260840162000419565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16620009e27f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff161462000a87576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f78790000000000000000000000000000000000000000606482015260840162000419565b62000a928262001656565b62000aa082826001620016c4565b5050565b60003073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161462000b6d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c0000000000000000606482015260840162000419565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b600073ffffffffffffffffffffffffffffffffffffffff881662000be2576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60655462000c069073ffffffffffffffffffffffffffffffffffffffff16620018d4565b6040517f4cd88b7600000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff821690634cd88b769062000c63908a908a908a908a90600401620024fd565b600060405180830381600087803b15801562000c7e57600080fd5b505af115801562000c93573d6000803e3d6000fd5b50505050600062000ca36200199e565b60408051606081018252600180825273ffffffffffffffffffffffffffffffffffffffff8d8116602080850191825260008587018181528a851682528883528782209651875494517fffffffffffffffffffffff0000000000000000000000000000000000000000009095169015157fffffffffffffffffffffff0000000000000000000000000000000000000000ff16176101009486169490940293909317865591519490930180547fffffffffffffffffffffffff000000000000000000000000000000000000000016949092169390931790559151929350917f9aeb830ec91a14c97a5446cc7c86a42f73a78f37f9a77afa238b5d11520ddfbc9162000db1918891889101620025df565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905262000def929160200162002667565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181528282018252601383527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602084015290517fe1fc45ce00000000000000000000000000000000000000000000000000000000815290925073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163e1fc45ce9162000ec4918791309190879060040162002682565b6000604051808303816000875af115801562000ee4573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405262000f2c9190810190620026d1565b507f81e084d978860accc83df39f75b801d9019e40d18643b9b39f4cd2a70ca35adb8a848b8b8b8b8b8b60405162000f6c98979695949392919062002751565b60405180910390a15050979650505050505050565b600062000f8e82620014e7565b600181015490915073ffffffffffffffffffffffffffffffffffffffff16331462000fe5576040517f14d325a600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80546001820180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055336101009081027fffffffffffffffffffffff0000000000000000000000000000000000000000ff83161783556040805173ffffffffffffffffffffffffffffffffffffffff86811682526000602083015292909304909116917f9d1eed91033af603ca90974d7f9dcffdc1a38de6e354262a1cd59243e6997f60910160405180910390a16040805173ffffffffffffffffffffffffffffffffffffffff80861682528316602082015233918101919091527fa32ba34dcc7e0ace14cb99fb86f246e799dc1c9f82f03fc23290320b958e4af7906060016200068a565b600054610100900460ff16158080156200110f5750600054600160ff909116105b806200112b5750303b1580156200112b575060005460ff166001145b620011b9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840162000419565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156200121857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b307f0000000000000000000000000000000000000000000000000000000000000000604051620012489062002192565b73ffffffffffffffffffffffffffffffffffffffff928316815291166020820152604001604051809103906000f08015801562001289573d6000803e3d6000fd5b50606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055620012d9620019ce565b620012e48262001a69565b801562000aa057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15050565b6000806200135a83620014e7565b6001015473ffffffffffffffffffffffffffffffffffffffff169392505050565b60006200138882620014e7565b8054909150610100900473ffffffffffffffffffffffffffffffffffffffff163314620013e1576040517f14d325a600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600181015473ffffffffffffffffffffffffffffffffffffffff1662001433576040517f82fcfdf400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001690556040805173ffffffffffffffffffffffffffffffffffffffff84168152600060208201527f9d1eed91033af603ca90974d7f9dcffdc1a38de6e354262a1cd59243e6997f60910162001340565b600080620014b76200199e565b73ffffffffffffffffffffffffffffffffffffffff90931660009081526020939093525050604090205460ff1690565b600080620014f46200199e565b73ffffffffffffffffffffffffffffffffffffffff84166000908152602082905260409020805490935090915060ff166200155b576040517ff8e2020300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50919050565b6000807f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810187905273ffffffffffffffffffffffffffffffffffffffff86811660248301529293509116906391d1485490604401602060405180830381865afa158015620015fe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620016249190620027c8565b9150505b92915050565b60006200163b8362001d29565b80156200164f57506200164f838362001d92565b9392505050565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e362001683813362001561565b62000aa0576040517f75000dc00000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440162000419565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615620016ff57620016fa8362001e63565b505050565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562001787575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526200178491810190620027ec565b60015b62001815576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f742055555053000000000000000000000000000000000000606482015260840162000419565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114620018c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c65555549440000000000000000000000000000000000000000000000606482015260840162000419565b50620016fa83838362001f6f565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008260601b60e81c176000526e5af43d82803e903d91602b57fd5bf38260781b17602052603760096000f0905073ffffffffffffffffffffffffffffffffffffffff811662001999576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f455243313136373a20637265617465206661696c656400000000000000000000604482015260640162000419565b919050565b6000806200162860017f8d6a35d81367c6224789d71f67c0286162ba180a6bdb769f04c214735cdb8ce162002806565b600054610100900460ff1662001a67576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840162000419565b565b600054610100900460ff161580801562001a8a5750600054600160ff909116105b8062001aa65750303b15801562001aa6575060005460ff166001145b62001b34576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840162000419565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801562001b9357600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b62001bd573ffffffffffffffffffffffffffffffffffffffff83167f7965db0b000000000000000000000000000000000000000000000000000000006200162e565b62001c3d576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c000000000000000000000000000000000000604482015260640162000419565b7f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811782556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a250801562000aa057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200162001340565b600062001d57827f01ffc9a70000000000000000000000000000000000000000000000000000000062001d92565b801562001628575062001d8b827fffffffff0000000000000000000000000000000000000000000000000000000062001d92565b1592915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d9150600051905082801562001e4b575060208210155b801562001e585750600081115b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff81163b62001f09576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e747261637400000000000000000000000000000000000000606482015260840162000419565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b62001f7a8362001fa0565b60008251118062001f885750805b15620016fa5762001f9a838362001fef565b50505050565b62001fab8162001e63565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606200164f8383604051806060016040528060278152602001620055ae6027913960606000808573ffffffffffffffffffffffffffffffffffffffff16856040516200203d919062002841565b600060405180830381855af49150503d80600081146200207a576040519150601f19603f3d011682016040523d82523d6000602084013e6200207f565b606091505b509150915062002092868383876200209c565b9695505050505050565b60608315620021375782516000036200212f5773ffffffffffffffffffffffffffffffffffffffff85163b6200212f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640162000419565b508162002143565b6200214383836200214b565b949350505050565b8151156200215c5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200041991906200285f565b612d39806200287583390190565b803573ffffffffffffffffffffffffffffffffffffffff811681146200199957600080fd5b600060208284031215620021d857600080fd5b6200164f82620021a0565b60008060408385031215620021f757600080fd5b6200220283620021a0565b91506200221260208401620021a0565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156200229457620022946200221b565b604052919050565b600067ffffffffffffffff821115620022b957620022b96200221b565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60008060408385031215620022f957600080fd5b6200230483620021a0565b9150602083013567ffffffffffffffff8111156200232157600080fd5b8301601f810185136200233357600080fd5b80356200234a62002344826200229c565b6200224a565b8181528660208385010111156200236057600080fd5b816020840160208301376000602083830101528093505050509250929050565b60008083601f8401126200239357600080fd5b50813567ffffffffffffffff811115620023ac57600080fd5b602083019150836020828501011115620023c557600080fd5b9250929050565b60008060008060008060006080888a031215620023e857600080fd5b620023f388620021a0565b9650602088013567ffffffffffffffff808211156200241157600080fd5b6200241f8b838c0162002380565b909850965060408a01359150808211156200243957600080fd5b620024478b838c0162002380565b909650945060608a01359150808211156200246157600080fd5b818a0191508a601f8301126200247657600080fd5b8135818111156200248657600080fd5b8b60208260051b85010111156200249c57600080fd5b60208301945080935050505092959891949750929550565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60408152600062002513604083018688620024b4565b828103602084015262001e58818587620024b4565b81835260006020808501808196508560051b810191508460005b87811015620025d257828403895281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18836030181126200258357600080fd5b8701858101903567ffffffffffffffff811115620025a057600080fd5b803603821315620025b057600080fd5b620025bd868284620024b4565b9a87019a955050509084019060010162002542565b5091979650505050505050565b6020815260006200214360208301848662002528565b60005b8381101562002612578181015183820152602001620025f8565b50506000910152565b6000815180845262002635816020860160208601620025f5565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b8281526040602082015260006200214360408301846200261b565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525060806040830152620026bd60808301856200261b565b828103606084015262001e5881856200261b565b600060208284031215620026e457600080fd5b815167ffffffffffffffff811115620026fc57600080fd5b8201601f810184136200270e57600080fd5b80516200271f62002344826200229c565b8181528560208385010111156200273557600080fd5b62002748826020830160208601620025f5565b95945050505050565b600073ffffffffffffffffffffffffffffffffffffffff808b168352808a1660208401525060a060408301526200278d60a08301888a620024b4565b8281036060840152620027a2818789620024b4565b90508281036080840152620027b981858762002528565b9b9a5050505050505050505050565b600060208284031215620027db57600080fd5b815180151581146200164f57600080fd5b600060208284031215620027ff57600080fd5b5051919050565b8181038181111562001628577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000825162002855818460208701620025f5565b9190910192915050565b6020815260006200164f60208301846200261b56fe60c06040523480156200001157600080fd5b5060405162002d3938038062002d3983398101604081905262000034916200017d565b600054610100900460ff1615808015620000555750600054600160ff909116105b80620000715750303b15801562000071575060005460ff166001145b620000d95760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b6000805460ff191660011790558015620000fd576000805461ff0019166101001790555b6001600160a01b0380841660a0528216608052801562000157576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050620001b5565b80516001600160a01b03811681146200017857600080fd5b919050565b600080604083850312156200019157600080fd5b6200019c8362000160565b9150620001ac6020840162000160565b90509250929050565b60805160a051612b2662000213600039600081816103c101528181610b0f015261107b01526000818161031101528181610784015281816108dc01528181610cb701528181610e37015281816112ac015261147e0152612b266000f3fe608060405234801561001057600080fd5b50600436106101985760003560e01c806370a08231116100e3578063c3cc244a1161008c578063e985e9c511610066578063e985e9c514610373578063ee0fc121146103bc578063f3f6f0d7146103e357600080fd5b8063c3cc244a14610333578063c87b56dd14610358578063e8a3d4851461036b57600080fd5b8063a22cb465116100bd578063a22cb465146102e6578063b88d4fde146102f9578063b95ddb521461030c57600080fd5b806370a08231146102c35780638da5cb5b146102d657806395d89b41146102de57600080fd5b806342842e0e11610145578063626273a11161011f578063626273a11461028a5780636352211e1461029d578063691562a0146102b057600080fd5b806342842e0e1461025157806342966c68146102645780634cd88b761461027757600080fd5b8063095ea7b311610176578063095ea7b31461021257806318160ddd1461022757806323b872dd1461023e57600080fd5b806301ffc9a71461019d57806306fdde03146101c5578063081812fc146101da575b600080fd5b6101b06101ab36600461235b565b6103ec565b60405190151581526020015b60405180910390f35b6101cd6104d1565b6040516101bc91906123e6565b6101ed6101e83660046123f9565b610563565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101bc565b610225610220366004612434565b610597565b005b61023060985481565b6040519081526020016101bc565b61022561024c366004612460565b610728565b61022561025f366004612460565b610865565b6102256102723660046123f9565b610880565b6102256102853660046124ea565b6109d3565b6102306102983660046123f9565b610c43565b6101ed6102ab3660046123f9565b610dcd565b6102306102be366004612556565b610dd8565b6102306102d1366004612595565b610f7c565b6101ed61104a565b6101cd611100565b6102256102f43660046125b2565b61110f565b6102256103073660046126a9565b61111e565b6101ed7f000000000000000000000000000000000000000000000000000000000000000081565b6103466103413660046123f9565b6111c6565b60405160ff90911681526020016101bc565b6101cd6103663660046123f9565b611237565b6101cd611409565b6101b0610381366004612758565b73ffffffffffffffffffffffffffffffffffffffff9182166000908152606a6020908152604080832093909416825291909152205460ff1690565b6101ed7f000000000000000000000000000000000000000000000000000000000000000081565b61023060975481565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061047f57507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b806104cb57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6060606580546104e090612786565b80601f016020809104026020016040519081016040528092919081815260200182805461050c90612786565b80156105595780601f1061052e57610100808354040283529160200191610559565b820191906000526020600020905b81548152906001019060200180831161053c57829003601f168201915b5050505050905090565b600061056e826115aa565b5060009081526069602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60006105a282611635565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610664576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff8216148061068d575061068d8133610381565b610719576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000606482015260840161065b565b61072383836116c1565b505050565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815233917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a916107cc916004016123e6565b602060405180830381865afa1580156107e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061080d91906127d9565b73ffffffffffffffffffffffffffffffffffffffff161461085a576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610723838383611761565b6107238383836040518060200160405280600081525061111e565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815233917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a91610924916004016123e6565b602060405180830381865afa158015610941573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061096591906127d9565b73ffffffffffffffffffffffffffffffffffffffff16146109b2576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b609880549060006109c283612825565b91905055506109d081611a5c565b50565b600054610100900460ff16158080156109f35750600054600160ff909116105b80610a0d5750303b158015610a0d575060005460ff166001145b610a99576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840161065b565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610af757600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610b66576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610bd985858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f89018190048102820181019092528781529250879150869081908401838280828437600092019190915250611b3492505050565b8015610c3c57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a000000000000000000000000000000000000000000000000000000008152600091829173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a91610ceb91906004016123e6565b602060405180830381865afa158015610d08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d2c91906127d9565b6040517f5f32b4300000000000000000000000000000000000000000000000000000000081523060048201526024810185905290915073ffffffffffffffffffffffffffffffffffffffff821690635f32b430906044016020604051808303816000875af1158015610da2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dc6919061285a565b9392505050565b60006104cb82611635565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260009133917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a91610e8091906004016123e6565b602060405180830381865afa158015610e9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec191906127d9565b73ffffffffffffffffffffffffffffffffffffffff1614610f0e576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60988054906000610f1e83612873565b9190505550609760008154610f3290612873565b9182905550600081815260996020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff851617905590506104cb8382611bd5565b600073ffffffffffffffffffffffffffffffffffffffff8216611021576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e65720000000000000000000000000000000000000000000000606482015260840161065b565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526068602052604090205490565b6040517f14afd79e0000000000000000000000000000000000000000000000000000000081523060048201526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906314afd79e90602401602060405180830381865afa1580156110d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110fb91906127d9565b905090565b6060606680546104e090612786565b61111a338383611dfa565b5050565b6111283383611f27565b6111b4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f76656400000000000000000000000000000000000000606482015260840161065b565b6111c084848484611fe7565b50505050565b60008181526067602052604081205473ffffffffffffffffffffffffffffffffffffffff16611221576040517f6831df8d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060009081526099602052604090205460ff1690565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260609160009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a916112e091906004016123e6565b602060405180830381865afa1580156112fd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061132191906127d9565b90508073ffffffffffffffffffffffffffffffffffffffff1663e8d72654308561134a876111c6565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815273ffffffffffffffffffffffffffffffffffffffff9093166004840152602483019190915260ff166044820152606401600060405180830381865afa1580156113c3573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610dc691908101906128ab565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260609160009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a916114b291906004016123e6565b602060405180830381865afa1580156114cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114f391906127d9565b6040517e844d1300000000000000000000000000000000000000000000000000000000815230600482015290915073ffffffffffffffffffffffffffffffffffffffff82169062844d1390602401600060405180830381865afa15801561155e573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526115a491908101906128ab565b91505090565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff166109d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e2049440000000000000000604482015260640161065b565b60008181526067602052604081205473ffffffffffffffffffffffffffffffffffffffff16806104cb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e2049440000000000000000604482015260640161065b565b600081815260696020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117909155819061171b82611635565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b8273ffffffffffffffffffffffffffffffffffffffff1661178182611635565b73ffffffffffffffffffffffffffffffffffffffff1614611824576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e6572000000000000000000000000000000000000000000000000000000606482015260840161065b565b73ffffffffffffffffffffffffffffffffffffffff82166118c6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161065b565b8273ffffffffffffffffffffffffffffffffffffffff166118e682611635565b73ffffffffffffffffffffffffffffffffffffffff1614611989576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e6572000000000000000000000000000000000000000000000000000000606482015260840161065b565b600081815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff8781168086526068855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905590871680865283862080546001019055868652606790945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6000611a6782611635565b9050611a7282611635565b600083815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff85168085526068845282852080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190558785526067909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b600054610100900460ff16611bcb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161065b565b61111a828261208a565b73ffffffffffffffffffffffffffffffffffffffff8216611c52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161065b565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff1615611cde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161065b565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff1615611d6a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161065b565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260686020908152604080832080546001019055848352606790915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611e8f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161065b565b73ffffffffffffffffffffffffffffffffffffffff8381166000818152606a602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b600080611f3383611635565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611fa1575073ffffffffffffffffffffffffffffffffffffffff8082166000908152606a602090815260408083209388168352929052205460ff165b80611fdf57508373ffffffffffffffffffffffffffffffffffffffff16611fc784610563565b73ffffffffffffffffffffffffffffffffffffffff16145b949350505050565b611ff2848484611761565b611ffe8484848461213a565b6111c0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e7465720000000000000000000000000000606482015260840161065b565b600054610100900460ff16612121576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161065b565b606561212d8382612970565b5060666107238282612970565b600073ffffffffffffffffffffffffffffffffffffffff84163b15612322576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a02906121b1903390899088908890600401612a8a565b6020604051808303816000875af192505050801561220a575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261220791810190612ad3565b60015b6122d7573d808015612238576040519150601f19603f3d011682016040523d82523d6000602084013e61223d565b606091505b5080516000036122cf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e7465720000000000000000000000000000606482015260840161065b565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050611fdf565b506001949350505050565b7fffffffff00000000000000000000000000000000000000000000000000000000811681146109d057600080fd5b60006020828403121561236d57600080fd5b8135610dc68161232d565b60005b8381101561239357818101518382015260200161237b565b50506000910152565b600081518084526123b4816020860160208601612378565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610dc6602083018461239c565b60006020828403121561240b57600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff811681146109d057600080fd5b6000806040838503121561244757600080fd5b823561245281612412565b946020939093013593505050565b60008060006060848603121561247557600080fd5b833561248081612412565b9250602084013561249081612412565b929592945050506040919091013590565b60008083601f8401126124b357600080fd5b50813567ffffffffffffffff8111156124cb57600080fd5b6020830191508360208285010111156124e357600080fd5b9250929050565b6000806000806040858703121561250057600080fd5b843567ffffffffffffffff8082111561251857600080fd5b612524888389016124a1565b9096509450602087013591508082111561253d57600080fd5b5061254a878288016124a1565b95989497509550505050565b6000806040838503121561256957600080fd5b823561257481612412565b9150602083013560ff8116811461258a57600080fd5b809150509250929050565b6000602082840312156125a757600080fd5b8135610dc681612412565b600080604083850312156125c557600080fd5b82356125d081612412565b91506020830135801515811461258a57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561265b5761265b6125e5565b604052919050565b600067ffffffffffffffff82111561267d5761267d6125e5565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600080600080608085870312156126bf57600080fd5b84356126ca81612412565b935060208501356126da81612412565b925060408501359150606085013567ffffffffffffffff8111156126fd57600080fd5b8501601f8101871361270e57600080fd5b803561272161271c82612663565b612614565b81815288602083850101111561273657600080fd5b8160208401602083013760006020838301015280935050505092959194509250565b6000806040838503121561276b57600080fd5b823561277681612412565b9150602083013561258a81612412565b600181811c9082168061279a57607f821691505b6020821081036127d3577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b6000602082840312156127eb57600080fd5b8151610dc681612412565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600081612834576128346127f6565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b60006020828403121561286c57600080fd5b5051919050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036128a4576128a46127f6565b5060010190565b6000602082840312156128bd57600080fd5b815167ffffffffffffffff8111156128d457600080fd5b8201601f810184136128e557600080fd5b80516128f361271c82612663565b81815285602083850101111561290857600080fd5b612919826020830160208601612378565b95945050505050565b601f82111561072357600081815260208120601f850160051c810160208610156129495750805b601f850160051c820191505b8181101561296857828155600101612955565b505050505050565b815167ffffffffffffffff81111561298a5761298a6125e5565b61299e816129988454612786565b84612922565b602080601f8311600181146129f157600084156129bb5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555612968565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015612a3e57888601518255948401946001909101908401612a1f565b5085821015612a7a57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525083604083015260806060830152612ac9608083018461239c565b9695505050505050565b600060208284031215612ae557600080fd5b8151610dc68161232d56fea26469706673582212202f539941999670b371ba76bce5df1736fd82afb2c9c939e8219ae46e05215f2064736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220c5ad7174fbcec6fe1a447b9d3bc0f95e4d23c7be87864477488c24c33653be3664736f6c6343000813003300000000000000000000000051870a0659a87c7b46baef7311b3128006e1fb16", + "nonce": "0x7fd", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x23a9b55f090db2b42a8eecd0d860389790e13ae95d7c16651550c6f5f8d9434f", + "transactionType": "CREATE", + "contractName": "ERC1967Proxy", + "contractAddress": "0xC4F7E87F9FF2A2DF9bC7FF8399558B594EBF911A", + "function": null, + "arguments": [ + "0x9Be54430f2962a115353Ad2e8c62A106bBe71849", + "0xc4d66de8000000000000000000000000518ccd79e0e7b75fd5fcc09463fb09cb7d55470d" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x316ce5", + "value": "0x0", + "data": "0x60806040526040516104ee3803806104ee833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c760279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60be806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea264697066735822122091c81c9b8ac755a7e1e08c0e9f65600d21e642457fb84c7f9e0d0a65b62d269064736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c65640000000000000000000000009be54430f2962a115353ad2e8c62a106bbe7184900000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de8000000000000000000000000518ccd79e0e7b75fd5fcc09463fb09cb7d55470d00000000000000000000000000000000000000000000000000000000", + "nonce": "0x7fe", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0x32ef4938e99BBD517F1f673470270aeedE017a7a", + "initCode": "60c06040523480156200001157600080fd5b5060405162002d3938038062002d3983398101604081905262000034916200017d565b600054610100900460ff1615808015620000555750600054600160ff909116105b80620000715750303b15801562000071575060005460ff166001145b620000d95760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b6000805460ff191660011790558015620000fd576000805461ff0019166101001790555b6001600160a01b0380841660a0528216608052801562000157576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050620001b5565b80516001600160a01b03811681146200017857600080fd5b919050565b600080604083850312156200019157600080fd5b6200019c8362000160565b9150620001ac6020840162000160565b90509250929050565b60805160a051612b2662000213600039600081816103c101528181610b0f015261107b01526000818161031101528181610784015281816108dc01528181610cb701528181610e37015281816112ac015261147e0152612b266000f3fe608060405234801561001057600080fd5b50600436106101985760003560e01c806370a08231116100e3578063c3cc244a1161008c578063e985e9c511610066578063e985e9c514610373578063ee0fc121146103bc578063f3f6f0d7146103e357600080fd5b8063c3cc244a14610333578063c87b56dd14610358578063e8a3d4851461036b57600080fd5b8063a22cb465116100bd578063a22cb465146102e6578063b88d4fde146102f9578063b95ddb521461030c57600080fd5b806370a08231146102c35780638da5cb5b146102d657806395d89b41146102de57600080fd5b806342842e0e11610145578063626273a11161011f578063626273a11461028a5780636352211e1461029d578063691562a0146102b057600080fd5b806342842e0e1461025157806342966c68146102645780634cd88b761461027757600080fd5b8063095ea7b311610176578063095ea7b31461021257806318160ddd1461022757806323b872dd1461023e57600080fd5b806301ffc9a71461019d57806306fdde03146101c5578063081812fc146101da575b600080fd5b6101b06101ab36600461235b565b6103ec565b60405190151581526020015b60405180910390f35b6101cd6104d1565b6040516101bc91906123e6565b6101ed6101e83660046123f9565b610563565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101bc565b610225610220366004612434565b610597565b005b61023060985481565b6040519081526020016101bc565b61022561024c366004612460565b610728565b61022561025f366004612460565b610865565b6102256102723660046123f9565b610880565b6102256102853660046124ea565b6109d3565b6102306102983660046123f9565b610c43565b6101ed6102ab3660046123f9565b610dcd565b6102306102be366004612556565b610dd8565b6102306102d1366004612595565b610f7c565b6101ed61104a565b6101cd611100565b6102256102f43660046125b2565b61110f565b6102256103073660046126a9565b61111e565b6101ed7f000000000000000000000000000000000000000000000000000000000000000081565b6103466103413660046123f9565b6111c6565b60405160ff90911681526020016101bc565b6101cd6103663660046123f9565b611237565b6101cd611409565b6101b0610381366004612758565b73ffffffffffffffffffffffffffffffffffffffff9182166000908152606a6020908152604080832093909416825291909152205460ff1690565b6101ed7f000000000000000000000000000000000000000000000000000000000000000081565b61023060975481565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061047f57507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b806104cb57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6060606580546104e090612786565b80601f016020809104026020016040519081016040528092919081815260200182805461050c90612786565b80156105595780601f1061052e57610100808354040283529160200191610559565b820191906000526020600020905b81548152906001019060200180831161053c57829003601f168201915b5050505050905090565b600061056e826115aa565b5060009081526069602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60006105a282611635565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610664576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff8216148061068d575061068d8133610381565b610719576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000606482015260840161065b565b61072383836116c1565b505050565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815233917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a916107cc916004016123e6565b602060405180830381865afa1580156107e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061080d91906127d9565b73ffffffffffffffffffffffffffffffffffffffff161461085a576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610723838383611761565b6107238383836040518060200160405280600081525061111e565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815233917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a91610924916004016123e6565b602060405180830381865afa158015610941573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061096591906127d9565b73ffffffffffffffffffffffffffffffffffffffff16146109b2576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b609880549060006109c283612825565b91905055506109d081611a5c565b50565b600054610100900460ff16158080156109f35750600054600160ff909116105b80610a0d5750303b158015610a0d575060005460ff166001145b610a99576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840161065b565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610af757600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610b66576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610bd985858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f89018190048102820181019092528781529250879150869081908401838280828437600092019190915250611b3492505050565b8015610c3c57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a000000000000000000000000000000000000000000000000000000008152600091829173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a91610ceb91906004016123e6565b602060405180830381865afa158015610d08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d2c91906127d9565b6040517f5f32b4300000000000000000000000000000000000000000000000000000000081523060048201526024810185905290915073ffffffffffffffffffffffffffffffffffffffff821690635f32b430906044016020604051808303816000875af1158015610da2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dc6919061285a565b9392505050565b60006104cb82611635565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260009133917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a91610e8091906004016123e6565b602060405180830381865afa158015610e9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec191906127d9565b73ffffffffffffffffffffffffffffffffffffffff1614610f0e576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60988054906000610f1e83612873565b9190505550609760008154610f3290612873565b9182905550600081815260996020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff851617905590506104cb8382611bd5565b600073ffffffffffffffffffffffffffffffffffffffff8216611021576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e65720000000000000000000000000000000000000000000000606482015260840161065b565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526068602052604090205490565b6040517f14afd79e0000000000000000000000000000000000000000000000000000000081523060048201526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906314afd79e90602401602060405180830381865afa1580156110d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110fb91906127d9565b905090565b6060606680546104e090612786565b61111a338383611dfa565b5050565b6111283383611f27565b6111b4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f76656400000000000000000000000000000000000000606482015260840161065b565b6111c084848484611fe7565b50505050565b60008181526067602052604081205473ffffffffffffffffffffffffffffffffffffffff16611221576040517f6831df8d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060009081526099602052604090205460ff1690565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260609160009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a916112e091906004016123e6565b602060405180830381865afa1580156112fd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061132191906127d9565b90508073ffffffffffffffffffffffffffffffffffffffff1663e8d72654308561134a876111c6565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815273ffffffffffffffffffffffffffffffffffffffff9093166004840152602483019190915260ff166044820152606401600060405180830381865afa1580156113c3573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610dc691908101906128ab565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260609160009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a916114b291906004016123e6565b602060405180830381865afa1580156114cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114f391906127d9565b6040517e844d1300000000000000000000000000000000000000000000000000000000815230600482015290915073ffffffffffffffffffffffffffffffffffffffff82169062844d1390602401600060405180830381865afa15801561155e573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526115a491908101906128ab565b91505090565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff166109d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e2049440000000000000000604482015260640161065b565b60008181526067602052604081205473ffffffffffffffffffffffffffffffffffffffff16806104cb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e2049440000000000000000604482015260640161065b565b600081815260696020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117909155819061171b82611635565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b8273ffffffffffffffffffffffffffffffffffffffff1661178182611635565b73ffffffffffffffffffffffffffffffffffffffff1614611824576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e6572000000000000000000000000000000000000000000000000000000606482015260840161065b565b73ffffffffffffffffffffffffffffffffffffffff82166118c6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161065b565b8273ffffffffffffffffffffffffffffffffffffffff166118e682611635565b73ffffffffffffffffffffffffffffffffffffffff1614611989576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e6572000000000000000000000000000000000000000000000000000000606482015260840161065b565b600081815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff8781168086526068855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905590871680865283862080546001019055868652606790945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6000611a6782611635565b9050611a7282611635565b600083815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff85168085526068845282852080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190558785526067909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b600054610100900460ff16611bcb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161065b565b61111a828261208a565b73ffffffffffffffffffffffffffffffffffffffff8216611c52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161065b565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff1615611cde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161065b565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff1615611d6a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161065b565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260686020908152604080832080546001019055848352606790915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611e8f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161065b565b73ffffffffffffffffffffffffffffffffffffffff8381166000818152606a602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b600080611f3383611635565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611fa1575073ffffffffffffffffffffffffffffffffffffffff8082166000908152606a602090815260408083209388168352929052205460ff165b80611fdf57508373ffffffffffffffffffffffffffffffffffffffff16611fc784610563565b73ffffffffffffffffffffffffffffffffffffffff16145b949350505050565b611ff2848484611761565b611ffe8484848461213a565b6111c0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e7465720000000000000000000000000000606482015260840161065b565b600054610100900460ff16612121576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161065b565b606561212d8382612970565b5060666107238282612970565b600073ffffffffffffffffffffffffffffffffffffffff84163b15612322576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a02906121b1903390899088908890600401612a8a565b6020604051808303816000875af192505050801561220a575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261220791810190612ad3565b60015b6122d7573d808015612238576040519150601f19603f3d011682016040523d82523d6000602084013e61223d565b606091505b5080516000036122cf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e7465720000000000000000000000000000606482015260840161065b565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050611fdf565b506001949350505050565b7fffffffff00000000000000000000000000000000000000000000000000000000811681146109d057600080fd5b60006020828403121561236d57600080fd5b8135610dc68161232d565b60005b8381101561239357818101518382015260200161237b565b50506000910152565b600081518084526123b4816020860160208601612378565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610dc6602083018461239c565b60006020828403121561240b57600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff811681146109d057600080fd5b6000806040838503121561244757600080fd5b823561245281612412565b946020939093013593505050565b60008060006060848603121561247557600080fd5b833561248081612412565b9250602084013561249081612412565b929592945050506040919091013590565b60008083601f8401126124b357600080fd5b50813567ffffffffffffffff8111156124cb57600080fd5b6020830191508360208285010111156124e357600080fd5b9250929050565b6000806000806040858703121561250057600080fd5b843567ffffffffffffffff8082111561251857600080fd5b612524888389016124a1565b9096509450602087013591508082111561253d57600080fd5b5061254a878288016124a1565b95989497509550505050565b6000806040838503121561256957600080fd5b823561257481612412565b9150602083013560ff8116811461258a57600080fd5b809150509250929050565b6000602082840312156125a757600080fd5b8135610dc681612412565b600080604083850312156125c557600080fd5b82356125d081612412565b91506020830135801515811461258a57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561265b5761265b6125e5565b604052919050565b600067ffffffffffffffff82111561267d5761267d6125e5565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600080600080608085870312156126bf57600080fd5b84356126ca81612412565b935060208501356126da81612412565b925060408501359150606085013567ffffffffffffffff8111156126fd57600080fd5b8501601f8101871361270e57600080fd5b803561272161271c82612663565b612614565b81815288602083850101111561273657600080fd5b8160208401602083013760006020838301015280935050505092959194509250565b6000806040838503121561276b57600080fd5b823561277681612412565b9150602083013561258a81612412565b600181811c9082168061279a57607f821691505b6020821081036127d3577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b6000602082840312156127eb57600080fd5b8151610dc681612412565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600081612834576128346127f6565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b60006020828403121561286c57600080fd5b5051919050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036128a4576128a46127f6565b5060010190565b6000602082840312156128bd57600080fd5b815167ffffffffffffffff8111156128d457600080fd5b8201601f810184136128e557600080fd5b80516128f361271c82612663565b81815285602083850101111561290857600080fd5b612919826020830160208601612378565b95945050505050565b601f82111561072357600081815260208120601f850160051c810160208610156129495750805b601f850160051c820191505b8181101561296857828155600101612955565b505050505050565b815167ffffffffffffffff81111561298a5761298a6125e5565b61299e816129988454612786565b84612922565b602080601f8311600181146129f157600084156129bb5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555612968565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015612a3e57888601518255948401946001909101908401612a1f565b5085821015612a7a57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525083604083015260806060830152612ac9608083018461239c565b9695505050505050565b600060208284031215612ae557600080fd5b8151610dc68161232d56fea26469706673582212202f539941999670b371ba76bce5df1736fd82afb2c9c939e8219ae46e05215f2064736f6c63430008130033000000000000000000000000c4f7e87f9ff2a2df9bc7ff8399558b594ebf911a00000000000000000000000051870a0659a87c7b46baef7311b3128006e1fb16" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0x3f1232fc659c4a138d1986e263b91319bb7d1cfd0a1aabdea21de303fa36756f", + "transactionType": "CREATE", + "contractName": "StoryProtocol", + "contractAddress": "0x25A6f44df208E8Cc79E97fE72E240F4cDb3D9a46", + "function": null, + "arguments": [ + "0xC4F7E87F9FF2A2DF9bC7FF8399558B594EBF911A", + "0x51870A0659A87c7B46baEF7311B3128006E1FB16" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x29960b", + "value": "0x0", + "data": "0x60c06040523480156200001157600080fd5b5060405162002667380380620026678339810160408190526200003491620000a2565b6001600160a01b03821615806200005257506001600160a01b038116155b15620000715760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b039182166080521660a052620000e1565b6001600160a01b03811681146200009f57600080fd5b50565b60008060408385031215620000b657600080fd5b8251620000c38162000089565b6020840151909250620000d68162000089565b809150509250929050565b60805160a05161250c6200015b600039600081816102530152818161036e0152818161044c015281816105aa015281816106f101528181610953015281816109dd01528181610bf101528181610df401528181610f800152818161107201526112950152600081816101750152610b5c015261250c6000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c806398e8e6ea11610097578063b108e1c611610066578063b108e1c61461023b578063b95ddb521461024e578063ce75e7fc14610275578063eb3b0cba1461028857600080fd5b806398e8e6ea146101e2578063a3a0428f146101f5578063a5823a3714610208578063ac9650d81461021b57600080fd5b80634d343a45116100d35780634d343a451461015d57806351e06b90146101705780635a5173bd146101bc5780637a103e33146101cf57600080fd5b806317031df1146100fa5780632d26ff3e146101275780633d20e00d1461013c575b600080fd5b61010d61010836600461154a565b61029b565b604080519283526020830191909152015b60405180910390f35b61013a6101353660046115f1565b610435565b005b61014f61014a36600461163e565b610581565b60405190815260200161011e565b61013a61016b36600461168b565b6106ef565b6101977f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161011e565b61013a6101ca3660046116b7565b610884565b61013a6101dd36600461174e565b6109db565b6101976101f0366004611796565b610b1c565b61014f61020336600461154a565b610bec565b61013a610216366004611843565b610d07565b61022e6102293660046118f4565b610e89565b60405161011e91906119db565b61013a6102493660046119ee565b610f7e565b6101977f000000000000000000000000000000000000000000000000000000000000000081565b61013a610283366004611a3e565b611070565b61013a610296366004611a73565b6111c2565b60008060007fe761f303268b55a3dc96719551acb95ca3bd1ebeef4b720be68dd92563627a3f886040516020016102d29190611b9b565b60408051601f19818403018152908290526102f09291602001611c30565b60408051601f198184030181528282018252601383527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602084015290517fb38609e800000000000000000000000000000000000000000000000000000000815290925060009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163b38609e8916103af918e91339188908f908f908f908f90600401611c99565b6000604051808303816000875af11580156103ce573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103f69190810190611d4c565b9050805160000361040f5760008093509350505061042a565b808060200190518101906104239190611df9565b9350935050505b965096945050505050565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001663e1fc45ce6104816040840160208501611e1d565b336040518060400160405280601381526020017f52454c4154494f4e534849505f4d4f44554c45000000000000000000000000008152507f99bf0fbd60208ca164accd299e2c0a8b4475c1a2df53c2d7160870f682536528866040516020016104ea9190611f2c565b60408051601f19818403018152908290526105089291602001611c30565b6040516020818303038152906040526040518563ffffffff1660e01b81526004016105369493929190611fff565b6000604051808303816000875af1158015610555573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261057d9190810190611d4c565b5050565b6000808660405160200161059591906120ee565b604051602081830303815290604052905060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663b38609e88a336040518060400160405280601081526020017f4c4943454e53494e475f4d4f44554c45000000000000000000000000000000008152507f3f92a83f1dd77188c62fa393a54ccf9854be836ca6c243397d0acbbce04723878760405160200161064f929190611c30565b6040516020818303038152906040528c8c8c8c6040518963ffffffff1660e01b8152600401610685989796959493929190611c99565b6000604051808303816000875af11580156106a4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106cc9190810190611d4c565b9050808060200190518101906106e29190612134565b9998505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663b38609e883336040518060400160405280601081526020017f4c4943454e53494e475f4d4f44554c45000000000000000000000000000000008152507f5281374dd3fc2bb7839f50fddfb6a14a666cb4d23b20d6aecf9b9950d103b3368660405160200161079791815260200190565b60408051601f19818403018152908290526107b59291602001611c30565b60408051808303601f1901815260008084526020840190925291906107ea565b60608152602001906001900390816107d55790505b506040805160008082526020820190925290610816565b60608152602001906001900390816108015790505b506040518763ffffffff1660e01b81526004016108389695949392919061214d565b6000604051808303816000875af1158015610857573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261087f9190810190611d4c565b505050565b60007f9aeb830ec91a14c97a5446cc7c86a42f73a78f37f9a77afa238b5d11520ddfbc83836040516020016108ba9291906121c0565b60408051601f19818403018152908290526108d89291602001611c30565b60408051601f198184030181528282018252601383527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602084015290517fe1fc45ce00000000000000000000000000000000000000000000000000000000815290925073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163e1fc45ce9161098d9188913391908790600401611fff565b6000604051808303816000875af11580156109ac573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109d49190810190611d4c565b5050505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e1fc45ce84336040518060400160405280601381526020017f52454c4154494f4e534849505f4d4f44554c45000000000000000000000000008152507fe5801b46183bd353d44247232707bb62253655a0580ade69a754ba7157ddf8fd8787604051602001610a839291906121d4565b60408051601f1981840301815290829052610aa19291602001611c30565b6040516020818303038152906040526040518563ffffffff1660e01b8152600401610acf9493929190611fff565b6000604051808303816000875af1158015610aee573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b169190810190611d4c565b50505050565b6040517f98e8e6ea00000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906398e8e6ea90610b9d908b908b908b908b908b908b908b906004016121e8565b6020604051808303816000875af1158015610bbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be0919061224e565b98975050505050505050565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663b38609e889336040518060400160405280601381526020017f52454c4154494f4e534849505f4d4f44554c45000000000000000000000000008152508b604051602001610c74919061226b565b6040516020818303038152906040528b8b8b8b6040518963ffffffff1660e01b8152600401610caa989796959493929190611c99565b6000604051808303816000875af1158015610cc9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610cf19190810190611d4c565b905080806020019051810190610be09190612134565b6040805173ffffffffffffffffffffffffffffffffffffffff898116602083015288168183015260608082018890528251808303909101815260808201909252600091610d79917fbc42750dbe73870bbe102106b22fd8bdfa53c7247eca196d8bb7da9527f0c1e5919060a001611c30565b60408051601f198184030181528282018252601383527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602084015290517fb38609e800000000000000000000000000000000000000000000000000000000815290925073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163b38609e891610e36918d9133919087908c908c908c908c90600401611c99565b6000604051808303816000875af1158015610e55573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e7d9190810190611d4c565b50505050505050505050565b60608167ffffffffffffffff811115610ea457610ea4611d1d565b604051908082528060200260200182016040528015610ed757816020015b6060815260200190600190039081610ec25790505b50905060005b82811015610f7757610f4730858584818110610efb57610efb6122f4565b9050602002810190610f0d9190612323565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061131f92505050565b828281518110610f5957610f596122f4565b60200260200101819052508080610f6f90612388565b915050610edd565b5092915050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e1fc45ce83336040518060400160405280601081526020017f4c4943454e53494e475f4d4f44554c45000000000000000000000000000000008152507f8b21f20183a523515c357db6dba25c92b138630b63988ca3e60a6be86c8da0458660405160200161102491906123e7565b60408051601f19818403018152908290526110429291602001611c30565b6040516020818303038152906040526040518563ffffffff1660e01b81526004016108389493929190611fff565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663b38609e884336040518060400160405280601081526020017f4c4943454e53494e475f4d4f44554c45000000000000000000000000000000008152507f29def77ab981c01a6b53c58b23dd89ac4447095f721298424063ed3f16962ac68787604051602001611121929190918252602082015260400190565b60408051601f198184030181529082905261113f9291602001611c30565b60408051808303601f190181526000808452602084019092529190611174565b606081526020019060019003908161115f5790505b5060408051600080825260208201909252906111a0565b606081526020019060019003908161118b5790505b506040518763ffffffff1660e01b8152600401610acf9695949392919061214d565b60007f88fae8356076de6f233fd00b30fad913df2329364a9e9242abdc96adccc3bfc9858585856040516020016111fc9493929190612459565b60408051601f198184030181529082905261121a9291602001611c30565b60408051601f198184030181528282018252601383527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602084015290517fe1fc45ce00000000000000000000000000000000000000000000000000000000815290925073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163e1fc45ce916112cf918a913391908790600401611fff565b6000604051808303816000875af11580156112ee573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113169190810190611d4c565b50505050505050565b606061134483836040518060600160405280602781526020016124b06027913961134b565b9392505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516113759190612480565b600060405180830381855af49150503d80600081146113b0576040519150601f19603f3d011682016040523d82523d6000602084013e6113b5565b606091505b50915091506113c6868383876113d0565b9695505050505050565b6060831561146b5782516000036114645773ffffffffffffffffffffffffffffffffffffffff85163b611464576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064015b60405180910390fd5b5081611475565b611475838361147d565b949350505050565b81511561148d5781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145b919061249c565b73ffffffffffffffffffffffffffffffffffffffff811681146114e357600080fd5b50565b600060a082840312156114f857600080fd5b50919050565b60008083601f84011261151057600080fd5b50813567ffffffffffffffff81111561152857600080fd5b6020830191508360208260051b850101111561154357600080fd5b9250929050565b6000806000806000806080878903121561156357600080fd5b863561156e816114c1565b9550602087013567ffffffffffffffff8082111561158b57600080fd5b6115978a838b016114e6565b965060408901359150808211156115ad57600080fd5b6115b98a838b016114fe565b909650945060608901359150808211156115d257600080fd5b506115df89828a016114fe565b979a9699509497509295939492505050565b60006020828403121561160357600080fd5b813567ffffffffffffffff81111561161a57600080fd5b820160c0818503121561134457600080fd5b6000606082840312156114f857600080fd5b6000806000806000806080878903121561165757600080fd5b8635611662816114c1565b9550602087013567ffffffffffffffff8082111561167f57600080fd5b6115978a838b0161162c565b6000806040838503121561169e57600080fd5b82356116a9816114c1565b946020939093013593505050565b6000806000604084860312156116cc57600080fd5b83356116d7816114c1565b9250602084013567ffffffffffffffff8111156116f357600080fd5b6116ff868287016114fe565b9497909650939450505050565b60008083601f84011261171e57600080fd5b50813567ffffffffffffffff81111561173657600080fd5b60208301915083602082850101111561154357600080fd5b60008060006040848603121561176357600080fd5b833561176e816114c1565b9250602084013567ffffffffffffffff81111561178a57600080fd5b6116ff8682870161170c565b60008060008060008060006080888a0312156117b157600080fd5b87356117bc816114c1565b9650602088013567ffffffffffffffff808211156117d957600080fd5b6117e58b838c0161170c565b909850965060408a01359150808211156117fe57600080fd5b61180a8b838c0161170c565b909650945060608a013591508082111561182357600080fd5b506118308a828b016114fe565b989b979a50959850939692959293505050565b60008060008060008060008060c0898b03121561185f57600080fd5b883561186a816114c1565b9750602089013561187a816114c1565b9650604089013561188a816114c1565b955060608901359450608089013567ffffffffffffffff808211156118ae57600080fd5b6118ba8c838d016114fe565b909650945060a08b01359150808211156118d357600080fd5b506118e08b828c016114fe565b999c989b5096995094979396929594505050565b6000806020838503121561190757600080fd5b823567ffffffffffffffff81111561191e57600080fd5b61192a858286016114fe565b90969095509350505050565b60005b83811015611951578181015183820152602001611939565b50506000910152565b60008151808452611972816020860160208601611936565b601f01601f19169290920160200192915050565b600081518084526020808501808196508360051b8101915082860160005b858110156119ce5782840389526119bc84835161195a565b988501989350908401906001016119a4565b5091979650505050505050565b6020815260006113446020830184611986565b60008060408385031215611a0157600080fd5b8235611a0c816114c1565b9150602083013567ffffffffffffffff811115611a2857600080fd5b611a348582860161162c565b9150509250929050565b600080600060608486031215611a5357600080fd5b8335611a5e816114c1565b95602085013595506040909401359392505050565b600080600080600060608688031215611a8b57600080fd5b8535611a96816114c1565b9450602086013567ffffffffffffffff80821115611ab357600080fd5b611abf89838a0161170c565b90965094506040880135915080821115611ad857600080fd5b50611ae58882890161170c565b969995985093965092949392505050565b803560ff81168114611b0757600080fd5b919050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611b4157600080fd5b830160208101925035905067ffffffffffffffff811115611b6157600080fd5b80360382131561154357600080fd5b818352818160208501375060006020828401015260006020601f19601f840116840101905092915050565b6020815260008235611bac816114c1565b73ffffffffffffffffffffffffffffffffffffffff811660208401525060ff611bd760208501611af6565b166040830152611bea6040840184611b0c565b60a06060850152611bff60c085018284611b70565b91505060608401356080840152611c196080850185611b0c565b601f198584030160a08601526113c6838284611b70565b828152604060208201526000611475604083018461195a565b81835260006020808501808196508560051b810191508460005b878110156119ce578284038952611c7a8288611b0c565b611c85868284611b70565b9a87019a9550505090840190600101611c63565b600073ffffffffffffffffffffffffffffffffffffffff808b168352808a1660208401525060c06040830152611cd260c083018961195a565b8281036060840152611ce4818961195a565b90508281036080840152611cf9818789611c49565b905082810360a0840152611d0e818587611c49565b9b9a5050505050505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600060208284031215611d5e57600080fd5b815167ffffffffffffffff80821115611d7657600080fd5b818401915084601f830112611d8a57600080fd5b815181811115611d9c57611d9c611d1d565b604051601f8201601f19908116603f01168101908382118183101715611dc457611dc4611d1d565b81604052828152876020848701011115611ddd57600080fd5b611dee836020830160208801611936565b979650505050505050565b60008060408385031215611e0c57600080fd5b505080516020909101519092909150565b600060208284031215611e2f57600080fd5b8135611344816114c1565b803560068110611b0757600080fd5b60068110611e80577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611eb957600080fd5b830160208101925035905067ffffffffffffffff811115611ed957600080fd5b8060051b360382131561154357600080fd5b8183526000602080850194508260005b85811015611f215760ff611f0e83611af6565b1687529582019590820190600101611efb565b509495945050505050565b602081526000611f3c8384611b0c565b60c06020850152611f5160e085018284611b70565b9150506020840135611f62816114c1565b73ffffffffffffffffffffffffffffffffffffffff8116604085015250611f9760608401611f9260408701611e3a565b611e49565b611fa360608501611e3a565b611fb06080850182611e49565b50611fbe6080850185611e84565b601f19808685030160a0870152611fd6848385611eeb565b9350611fe560a0880188611e84565b93509150808685030160c0870152506113c6838383611eeb565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525060806040830152612038608083018561195a565b8281036060840152611dee818561195a565b81835260006020808501808196508560051b81019150846000805b888110156120e0578385038a5282357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc18936030181126120a3578283fd5b88018035865260406120b788830183611b0c565b925081898901526120cb8289018483611b70565b9c89019c975050509286019250600101612065565b509298975050505050505050565b6020815260006120fe8384611e84565b6060602085015261211360808501828461204a565b91505060208401356040840152604084013560608401528091505092915050565b60006020828403121561214657600080fd5b5051919050565b600073ffffffffffffffffffffffffffffffffffffffff808916835280881660208401525060c0604083015261218660c083018761195a565b8281036060840152612198818761195a565b905082810360808401526121ac8186611986565b905082810360a08401526106e28185611986565b602081526000611475602083018486611c49565b602081526000611475602083018486611b70565b73ffffffffffffffffffffffffffffffffffffffff8816815260806020820152600061221860808301888a611b70565b828103604084015261222b818789611b70565b90508281036060840152612240818587611c49565b9a9950505050505050505050565b60006020828403121561226057600080fd5b8151611344816114c1565b60208152600061227b8384611b0c565b60a0602085015261229060c085018284611b70565b91505060208401356122a1816114c1565b73ffffffffffffffffffffffffffffffffffffffff808216604086015260408601356060860152606086013591506122d8826114c1565b16608084810191909152939093013560a0909201919091525090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261235857600080fd5b83018035915067ffffffffffffffff82111561237357600080fd5b60200191503681900382131561154357600080fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036123e0577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b6020815260006123f78384611b0c565b6060602085015261240c608085018284611b70565b91505061241c6020850185611e84565b601f1985840301604086015261243383828461204a565b9250505060408401356003811061244957600080fd5b6060939093019290925250919050565b60408152600061246d604083018688611b70565b8281036020840152611dee818587611b70565b60008251612492818460208701611936565b9190910192915050565b602081526000611344602083018461195a56fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212205bf994a91e6fba3b278809c0a83ee1a072556ea0f02b0e66fa33d78fe971388664736f6c63430008130033000000000000000000000000c4f7e87f9ff2a2df9bc7ff8399558b594ebf911a00000000000000000000000051870a0659a87c7b46baef7311b3128006e1fb16", + "nonce": "0x7ff", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x9bf0846cfcc00ddefe61416013db4b321a377e294fd6bd0a34363c9c93f18781", + "transactionType": "CREATE", + "contractName": "RegistrationModule", + "contractAddress": "0xD3E9F80F4Cc22761587B19A7F5335A017bcB0eCd", + "function": null, + "arguments": [ + "(0x5B81030C087d41558E3FCF23B3575E85c9A768e6, 0x51870A0659A87c7B46baEF7311B3128006E1FB16, 0x826a953332Df2e1a994C7CFae68E129ba683Aa8F, 0xC4F7E87F9FF2A2DF9bC7FF8399558B594EBF911A)", + "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x62a498", + "value": "0x0", + "data": "0x6101006040523480156200001257600080fd5b5060405162005c4838038062005c48833981016040819052620000359162000298565b6020820151819083906001600160a01b038116620000665760405163134141bd60e11b815260040160405180910390fd5b6001600160a01b039081166080528151166200009557604051636028d8f760e01b815260040160405180910390fd5b80516001600160a01b0390811660a052604082015116620000c957604051635a70c46160e11b815260040160405180910390fd5b60408101516001600160a01b0390811660c052606090910151811660e052620000fc908216637965db0b60e01b6200018f565b6200013f576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600580546001600160a01b0319166001600160a01b0383169081179091556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a250505062000350565b60006200019c83620001b7565b8015620001b05750620001b08383620001f0565b9392505050565b6000620001cc826301ffc9a760e01b620001f0565b8015620001ea5750620001e8826001600160e01b0319620001f0565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801562000263575060208210155b8015620002705750600081115b979650505050505050565b80516001600160a01b03811681146200029357600080fd5b919050565b60008082840360a0811215620002ad57600080fd5b6080811215620002bc57600080fd5b50604051608081016001600160401b0381118282101715620002ee57634e487b7160e01b600052604160045260246000fd5b604052620002fc846200027b565b81526200030c602085016200027b565b60208201526200031f604085016200027b565b604082015262000332606085016200027b565b6060820152915062000347608084016200027b565b90509250929050565b60805160a05160c05160e051615894620003b4600039600081816102990152613699015260006104a401526000818161044401528181611c2d0152613ccc01526000818161040a01528181610c620152818161154a0152612ceb01526158946000f3fe608060405234801561001057600080fd5b50600436106101c35760003560e01c80638a8cb0b4116100f9578063bc12fcca11610097578063e8d7265411610071578063e8d7265414610479578063e8fb5c9b1461048c578063f0ebdc831461049f578063fba854e0146104c657600080fd5b8063bc12fcca1461042c578063d2faf8b01461043f578063e57204041461046657600080fd5b8063a5b04d45116100d3578063a5b04d45146103cc578063a6829872146103df578063b6efd29d146103f2578063b95ddb521461040557600080fd5b80638a8cb0b4146103575780639533563d146103995780639b722202146103ac57600080fd5b80634fcbd213116101665780636352211e116101405780636352211e1461030b57806368a4f0711461031e5780637448c5681461033157806377379d941461034457600080fd5b80634fcbd2131461028157806351e06b90146102945780635f32b430146102e057600080fd5b806319129e5a116101a257806319129e5a1461022a5780632fa7bc991461023f57806332ee6813146102525780634fa4467c1461027957600080fd5b8062844d13146101c857806301ffc9a7146101f157806302a8df9114610214575b600080fd5b6101db6101d6366004614079565b6104d9565b6040516101e89190614104565b60405180910390f35b6102046101ff366004614117565b6105d2565b60405190151581526020016101e8565b61021c60ff81565b6040519081526020016101e8565b61023d610238366004614079565b6106b5565b005b61023d61024d3660046141a2565b61081b565b61021c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81565b61021c600a81565b6101db61028f3660046141ee565b610c48565b6102bb7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101e8565b61021c6102ee366004614253565b600860209081526000928352604080842090915290825290205481565b6102bb61031936600461427f565b610cce565b6101db61032c3660046142a5565b610d8d565b61021c61033f3660046142da565b610f62565b6102046103523660046142f8565b610f76565b610204610365366004614349565b73ffffffffffffffffffffffffffffffffffffffff821660009081526007602052604090206002015460ff82161092915050565b61023d6103a73660046143c7565b610fae565b6103bf6103ba366004614079565b611181565b6040516101e89190614486565b61023d6103da366004614506565b611280565b6101db6103ed366004614253565b61148b565b6101db610400366004614547565b611530565b6102bb7f000000000000000000000000000000000000000000000000000000000000000081565b61021c61043a3660046142da565b61168a565b6102bb7f000000000000000000000000000000000000000000000000000000000000000081565b6102bb6104743660046142a5565b611696565b6101db6104873660046145f2565b61178e565b61021c61049a3660046142f8565b611e69565b6102bb7f000000000000000000000000000000000000000000000000000000000000000081565b61023d6104d4366004614629565b611e86565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260076020526040812060010180546060929190610511906146c8565b80601f016020809104026020016040519081016040528092919081815260200182805461053d906146c8565b801561058a5780601f1061055f5761010080835404028352916020019161058a565b820191906000526020600020905b81548152906001019060200180831161056d57829003601f168201915b5050505050905080516000036105cc576040517f87dc059f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f2fa7bc9900000000000000000000000000000000000000000000000000000000148061066557507fffffffff0000000000000000000000000000000000000000000000000000000082167ff924008e00000000000000000000000000000000000000000000000000000000145b806105cc57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316146105cc565b60006106c18133612064565b610705576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b61074573ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000612100565b6107ab576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c00000000000000000000000000000000000060448201526064016106fc565b600580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a25050565b60008061082a83850185614877565b915091508115610b375760008581526004602052604081206007018054916108518361490a565b9091555050600085815260046020908152604091829020825161010081018452815473ffffffffffffffffffffffffffffffffffffffff908116825260018301541692810192909252600281018054610b3194840191906108b1906146c8565b80601f01602080910402602001604051908101604052809291908181526020018280546108dd906146c8565b801561092a5780601f106108ff5761010080835404028352916020019161092a565b820191906000526020600020905b81548152906001019060200180831161090d57829003601f168201915b5050505050815260200160038201805480602002602001604051908101604052809291908181526020016000905b82821015610a04578382906000526020600020018054610977906146c8565b80601f01602080910402602001604051908101604052809291908181526020018280546109a3906146c8565b80156109f05780601f106109c5576101008083540402835291602001916109f0565b820191906000526020600020905b8154815290600101906020018083116109d357829003601f168201915b505050505081526020019060010190610958565b50505050815260200160048201805480602002602001604051908101604052809291908181526020016000905b82821015610add578382906000526020600020018054610a50906146c8565b80601f0160208091040260200160405190810160405280929190818152602001828054610a7c906146c8565b8015610ac95780601f10610a9e57610100808354040283529160200191610ac9565b820191906000526020600020905b815481529060010190602001808311610aac57829003601f168201915b505050505081526020019060010190610a31565b5050509082525060058201546020820152600682015460409091019060ff166001811115610b0d57610b0d614942565b6001811115610b1e57610b1e614942565b815260200160078201548152505061211c565b50610b9c565b6000858152600460205260409081902060010154905173ffffffffffffffffffffffffffffffffffffffff909116907f7f7ce7cf4c1b43e1bf51034d0ad7062abb9d4529c7bb0510d512249b0fb7145290610b93908490614104565b60405180910390a25b600085815260046020526040812080547fffffffffffffffffffffffff00000000000000000000000000000000000000009081168255600182018054909116905590610beb6002830182613f56565b610bf9600383016000613f93565b610c07600483016000613f93565b506000600582018190556006820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690556007909101555050505050565b60603373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610cb9576040517f72823b5400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610cc585858585612226565b95945050505050565b600081815260066020908152604080832081518083018352815473ffffffffffffffffffffffffffffffffffffffff1680825260019092015493810184905291517f6352211e00000000000000000000000000000000000000000000000000000000815260048101939093529091636352211e90602401602060405180830381865afa158015610d62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d869190614971565b9392505050565b60606000610d9b8585612334565b805480602002602001604051908101604052809291908181526020016000905b82821015610e67578382906000526020600020018054610dda906146c8565b80601f0160208091040260200160405190810160405280929190818152602001828054610e06906146c8565b8015610e535780601f10610e2857610100808354040283529160200191610e53565b820191906000526020600020905b815481529060010190602001808311610e3657829003601f168201915b505050505081526020019060010190610dbb565b50505050905080518310610eaa576040517f9c7692bf000000000000000000000000000000000000000000000000000000008152600481018490526024016106fc565b610eb48585612334565b8381548110610ec557610ec561498e565b906000526020600020018054610eda906146c8565b80601f0160208091040260200160405190810160405280929190818152602001828054610f06906146c8565b8015610f535780601f10610f2857610100808354040283529160200191610f53565b820191906000526020600020905b815481529060010190602001808311610f3657829003601f168201915b50505050509150509392505050565b6000610f6e8383612376565b549392505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610fa4858585611e69565b1415949350505050565b8673ffffffffffffffffffffffffffffffffffffffff8116610ffc576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611047573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061106b9190614971565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146110cf576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006110dd8385018561427f565b905060006111638a836040805173ffffffffffffffffffffffffffffffffffffffff84166020820152908101829052606080820152600c60808201527f524547495354524154494f4e000000000000000000000000000000000000000060a082015260009060c00160405160208183030381529060405280519060200120905092915050565b90506111748b8b838c8c8c8c611e86565b5050505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600760209081526040808320600201805482518185028101850190935280835260609492939192909184015b828210156112755783829060005260206000200180546111e8906146c8565b80601f0160208091040260200160405190810160405280929190818152602001828054611214906146c8565b80156112615780601f1061123657610100808354040283529160200191611261565b820191906000526020600020905b81548152906001019060200180831161124457829003601f168201915b5050505050815260200190600101906111c9565b505050509050919050565b8173ffffffffffffffffffffffffffffffffffffffff81166112ce576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611319573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061133d9190614971565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146113a1576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008460018111156113b5576113b5614942565b1480156113cf575060008281526020819052604090205415155b156114075760008281526020819052604081206113eb91613fb1565b600082815260026020526040812061140291613f93565b611449565b6000828152600160205260409020541561144957600082815260016020526040812061143291613fb1565b600082815260036020526040812061144991613f93565b8184600181111561145c5761145c614942565b6040517f1fe48a4ec69671720d8bdd8f8a6853d16f486c0bb91fcaf5b8ffc4932b8bc9f490600090a350505050565b6009602090815260009283526040808420909152908252902080546114af906146c8565b80601f01602080910402602001604051908101604052809291908181526020018280546114db906146c8565b80156115285780601f106114fd57610100808354040283529160200191611528565b820191906000526020600020905b81548152906001019060200180831161150b57829003601f168201915b505050505081565b60603373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146115a1576040517f72823b5400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115ad898989896123b8565b60006115bb8a8a8a8a6125b5565b905060006040518061010001604052808c73ffffffffffffffffffffffffffffffffffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505090825250602001611649888a614a01565b81526020016116588688614a01565b815260208101849052604001600081526020016000815250905061167b8161211c565b9b9a5050505050505050505050565b6000610f6e8383612334565b6000806116a38585612376565b80548060200260200160405190810160405280929190818152602001828054801561170457602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116116d9575b5050505050905080518310611748576040517f9c7692bf000000000000000000000000000000000000000000000000000000008152600481018490526024016106fc565b6117528585612376565b83815481106117635761176361498e565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1695945050505050565b73ffffffffffffffffffffffffffffffffffffffff831660008181526008602090815260408083208684529091528082205490517f6352211e0000000000000000000000000000000000000000000000000000000081526004810186905260609391929190636352211e90602401602060405180830381865afa158015611819573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061183d9190614971565b905073ffffffffffffffffffffffffffffffffffffffff811661188c576040517f85a9692000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff86166000908152600960209081526040808320888452909152812080546118c7906146c8565b905011156119915773ffffffffffffffffffffffffffffffffffffffff861660009081526009602090815260408083208884529091529020805461190a906146c8565b80601f0160208091040260200160405190810160405280929190818152602001828054611936906146c8565b80156119835780601f1061195857610100808354040283529160200191611983565b820191906000526020600020905b81548152906001019060200180831161196657829003601f168201915b505050505092505050610d86565b73ffffffffffffffffffffffffffffffffffffffff86166000908152600760205260408082208151606081019092528054829082906119cf906146c8565b80601f01602080910402602001604051908101604052809291908181526020018280546119fb906146c8565b8015611a485780601f10611a1d57610100808354040283529160200191611a48565b820191906000526020600020905b815481529060010190602001808311611a2b57829003601f168201915b50505050508152602001600182018054611a61906146c8565b80601f0160208091040260200160405190810160405280929190818152602001828054611a8d906146c8565b8015611ada5780601f10611aaf57610100808354040283529160200191611ada565b820191906000526020600020905b815481529060010190602001808311611abd57829003601f168201915b5050505050815260200160028201805480602002602001604051908101604052809291908181526020016000905b82821015611bb4578382906000526020600020018054611b27906146c8565b80601f0160208091040260200160405190810160405280929190818152602001828054611b53906146c8565b8015611ba05780601f10611b7557610100808354040283529160200191611ba0565b820191906000526020600020905b815481529060010190602001808311611b8357829003601f168201915b505050505081526020019060010190611b08565b5050509152505080515190915015611bfb578051611bd184612653565b604051602001611be2929190614a91565b6040516020818303038152906040529350505050610d86565b6040517fc47f8bfa000000000000000000000000000000000000000000000000000000008152600481018490526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063c47f8bfa90602401600060405180830381865afa158015611c89573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052611ccf9190810190614b22565b90506000611cdc85612653565b8251604051611cef929190602001614bec565b60405160208183030381529060405290506000611d27836060015173ffffffffffffffffffffffffffffffffffffffff166014612711565b611d488673ffffffffffffffffffffffffffffffffffffffff166014612711565b604051602001611d59929190614d2f565b60405160208183030381529060405290506000611d91846020015173ffffffffffffffffffffffffffffffffffffffff166014612711565b85604001518a60ff1681518110611daa57611daa61498e565b6020026020010151611dc2866040015160ff16612653565b6080870151611dd2906020612711565b611de98860a0015167ffffffffffffffff16612653565b604051602001611dfd959493929190614e2b565b6040516020818303038152906040529050611e3a838383604051602001611e2693929190615090565b604051602081830303815290604052612954565b604051602001611e4a91906150fb565b6040516020818303038152906040529750505050505050509392505050565b6000611e7e611e788585612376565b83612aa7565b949350505050565b8573ffffffffffffffffffffffffffffffffffffffff8116611ed4576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f1f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f439190614971565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611fa7576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611fb2888888611280565b61200e611fbf8988612376565b611fc98a89612334565b8787808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506120099250889150899050614a01565b612b41565b8588600181111561202157612021614942565b7f5e140eb5bed8bcb1664a04c0be4aa419e0d2dbf1277a4a6770882a0beb3b91b28787604051612052929190615140565b60405180910390a35050505050505050565b6005546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810184905273ffffffffffffffffffffffffffffffffffffffff838116602483015260009216906391d1485490604401602060405180830381865afa1580156120dc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d86919061519b565b600061210b83612f7b565b8015610d865750610d868383612fdf565b606060008260c00151600181111561213657612136614942565b1480156121495750612147826130ae565b155b156121a957816020015173ffffffffffffffffffffffffffffffffffffffff167fa1e5a8c0fde3fa4d7320c3f9de0ab0a2c1ee6e891e6a513ca0811ddcf768b59460405160405180910390a2505060408051602081019091526000815290565b6121c08260000151836020015184604001516134a3565b600160c0840152600060e084015290506121d9826130ae565b50816020015173ffffffffffffffffffffffffffffffffffffffff167f4ec4635a4d1f6ebe9ee3a059f74fc5d802e04d2d115c4090337a34e3b137c98a60405160405180910390a2919050565b606061223285856135db565b600080612241848601866151b8565b915091507f88fae8356076de6f233fd00b30fad913df2329364a9e9242abdc96adccc3bfc98203612299576000808280602001905181019061228391906151f5565b9150915061229289838361370c565b505061231a565b7f9aeb830ec91a14c97a5446cc7c86a42f73a78f37f9a77afa238b5d11520ddfbc82036122e8576000818060200190518101906122d6919061524f565b90506122e288826137a2565b5061231a565b6040517f04e4b46900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505060408051602081019091526000815295945050505050565b60008083600181111561234957612349614942565b03612362575060008181526002602052604090206105cc565b5060008181526003602052604090206105cc565b60008083600181111561238b5761238b614942565b036123a4575060008181526020819052604090206105cc565b5060008181526001602052604090206105cc565b6000806123c7838501856151b8565b915091507fbc42750dbe73870bbe102106b22fd8bdfa53c7247eca196d8bb7da9527f0c1e582036124bf5760008060008380602001905181019061240b9190615300565b9250925092508273ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614158061248057508773ffffffffffffffffffffffffffffffffffffffff1661246782610cce565b73ffffffffffffffffffffffffffffffffffffffff1614155b156124b7576040517f7e833cd700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050506125ad565b7fe761f303268b55a3dc96719551acb95ca3bd1ebeef4b720be68dd92563627a3f820361257b576000818060200190518101906124fc9190615343565b90508573ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff1614612567576040517f7e833cd700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612575878260200151613867565b506125ad565b6040517f9ca9add400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050505050565b6000806125c4838501856151b8565b50905061264986826040805173ffffffffffffffffffffffffffffffffffffffff84166020820152908101829052606080820152600c60808201527f524547495354524154494f4e000000000000000000000000000000000000000060a082015260009060c00160405160208183030381529060405280519060200120905092915050565b9695505050505050565b60606000612660836138d4565b600101905060008167ffffffffffffffff81111561268057612680614729565b6040519080825280601f01601f1916602001820160405280156126aa576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85049450846126b457509392505050565b60606000612720836002615404565b61272b90600261541b565b67ffffffffffffffff81111561274357612743614729565b6040519080825280601f01601f19166020018201604052801561276d576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106127a4576127a461498e565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106128075761280761498e565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000612843846002615404565b61284e90600161541b565b90505b60018111156128eb577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061288f5761288f61498e565b1a60f81b8282815181106128a5576128a561498e565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c936128e48161542e565b9050612851565b508315610d86576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016106fc565b6060815160000361297357505060408051602081019091526000815290565b600060405180606001604052806040815260200161581f60409139905060006003845160026129a2919061541b565b6129ac9190615463565b6129b7906004615404565b67ffffffffffffffff8111156129cf576129cf614729565b6040519080825280601f01601f1916602001820160405280156129f9576020820181803683370190505b509050600182016020820185865187015b80821015612a65576003820191508151603f8160121c168501518453600184019350603f81600c1c168501518453600184019350603f8160061c168501518453600184019350603f8116850151845350600183019250612a0a565b5050600386510660018114612a815760028114612a9457612a9c565b603d6001830353603d6002830353612a9c565b603d60018303535b509195945050505050565b8154600090815b81811015612b17578373ffffffffffffffffffffffffffffffffffffffff16858281548110612adf57612adf61498e565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1603612b0f5791506105cc9050565b600101612aae565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff949350505050565b8151600a811115612b7e576040517f760fb4ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80825114612bb8576040517f3021beb200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b818110156125ad57600073ffffffffffffffffffffffffffffffffffffffff16848281518110612bed57612bed61498e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1603612c42576040517f7d4de38200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600081118015612cb25750836001820381518110612c6257612c6261498e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff16848281518110612c9257612c9261498e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff16145b15612ce9576040517fd696c40800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166382984f30858381518110612d3757612d3761498e565b60200260200101516040518263ffffffff1660e01b8152600401612d77919073ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b602060405180830381865afa158015612d94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612db8919061519b565b612e2557838181518110612dce57612dce61498e565b60200260200101516040517f5a9873880000000000000000000000000000000000000000000000000000000081526004016106fc919073ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b838181518110612e3757612e3761498e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1663a913b881848381518110612e6c57612e6c61498e565b60200260200101516040518263ffffffff1660e01b8152600401612e909190614104565b60006040518083038186803b158015612ea857600080fd5b505afa158015612ebc573d6000803e3d6000fd5b5050505085848281518110612ed357612ed361498e565b60209081029190910181015182546001810184556000938452919092200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90921691909117905582518590849083908110612f4957612f4961498e565b60209081029190910181015182546001810184556000938452919092200190612f7290826154e4565b50600101612bbb565b6000612fa7827f01ffc9a700000000000000000000000000000000000000000000000000000000612fdf565b80156105cc5750612fd8827fffffffff00000000000000000000000000000000000000000000000000000000612fdf565b1592915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015613097575060208210155b80156130a35750600081115b979650505050505050565b6000806130c38360c001518460a00151612376565b80548060200260200160405190810160405280929190818152602001828054801561312457602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116130f9575b50505050509050600061313f8460c001518560a00151612334565b805480602002602001604051908101604052809291908181526020016000905b8282101561320b57838290600052602060002001805461317e906146c8565b80601f01602080910402602001604051908101604052809291908181526020018280546131aa906146c8565b80156131f75780601f106131cc576101008083540402835291602001916131f7565b820191906000526020600020905b8154815290600101906020018083116131da57829003601f168201915b50505050508152602001906001019061315f565b50508451929350600091508190508660c00151600181111561322f5761322f614942565b1461323e578560800151613244565b85606001515b90508181511461329c578560c00151600181111561326457613264614942565b6040517f3171c36f00000000000000000000000000000000000000000000000000000000815260ff90911660048201526024016106fc565b60e08601515b8281101561349657808760e0018181525050600060405180604001604052808684815181106132d3576132d361498e565b602002602001015181526020018484815181106132f2576132f261498e565b60200260200101518152509050600061334f8784815181106133165761331661498e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673800000000000000000000000000000000000000016151590565b15613432578683815181106133665761336661498e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff166334e5d29f8360405160200161339a91906155fe565b6040516020818303038152906040526040518263ffffffff1660e01b81526004016133c59190614104565b6000604051808303816000875af11580156133e4573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261342a9190810190615655565b509050613459565b6134568784815181106134475761344761498e565b6020026020010151838b6139b6565b90505b600181600181111561346d5761346d614942565b146134815750600098975050505050505050565b5050808061348e9061490a565b9150506132a2565b5060019695505050505050565b6060600080838060200190518101906134bc919061569c565b915091507fbc42750dbe73870bbe102106b22fd8bdfa53c7247eca196d8bb7da9527f0c1e5820361352e576000806000838060200190518101906135009190615300565b92509250925061351289828585613bb8565b6040518060200160405280600081525095505050505050610d86565b7fe761f303268b55a3dc96719551acb95ca3bd1ebeef4b720be68dd92563627a3f82036135c25760008180602001905181019061356b9190615343565b90506000806135928984600001518560400151866020015187606001518860800151613cc7565b60408051602081019390935282810191909152805180830382018152606090920190529550610d86945050505050565b5050604080516020810190915260008152949350505050565b8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561363d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136619190614971565b73ffffffffffffffffffffffffffffffffffffffff16141580156136d157508073ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1614155b15613708576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b73ffffffffffffffffffffffffffffffffffffffff831660009081526007602052604090208061373c84826154e4565b506001810161374b83826154e4565b508373ffffffffffffffffffffffffffffffffffffffff167f6c1850fce35387a891e82ca88e975790ab6f0709e9ed6842e01397f296012a7e84846040516137949291906156cd565b60405180910390a250505050565b805160ff8111156137df576040517f1c17d63a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff83166000908152600760205260408120905b8281101561386057816002018482815181106138245761382461498e565b6020908102919091018101518254600181018455600093845291909220019061384d90826154e4565b50806138588161490a565b915050613806565b5050505050565b73ffffffffffffffffffffffffffffffffffffffff821660009081526007602052604090206002015460ff808216908316106138cf576040517f12d7e46c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000831061391d577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef81000000008310613949576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061396757662386f26fc10000830492506010015b6305f5e100831061397f576305f5e100830492506008015b612710831061399357612710830492506004015b606483106139a5576064830492506002015b600a83106105cc5760010192915050565b60008060008573ffffffffffffffffffffffffffffffffffffffff16635260a98c866040516020016139e891906155fe565b604051602081830303815290604052306040518363ffffffff1660e01b8152600401613a159291906156f2565b6000604051808303816000875af1158015613a34573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052613a7a919081019061572a565b91935090915060009050826001811115613a9657613a96614942565b03613baf57600081815260046020908152604091829020865181547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff92831617835592880151600183018054909416911617909155908501518591906002820190613b1990826154e4565b5060608201518051613b35916003840191602090910190613fcf565b5060808201518051613b51916004840191602090910190613fcf565b5060a0820151600582015560c08201516006820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660018381811115613b9c57613b9c614942565b021790555060e082015181600701559050505b50949350505050565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301528281166024830152604482018590528516906323b872dd90606401600060405180830381600087803b158015613c3057600080fd5b505af1158015613c44573d6000803e3d6000fd5b5050505073ffffffffffffffffffffffffffffffffffffffff84811660008181526008602090815260408083208884528252918290205482518881528786169281019290925293851681830152905183917f0480e159be1c15e0022dfbc6d236db58db83a033908eca4876f796f60ed871b9919081900360600190a35050505050565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663601a924c898989886040518563ffffffff1660e01b8152600401613d299493929190615784565b6020604051808303816000875af1158015613d48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d6c91906157ce565b6040517f691562a000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff898116600483015260ff881660248301529193509089169063691562a0906044016020604051808303816000875af1158015613de7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e0b91906157ce565b73ffffffffffffffffffffffffffffffffffffffff89811660008181526008602090815260408083208684528252808320889055805180820182529384528382018681528884526006909252909120825181547fffffffffffffffffffffffff00000000000000000000000000000000000000001694169390931783555160019092019190915584519192509015613ed95773ffffffffffffffffffffffffffffffffffffffff891660009081526009602090815260408083208584529091529020613ed785826154e4565b505b8560ff168873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff167fd051b12b5a18291aec9a26b17774a4be2d10dce167cbdc5944c7942c78f901c186868c8b8b604051613f429594939291906157e7565b60405180910390a450965096945050505050565b508054613f62906146c8565b6000825580601f10613f72575050565b601f016020900490600052602060002090810190613f909190614025565b50565b5080546000825590600052602060002090810190613f90919061403a565b5080546000825590600052602060002090810190613f909190614025565b828054828255906000526020600020908101928215614015579160200282015b82811115614015578251829061400590826154e4565b5091602001919060010190613fef565b5061402192915061403a565b5090565b5b808211156140215760008155600101614026565b8082111561402157600061404e8282613f56565b5060010161403a565b73ffffffffffffffffffffffffffffffffffffffff81168114613f9057600080fd5b60006020828403121561408b57600080fd5b8135610d8681614057565b60005b838110156140b1578181015183820152602001614099565b50506000910152565b600081518084526140d2816020860160208601614096565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610d8660208301846140ba565b60006020828403121561412957600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610d8657600080fd5b60008083601f84011261416b57600080fd5b50813567ffffffffffffffff81111561418357600080fd5b60208301915083602082850101111561419b57600080fd5b9250929050565b6000806000604084860312156141b757600080fd5b83359250602084013567ffffffffffffffff8111156141d557600080fd5b6141e186828701614159565b9497909650939450505050565b6000806000806060858703121561420457600080fd5b843561420f81614057565b9350602085013561421f81614057565b9250604085013567ffffffffffffffff81111561423b57600080fd5b61424787828801614159565b95989497509550505050565b6000806040838503121561426657600080fd5b823561427181614057565b946020939093013593505050565b60006020828403121561429157600080fd5b5035919050565b60028110613f9057600080fd5b6000806000606084860312156142ba57600080fd5b83356142c581614298565b95602085013595506040909401359392505050565b600080604083850312156142ed57600080fd5b823561427181614298565b60008060006060848603121561430d57600080fd5b833561431881614298565b925060208401359150604084013561432f81614057565b809150509250925092565b60ff81168114613f9057600080fd5b6000806040838503121561435c57600080fd5b823561436781614057565b915060208301356143778161433a565b809150509250929050565b60008083601f84011261439457600080fd5b50813567ffffffffffffffff8111156143ac57600080fd5b6020830191508360208260051b850101111561419b57600080fd5b60008060008060008060008060a0898b0312156143e357600080fd5b88356143ee81614298565b975060208901356143fe81614057565b9650604089013567ffffffffffffffff8082111561441b57600080fd5b6144278c838d01614382565b909850965060608b013591508082111561444057600080fd5b61444c8c838d01614382565b909650945060808b013591508082111561446557600080fd5b506144728b828c01614159565b999c989b5096995094979396929594505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156144f9577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08886030184526144e78583516140ba565b945092850192908501906001016144ad565b5092979650505050505050565b60008060006060848603121561451b57600080fd5b833561452681614298565b9250602084013561453681614057565b929592945050506040919091013590565b60008060008060008060008060a0898b03121561456357600080fd5b883561456e81614057565b9750602089013561457e81614057565b9650604089013567ffffffffffffffff8082111561459b57600080fd5b6145a78c838d01614159565b909850965060608b01359150808211156145c057600080fd5b6145cc8c838d01614382565b909650945060808b01359150808211156145e557600080fd5b506144728b828c01614382565b60008060006060848603121561460757600080fd5b833561461281614057565b925060208401359150604084013561432f8161433a565b600080600080600080600060a0888a03121561464457600080fd5b873561464f81614298565b9650602088013561465f81614057565b955060408801359450606088013567ffffffffffffffff8082111561468357600080fd5b61468f8b838c01614382565b909650945060808a01359150808211156146a857600080fd5b506146b58a828b01614382565b989b979a50959850939692959293505050565b600181811c908216806146dc57607f821691505b602082108103614715577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b8015158114613f9057600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff8111828210171561477b5761477b614729565b60405290565b60405160a0810167ffffffffffffffff8111828210171561477b5761477b614729565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156147eb576147eb614729565b604052919050565b600067ffffffffffffffff82111561480d5761480d614729565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600061484c614847846147f3565b6147a4565b905082815283838301111561486057600080fd5b828260208301376000602084830101529392505050565b6000806040838503121561488a57600080fd5b82356148958161471b565b9150602083013567ffffffffffffffff8111156148b157600080fd5b8301601f810185136148c257600080fd5b6148d185823560208401614839565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361493b5761493b6148db565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60006020828403121561498357600080fd5b8151610d8681614057565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600067ffffffffffffffff8211156149d7576149d7614729565b5060051b60200190565b600082601f8301126149f257600080fd5b610d8683833560208501614839565b6000614a0f614847846149bd565b80848252602080830192508560051b850136811115614a2d57600080fd5b855b81811015614a6957803567ffffffffffffffff811115614a4f5760008081fd5b614a5b36828a016149e1565b865250938201938201614a2f565b50919695505050505050565b60008151614a87818560208601614096565b9290920192915050565b60008351614aa3818460208801614096565b835190830190614ab7818360208801614096565b01949350505050565b600082601f830112614ad157600080fd5b8151614adf614847826147f3565b818152846020838601011115614af457600080fd5b611e7e826020830160208701614096565b805167ffffffffffffffff81168114614b1d57600080fd5b919050565b600060208284031215614b3457600080fd5b815167ffffffffffffffff80821115614b4c57600080fd5b9083019060c08286031215614b6057600080fd5b614b68614758565b825182811115614b7757600080fd5b614b8387828601614ac0565b82525060208301519150614b9682614057565b81602082015260408301519150614bac8261433a565b81604082015260608301519150614bc282614057565b81606082015260808301516080820152614bde60a08401614b05565b60a082015295945050505050565b7f7b226e616d65223a2022476c6f62616c20495020417373657420230000000000815260008351614c2481601b850160208801614096565b7f222c20226465736372697074696f6e223a20224950204f726720417373657420601b918401918201527f526567697374726174696f6e2044657461696c73222c20226174747269627574603b8201527f6573223a205b0000000000000000000000000000000000000000000000000000605b8201527f7b2274726169745f74797065223a20224e616d65222c202276616c7565223a2060618201527f220000000000000000000000000000000000000000000000000000000000000060818201528351614cf9816082840160208801614096565b7f227d2c000000000000000000000000000000000000000000000000000000000060829290910191820152608501949350505050565b7f7b2274726169745f74797065223a20224950204f7267222c202276616c75652281527f3a20220000000000000000000000000000000000000000000000000000000000602082015260008351614d8d816023850160208801614096565b80830190507f227d2c00000000000000000000000000000000000000000000000000000000008060238301527f7b2274726169745f74797065223a202243757272656e74204950204f776e657260268301527f222c202276616c7565223a20220000000000000000000000000000000000000060468301528451614e18816053850160208901614096565b6053920191820152605601949350505050565b7f7b2274726169745f74797065223a2022496e697469616c20526567697374726181527f6e74222c202276616c7565223a20220000000000000000000000000000000000602082015260008651614e8981602f850160208b01614096565b80830190507f227d2c000000000000000000000000000000000000000000000000000000000080602f8301527f7b2274726169745f74797065223a20224950204f72672041737365742054797060328301527f65222c202276616c7565223a202200000000000000000000000000000000000060528301528751614f14816060850160208c01614096565b60609201918201527f7b2274726169745f74797065223a2022537461747573222c202276616c75652260638201527f3a20220000000000000000000000000000000000000000000000000000000000608382015261508461505b615055615006614f88615000614fb182608689018e614a75565b7f227d2c0000000000000000000000000000000000000000000000000000000000815260030190565b7f7b2274726169745f74797065223a202248617368222c202276616c7565223a2081527f2200000000000000000000000000000000000000000000000000000000000000602082015260210190565b8a614a75565b7f7b2274726169745f74797065223a2022526567697374726174696f6e2044617481527f65222c202276616c7565223a20220000000000000000000000000000000000006020820152602e0190565b86614a75565b7f227d000000000000000000000000000000000000000000000000000000000000815260020190565b98975050505050505050565b600084516150a2818460208901614096565b8451908301906150b6818360208901614096565b84519101906150c9818360208801614096565b7f5d7d000000000000000000000000000000000000000000000000000000000000910190815260020195945050505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c00000081526000825161513381601d850160208701614096565b91909101601d0192915050565b60208082528181018390526000908460408401835b8681101561519057823561516881614057565b73ffffffffffffffffffffffffffffffffffffffff1682529183019190830190600101615155565b509695505050505050565b6000602082840312156151ad57600080fd5b8151610d868161471b565b600080604083850312156151cb57600080fd5b82359150602083013567ffffffffffffffff8111156151e957600080fd5b6148d1858286016149e1565b6000806040838503121561520857600080fd5b825167ffffffffffffffff8082111561522057600080fd5b61522c86838701614ac0565b9350602085015191508082111561524257600080fd5b506148d185828601614ac0565b6000602080838503121561526257600080fd5b825167ffffffffffffffff8082111561527a57600080fd5b818501915085601f83011261528e57600080fd5b815161529c614847826149bd565b81815260059190911b830184019084810190888311156152bb57600080fd5b8585015b838110156152f3578051858111156152d75760008081fd5b6152e58b89838a0101614ac0565b8452509186019186016152bf565b5098975050505050505050565b60008060006060848603121561531557600080fd5b835161532081614057565b602085015190935061533181614057565b80925050604084015190509250925092565b60006020828403121561535557600080fd5b815167ffffffffffffffff8082111561536d57600080fd5b9083019060a0828603121561538157600080fd5b615389614781565b825161539481614057565b815260208301516153a48161433a565b60208201526040830151828111156153bb57600080fd5b6153c787828601614ac0565b604083015250606083015160608201526080830151828111156153e957600080fd5b6153f587828601614ac0565b60808301525095945050505050565b80820281158282048414176105cc576105cc6148db565b808201808211156105cc576105cc6148db565b60008161543d5761543d6148db565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b600082615499577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b601f8211156138cf57600081815260208120601f850160051c810160208610156154c55750805b601f850160051c820191505b818110156125ad578281556001016154d1565b815167ffffffffffffffff8111156154fe576154fe614729565b6155128161550c84546146c8565b8461549e565b602080601f831160018114615565576000841561552f5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b1785556125ad565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156155b257888601518255948401946001909101908401615593565b50858210156155ee57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b60208152600082516040602084015261561a60608401826140ba565b905060208401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0848303016040850152610cc582826140ba565b6000806040838503121561566857600080fd5b825161567381614298565b602084015190925067ffffffffffffffff81111561569057600080fd5b6148d185828601614ac0565b600080604083850312156156af57600080fd5b82519150602083015167ffffffffffffffff81111561569057600080fd5b6040815260006156e060408301856140ba565b8281036020840152610cc581856140ba565b60408152600061570560408301856140ba565b905073ffffffffffffffffffffffffffffffffffffffff831660208301529392505050565b60008060006060848603121561573f57600080fd5b835161574a81614298565b602085015190935067ffffffffffffffff81111561576757600080fd5b61577386828701614ac0565b925050604084015190509250925092565b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250608060408301526157bd60808301856140ba565b905082606083015295945050505050565b6000602082840312156157e057600080fd5b5051919050565b85815284602082015260a06040820152600061580660a08301866140ba565b846060840152828103608084015261508481856140ba56fe4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2fa2646970667358221220649f1162533c82b294440c39a1f9ce1aa0719a40999a2c158b524cbd3206043764736f6c634300081300330000000000000000000000005b81030c087d41558e3fcf23b3575e85c9a768e600000000000000000000000051870a0659a87c7b46baef7311b3128006e1fb16000000000000000000000000826a953332df2e1a994c7cfae68e129ba683aa8f000000000000000000000000c4f7e87f9ff2a2df9bc7ff8399558b594ebf911a000000000000000000000000518ccd79e0e7b75fd5fcc09463fb09cb7d55470d", + "nonce": "0x800", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xd27abaa9b1d80e05ddefe448f5674ee786621d742a591d4c2ea3d7a634885714", + "transactionType": "CREATE", + "contractName": "RelationshipModule", + "contractAddress": "0x5fb712AF304570aD9599e55E1105b7a42a5e30Db", + "function": null, + "arguments": [ + "(0x5B81030C087d41558E3FCF23B3575E85c9A768e6, 0x51870A0659A87c7B46baEF7311B3128006E1FB16, 0x826a953332Df2e1a994C7CFae68E129ba683Aa8F, 0xC4F7E87F9FF2A2DF9bC7FF8399558B594EBF911A)", + "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x5377a4", + "value": "0x0", + "data": "0x6101006040523480156200001257600080fd5b5060405162004e5d38038062004e5d833981016040819052620000359162000298565b6020820151819083906001600160a01b038116620000665760405163134141bd60e11b815260040160405180910390fd5b6001600160a01b039081166080528151166200009557604051636028d8f760e01b815260040160405180910390fd5b80516001600160a01b0390811660a052604082015116620000c957604051635a70c46160e11b815260040160405180910390fd5b60408101516001600160a01b0390811660c052606090910151811660e052620000fc908216637965db0b60e01b6200018f565b6200013f576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600580546001600160a01b0319166001600160a01b0383169081179091556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a250505062000350565b60006200019c83620001b7565b8015620001b05750620001b08383620001f0565b9392505050565b6000620001cc826301ffc9a760e01b620001f0565b8015620001ea5750620001e8826001600160e01b0319620001f0565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801562000263575060208210155b8015620002705750600081115b979650505050505050565b80516001600160a01b03811681146200029357600080fd5b919050565b60008082840360a0811215620002ad57600080fd5b6080811215620002bc57600080fd5b50604051608081016001600160401b0381118282101715620002ee57634e487b7160e01b600052604160045260246000fd5b604052620002fc846200027b565b81526200030c602085016200027b565b60208201526200031f604085016200027b565b604082015262000332606085016200027b565b6060820152915062000347608084016200027b565b90509250929050565b60805160a05160c05160e051614aa9620003b4600039600061028201526000818161043801526134960152600081816103d8015261339401526000818161039e01528181610c9201528181611472015281816122ad01526135da0152614aa96000f3fe608060405234801561001057600080fd5b50600436106101985760003560e01c806376ced32d116100e3578063d2faf8b01161008c578063e8fb5c9b11610066578063e8fb5c9b14610420578063f0ebdc8314610433578063fba854e01461045a57600080fd5b8063d2faf8b0146103d3578063e5720404146103fa578063e7d8e9311461040d57600080fd5b8063b6efd29d116100bd578063b6efd29d14610386578063b95ddb5214610399578063bc12fcca146103c057600080fd5b806376ced32d1461030257806377379d9414610360578063a5b04d451461037357600080fd5b80634fa4467c116101455780636191d3561161011f5780636191d356146102c957806368a4f071146102dc5780637448c568146102ef57600080fd5b80634fa4467c146102555780634fcbd2131461025d57806351e06b901461027d57600080fd5b80632fa7bc99116101765780632fa7bc99146101fb578063322e41b51461020e57806332ee68131461022e57600080fd5b806301ffc9a71461019d57806319129e5a146101c557806329b2632b146101da575b600080fd5b6101b06101ab3660046138b1565b61046d565b60405190151581526020015b60405180910390f35b6101d86101d3366004613925565b610552565b005b6101ed6101e8366004613942565b6106b8565b6040519081526020016101bc565b6101d86102093660046139c6565b6106fb565b61022161021c366004613a12565b610b28565b6040516101bc9190613a7b565b6101ed7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81565b6101ed600a81565b61027061026b366004613ae7565b610c78565b6040516101bc9190613b4c565b6102a47f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101bc565b6101d86102d7366004613bb1565b610cfe565b6102706102ea366004613c70565b610e7e565b6101ed6102fd366004613ca5565b611053565b610315610310366004613dd8565b611067565b60408051825173ffffffffffffffffffffffffffffffffffffffff908116825260208085015190830152838301511691810191909152606091820151918101919091526080016101bc565b6101b061036e366004613e28565b611215565b6101d8610381366004613e6a565b61124d565b610270610394366004613eab565b611458565b6102a47f000000000000000000000000000000000000000000000000000000000000000081565b6101ed6103ce366004613ca5565b6115b2565b6102a47f000000000000000000000000000000000000000000000000000000000000000081565b6102a4610408366004613c70565b6115be565b6101b061041b366004613942565b6116b6565b6101ed61042e366004613e28565b6116fd565b6102a47f000000000000000000000000000000000000000000000000000000000000000081565b6101d8610468366004613ed2565b61171a565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f2fa7bc9900000000000000000000000000000000000000000000000000000000148061050057507fffffffff0000000000000000000000000000000000000000000000000000000082167ff924008e00000000000000000000000000000000000000000000000000000000145b8061054c57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b600061055e81336118f8565b6105a2576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b6105e273ffffffffffffffffffffffffffffffffffffffff83167f7965db0b0000000000000000000000000000000000000000000000000000000061199b565b610648576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c0000000000000000000000000000000000006044820152606401610599565b600580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a25050565b6000600a6000836040516020016106cf9190613f9c565b604051602081830303815290604052805190602001208152602001908152602001600020549050919050565b60008061070a83850185614096565b915091508115610a17576000858152600460205260408120600701805491610731836140b4565b9091555050600085815260046020908152604091829020825161010081018452815473ffffffffffffffffffffffffffffffffffffffff908116825260018301541692810192909252600281018054610a11948401919061079190614113565b80601f01602080910402602001604051908101604052809291908181526020018280546107bd90614113565b801561080a5780601f106107df5761010080835404028352916020019161080a565b820191906000526020600020905b8154815290600101906020018083116107ed57829003601f168201915b5050505050815260200160038201805480602002602001604051908101604052809291908181526020016000905b828210156108e457838290600052602060002001805461085790614113565b80601f016020809104026020016040519081016040528092919081815260200182805461088390614113565b80156108d05780601f106108a5576101008083540402835291602001916108d0565b820191906000526020600020905b8154815290600101906020018083116108b357829003601f168201915b505050505081526020019060010190610838565b50505050815260200160048201805480602002602001604051908101604052809291908181526020016000905b828210156109bd57838290600052602060002001805461093090614113565b80601f016020809104026020016040519081016040528092919081815260200182805461095c90614113565b80156109a95780601f1061097e576101008083540402835291602001916109a9565b820191906000526020600020905b81548152906001019060200180831161098c57829003601f168201915b505050505081526020019060010190610911565b5050509082525060058201546020820152600682015460409091019060ff1660018111156109ed576109ed614166565b60018111156109fe576109fe614166565b81526020016007820154815250506119b7565b50610a7c565b6000858152600460205260409081902060010154905173ffffffffffffffffffffffffffffffffffffffff909116907f7f7ce7cf4c1b43e1bf51034d0ad7062abb9d4529c7bb0510d512249b0fb7145290610a73908490613b4c565b60405180910390a25b600085815260046020526040812080547fffffffffffffffffffffffff00000000000000000000000000000000000000009081168255600182018054909116905590610acb60028301826137b0565b610ad96003830160006137ed565b610ae76004830160006137ed565b506000600582018190556006820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690556007909101555050505050565b610b866040518060a0016040528060608152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081525090565b60008281526009602052604090819020815160a08101909252805482908290610bae90614113565b80601f0160208091040260200160405190810160405280929190818152602001828054610bda90614113565b8015610c275780601f10610bfc57610100808354040283529160200191610c27565b820191906000526020600020905b815481529060010190602001808311610c0a57829003601f168201915b5050509183525050600182015473ffffffffffffffffffffffffffffffffffffffff908116602083015260028301541660408201526003820154606082015260049091015460809091015292915050565b60603373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610ce9576040517f72823b5400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610cf585858585611ac1565b95945050505050565b8673ffffffffffffffffffffffffffffffffffffffff8116610d4c576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dbb91906141a0565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e1f576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610e618989898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611bc392505050565b9050610e728a8a838989898961171a565b50505050505050505050565b60606000610e8c8585611bf6565b805480602002602001604051908101604052809291908181526020016000905b82821015610f58578382906000526020600020018054610ecb90614113565b80601f0160208091040260200160405190810160405280929190818152602001828054610ef790614113565b8015610f445780601f10610f1957610100808354040283529160200191610f44565b820191906000526020600020905b815481529060010190602001808311610f2757829003601f168201915b505050505081526020019060010190610eac565b50505050905080518310610f9b576040517f9c7692bf00000000000000000000000000000000000000000000000000000000815260048101849052602401610599565b610fa58585611bf6565b8381548110610fb657610fb66141bd565b906000526020600020018054610fcb90614113565b80601f0160208091040260200160405190810160405280929190818152602001828054610ff790614113565b80156110445780601f1061101957610100808354040283529160200191611044565b820191906000526020600020905b81548152906001019060200180831161102757829003601f168201915b50505050509150509392505050565b600061105f8383611c38565b549392505050565b60408051608081018252600080825260208201819052918101829052606081019190915273ffffffffffffffffffffffffffffffffffffffff8316611115576006826040516110b691906141ec565b908152604080519182900360209081018320608084018352805473ffffffffffffffffffffffffffffffffffffffff908116855260018201549285019290925260028101549091169183019190915260030154606082015290506111a0565b60076000848460405160200161112c929190614208565b60408051601f1981840301815291815281516020928301208352828201939093529082016000208251608081018452815473ffffffffffffffffffffffffffffffffffffffff9081168252600183015493820193909352600282015490921692820192909252600390910154606082015290505b805173ffffffffffffffffffffffffffffffffffffffff1615806111dc5750604081015173ffffffffffffffffffffffffffffffffffffffff16155b1561054c57816040517fd8952ceb0000000000000000000000000000000000000000000000000000000081526004016105999190613b4c565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6112438585856116fd565b1415949350505050565b8173ffffffffffffffffffffffffffffffffffffffff811661129b576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061130a91906141a0565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461136e576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084600181111561138257611382614166565b14801561139c575060008281526020819052604090205415155b156113d45760008281526020819052604081206113b89161380b565b60008281526002602052604081206113cf916137ed565b611416565b600082815260016020526040902054156114165760008281526001602052604081206113ff9161380b565b6000828152600360205260408120611416916137ed565b8184600181111561142957611429614166565b6040517f1fe48a4ec69671720d8bdd8f8a6853d16f486c0bb91fcaf5b8ffc4932b8bc9f490600090a350505050565b60603373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146114c9576040517f72823b5400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6114d589898989611c7a565b60006114e38a8a8a8a612040565b905060006040518061010001604052808c73ffffffffffffffffffffffffffffffffffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505090825250602001611571888a61425b565b8152602001611580868861425b565b81526020810184905260400160008152602001600081525090506115a3816119b7565b9b9a5050505050505050505050565b600061105f8383611bf6565b6000806115cb8585611c38565b80548060200260200160405190810160405280929190818152602001828054801561162c57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311611601575b5050505050905080518310611670576040517f9c7692bf00000000000000000000000000000000000000000000000000000000815260048101849052602401610599565b61167a8585611c38565b838154811061168b5761168b6141bd565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1695945050505050565b6000600a6000836040516020016116cd9190613f9c565b60405160208183030381529060405280519060200120815260200190815260200160002054600014159050919050565b600061171261170c8585611c38565b83612069565b949350505050565b8573ffffffffffffffffffffffffffffffffffffffff8116611768576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156117b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117d791906141a0565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461183b576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61184688888861124d565b6118a26118538988611c38565b61185d8a89611bf6565b87878080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061189d925088915089905061425b565b612103565b858860018111156118b5576118b5614166565b7f5e140eb5bed8bcb1664a04c0be4aa419e0d2dbf1277a4a6770882a0beb3b91b287876040516118e69291906142cf565b60405180910390a35050505050505050565b6005546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810184905273ffffffffffffffffffffffffffffffffffffffff838116602483015260009216906391d1485490604401602060405180830381865afa158015611970573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611994919061432a565b9392505050565b60006119a68361253d565b8015611994575061199483836125a1565b606060008260c0015160018111156119d1576119d1614166565b1480156119e457506119e282612670565b155b15611a4457816020015173ffffffffffffffffffffffffffffffffffffffff167fa1e5a8c0fde3fa4d7320c3f9de0ab0a2c1ee6e891e6a513ca0811ddcf768b59460405160405180910390a2505060408051602081019091526000815290565b611a5b826000015183602001518460400151612a47565b600160c0840152600060e08401529050611a7482612670565b50816020015173ffffffffffffffffffffffffffffffffffffffff167f4ec4635a4d1f6ebe9ee3a059f74fc5d802e04d2d115c4090337a34e3b137c98a60405160405180910390a2919050565b6060611acd8585612c20565b600080611adc84860186614347565b915091507f99bf0fbd60208ca164accd299e2c0a8b4475c1a2df53c2d7160870f6825365288203611b2857611b2381806020019051810190611b1e919061449d565b612db0565b611ba9565b7fe5801b46183bd353d44247232707bb62253655a0580ade69a754ba7157ddf8fd8203611b7757600081806020019051810190611b659190614575565b9050611b718882613055565b50611ba9565b6040517f7265e5c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505060408051602081019091526000815295945050505050565b60008282604051602001611bd8929190614208565b60405160208183030381529060405280519060200120905092915050565b600080836001811115611c0b57611c0b614166565b03611c245750600081815260026020526040902061054c565b50600081815260036020526040902061054c565b600080836001811115611c4d57611c4d614166565b03611c665750600081815260208190526040902061054c565b50600081815260016020526040902061054c565b6000611c88828401846145aa565b90506000611c9a868360000151611067565b602083015190915073ffffffffffffffffffffffffffffffffffffffff16611cee576040517f3489abf600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805173ffffffffffffffffffffffffffffffffffffffff90811614611d7a57806000015173ffffffffffffffffffffffffffffffffffffffff16826020015173ffffffffffffffffffffffffffffffffffffffff1614611d7a576040517f3489abf600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081015115611e695760408083015190517fc3cc244a00000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff89169163c3cc244a91611de09160040190815260200190565b602060405180830381865afa158015611dfd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e21919061465a565b6020830151909150600160ff83161b16611e67576040517ff3c6318200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b606082015173ffffffffffffffffffffffffffffffffffffffff16611eba576040517f642321ac00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604081015173ffffffffffffffffffffffffffffffffffffffff90811614611f4957806040015173ffffffffffffffffffffffffffffffffffffffff16826060015173ffffffffffffffffffffffffffffffffffffffff1614611f49576040517f642321ac00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6060810151156120385760808201516040517fc3cc244a00000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff89169163c3cc244a91611faf9160040190815260200190565b602060405180830381865afa158015611fcc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ff0919061465a565b6060830151909150600160ff83161b16612036576040517f5a790ab800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b505050505050565b60008061204f838501856145aa565b905061205f868260000151611bc3565b9695505050505050565b8154600090815b818110156120d9578373ffffffffffffffffffffffffffffffffffffffff168582815481106120a1576120a16141bd565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16036120d157915061054c9050565b600101612070565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff949350505050565b8151600a811115612140576040517f760fb4ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8082511461217a576040517f3021beb200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b8181101561203857600073ffffffffffffffffffffffffffffffffffffffff168482815181106121af576121af6141bd565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1603612204576040517f7d4de38200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000811180156122745750836001820381518110612224576122246141bd565b602002602001015173ffffffffffffffffffffffffffffffffffffffff16848281518110612254576122546141bd565b602002602001015173ffffffffffffffffffffffffffffffffffffffff16145b156122ab576040517fd696c40800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166382984f308583815181106122f9576122f96141bd565b60200260200101516040518263ffffffff1660e01b8152600401612339919073ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b602060405180830381865afa158015612356573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061237a919061432a565b6123e757838181518110612390576123906141bd565b60200260200101516040517f5a987388000000000000000000000000000000000000000000000000000000008152600401610599919073ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b8381815181106123f9576123f96141bd565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1663a913b88184838151811061242e5761242e6141bd565b60200260200101516040518263ffffffff1660e01b81526004016124529190613b4c565b60006040518083038186803b15801561246a57600080fd5b505afa15801561247e573d6000803e3d6000fd5b5050505085848281518110612495576124956141bd565b60209081029190910181015182546001810184556000938452919092200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9092169190911790558251859084908390811061250b5761250b6141bd565b6020908102919091018101518254600181018455600093845291909220019061253490826146c0565b5060010161217d565b6000612569827f01ffc9a7000000000000000000000000000000000000000000000000000000006125a1565b801561054c575061259a827fffffffff000000000000000000000000000000000000000000000000000000006125a1565b1592915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015612659575060208210155b80156126655750600081115b979650505050505050565b6000806126858360c001518460a00151611c38565b8054806020026020016040519081016040528092919081815260200182805480156126e657602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116126bb575b5050505050905060006127018460c001518560a00151611bf6565b805480602002602001604051908101604052809291908181526020016000905b828210156127cd57838290600052602060002001805461274090614113565b80601f016020809104026020016040519081016040528092919081815260200182805461276c90614113565b80156127b95780601f1061278e576101008083540402835291602001916127b9565b820191906000526020600020905b81548152906001019060200180831161279c57829003601f168201915b505050505081526020019060010190612721565b50508451929350600091508190508660c0015160018111156127f1576127f1614166565b14612800578560800151612806565b85606001515b90508181511461285e578560c00151600181111561282657612826614166565b6040517f3171c36f00000000000000000000000000000000000000000000000000000000815260ff9091166004820152602401610599565b60e08601515b82811015612a3a57808760e001818152505060006040518060400160405280868481518110612895576128956141bd565b602002602001015181526020018484815181106128b4576128b46141bd565b6020026020010151815250905060006129118784815181106128d8576128d86141bd565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673800000000000000000000000000000000000000016151590565b156129d657868381518110612928576129286141bd565b602002602001015173ffffffffffffffffffffffffffffffffffffffff166334e5d29f8360405160200161295c91906147bc565b6040516020818303038152906040526040518263ffffffff1660e01b81526004016129879190613b4c565b6000604051808303816000875af11580156129a6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526129ce91908101906147f5565b5090506129fd565b6129fa8784815181106129eb576129eb6141bd565b6020026020010151838b613191565b90505b6001816001811115612a1157612a11614166565b14612a255750600098975050505050505050565b50508080612a32906140b4565b915050612864565b5060019695505050505050565b6060600082806020019051810190612a5f919061483c565b90506000600860008154612a72906140b4565b91829055506040805160a0810182528451815260208086015173ffffffffffffffffffffffffffffffffffffffff90811682840152606080880151909116838501528684015190830152608080870151908301526000848152600990915291909120815192935090918291908190612aea90826146c0565b506020828101516001830180547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff9384161790915560408086015160028601805490931693169290921790556060840151600384015560809093015160049092019190915590518391600a91600091612b7d91869101613a7b565b60405160208183030381529060405280519060200120815260200190815260200160002081905550817fc1ab5d0231434d664068cd9e5f80a04152484f1844e564dd9fee5c687caa0d7c84600001518560200151866040015187606001518860800151604051612bf19594939291906148ec565b60405180910390a260408051602081018490520160405160208183030381529060405293505050509392505050565b73ffffffffffffffffffffffffffffffffffffffff8216612cdd57612c657f637821dcee84aabec9c8cf4f6f643013a24ad27fd41511ffd937aea80d8619a9826118f8565b612cd9576040517f75000dc00000000000000000000000000000000000000000000000000000000081527f637821dcee84aabec9c8cf4f6f643013a24ad27fd41511ffd937aea80d8619a9600482015273ffffffffffffffffffffffffffffffffffffffff82166024820152604401610599565b5050565b8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612d3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d6391906141a0565b73ffffffffffffffffffffffffffffffffffffffff1614612cd9576040517fdc13a9c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080612dce83604001516000015184602001518560600151613375565b91509150600080612df085604001516020015186602001518760800151613375565b91509150600060405180608001604052808673ffffffffffffffffffffffffffffffffffffffff1681526020018581526020018473ffffffffffffffffffffffffffffffffffffffff168152602001838152509050600073ffffffffffffffffffffffffffffffffffffffff16866020015173ffffffffffffffffffffffffffffffffffffffff1603612f16578060068760000151604051612e9291906141ec565b9081526040805160209281900383019020835181547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff92831617835593850151600183015591840151600282018054909416921691909117909155606090910151600390910155612fcb565b806007600088602001518960000151604051602001612f36929190614208565b60408051808303601f190181529181528151602092830120835282820193909352908201600020835181547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff9283161783559285015160018301559284015160028201805490931693169290921790556060909101516003909101555b856020015173ffffffffffffffffffffffffffffffffffffffff167f5afe4586ed79afd39271a5d07aaa8d60de58e6e9a48ebf10c8f1ce828b592e7587600001518360000151896040015160000151856020015186604001518c604001516020015188606001516040516130459796959493929190614975565b60405180910390a2505050505050565b73ffffffffffffffffffffffffffffffffffffffff82166130d75760068160405161308091906141ec565b90815260405190819003602001902080547fffffffffffffffffffffffff00000000000000000000000000000000000000009081168255600060018301819055600283018054909216909155600390910155613154565b6007600083836040516020016130ee929190614208565b60408051601f19818403018152918152815160209283012083529082019290925201600090812080547fffffffffffffffffffffffff00000000000000000000000000000000000000009081168255600182018390556002820180549091169055600301555b7fa1b9abc85838f61f05343c3b5b89fe250131975f2b25b6029a263e253dc0e7fd81836040516131859291906149e1565b60405180910390a15050565b60008060008573ffffffffffffffffffffffffffffffffffffffff16635260a98c866040516020016131c391906147bc565b604051602081830303815290604052306040518363ffffffff1660e01b81526004016131f09291906149e1565b6000604051808303816000875af115801561320f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526132379190810190614a19565b9193509091506000905082600181111561325357613253614166565b0361336c57600081815260046020908152604091829020865181547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff928316178355928801516001830180549094169116179091559085015185919060028201906132d690826146c0565b50606082015180516132f2916003840191602090910190613829565b506080820151805161330e916004840191602090910190613829565b5060a0820151600582015560c08201516006820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001838181111561335957613359614166565b021790555060e082015181600701559050505b50949350505050565b600080600185600581111561338c5761338c614166565b036133bc57507f000000000000000000000000000000000000000000000000000000000000000090506000613560565b60028560058111156133d0576133d0614166565b0361347a5773ffffffffffffffffffffffffffffffffffffffff8416613422576040517fe86db48e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61342c8484613568565b8251600003613467576040517f521299a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8361347184613766565b91509150613560565b600385600581111561348e5761348e614166565b036134be57507f000000000000000000000000000000000000000000000000000000000000000090506000613560565b60048560058111156134d2576134d2614166565b036134f6575073ffffffffffffffffffffffffffffffffffffffff90506000613560565b600585600581111561350a5761350a614166565b0361352e575073ffffffffffffffffffffffffffffffffffffffff90506000613560565b6040517f92c6e29000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b935093915050565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a9161360d91600401613b4c565b602060405180830381865afa15801561362a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061364e91906141a0565b825190915060005b8181101561375f578273ffffffffffffffffffffffffffffffffffffffff16638a8cb0b48686848151811061368d5761368d6141bd565b60200260200101516040518363ffffffff1660e01b81526004016136d692919073ffffffffffffffffffffffffffffffffffffffff92909216825260ff16602082015260400190565b602060405180830381865afa1580156136f3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613717919061432a565b61374d576040517fa4ba834600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80613757816140b4565b915050613656565b5050505050565b600080805b83518110156137a957838181518110613786576137866141bd565b602002602001015160ff1660ff166001901b82179150808060010191505061376b565b5092915050565b5080546137bc90614113565b6000825580601f106137cc575050565b601f0160209004906000526020600020908101906137ea919061387f565b50565b50805460008255906000526020600020908101906137ea9190613894565b50805460008255906000526020600020908101906137ea919061387f565b82805482825590600052602060002090810192821561386f579160200282015b8281111561386f578251829061385f90826146c0565b5091602001919060010190613849565b5061387b929150613894565b5090565b5b8082111561387b5760008155600101613880565b8082111561387b5760006138a882826137b0565b50600101613894565b6000602082840312156138c357600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461199457600080fd5b73ffffffffffffffffffffffffffffffffffffffff811681146137ea57600080fd5b8035613920816138f3565b919050565b60006020828403121561393757600080fd5b8135611994816138f3565b60006020828403121561395457600080fd5b813567ffffffffffffffff81111561396b57600080fd5b820160a0818503121561199457600080fd5b60008083601f84011261398f57600080fd5b50813567ffffffffffffffff8111156139a757600080fd5b6020830191508360208285010111156139bf57600080fd5b9250929050565b6000806000604084860312156139db57600080fd5b83359250602084013567ffffffffffffffff8111156139f957600080fd5b613a058682870161397d565b9497909650939450505050565b600060208284031215613a2457600080fd5b5035919050565b60005b83811015613a46578181015183820152602001613a2e565b50506000910152565b60008151808452613a67816020860160208601613a2b565b601f01601f19169290920160200192915050565b602081526000825160a06020840152613a9760c0840182613a4f565b9050602084015173ffffffffffffffffffffffffffffffffffffffff8082166040860152806040870151166060860152505060608401516080840152608084015160a08401528091505092915050565b60008060008060608587031215613afd57600080fd5b8435613b08816138f3565b93506020850135613b18816138f3565b9250604085013567ffffffffffffffff811115613b3457600080fd5b613b408782880161397d565b95989497509550505050565b6020815260006119946020830184613a4f565b600281106137ea57600080fd5b60008083601f840112613b7e57600080fd5b50813567ffffffffffffffff811115613b9657600080fd5b6020830191508360208260051b85010111156139bf57600080fd5b60008060008060008060008060a0898b031215613bcd57600080fd5b8835613bd881613b5f565b97506020890135613be8816138f3565b9650604089013567ffffffffffffffff80821115613c0557600080fd5b613c118c838d0161397d565b909850965060608b0135915080821115613c2a57600080fd5b613c368c838d01613b6c565b909650945060808b0135915080821115613c4f57600080fd5b50613c5c8b828c01613b6c565b999c989b5096995094979396929594505050565b600080600060608486031215613c8557600080fd5b8335613c9081613b5f565b95602085013595506040909401359392505050565b60008060408385031215613cb857600080fd5b8235613cc381613b5f565b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160a0810167ffffffffffffffff81118282101715613d2357613d23613cd1565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715613d5257613d52613cd1565b604052919050565b600067ffffffffffffffff821115613d7457613d74613cd1565b50601f01601f191660200190565b600082601f830112613d9357600080fd5b8135613da6613da182613d5a565b613d29565b818152846020838601011115613dbb57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060408385031215613deb57600080fd5b8235613df6816138f3565b9150602083013567ffffffffffffffff811115613e1257600080fd5b613e1e85828601613d82565b9150509250929050565b600080600060608486031215613e3d57600080fd5b8335613e4881613b5f565b9250602084013591506040840135613e5f816138f3565b809150509250925092565b600080600060608486031215613e7f57600080fd5b8335613e8a81613b5f565b92506020840135613e9a816138f3565b929592945050506040919091013590565b60008060008060008060008060a0898b031215613ec757600080fd5b8835613bd8816138f3565b600080600080600080600060a0888a031215613eed57600080fd5b8735613ef881613b5f565b96506020880135613f08816138f3565b955060408801359450606088013567ffffffffffffffff80821115613f2c57600080fd5b613f388b838c01613b6c565b909650945060808a0135915080821115613f5157600080fd5b50613f5e8a828b01613b6c565b989b979a50959850939692959293505050565b818352818160208501375060006020828401015260006020601f19601f840116840101905092915050565b60208152600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112613fd457600080fd5b830160208101903567ffffffffffffffff811115613ff157600080fd5b80360382131561400057600080fd5b60a0602085015261401560c085018284613f71565b91505061402460208501613915565b73ffffffffffffffffffffffffffffffffffffffff811660408501525061404d60408501613915565b73ffffffffffffffffffffffffffffffffffffffff811660608501525060608401356080840152608084013560a08401528091505092915050565b80151581146137ea57600080fd5b600080604083850312156140a957600080fd5b8235613df681614088565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361410c577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b600181811c9082168061412757607f821691505b602082108103614160577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b8051613920816138f3565b6000602082840312156141b257600080fd5b8151611994816138f3565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082516141fe818460208701613a2b565b9190910192915050565b73ffffffffffffffffffffffffffffffffffffffff831681526040602082015260006117126040830184613a4f565b600067ffffffffffffffff82111561425157614251613cd1565b5060051b60200190565b6000614269613da184614237565b80848252602080830192508560051b85013681111561428757600080fd5b855b818110156142c357803567ffffffffffffffff8111156142a95760008081fd5b6142b536828a01613d82565b865250938201938201614289565b50919695505050505050565b60208082528181018390526000908460408401835b8681101561431f5782356142f7816138f3565b73ffffffffffffffffffffffffffffffffffffffff16825291830191908301906001016142e4565b509695505050505050565b60006020828403121561433c57600080fd5b815161199481614088565b6000806040838503121561435a57600080fd5b82359150602083013567ffffffffffffffff811115613e1257600080fd5b600082601f83011261438957600080fd5b8151614397613da182613d5a565b8181528460208386010111156143ac57600080fd5b611712826020830160208701613a2b565b80516006811061392057600080fd5b6000604082840312156143de57600080fd5b6040516040810181811067ffffffffffffffff8211171561440157614401613cd1565b604052905080614410836143bd565b815261441e602084016143bd565b60208201525092915050565b805160ff8116811461392057600080fd5b600082601f83011261444c57600080fd5b8151602061445c613da183614237565b82815260059290921b8401810191818101908684111561447b57600080fd5b8286015b8481101561431f576144908161442a565b835291830191830161447f565b6000602082840312156144af57600080fd5b815167ffffffffffffffff808211156144c757600080fd5b9083019060c082860312156144db57600080fd5b6144e3613d00565b8251828111156144f257600080fd5b6144fe87828601614378565b82525061450d60208401614195565b602082015261451f86604085016143cc565b604082015260808301518281111561453657600080fd5b6145428782860161443b565b60608301525060a08301518281111561455a57600080fd5b6145668782860161443b565b60808301525095945050505050565b60006020828403121561458757600080fd5b815167ffffffffffffffff81111561459e57600080fd5b61171284828501614378565b6000602082840312156145bc57600080fd5b813567ffffffffffffffff808211156145d457600080fd5b9083019060a082860312156145e857600080fd5b6145f0613d00565b8235828111156145ff57600080fd5b61460b87828601613d82565b8252506020830135915061461e826138f3565b816020820152604083013560408201526060830135915061463e826138f3565b8160608201526080830135608082015280935050505092915050565b60006020828403121561466c57600080fd5b6119948261442a565b601f8211156146bb57600081815260208120601f850160051c8101602086101561469c5750805b601f850160051c820191505b81811015612038578281556001016146a8565b505050565b815167ffffffffffffffff8111156146da576146da613cd1565b6146ee816146e88454614113565b84614675565b602080601f831160018114614741576000841561470b5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555612038565b600085815260208120601f198616915b8281101561477057888601518255948401946001909101908401614751565b50858210156147ac57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b6020815260008251604060208401526147d86060840182613a4f565b90506020840151601f19848303016040850152610cf58282613a4f565b6000806040838503121561480857600080fd5b825161481381613b5f565b602084015190925067ffffffffffffffff81111561483057600080fd5b613e1e85828601614378565b60006020828403121561484e57600080fd5b815167ffffffffffffffff8082111561486657600080fd5b9083019060a0828603121561487a57600080fd5b614882613d00565b82518281111561489157600080fd5b61489d87828601614378565b825250602083015191506148b0826138f3565b81602082015260408301516040820152606083015191506148d0826138f3565b8160608201526080830151608082015280935050505092915050565b60a0815260006148ff60a0830188613a4f565b73ffffffffffffffffffffffffffffffffffffffff968716602084015260408301959095525091909316606082015260800191909152919050565b60068110614971577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b60e08152600061498860e083018a613a4f565b905073ffffffffffffffffffffffffffffffffffffffff80891660208401526149b4604084018961493a565b60608301879052851660808301526149cf60a083018561493a565b8260c083015298975050505050505050565b6040815260006149f46040830185613a4f565b905073ffffffffffffffffffffffffffffffffffffffff831660208301529392505050565b600080600060608486031215614a2e57600080fd5b8351614a3981613b5f565b602085015190935067ffffffffffffffff811115614a5657600080fd5b614a6286828701614378565b92505060408401519050925092509256fea2646970667358221220258178ab529cffb4ff863013666f66a9b26a909e8f1e6c95e23e6fe2c2394bd364736f6c634300081300330000000000000000000000005b81030c087d41558e3fcf23b3575e85c9a768e600000000000000000000000051870a0659a87c7b46baef7311b3128006e1fb16000000000000000000000000826a953332df2e1a994c7cfae68e129ba683aa8f000000000000000000000000c4f7e87f9ff2a2df9bc7ff8399558b594ebf911a000000000000000000000000518ccd79e0e7b75fd5fcc09463fb09cb7d55470d", + "nonce": "0x801", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xb86c38745a8d892c1604649381942ca13b63cfe211e0b01efce0887852361d11", + "transactionType": "CREATE", + "contractName": "LicensingModule", + "contractAddress": "0x058bB0D7795CfA2a46C60C0b63F8f0fa7cD1EEd5", + "function": null, + "arguments": [ + "(0x5B81030C087d41558E3FCF23B3575E85c9A768e6, 0x51870A0659A87c7B46baEF7311B3128006E1FB16, 0x826a953332Df2e1a994C7CFae68E129ba683Aa8F, 0xC4F7E87F9FF2A2DF9bC7FF8399558B594EBF911A)", + "0x3113e5bfe2251A9fcA1225083cf6d36547E63e07", + "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x5650df", + "value": "0x0", + "data": "0x6101406040523480156200001257600080fd5b50604051620050eb380380620050eb833981016040819052620000359162000167565b602083015183906001600160a01b038116620000645760405163134141bd60e11b815260040160405180910390fd5b6001600160a01b039081166080528151166200009357604051636028d8f760e01b815260040160405180910390fd5b80516001600160a01b0390811660a052604082015116620000c757604051635a70c46160e11b815260040160405180910390fd5b60408101516001600160a01b0390811660c052606090910151811660e0528216620001055760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03808316610100528116620001345760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03166101205250620002319050565b80516001600160a01b03811681146200016257600080fd5b919050565b600080600083850360c08112156200017e57600080fd5b60808112156200018d57600080fd5b50604051608081016001600160401b0381118282101715620001bf57634e487b7160e01b600052604160045260246000fd5b604052620001cd856200014a565b8152620001dd602086016200014a565b6020820152620001f0604086016200014a565b604082015262000203606086016200014a565b6060820152925062000218608085016200014a565b91506200022860a085016200014a565b90509250925092565b60805160a05160c05160e0516101005161012051614dfa620002f1600039600081816102de015261348f0152600081816103180152818161231d015281816124e3015281816126430152613394015260006102260152600081816103ff01528181611f7a0152818161206b01528181612a1401528181612b0d01528181612c330152818161323c01526135250152600081816103b201526132ce0152600081816103780152818161096001528181610f3c01526118270152614dfa6000f3fe608060405234801561001057600080fd5b50600436106101825760003560e01c806376a4b13b116100d8578063bc12fcca1161008c578063e8fb5c9b11610066578063e8fb5c9b146103e7578063f0ebdc83146103fa578063fba854e01461042157600080fd5b8063bc12fcca1461039a578063d2faf8b0146103ad578063e5720404146103d457600080fd5b8063a5b04d45116100bd578063a5b04d451461034d578063b6efd29d14610360578063b95ddb521461037357600080fd5b806376a4b13b1461031357806377379d941461033a57600080fd5b806351e06b901161013a57806368a4f0711161011457806368a4f071146102c6578063743fee4a146102d95780637448c5681461030057600080fd5b806351e06b9014610221578063562573a91461026d578063582d35d7146102b357600080fd5b806332ee68131161016b57806332ee6813146101c45780634fa4467c146101f95780634fcbd2131461020157600080fd5b806301ffc9a7146101875780632fa7bc99146101af575b600080fd5b61019a610195366004613b09565b610434565b60405190151581526020015b60405180910390f35b6101c26101bd366004613b94565b610519565b005b6101eb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81565b6040519081526020016101a6565b6101eb600a81565b61021461020f366004613c02565b610946565b6040516101a69190613cb7565b6102487f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101a6565b6102a661027b366004613cca565b73ffffffffffffffffffffffffffffffffffffffff1660009081526006602052604090205460ff1690565b6040516101a69190613d2a565b6102146102c1366004613d38565b6109ce565b6102146102d4366004613d81565b610af1565b6102487f000000000000000000000000000000000000000000000000000000000000000081565b6101eb61030e366004613db6565b610ccb565b6102487f000000000000000000000000000000000000000000000000000000000000000081565b61019a610348366004613de2565b610cdf565b6101c261035b366004613e24565b610d17565b61021461036e366004613eaa565b610f22565b6102487f000000000000000000000000000000000000000000000000000000000000000081565b6101eb6103a8366004613db6565b611085565b6102487f000000000000000000000000000000000000000000000000000000000000000081565b6102486103e2366004613d81565b611091565b6101eb6103f5366004613de2565b611189565b6102487f000000000000000000000000000000000000000000000000000000000000000081565b6101c261042f366004613f69565b61119e565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f2fa7bc990000000000000000000000000000000000000000000000000000000014806104c757507fffffffff0000000000000000000000000000000000000000000000000000000082167ff924008e00000000000000000000000000000000000000000000000000000000145b8061051357507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60008061052883850185614128565b91509150811561083557600085815260046020526040812060070180549161054f8361418c565b9091555050600085815260046020908152604091829020825161010081018452815473ffffffffffffffffffffffffffffffffffffffff90811682526001830154169281019290925260028101805461082f94840191906105af906141eb565b80601f01602080910402602001604051908101604052809291908181526020018280546105db906141eb565b80156106285780601f106105fd57610100808354040283529160200191610628565b820191906000526020600020905b81548152906001019060200180831161060b57829003601f168201915b5050505050815260200160038201805480602002602001604051908101604052809291908181526020016000905b82821015610702578382906000526020600020018054610675906141eb565b80601f01602080910402602001604051908101604052809291908181526020018280546106a1906141eb565b80156106ee5780601f106106c3576101008083540402835291602001916106ee565b820191906000526020600020905b8154815290600101906020018083116106d157829003601f168201915b505050505081526020019060010190610656565b50505050815260200160048201805480602002602001604051908101604052809291908181526020016000905b828210156107db57838290600052602060002001805461074e906141eb565b80601f016020809104026020016040519081016040528092919081815260200182805461077a906141eb565b80156107c75780601f1061079c576101008083540402835291602001916107c7565b820191906000526020600020905b8154815290600101906020018083116107aa57829003601f168201915b50505050508152602001906001019061072f565b5050509082525060058201546020820152600682015460409091019060ff16600181111561080b5761080b613ce7565b600181111561081c5761081c613ce7565b815260200160078201548152505061137c565b5061089a565b6000858152600460205260409081902060010154905173ffffffffffffffffffffffffffffffffffffffff909116907f7f7ce7cf4c1b43e1bf51034d0ad7062abb9d4529c7bb0510d512249b0fb7145290610891908490613cb7565b60405180910390a25b600085815260046020526040812080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811682556001820180549091169055906108e96002830182613a08565b6108f7600383016000613a45565b610905600483016000613a45565b506000600582018190556006820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690556007909101555050505050565b60603373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146109b7576040517f72823b5400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6109c385858585611486565b90505b949350505050565b6060600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610a5085858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061150892505050565b81526020019081526020016000208054610a69906141eb565b80601f0160208091040260200160405190810160405280929190818152602001828054610a95906141eb565b8015610ae25780601f10610ab757610100808354040283529160200191610ae2565b820191906000526020600020905b815481529060010190602001808311610ac557829003601f168201915b505050505090505b9392505050565b60606000610aff858561155f565b805480602002602001604051908101604052809291908181526020016000905b82821015610bcb578382906000526020600020018054610b3e906141eb565b80601f0160208091040260200160405190810160405280929190818152602001828054610b6a906141eb565b8015610bb75780601f10610b8c57610100808354040283529160200191610bb7565b820191906000526020600020905b815481529060010190602001808311610b9a57829003601f168201915b505050505081526020019060010190610b1f565b50505050905080518310610c13576040517f9c7692bf000000000000000000000000000000000000000000000000000000008152600481018490526024015b60405180910390fd5b610c1d858561155f565b8381548110610c2e57610c2e61423e565b906000526020600020018054610c43906141eb565b80601f0160208091040260200160405190810160405280929190818152602001828054610c6f906141eb565b8015610cbc5780601f10610c9157610100808354040283529160200191610cbc565b820191906000526020600020905b815481529060010190602001808311610c9f57829003601f168201915b50505050509150509392505050565b6000610cd783836115a1565b549392505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610d0d858585611189565b1415949350505050565b8173ffffffffffffffffffffffffffffffffffffffff8116610d65576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610db0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dd4919061426d565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e38576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000846001811115610e4c57610e4c613ce7565b148015610e66575060008281526020819052604090205415155b15610e9e576000828152602081905260408120610e8291613a63565b6000828152600260205260408120610e9991613a45565b610ee0565b60008281526001602052604090205415610ee0576000828152600160205260408120610ec991613a63565b6000828152600360205260408120610ee091613a45565b81846001811115610ef357610ef3613ce7565b6040517f1fe48a4ec69671720d8bdd8f8a6853d16f486c0bb91fcaf5b8ffc4932b8bc9f490600090a350505050565b60603373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610f93576040517f72823b5400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60007fff5c818c3a09617e24e0ba5e97a8b336e42589e94d6f586a74a28d768ee2c8cb905060006040518061010001604052808c73ffffffffffffffffffffffffffffffffffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505090825250602001611044888a6142ce565b815260200161105386886142ce565b81526020810184905260400160008152602001600081525090506110768161137c565b9b9a5050505050505050505050565b6000610cd7838361155f565b60008061109e85856115a1565b8054806020026020016040519081016040528092919081815260200182805480156110ff57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116110d4575b5050505050905080518310611143576040517f9c7692bf00000000000000000000000000000000000000000000000000000000815260048101849052602401610c0a565b61114d85856115a1565b838154811061115e5761115e61423e565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1695945050505050565b60006109c661119885856115a1565b836115e3565b8573ffffffffffffffffffffffffffffffffffffffff81166111ec576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611237573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061125b919061426d565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146112bf576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6112ca888888610d17565b6113266112d789886115a1565b6112e18a8961155f565b87878080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061132192508891508990506142ce565b61167d565b8588600181111561133957611339613ce7565b7f5e140eb5bed8bcb1664a04c0be4aa419e0d2dbf1277a4a6770882a0beb3b91b2878760405161136a929190614342565b60405180910390a35050505050505050565b606060008260c00151600181111561139657611396613ce7565b1480156113a957506113a782611abf565b155b1561140957816020015173ffffffffffffffffffffffffffffffffffffffff167fa1e5a8c0fde3fa4d7320c3f9de0ab0a2c1ee6e891e6a513ca0811ddcf768b59460405160405180910390a2505060408051602081019091526000815290565b611420826000015183602001518460400151611e96565b600160c0840152600060e0840152905061143982611abf565b50816020015173ffffffffffffffffffffffffffffffffffffffff167f4ec4635a4d1f6ebe9ee3a059f74fc5d802e04d2d115c4090337a34e3b137c98a60405160405180910390a2919050565b60606000806114978486018661439d565b915091507f8b21f20183a523515c357db6dba25c92b138630b63988ca3e60a6be86c8da04582036114d6576114cd878783612129565b925050506109c6565b6040517f96bb42f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080829050601f8151111561154c57826040517f305a27a9000000000000000000000000000000000000000000000000000000008152600401610c0a9190613cb7565b8051611557826143da565b179392505050565b60008083600181111561157457611574613ce7565b0361158d57506000818152600260205260409020610513565b506000818152600360205260409020610513565b6000808360018111156115b6576115b6613ce7565b036115cf57506000818152602081905260409020610513565b506000818152600160205260409020610513565b8154600090815b81811015611653578373ffffffffffffffffffffffffffffffffffffffff1685828154811061161b5761161b61423e565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff160361164b5791506105139050565b6001016115ea565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff949350505050565b8151600a8111156116ba576040517f760fb4ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b808251146116f4576040517f3021beb200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b81811015611ab757600073ffffffffffffffffffffffffffffffffffffffff168482815181106117295761172961423e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff160361177e576040517f7d4de38200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000811180156117ee575083600182038151811061179e5761179e61423e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff168482815181106117ce576117ce61423e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff16145b15611825576040517fd696c40800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166382984f308583815181106118735761187361423e565b60200260200101516040518263ffffffff1660e01b81526004016118b3919073ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b602060405180830381865afa1580156118d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118f4919061441c565b6119615783818151811061190a5761190a61423e565b60200260200101516040517f5a987388000000000000000000000000000000000000000000000000000000008152600401610c0a919073ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b8381815181106119735761197361423e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1663a913b8818483815181106119a8576119a861423e565b60200260200101516040518263ffffffff1660e01b81526004016119cc9190613cb7565b60006040518083038186803b1580156119e457600080fd5b505afa1580156119f8573d6000803e3d6000fd5b5050505085848281518110611a0f57611a0f61423e565b60209081029190910181015182546001810184556000938452919092200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90921691909117905582518590849083908110611a8557611a8561423e565b60209081029190910181015182546001810184556000938452919092200190611aae9082614484565b506001016116f7565b505050505050565b600080611ad48360c001518460a001516115a1565b805480602002602001604051908101604052809291908181526020018280548015611b3557602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311611b0a575b505050505090506000611b508460c001518560a0015161155f565b805480602002602001604051908101604052809291908181526020016000905b82821015611c1c578382906000526020600020018054611b8f906141eb565b80601f0160208091040260200160405190810160405280929190818152602001828054611bbb906141eb565b8015611c085780601f10611bdd57610100808354040283529160200191611c08565b820191906000526020600020905b815481529060010190602001808311611beb57829003601f168201915b505050505081526020019060010190611b70565b50508451929350600091508190508660c001516001811115611c4057611c40613ce7565b14611c4f578560800151611c55565b85606001515b905081815114611cad578560c001516001811115611c7557611c75613ce7565b6040517f3171c36f00000000000000000000000000000000000000000000000000000000815260ff9091166004820152602401610c0a565b60e08601515b82811015611e8957808760e001818152505060006040518060400160405280868481518110611ce457611ce461423e565b60200260200101518152602001848481518110611d0357611d0361423e565b602002602001015181525090506000611d60878481518110611d2757611d2761423e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673800000000000000000000000000000000000000016151590565b15611e2557868381518110611d7757611d7761423e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff166334e5d29f83604051602001611dab9190614580565b6040516020818303038152906040526040518263ffffffff1660e01b8152600401611dd69190613cb7565b6000604051808303816000875af1158015611df5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611e1d9190810190614607565b509050611e4c565b611e49878481518110611e3a57611e3a61423e565b6020026020010151838b6127bd565b90505b6001816001811115611e6057611e60613ce7565b14611e745750600098975050505050505050565b50508080611e819061418c565b915050611cb3565b5060019695505050505050565b606060008083806020019051810190611eaf919061464e565b915091507f3f92a83f1dd77188c62fa393a54ccf9854be836ca6c243397d0acbbce04723878203611eee57611ee58686836129a1565b92505050610aea565b7f5281374dd3fc2bb7839f50fddfb6a14a666cb4d23b20d6aecf9b9950d103b3368203611ff257600081806020019051810190611f2b919061467f565b6040517f1f09e4e50000000000000000000000000000000000000000000000000000000081526004810182905273ffffffffffffffffffffffffffffffffffffffff88811660248301529192507f000000000000000000000000000000000000000000000000000000000000000090911690631f09e4e590604401600060405180830381600087803b158015611fc057600080fd5b505af1158015611fd4573d6000803e3d6000fd5b50505050604051806020016040528060008152509350505050610aea565b7f29def77ab981c01a6b53c58b23dd89ac4447095f721298424063ed3f16962ac682036120f757600080828060200190518101906120309190614698565b6040517f71e074dd000000000000000000000000000000000000000000000000000000008152600481018390526024810182905291935091507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906371e074dd90604401600060405180830381600087803b1580156120c457600080fd5b505af11580156120d8573d6000803e3d6000fd5b5050505060405180602001604052806000815250945050505050610aea565b6040517f8c3cdde800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60608273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561218d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121b1919061426d565b73ffffffffffffffffffffffffffffffffffffffff16146121fe576040517f679dd15600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600082806020019051810190612214919061477f565b905060008160400151600281111561222e5761222e613ce7565b03612265576040517fbe53f1bf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff821660009081526006602052604090205460ff1660028111156122a2576122a2613ce7565b146122d9576040517f58d7c9ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602082015182516040517f7859a97e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001691637859a97e916123519190600401613cb7565b602060405180830381865afa15801561236e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612392919061467f565b815111156123cc576040517f7c22012400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408084015173ffffffffffffffffffffffffffffffffffffffff8416600090815260066020529190912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600183600281111561242f5761242f613ce7565b0217905550825173ffffffffffffffffffffffffffffffffffffffff83166000908152600760205260409020906124669082614484565b5073ffffffffffffffffffffffffffffffffffffffff808316600081815260056020526040908190208451875192517feae376e300000000000000000000000000000000000000000000000000000000815291949093927fffedbcce1b94ebe928a55b7ca34c76074cbe7f467d561b9c0589d5d985b39be39290917f0000000000000000000000000000000000000000000000000000000000000000169063eae376e390612518908490600401613cb7565b600060405180830381865afa158015612535573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261255d919081019061482b565b886040015160405161257193929190614860565b60405180910390a260005b818110156127a05760008482815181106125985761259861423e565b6020026020010151905060008460008360000151815260200190815260200160002080546125c5906141eb565b905011156125ff576040517f1590386a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b865181516040517fc2e26bbb00000000000000000000000000000000000000000000000000000000815260009273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169263c2e26bbb92612678929190600401614895565b600060405180830381865afa158015612695573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526126bd9190810190614965565b90506126cd818360200151612e03565b612703576040517fac6293b300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60208083015183516000908152918790526040909120906127249082614484565b508673ffffffffffffffffffffffffffffffffffffffff167f9c3f6f42e7e2cb05b8a3b21a99f597eb17f3f57ab9156b34f81fb51f221a1d3a61276a84600001516130ac565b836020015185602001516040516127839392919061499a565b60405180910390a2505080806127989061418c565b91505061257c565b505060408051602081019091526000815298975050505050505050565b60008060008573ffffffffffffffffffffffffffffffffffffffff16635260a98c866040516020016127ef9190614580565b604051602081830303815290604052306040518363ffffffff1660e01b815260040161281c9291906149df565b6000604051808303816000875af115801561283b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526128639190810190614a17565b9193509091506000905082600181111561287f5761287f613ce7565b0361299857600081815260046020908152604091829020865181547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff928316178355928801516001830180549094169116179091559085015185919060028201906129029082614484565b506060820151805161291e916003840191602090910190613a81565b506080820151805161293a916004840191602090910190613a81565b5060a0820151600582015560c08201516006820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001838181111561298557612985613ce7565b021790555060e082015181600701559050505b50949350505050565b60606000828060200190518101906129b99190614a71565b905060006129d18686846020015185604001516130eb565b90508160200151600014612aca5760208201516040517fe705c2b800000000000000000000000000000000000000000000000000000000815260048101919091527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063e705c2b890602401602060405180830381865afa158015612a70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a94919061441c565b612aca576040517f37efd03900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602082015115801590612b8d575060208201516040517f3c06e1dc00000000000000000000000000000000000000000000000000000000815260048101919091527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690633c06e1dc90602401602060405180830381865afa158015612b69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b8d919061441c565b15612cca5781515115612bcc576040517f4af02eb800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602082015160408084015190517fd09d894e000000000000000000000000000000000000000000000000000000008152600481019290925273ffffffffffffffffffffffffffffffffffffffff8381166024840152878116604484015260648301919091527f0000000000000000000000000000000000000000000000000000000000000000169063d09d894e906084016020604051808303816000875af1158015612c7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ca0919061467f565b604051602001612cb291815260200190565b60405160208183030381529060405292505050610aea565b8473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614612d2f576040517f2d05516900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612ca086868385600760008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054612d80906141eb565b80601f0160208091040260200160405190810160405280929190818152602001828054612dac906141eb565b8015612df95780601f10612dce57610100808354040283529160200191612df9565b820191906000526020600020905b815481529060010190602001808311612ddc57829003601f168201915b505050505061338f565b60007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470828051906020012003612e3b57506001610513565b600083602001516005811115612e5357612e53613ce7565b03612e765781806020019051810190612e6c919061441c565b5060019050610513565b600183602001516005811115612e8e57612e8e613ce7565b03612ebb5781806020019051810190612ea7919061467f565b600003612eb657506000610513565b6130a3565b600283602001516005811115612ed357612ed3613ce7565b03612f2757600073ffffffffffffffffffffffffffffffffffffffff1682806020019051810190612f04919061426d565b73ffffffffffffffffffffffffffffffffffffffff1603612eb657506000610513565b600383602001516005811115612f3f57612f3f613ce7565b036130075781806020019051810190612f58919061482b565b50604051602001612f9a9060208082526001908201527f2000000000000000000000000000000000000000000000000000000000000000604082015260600190565b6040516020818303038152906040528051906020012082805190602001201480612ffa5750604051602001612fda90602080825260009082015260400190565b604051602081830303815290604052805190602001208280519060200120145b15612eb657506000610513565b60048360200151600581111561301f5761301f613ce7565b036130555760008280602001905181019061303a9190614af5565b9050805160000361304f576000915050610513565b506130a3565b60058360200151600581111561306d5761306d613ce7565b036130a3576000836060015180602001905181019061308c9190614af5565b905080516000036130a1576000915050610513565b505b50600192915050565b606060006130b9836135d3565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b73ffffffffffffffffffffffffffffffffffffffff841660009081526006602052604081205460ff168181600281111561312757613127613ce7565b0361315e576040517f8c17640800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600181600281111561317257613172613ce7565b036131ee578573ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156131c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131e6919061426d565b9150506109c6565b600281600281111561320257613202613ce7565b0361335d578315613299576040517f6352211e000000000000000000000000000000000000000000000000000000008152600481018590527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690636352211e906024015b602060405180830381865afa1580156131c2573d6000803e3d6000fd5b8215613312576040517f299d1cf6000000000000000000000000000000000000000000000000000000008152600481018490527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063299d1cf69060240161327c565b8573ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156131c2573d6000803e3d6000fd5b6040517fbe53f1bf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e75afa55846040518263ffffffff1660e01b81526004016133eb9190613cb7565b600060405180830381865afa158015613408573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526134309190810190614b86565b90506000806000806134478b896000015187613614565b935093509350935060006040518061014001604052806001600381111561347057613470613ce7565b81526020018515158152602001841515815260200183151581526020017f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018d73ffffffffffffffffffffffffffffffffffffffff16815260200161350a8a611508565b81526020018a6040015181526020018a6020015181525090507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663eb683a49828d886040518463ffffffff1660e01b815260040161358093929190614cb0565b6020604051808303816000875af115801561359f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135c3919061467f565b9c9b505050505050505050505050565b600060ff8216601f811115610513576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815173ffffffffffffffffffffffffffffffffffffffff841660009081526005602052604081208351606093839283928067ffffffffffffffff81111561365d5761365d614016565b6040519080825280602002602001820160405280156136a357816020015b60408051808201909152600081526060602082015281526020019060019003908161367b5790505b50965060005b818110156139375760008982815181106136c5576136c561423e565b6020026020010151905060008460008360000151815260200190815260200160002080546136f2906141eb565b80601f016020809104026020016040519081016040528092919081815260200182805461371e906141eb565b801561376b5780601f106137405761010080835404028352916020019161376b565b820191906000526020600020905b81548152906001019060200180831161374e57829003601f168201915b50505050509050606060005b878110156137d15760008e82815181106137935761379361423e565b602002602001015190506137ae816000015186600001511490565b156137be576020015191506137d1565b50806137c98161418c565b915050613777565b5060006137df828486613952565b9050604051806040016040528085600001518152602001828152508c868151811061380c5761380c61423e565b60200260200101819052507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081805190602001200361384e5750505050613925565b61389184600001516040518060400160405280601381526020017f44657269766174697665732d416c6c6f776564000000000000000000000000008152506139f5565b156138b157808060200190518101906138aa919061441c565b9a50613920565b6138f484600001516040518060400160405280601b81526020017f44657269766174697665732d416c6c6f7765642d4f7074696f6e7300000000008152506139f5565b156139205760008180602001905181019061390f919061467f565b6001811615159b5060021615159950505b505050505b8061392f8161418c565b9150506136a9565b50856139465760009450600093505b50505093509350935093565b8251606090156139dc57825115613995576040517f42445ce000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61399f8285612e03565b6139d5576040517f5bcde08d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5082610aea565b8251156139ea575081610aea565b506040810151610aea565b6000610aea83613a0484611508565b1490565b508054613a14906141eb565b6000825580601f10613a24575050565b601f016020900490600052602060002090810190613a429190613ad7565b50565b5080546000825590600052602060002090810190613a429190613aec565b5080546000825590600052602060002090810190613a429190613ad7565b828054828255906000526020600020908101928215613ac7579160200282015b82811115613ac75782518290613ab79082614484565b5091602001919060010190613aa1565b50613ad3929150613aec565b5090565b5b80821115613ad35760008155600101613ad8565b80821115613ad3576000613b008282613a08565b50600101613aec565b600060208284031215613b1b57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610aea57600080fd5b60008083601f840112613b5d57600080fd5b50813567ffffffffffffffff811115613b7557600080fd5b602083019150836020828501011115613b8d57600080fd5b9250929050565b600080600060408486031215613ba957600080fd5b83359250602084013567ffffffffffffffff811115613bc757600080fd5b613bd386828701613b4b565b9497909650939450505050565b73ffffffffffffffffffffffffffffffffffffffff81168114613a4257600080fd5b60008060008060608587031215613c1857600080fd5b8435613c2381613be0565b93506020850135613c3381613be0565b9250604085013567ffffffffffffffff811115613c4f57600080fd5b613c5b87828801613b4b565b95989497509550505050565b60005b83811015613c82578181015183820152602001613c6a565b50506000910152565b60008151808452613ca3816020860160208601613c67565b601f01601f19169290920160200192915050565b602081526000610aea6020830184613c8b565b600060208284031215613cdc57600080fd5b8135610aea81613be0565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60038110613d2657613d26613ce7565b9052565b602081016105138284613d16565b600080600060408486031215613d4d57600080fd5b8335613d5881613be0565b9250602084013567ffffffffffffffff811115613bc757600080fd5b60028110613a4257600080fd5b600080600060608486031215613d9657600080fd5b8335613da181613d74565b95602085013595506040909401359392505050565b60008060408385031215613dc957600080fd5b8235613dd481613d74565b946020939093013593505050565b600080600060608486031215613df757600080fd5b8335613e0281613d74565b9250602084013591506040840135613e1981613be0565b809150509250925092565b600080600060608486031215613e3957600080fd5b8335613e4481613d74565b92506020840135613e5481613be0565b929592945050506040919091013590565b60008083601f840112613e7757600080fd5b50813567ffffffffffffffff811115613e8f57600080fd5b6020830191508360208260051b8501011115613b8d57600080fd5b60008060008060008060008060a0898b031215613ec657600080fd5b8835613ed181613be0565b97506020890135613ee181613be0565b9650604089013567ffffffffffffffff80821115613efe57600080fd5b613f0a8c838d01613b4b565b909850965060608b0135915080821115613f2357600080fd5b613f2f8c838d01613e65565b909650945060808b0135915080821115613f4857600080fd5b50613f558b828c01613e65565b999c989b5096995094979396929594505050565b600080600080600080600060a0888a031215613f8457600080fd5b8735613f8f81613d74565b96506020880135613f9f81613be0565b955060408801359450606088013567ffffffffffffffff80821115613fc357600080fd5b613fcf8b838c01613e65565b909650945060808a0135915080821115613fe857600080fd5b50613ff58a828b01613e65565b989b979a50959850939692959293505050565b8015158114613a4257600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561406857614068614016565b60405290565b6040516060810167ffffffffffffffff8111828210171561406857614068614016565b604051601f8201601f1916810167ffffffffffffffff811182821017156140ba576140ba614016565b604052919050565b600067ffffffffffffffff8211156140dc576140dc614016565b50601f01601f191660200190565b60006140fd6140f8846140c2565b614091565b905082815283838301111561411157600080fd5b828260208301376000602084830101529392505050565b6000806040838503121561413b57600080fd5b823561414681614008565b9150602083013567ffffffffffffffff81111561416257600080fd5b8301601f8101851361417357600080fd5b614182858235602084016140ea565b9150509250929050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036141e4577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b600181811c908216806141ff57607f821691505b602082108103614238577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006020828403121561427f57600080fd5b8151610aea81613be0565b600067ffffffffffffffff8211156142a4576142a4614016565b5060051b60200190565b600082601f8301126142bf57600080fd5b610aea838335602085016140ea565b60006142dc6140f88461428a565b80848252602080830192508560051b8501368111156142fa57600080fd5b855b8181101561433657803567ffffffffffffffff81111561431c5760008081fd5b61432836828a016142ae565b8652509382019382016142fc565b50919695505050505050565b60208082528181018390526000908460408401835b8681101561439257823561436a81613be0565b73ffffffffffffffffffffffffffffffffffffffff1682529183019190830190600101614357565b509695505050505050565b600080604083850312156143b057600080fd5b82359150602083013567ffffffffffffffff8111156143ce57600080fd5b614182858286016142ae565b80516020808301519190811015614238577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60209190910360031b1b16919050565b60006020828403121561442e57600080fd5b8151610aea81614008565b601f82111561447f57600081815260208120601f850160051c810160208610156144605750805b601f850160051c820191505b81811015611ab75782815560010161446c565b505050565b815167ffffffffffffffff81111561449e5761449e614016565b6144b2816144ac84546141eb565b84614439565b602080601f83116001811461450557600084156144cf5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555611ab7565b600085815260208120601f198616915b8281101561453457888601518255948401946001909101908401614515565b508582101561457057878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b60208152600082516040602084015261459c6060840182613c8b565b90506020840151601f198483030160408501526145b98282613c8b565b95945050505050565b600082601f8301126145d357600080fd5b81516145e16140f8826140c2565b8181528460208386010111156145f657600080fd5b6109c6826020830160208701613c67565b6000806040838503121561461a57600080fd5b825161462581613d74565b602084015190925067ffffffffffffffff81111561464257600080fd5b614182858286016145c2565b6000806040838503121561466157600080fd5b82519150602083015167ffffffffffffffff81111561464257600080fd5b60006020828403121561469157600080fd5b5051919050565b600080604083850312156146ab57600080fd5b505080516020909101519092909150565b600082601f8301126146cd57600080fd5b815160206146dd6140f88361428a565b82815260059290921b840181019181810190868411156146fc57600080fd5b8286015b8481101561439257805167ffffffffffffffff808211156147215760008081fd5b8189019150604080601f19848d0301121561473c5760008081fd5b614744614045565b83880151815290830151908282111561475d5760008081fd5b61476b8c89848701016145c2565b818901528652505050918301918301614700565b60006020828403121561479157600080fd5b815167ffffffffffffffff808211156147a957600080fd5b90830190606082860312156147bd57600080fd5b6147c561406e565b8251828111156147d457600080fd5b6147e0878286016145c2565b8252506020830151828111156147f557600080fd5b614801878286016146bc565b602083015250604083015192506003831061481b57600080fd5b6040810192909252509392505050565b60006020828403121561483d57600080fd5b815167ffffffffffffffff81111561485457600080fd5b6109c6848285016145c2565b6060815260006148736060830186613c8b565b82810360208401526148858186613c8b565b9150506109c66040830184613d16565b6040815260006148a86040830185613c8b565b90508260208301529392505050565b6000608082840312156148c957600080fd5b6040516080810167ffffffffffffffff82821081831117156148ed576148ed614016565b8160405282935084518352602085015191506006821061490c57600080fd5b816020840152604085015191508082111561492657600080fd5b614932868387016145c2565b6040840152606085015191508082111561494b57600080fd5b50614958858286016145c2565b6060830152505092915050565b60006020828403121561497757600080fd5b815167ffffffffffffffff81111561498e57600080fd5b6109c6848285016148b7565b6060815260006149ad6060830186613c8b565b600685106149bd576149bd613ce7565b84602084015282810360408401526149d58185613c8b565b9695505050505050565b6040815260006149f26040830185613c8b565b905073ffffffffffffffffffffffffffffffffffffffff831660208301529392505050565b600080600060608486031215614a2c57600080fd5b8351614a3781613d74565b602085015190935067ffffffffffffffff811115614a5457600080fd5b614a60868287016145c2565b925050604084015190509250925092565b600060208284031215614a8357600080fd5b815167ffffffffffffffff80821115614a9b57600080fd5b9083019060608286031215614aaf57600080fd5b614ab761406e565b825182811115614ac657600080fd5b614ad2878286016146bc565b825250602083015160208201526040830151604082015280935050505092915050565b60006020808385031215614b0857600080fd5b825167ffffffffffffffff811115614b1f57600080fd5b8301601f81018513614b3057600080fd5b8051614b3e6140f88261428a565b81815260059190911b82018301908381019087831115614b5d57600080fd5b928401925b82841015614b7b57835182529284019290840190614b62565b979650505050505050565b60006020808385031215614b9957600080fd5b825167ffffffffffffffff80821115614bb157600080fd5b818501915085601f830112614bc557600080fd5b8151614bd36140f88261428a565b81815260059190911b83018401908481019088831115614bf257600080fd5b8585015b83811015614c2a57805185811115614c0e5760008081fd5b614c1c8b89838a01016148b7565b845250918601918601614bf6565b5098975050505050505050565b60048110613d2657613d26613ce7565b600081518084526020808501808196508360051b8101915082860160005b85811015614ca35782840389528151805185528501516040868601819052614c8f81870183613c8b565b9a87019a9550505090840190600101614c65565b5091979650505050505050565b6000610180614cc0838751614c37565b6020860151614cd3602085018215159052565b506040860151614ce7604085018215159052565b506060860151614cfb606085018215159052565b506080860151614d23608085018273ffffffffffffffffffffffffffffffffffffffff169052565b5060a0860151614d4b60a085018273ffffffffffffffffffffffffffffffffffffffff169052565b5060c0860151614d7360c085018273ffffffffffffffffffffffffffffffffffffffff169052565b5060e086810151908401526101008087015190840152610120808701519084015273ffffffffffffffffffffffffffffffffffffffff8516610140840152806101608401526149d581840185614c4756fea2646970667358221220d0c7dac5f95a838db3de11f5024ffd7d80a9e4596e8caaf4c9009d0ad0f26fcd64736f6c634300081300330000000000000000000000005b81030c087d41558e3fcf23b3575e85c9a768e600000000000000000000000051870a0659a87c7b46baef7311b3128006e1fb16000000000000000000000000826a953332df2e1a994c7cfae68e129ba683aa8f000000000000000000000000c4f7e87f9ff2a2df9bc7ff8399558b594ebf911a0000000000000000000000003113e5bfe2251a9fca1225083cf6d36547e63e07000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "nonce": "0x802", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x8f5a3400435f0fb05e7fbe4fe81304716808b3061c16cd5cceb4a6027bdafdd9", + "transactionType": "CREATE", + "contractName": "HooksFactory", + "contractAddress": "0x499527835364a150290231B84C6a5297E5dd0024", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x61e81", + "value": "0x0", + "data": "0x608060405234801561001057600080fd5b506104a7806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c806391e7e5b414610030575b600080fd5b61004361003e366004610315565b61006c565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6000808260405160200161008291815260200190565b6040516020818303038152906040528051906020012060001c905060005b6105dc8110156101385760006100b68284610426565b8751602089012090915060006100cc8383610142565b9050600073800000000000000000000000000000000000000089146100f25760016100f5565b60025b60ff1690506003609e83901c168103610121576101146000858c610158565b965050505050505061013b565b50505050808061013090610439565b9150506100a0565b50505b9392505050565b600061014f8383306102bc565b90505b92915050565b6000834710156101c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f437265617465323a20696e73756666696369656e742062616c616e636500000060448201526064015b60405180910390fd5b8151600003610234576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f437265617465323a2062797465636f6465206c656e677468206973207a65726f60448201526064016101c0565b8282516020840186f5905073ffffffffffffffffffffffffffffffffffffffff811661013b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f437265617465323a204661696c6564206f6e206465706c6f790000000000000060448201526064016101c0565b6000604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060006060848603121561032a57600080fd5b833567ffffffffffffffff8082111561034257600080fd5b818601915086601f83011261035657600080fd5b813581811115610368576103686102e6565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156103ae576103ae6102e6565b816040528281528960208487010111156103c757600080fd5b82602086016020830137600060208483010152809750505050505060208401359150604084013590509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820180821115610152576101526103f7565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361046a5761046a6103f7565b506001019056fea2646970667358221220b9424546b77d6959490d75f2d31169e7b2dd7e680376ab4166cc87ad4d0349cf64736f6c63430008130033", + "nonce": "0x803", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x8b356cbc685595174796414c99a5d40e3afd1efff57081804bf8b019fee871ca", + "transactionType": "CALL", + "contractName": "HooksFactory", + "contractAddress": "0x499527835364a150290231B84C6a5297E5dd0024", + "function": "deploy(bytes,uint256,uint256):(address)", + "arguments": [ + "0x60806040523480156200001157600080fd5b5060405162000f8838038062000f888339810160408190526200003491620001d1565b808080620000536001600160a01b038216637965db0b60e01b620000e5565b62000096576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b038316908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a250505050620001fc565b6000620000f2836200010d565b801562000106575062000106838362000146565b9392505050565b600062000122826301ffc9a760e01b62000146565b80156200014057506200013e826001600160e01b031962000146565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d91506000519050828015620001b9575060208210155b8015620001c65750600081115b979650505050505050565b600060208284031215620001e457600080fd5b81516001600160a01b03811681146200010657600080fd5b610d7c806200020c6000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806319129e5a1461005157806334e5d29f146100665780635260a98c14610090578063a913b881146100b2575b600080fd5b61006461005f3660046108c2565b6100c5565b005b610079610074366004610928565b610229565b604051610087929190610a09565b60405180910390f35b6100a361009e366004610a31565b610328565b60405161008793929190610a88565b6100646100c0366004610928565b6103ca565b60006100d1813361040d565b610115576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b61015573ffffffffffffffffffffffffffffffffffffffff83167f7965db0b000000000000000000000000000000000000000000000000000000006104b0565b6101bb576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c000000000000000000000000000000000000604482015260640161010c565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050565b600060607f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db610258813361040d565b610297576040517f75000dc00000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440161010c565b60006102a585870187610b92565b90506102b481600001516104cc565b6102c6816000015182602001516105df565b600194509250833073ffffffffffffffffffffffffffffffffffffffff167fdfd1fe8825f45c847f436243dea4246c2ed6c29b2ee09d385de7a3049566b69788888760405161031793929190610c39565b60405180910390a350509250929050565b6000606060007f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db610359813361040d565b610398576040517f75000dc00000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440161010c565b6040517fcce14c2300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61040982828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506104cc92505050565b5050565b600080546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff8481166024830152909116906391d1485490604401602060405180830381865afa158015610485573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a99190610c9f565b9392505050565b60006104bb83610769565b80156104a957506104a983836107ce565b6000818060200190518101906104e29190610d11565b805190915073ffffffffffffffffffffffffffffffffffffffff8116610534576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61057473ffffffffffffffffffffffffffffffffffffffff82167f80ac58cd000000000000000000000000000000000000000000000000000000006104b0565b6105da576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f4945524337323100000000000000000000000000000000000000000000000000604482015260640161010c565b505050565b60606000838060200190518101906105f79190610d11565b905060008380602001905181019061060f9190610d11565b805190915073ffffffffffffffffffffffffffffffffffffffff16610660576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815181516040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91821660048201529116906370a0823190602401602060405180830381865afa1580156106d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f49190610d2d565b60000361075157815181516040517fe9dee8af00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff92831660048201529116602482015260440161010c565b50506040805160208101909152600081529392505050565b6000610795827f01ffc9a7000000000000000000000000000000000000000000000000000000006107ce565b80156107c857506107c6827fffffffff000000000000000000000000000000000000000000000000000000006107ce565b155b92915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015610886575060208210155b80156108925750600081115b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff811681146108bf57600080fd5b50565b6000602082840312156108d457600080fd5b81356104a98161089d565b60008083601f8401126108f157600080fd5b50813567ffffffffffffffff81111561090957600080fd5b60208301915083602082850101111561092157600080fd5b9250929050565b6000806020838503121561093b57600080fd5b823567ffffffffffffffff81111561095257600080fd5b61095e858286016108df565b90969095509350505050565b600281106109a1577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b6000815180845260005b818110156109cb576020818501810151868301820152016109af565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b610a13818461096a565b604060208201526000610a2960408301846109a5565b949350505050565b600080600060408486031215610a4657600080fd5b833567ffffffffffffffff811115610a5d57600080fd5b610a69868287016108df565b9094509250506020840135610a7d8161089d565b809150509250925092565b610a92818561096a565b606060208201526000610aa860608301856109a5565b9050826040830152949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112610af857600080fd5b813567ffffffffffffffff80821115610b1357610b13610ab8565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715610b5957610b59610ab8565b81604052838152866020858801011115610b7257600080fd5b836020870160208301376000602085830101528094505050505092915050565b600060208284031215610ba457600080fd5b813567ffffffffffffffff80821115610bbc57600080fd5b9083019060408286031215610bd057600080fd5b604051604081018181108382111715610beb57610beb610ab8565b604052823582811115610bfd57600080fd5b610c0987828601610ae7565b825250602083013582811115610c1e57600080fd5b610c2a87828601610ae7565b60208301525095945050505050565b604081528260408201528284606083013760006060848301015260007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011682016060838203016020840152610c9560608201856109a5565b9695505050505050565b600060208284031215610cb157600080fd5b815180151581146104a957600080fd5b600060208284031215610cd357600080fd5b6040516020810181811067ffffffffffffffff82111715610cf657610cf6610ab8565b80604052508091508251610d098161089d565b905292915050565b600060208284031215610d2357600080fd5b6104a98383610cc1565b600060208284031215610d3f57600080fd5b505191905056fea2646970667358221220ac089ae2ad4a08453a0e62d5ef88cd54351c5b108b99b3628d8b974af06257d264736f6c63430008130033000000000000000000000000518ccd79e0e7b75fd5fcc09463fb09cb7d55470d", + "730750818665451459101842416358141509827966271488", + "1702012368" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x499527835364a150290231b84c6a5297e5dd0024", + "gas": "0x11aa78", + "value": "0x0", + "data": "0x91e7e5b400000000000000000000000000000000000000000000000000000000000000600000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006572a5d00000000000000000000000000000000000000000000000000000000000000fa860806040523480156200001157600080fd5b5060405162000f8838038062000f888339810160408190526200003491620001d1565b808080620000536001600160a01b038216637965db0b60e01b620000e5565b62000096576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b038316908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a250505050620001fc565b6000620000f2836200010d565b801562000106575062000106838362000146565b9392505050565b600062000122826301ffc9a760e01b62000146565b80156200014057506200013e826001600160e01b031962000146565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d91506000519050828015620001b9575060208210155b8015620001c65750600081115b979650505050505050565b600060208284031215620001e457600080fd5b81516001600160a01b03811681146200010657600080fd5b610d7c806200020c6000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806319129e5a1461005157806334e5d29f146100665780635260a98c14610090578063a913b881146100b2575b600080fd5b61006461005f3660046108c2565b6100c5565b005b610079610074366004610928565b610229565b604051610087929190610a09565b60405180910390f35b6100a361009e366004610a31565b610328565b60405161008793929190610a88565b6100646100c0366004610928565b6103ca565b60006100d1813361040d565b610115576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b61015573ffffffffffffffffffffffffffffffffffffffff83167f7965db0b000000000000000000000000000000000000000000000000000000006104b0565b6101bb576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c000000000000000000000000000000000000604482015260640161010c565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050565b600060607f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db610258813361040d565b610297576040517f75000dc00000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440161010c565b60006102a585870187610b92565b90506102b481600001516104cc565b6102c6816000015182602001516105df565b600194509250833073ffffffffffffffffffffffffffffffffffffffff167fdfd1fe8825f45c847f436243dea4246c2ed6c29b2ee09d385de7a3049566b69788888760405161031793929190610c39565b60405180910390a350509250929050565b6000606060007f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db610359813361040d565b610398576040517f75000dc00000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440161010c565b6040517fcce14c2300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61040982828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506104cc92505050565b5050565b600080546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff8481166024830152909116906391d1485490604401602060405180830381865afa158015610485573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a99190610c9f565b9392505050565b60006104bb83610769565b80156104a957506104a983836107ce565b6000818060200190518101906104e29190610d11565b805190915073ffffffffffffffffffffffffffffffffffffffff8116610534576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61057473ffffffffffffffffffffffffffffffffffffffff82167f80ac58cd000000000000000000000000000000000000000000000000000000006104b0565b6105da576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f4945524337323100000000000000000000000000000000000000000000000000604482015260640161010c565b505050565b60606000838060200190518101906105f79190610d11565b905060008380602001905181019061060f9190610d11565b805190915073ffffffffffffffffffffffffffffffffffffffff16610660576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815181516040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91821660048201529116906370a0823190602401602060405180830381865afa1580156106d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f49190610d2d565b60000361075157815181516040517fe9dee8af00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff92831660048201529116602482015260440161010c565b50506040805160208101909152600081529392505050565b6000610795827f01ffc9a7000000000000000000000000000000000000000000000000000000006107ce565b80156107c857506107c6827fffffffff000000000000000000000000000000000000000000000000000000006107ce565b155b92915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015610886575060208210155b80156108925750600081115b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff811681146108bf57600080fd5b50565b6000602082840312156108d457600080fd5b81356104a98161089d565b60008083601f8401126108f157600080fd5b50813567ffffffffffffffff81111561090957600080fd5b60208301915083602082850101111561092157600080fd5b9250929050565b6000806020838503121561093b57600080fd5b823567ffffffffffffffff81111561095257600080fd5b61095e858286016108df565b90969095509350505050565b600281106109a1577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b6000815180845260005b818110156109cb576020818501810151868301820152016109af565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b610a13818461096a565b604060208201526000610a2960408301846109a5565b949350505050565b600080600060408486031215610a4657600080fd5b833567ffffffffffffffff811115610a5d57600080fd5b610a69868287016108df565b9094509250506020840135610a7d8161089d565b809150509250925092565b610a92818561096a565b606060208201526000610aa860608301856109a5565b9050826040830152949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112610af857600080fd5b813567ffffffffffffffff80821115610b1357610b13610ab8565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715610b5957610b59610ab8565b81604052838152866020858801011115610b7257600080fd5b836020870160208301376000602085830101528094505050505092915050565b600060208284031215610ba457600080fd5b813567ffffffffffffffff80821115610bbc57600080fd5b9083019060408286031215610bd057600080fd5b604051604081018181108382111715610beb57610beb610ab8565b604052823582811115610bfd57600080fd5b610c0987828601610ae7565b825250602083013582811115610c1e57600080fd5b610c2a87828601610ae7565b60208301525095945050505050565b604081528260408201528284606083013760006060848301015260007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011682016060838203016020840152610c9560608201856109a5565b9695505050505050565b600060208284031215610cb157600080fd5b815180151581146104a957600080fd5b600060208284031215610cd357600080fd5b6040516020810181811067ffffffffffffffff82111715610cf657610cf6610ab8565b80604052508091508251610d098161089d565b905292915050565b600060208284031215610d2357600080fd5b6104a98383610cc1565b600060208284031215610d3f57600080fd5b505191905056fea2646970667358221220ac089ae2ad4a08453a0e62d5ef88cd54351c5b108b99b3628d8b974af06257d264736f6c63430008130033000000000000000000000000518ccd79e0e7b75fd5fcc09463fb09cb7d55470d000000000000000000000000000000000000000000000000", + "nonce": "0x804", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE2", + "address": "0x919Cc6581801039f92863862B186025a1F562B17", + "initCode": "60806040523480156200001157600080fd5b5060405162000f8838038062000f888339810160408190526200003491620001d1565b808080620000536001600160a01b038216637965db0b60e01b620000e5565b62000096576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b038316908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a250505050620001fc565b6000620000f2836200010d565b801562000106575062000106838362000146565b9392505050565b600062000122826301ffc9a760e01b62000146565b80156200014057506200013e826001600160e01b031962000146565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d91506000519050828015620001b9575060208210155b8015620001c65750600081115b979650505050505050565b600060208284031215620001e457600080fd5b81516001600160a01b03811681146200010657600080fd5b610d7c806200020c6000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806319129e5a1461005157806334e5d29f146100665780635260a98c14610090578063a913b881146100b2575b600080fd5b61006461005f3660046108c2565b6100c5565b005b610079610074366004610928565b610229565b604051610087929190610a09565b60405180910390f35b6100a361009e366004610a31565b610328565b60405161008793929190610a88565b6100646100c0366004610928565b6103ca565b60006100d1813361040d565b610115576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b61015573ffffffffffffffffffffffffffffffffffffffff83167f7965db0b000000000000000000000000000000000000000000000000000000006104b0565b6101bb576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c000000000000000000000000000000000000604482015260640161010c565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050565b600060607f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db610258813361040d565b610297576040517f75000dc00000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440161010c565b60006102a585870187610b92565b90506102b481600001516104cc565b6102c6816000015182602001516105df565b600194509250833073ffffffffffffffffffffffffffffffffffffffff167fdfd1fe8825f45c847f436243dea4246c2ed6c29b2ee09d385de7a3049566b69788888760405161031793929190610c39565b60405180910390a350509250929050565b6000606060007f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db610359813361040d565b610398576040517f75000dc00000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440161010c565b6040517fcce14c2300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61040982828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506104cc92505050565b5050565b600080546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff8481166024830152909116906391d1485490604401602060405180830381865afa158015610485573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a99190610c9f565b9392505050565b60006104bb83610769565b80156104a957506104a983836107ce565b6000818060200190518101906104e29190610d11565b805190915073ffffffffffffffffffffffffffffffffffffffff8116610534576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61057473ffffffffffffffffffffffffffffffffffffffff82167f80ac58cd000000000000000000000000000000000000000000000000000000006104b0565b6105da576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f4945524337323100000000000000000000000000000000000000000000000000604482015260640161010c565b505050565b60606000838060200190518101906105f79190610d11565b905060008380602001905181019061060f9190610d11565b805190915073ffffffffffffffffffffffffffffffffffffffff16610660576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815181516040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91821660048201529116906370a0823190602401602060405180830381865afa1580156106d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f49190610d2d565b60000361075157815181516040517fe9dee8af00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff92831660048201529116602482015260440161010c565b50506040805160208101909152600081529392505050565b6000610795827f01ffc9a7000000000000000000000000000000000000000000000000000000006107ce565b80156107c857506107c6827fffffffff000000000000000000000000000000000000000000000000000000006107ce565b155b92915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015610886575060208210155b80156108925750600081115b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff811681146108bf57600080fd5b50565b6000602082840312156108d457600080fd5b81356104a98161089d565b60008083601f8401126108f157600080fd5b50813567ffffffffffffffff81111561090957600080fd5b60208301915083602082850101111561092157600080fd5b9250929050565b6000806020838503121561093b57600080fd5b823567ffffffffffffffff81111561095257600080fd5b61095e858286016108df565b90969095509350505050565b600281106109a1577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b6000815180845260005b818110156109cb576020818501810151868301820152016109af565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b610a13818461096a565b604060208201526000610a2960408301846109a5565b949350505050565b600080600060408486031215610a4657600080fd5b833567ffffffffffffffff811115610a5d57600080fd5b610a69868287016108df565b9094509250506020840135610a7d8161089d565b809150509250925092565b610a92818561096a565b606060208201526000610aa860608301856109a5565b9050826040830152949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112610af857600080fd5b813567ffffffffffffffff80821115610b1357610b13610ab8565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715610b5957610b59610ab8565b81604052838152866020858801011115610b7257600080fd5b836020870160208301376000602085830101528094505050505092915050565b600060208284031215610ba457600080fd5b813567ffffffffffffffff80821115610bbc57600080fd5b9083019060408286031215610bd057600080fd5b604051604081018181108382111715610beb57610beb610ab8565b604052823582811115610bfd57600080fd5b610c0987828601610ae7565b825250602083013582811115610c1e57600080fd5b610c2a87828601610ae7565b60208301525095945050505050565b604081528260408201528284606083013760006060848301015260007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011682016060838203016020840152610c9560608201856109a5565b9695505050505050565b600060208284031215610cb157600080fd5b815180151581146104a957600080fd5b600060208284031215610cd357600080fd5b6040516020810181811067ffffffffffffffff82111715610cf657610cf6610ab8565b80604052508091508251610d098161089d565b905292915050565b600060208284031215610d2357600080fd5b6104a98383610cc1565b600060208284031215610d3f57600080fd5b505191905056fea2646970667358221220ac089ae2ad4a08453a0e62d5ef88cd54351c5b108b99b3628d8b974af06257d264736f6c63430008130033000000000000000000000000518ccd79e0e7b75fd5fcc09463fb09cb7d55470d" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0x320fcca1822ce25672b02b24f7323526c37aee94e33ea2d5dbd92d67a4f8569d", + "transactionType": "CALL", + "contractName": "HooksFactory", + "contractAddress": "0x499527835364a150290231B84C6a5297E5dd0024", + "function": "deploy(bytes,uint256,uint256):(address)", + "arguments": [ + "0x60c06040523480156200001157600080fd5b506040516200182038038062001820833981016040819052620000349162000250565b828080620000536001600160a01b038216637965db0b60e01b62000147565b62000096576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b038316908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050506001600160a01b038116620001065760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0382166200012e5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b039081166080521660a052506200029a565b600062000154836200016f565b8015620001685750620001688383620001a8565b9392505050565b600062000184826301ffc9a760e01b620001a8565b8015620001a25750620001a0826001600160e01b0319620001a8565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d915060005190508280156200021b575060208210155b8015620002285750600081115b979650505050505050565b80516001600160a01b03811681146200024b57600080fd5b919050565b6000806000606084860312156200026657600080fd5b620002718462000233565b9250620002816020850162000233565b9150620002916040850162000233565b90509250925092565b60805160a051611559620002c7600039600081816101520152610e010152600061088101526115596000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80633d0aa6e51161005b5780633d0aa6e5146101185780635260a98c1461012b5780635ab6d0011461014d578063a913b8811461017457600080fd5b80630a5989761461008257806319129e5a146100e257806334e5d29f146100f7575b600080fd5b6100b8610090366004610f9c565b60016020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100f56100f0366004610fda565b610187565b005b61010a610105366004611040565b6102eb565b6040516100d9929190611121565b6100f5610126366004611149565b61038b565b61013e61013936600461116b565b610521565b6040516100d9939291906111c2565b6100b87f000000000000000000000000000000000000000000000000000000000000000081565b6100f5610182366004611040565b61077d565b600061019381336107c0565b6101d7576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b61021773ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000610863565b61027d576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c00000000000000000000000000000000000060448201526064016101ce565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050565b600060607f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db61031a81336107c0565b610359576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016101ce565b6040517f24baa24800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408051602080820183526000808352858152600390915291822060040154610100900460ff16610418576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f52657175657374206e6f7420666f756e6400000000000000000000000000000060448201526064016101ce565b6000848152600360208190526040909120015483101561046c575060408051808201909152601e81527f42616c616e6365206f6620546f6b656e206973206e6f7420656e6f75676800006020820152610471565b600191505b600084815260036020818152604080842080547fffffffffffffffffffffffff0000000000000000000000000000000000000000908116825560018201805482169055600282018054909116905592830193909355600490910180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000169055905161051b9186916105079186918691016111f2565b60405160208183030381529060405261087f565b50505050565b6000606060007f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db61055281336107c0565b610591576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016101ce565b73ffffffffffffffffffffffffffffffffffffffff85166105de576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61061e73ffffffffffffffffffffffffffffffffffffffff86167f2fa7bc9900000000000000000000000000000000000000000000000000000000610863565b610684576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f4943616c6c6261636b48616e646c65720000000000000000000000000000000060448201526064016101ce565b600061069287890189611310565b90506106a18160000151610a9f565b6106b381600001518260200151610ba4565b600081815260016020526040812080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8b1617905596509094509250848673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167f320acf383fac55c3eff3aad884406f0fa211a5c451266edd9de8151bb26b7054868c8c8a60405161076a94939291906113a1565b60405180910390a4505093509350939050565b6107bc82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610a9f92505050565b5050565b600080546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff8481166024830152909116906391d1485490604401602060405180830381865afa158015610838573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085c9190611403565b9392505050565b600061086e83610e68565b801561085c575061085c8383610ecd565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff8116331461090d576040517f5dc645bb00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff821660248201526044016101ce565b60008381526001602052604090205473ffffffffffffffffffffffffffffffffffffffff1661096b576040517fc88d34d7000000000000000000000000000000000000000000000000000000008152600481018490526024016101ce565b6000838152600160205260409081902054905173ffffffffffffffffffffffffffffffffffffffff9091169030907fb8da071166b4cdb339d32ac1c86452cf0ba046f8aeb8230c00d0ce19c173884c906109c89087908790611425565b60405180910390a3600083815260016020526040908190205490517f2fa7bc9900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690632fa7bc9990610a359086908690600401611425565b600060405180830381600087803b158015610a4f57600080fd5b505af1158015610a63573d6000803e3d6000fd5b505050600093845250506001602052506040902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b600081806020019051810190610ab5919061143e565b805190915073ffffffffffffffffffffffffffffffffffffffff16610b36576040517f7662892900000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f746f6b656e41646472657373206973203000000000000000000000000000000060448201526064016101ce565b80602001516000036107bc576040517f7662892900000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f62616c616e63655468726573686f6c642069732030000000000000000000000060448201526064016101ce565b606060008084806020019051810190610bbd919061143e565b9050600084806020019051810190610bd59190611478565b600280549192503091906000610bea836114c4565b9091555060405160609290921b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660208301526034820152605401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152828252805160209182012081840183526000808552835160c08101855233808252885173ffffffffffffffffffffffffffffffffffffffff908116838701908152895182168489019081528b8801516060860190815260808601878152600160a088018181528a8a5260039b8c9052988c9020975188549087167fffffffffffffffffffffffff0000000000000000000000000000000000000000918216178955945190880180549187169186169190911790559151600287018054918616919094161790925590519684019690965594516004928301805494511515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff921515929092167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000090951694909417179092558751875195517f3114f43a0000000000000000000000000000000000000000000000000000000081529182018490526024820192909252908316604482015292821660648401523060848401527f3d0aa6e50000000000000000000000000000000000000000000000000000000060a48401529296509194507f000000000000000000000000000000000000000000000000000000000000000090911690633114f43a9060c401600060405180830381600087803b158015610e4757600080fd5b505af1158015610e5b573d6000803e3d6000fd5b5050505050509250929050565b6000610e94827f01ffc9a700000000000000000000000000000000000000000000000000000000610ecd565b8015610ec75750610ec5827fffffffff00000000000000000000000000000000000000000000000000000000610ecd565b155b92915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015610f85575060208210155b8015610f915750600081115b979650505050505050565b600060208284031215610fae57600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610fd757600080fd5b50565b600060208284031215610fec57600080fd5b813561085c81610fb5565b60008083601f84011261100957600080fd5b50813567ffffffffffffffff81111561102157600080fd5b60208301915083602082850101111561103957600080fd5b9250929050565b6000806020838503121561105357600080fd5b823567ffffffffffffffff81111561106a57600080fd5b61107685828601610ff7565b90969095509350505050565b600281106110b9577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b6000815180845260005b818110156110e3576020818501810151868301820152016110c7565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b61112b8184611082565b60406020820152600061114160408301846110bd565b949350505050565b6000806040838503121561115c57600080fd5b50508035926020909101359150565b60008060006040848603121561118057600080fd5b833567ffffffffffffffff81111561119757600080fd5b6111a386828701610ff7565b90945092505060208401356111b781610fb5565b809150509250925092565b6111cc8185611082565b6060602082015260006111e260608301856110bd565b9050826040830152949350505050565b821515815260406020820152600061114160408301846110bd565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561125f5761125f61120d565b60405290565b600082601f83011261127657600080fd5b813567ffffffffffffffff808211156112915761129161120d565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156112d7576112d761120d565b816040528381528660208588010111156112f057600080fd5b836020870160208301376000602085830101528094505050505092915050565b60006020828403121561132257600080fd5b813567ffffffffffffffff8082111561133a57600080fd5b908301906040828603121561134e57600080fd5b61135661123c565b82358281111561136557600080fd5b61137187828601611265565b82525060208301358281111561138657600080fd5b61139287828601611265565b60208301525095945050505050565b848152606060208201528260608201528284608083013760006080848301015260007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011682016080838203016040840152610f9160808201856110bd565b60006020828403121561141557600080fd5b8151801515811461085c57600080fd5b82815260406020820152600061114160408301846110bd565b60006040828403121561145057600080fd5b61145861123c565b825161146381610fb5565b81526020928301519281019290925250919050565b60006020828403121561148a57600080fd5b6040516020810181811067ffffffffffffffff821117156114ad576114ad61120d565b60405282516114bb81610fb5565b81529392505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361151c577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b506001019056fea2646970667358221220d8b168046b7ea8ef58a98e4718a596bce0ccd4e82ab63c88943c3c5258310fb564736f6c63430008130033000000000000000000000000518ccd79e0e7b75fd5fcc09463fb09cb7d55470d00000000000000000000000004401ff04e6c01a8f1e5696ad6aa053c86b73cd300000000000000000000000077cbcc0e29e10f1eea24e0d109aab26c5b2abd88", + "365375409332725729550921208179070754913983135744", + "1702012368" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x499527835364a150290231b84c6a5297e5dd0024", + "gas": "0x1ad7b8", + "value": "0x0", + "data": "0x91e7e5b400000000000000000000000000000000000000000000000000000000000000600000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006572a5d0000000000000000000000000000000000000000000000000000000000000188060c06040523480156200001157600080fd5b506040516200182038038062001820833981016040819052620000349162000250565b828080620000536001600160a01b038216637965db0b60e01b62000147565b62000096576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b038316908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050506001600160a01b038116620001065760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0382166200012e5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b039081166080521660a052506200029a565b600062000154836200016f565b8015620001685750620001688383620001a8565b9392505050565b600062000184826301ffc9a760e01b620001a8565b8015620001a25750620001a0826001600160e01b0319620001a8565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d915060005190508280156200021b575060208210155b8015620002285750600081115b979650505050505050565b80516001600160a01b03811681146200024b57600080fd5b919050565b6000806000606084860312156200026657600080fd5b620002718462000233565b9250620002816020850162000233565b9150620002916040850162000233565b90509250925092565b60805160a051611559620002c7600039600081816101520152610e010152600061088101526115596000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80633d0aa6e51161005b5780633d0aa6e5146101185780635260a98c1461012b5780635ab6d0011461014d578063a913b8811461017457600080fd5b80630a5989761461008257806319129e5a146100e257806334e5d29f146100f7575b600080fd5b6100b8610090366004610f9c565b60016020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100f56100f0366004610fda565b610187565b005b61010a610105366004611040565b6102eb565b6040516100d9929190611121565b6100f5610126366004611149565b61038b565b61013e61013936600461116b565b610521565b6040516100d9939291906111c2565b6100b87f000000000000000000000000000000000000000000000000000000000000000081565b6100f5610182366004611040565b61077d565b600061019381336107c0565b6101d7576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b61021773ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000610863565b61027d576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c00000000000000000000000000000000000060448201526064016101ce565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050565b600060607f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db61031a81336107c0565b610359576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016101ce565b6040517f24baa24800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408051602080820183526000808352858152600390915291822060040154610100900460ff16610418576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f52657175657374206e6f7420666f756e6400000000000000000000000000000060448201526064016101ce565b6000848152600360208190526040909120015483101561046c575060408051808201909152601e81527f42616c616e6365206f6620546f6b656e206973206e6f7420656e6f75676800006020820152610471565b600191505b600084815260036020818152604080842080547fffffffffffffffffffffffff0000000000000000000000000000000000000000908116825560018201805482169055600282018054909116905592830193909355600490910180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000169055905161051b9186916105079186918691016111f2565b60405160208183030381529060405261087f565b50505050565b6000606060007f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db61055281336107c0565b610591576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016101ce565b73ffffffffffffffffffffffffffffffffffffffff85166105de576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61061e73ffffffffffffffffffffffffffffffffffffffff86167f2fa7bc9900000000000000000000000000000000000000000000000000000000610863565b610684576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f4943616c6c6261636b48616e646c65720000000000000000000000000000000060448201526064016101ce565b600061069287890189611310565b90506106a18160000151610a9f565b6106b381600001518260200151610ba4565b600081815260016020526040812080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8b1617905596509094509250848673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167f320acf383fac55c3eff3aad884406f0fa211a5c451266edd9de8151bb26b7054868c8c8a60405161076a94939291906113a1565b60405180910390a4505093509350939050565b6107bc82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610a9f92505050565b5050565b600080546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff8481166024830152909116906391d1485490604401602060405180830381865afa158015610838573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085c9190611403565b9392505050565b600061086e83610e68565b801561085c575061085c8383610ecd565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff8116331461090d576040517f5dc645bb00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff821660248201526044016101ce565b60008381526001602052604090205473ffffffffffffffffffffffffffffffffffffffff1661096b576040517fc88d34d7000000000000000000000000000000000000000000000000000000008152600481018490526024016101ce565b6000838152600160205260409081902054905173ffffffffffffffffffffffffffffffffffffffff9091169030907fb8da071166b4cdb339d32ac1c86452cf0ba046f8aeb8230c00d0ce19c173884c906109c89087908790611425565b60405180910390a3600083815260016020526040908190205490517f2fa7bc9900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690632fa7bc9990610a359086908690600401611425565b600060405180830381600087803b158015610a4f57600080fd5b505af1158015610a63573d6000803e3d6000fd5b505050600093845250506001602052506040902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b600081806020019051810190610ab5919061143e565b805190915073ffffffffffffffffffffffffffffffffffffffff16610b36576040517f7662892900000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f746f6b656e41646472657373206973203000000000000000000000000000000060448201526064016101ce565b80602001516000036107bc576040517f7662892900000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f62616c616e63655468726573686f6c642069732030000000000000000000000060448201526064016101ce565b606060008084806020019051810190610bbd919061143e565b9050600084806020019051810190610bd59190611478565b600280549192503091906000610bea836114c4565b9091555060405160609290921b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660208301526034820152605401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152828252805160209182012081840183526000808552835160c08101855233808252885173ffffffffffffffffffffffffffffffffffffffff908116838701908152895182168489019081528b8801516060860190815260808601878152600160a088018181528a8a5260039b8c9052988c9020975188549087167fffffffffffffffffffffffff0000000000000000000000000000000000000000918216178955945190880180549187169186169190911790559151600287018054918616919094161790925590519684019690965594516004928301805494511515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff921515929092167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000090951694909417179092558751875195517f3114f43a0000000000000000000000000000000000000000000000000000000081529182018490526024820192909252908316604482015292821660648401523060848401527f3d0aa6e50000000000000000000000000000000000000000000000000000000060a48401529296509194507f000000000000000000000000000000000000000000000000000000000000000090911690633114f43a9060c401600060405180830381600087803b158015610e4757600080fd5b505af1158015610e5b573d6000803e3d6000fd5b5050505050509250929050565b6000610e94827f01ffc9a700000000000000000000000000000000000000000000000000000000610ecd565b8015610ec75750610ec5827fffffffff00000000000000000000000000000000000000000000000000000000610ecd565b155b92915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015610f85575060208210155b8015610f915750600081115b979650505050505050565b600060208284031215610fae57600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610fd757600080fd5b50565b600060208284031215610fec57600080fd5b813561085c81610fb5565b60008083601f84011261100957600080fd5b50813567ffffffffffffffff81111561102157600080fd5b60208301915083602082850101111561103957600080fd5b9250929050565b6000806020838503121561105357600080fd5b823567ffffffffffffffff81111561106a57600080fd5b61107685828601610ff7565b90969095509350505050565b600281106110b9577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b6000815180845260005b818110156110e3576020818501810151868301820152016110c7565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b61112b8184611082565b60406020820152600061114160408301846110bd565b949350505050565b6000806040838503121561115c57600080fd5b50508035926020909101359150565b60008060006040848603121561118057600080fd5b833567ffffffffffffffff81111561119757600080fd5b6111a386828701610ff7565b90945092505060208401356111b781610fb5565b809150509250925092565b6111cc8185611082565b6060602082015260006111e260608301856110bd565b9050826040830152949350505050565b821515815260406020820152600061114160408301846110bd565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561125f5761125f61120d565b60405290565b600082601f83011261127657600080fd5b813567ffffffffffffffff808211156112915761129161120d565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156112d7576112d761120d565b816040528381528660208588010111156112f057600080fd5b836020870160208301376000602085830101528094505050505092915050565b60006020828403121561132257600080fd5b813567ffffffffffffffff8082111561133a57600080fd5b908301906040828603121561134e57600080fd5b61135661123c565b82358281111561136557600080fd5b61137187828601611265565b82525060208301358281111561138657600080fd5b61139287828601611265565b60208301525095945050505050565b848152606060208201528260608201528284608083013760006080848301015260007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011682016080838203016040840152610f9160808201856110bd565b60006020828403121561141557600080fd5b8151801515811461085c57600080fd5b82815260406020820152600061114160408301846110bd565b60006040828403121561145057600080fd5b61145861123c565b825161146381610fb5565b81526020928301519281019290925250919050565b60006020828403121561148a57600080fd5b6040516020810181811067ffffffffffffffff821117156114ad576114ad61120d565b60405282516114bb81610fb5565b81529392505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361151c577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b506001019056fea2646970667358221220d8b168046b7ea8ef58a98e4718a596bce0ccd4e82ab63c88943c3c5258310fb564736f6c63430008130033000000000000000000000000518ccd79e0e7b75fd5fcc09463fb09cb7d55470d00000000000000000000000004401ff04e6c01a8f1e5696ad6aa053c86b73cd300000000000000000000000077cbcc0e29e10f1eea24e0d109aab26c5b2abd88", + "nonce": "0x805", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE2", + "address": "0x6b71284309DF6871cC28595d938eC57A5Ad06A0A", + "initCode": "60c06040523480156200001157600080fd5b506040516200182038038062001820833981016040819052620000349162000250565b828080620000536001600160a01b038216637965db0b60e01b62000147565b62000096576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b038316908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050506001600160a01b038116620001065760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0382166200012e5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b039081166080521660a052506200029a565b600062000154836200016f565b8015620001685750620001688383620001a8565b9392505050565b600062000184826301ffc9a760e01b620001a8565b8015620001a25750620001a0826001600160e01b0319620001a8565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d915060005190508280156200021b575060208210155b8015620002285750600081115b979650505050505050565b80516001600160a01b03811681146200024b57600080fd5b919050565b6000806000606084860312156200026657600080fd5b620002718462000233565b9250620002816020850162000233565b9150620002916040850162000233565b90509250925092565b60805160a051611559620002c7600039600081816101520152610e010152600061088101526115596000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80633d0aa6e51161005b5780633d0aa6e5146101185780635260a98c1461012b5780635ab6d0011461014d578063a913b8811461017457600080fd5b80630a5989761461008257806319129e5a146100e257806334e5d29f146100f7575b600080fd5b6100b8610090366004610f9c565b60016020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100f56100f0366004610fda565b610187565b005b61010a610105366004611040565b6102eb565b6040516100d9929190611121565b6100f5610126366004611149565b61038b565b61013e61013936600461116b565b610521565b6040516100d9939291906111c2565b6100b87f000000000000000000000000000000000000000000000000000000000000000081565b6100f5610182366004611040565b61077d565b600061019381336107c0565b6101d7576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b61021773ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000610863565b61027d576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c00000000000000000000000000000000000060448201526064016101ce565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050565b600060607f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db61031a81336107c0565b610359576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016101ce565b6040517f24baa24800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408051602080820183526000808352858152600390915291822060040154610100900460ff16610418576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f52657175657374206e6f7420666f756e6400000000000000000000000000000060448201526064016101ce565b6000848152600360208190526040909120015483101561046c575060408051808201909152601e81527f42616c616e6365206f6620546f6b656e206973206e6f7420656e6f75676800006020820152610471565b600191505b600084815260036020818152604080842080547fffffffffffffffffffffffff0000000000000000000000000000000000000000908116825560018201805482169055600282018054909116905592830193909355600490910180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000169055905161051b9186916105079186918691016111f2565b60405160208183030381529060405261087f565b50505050565b6000606060007f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db61055281336107c0565b610591576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016101ce565b73ffffffffffffffffffffffffffffffffffffffff85166105de576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61061e73ffffffffffffffffffffffffffffffffffffffff86167f2fa7bc9900000000000000000000000000000000000000000000000000000000610863565b610684576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f4943616c6c6261636b48616e646c65720000000000000000000000000000000060448201526064016101ce565b600061069287890189611310565b90506106a18160000151610a9f565b6106b381600001518260200151610ba4565b600081815260016020526040812080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8b1617905596509094509250848673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167f320acf383fac55c3eff3aad884406f0fa211a5c451266edd9de8151bb26b7054868c8c8a60405161076a94939291906113a1565b60405180910390a4505093509350939050565b6107bc82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610a9f92505050565b5050565b600080546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff8481166024830152909116906391d1485490604401602060405180830381865afa158015610838573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085c9190611403565b9392505050565b600061086e83610e68565b801561085c575061085c8383610ecd565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff8116331461090d576040517f5dc645bb00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff821660248201526044016101ce565b60008381526001602052604090205473ffffffffffffffffffffffffffffffffffffffff1661096b576040517fc88d34d7000000000000000000000000000000000000000000000000000000008152600481018490526024016101ce565b6000838152600160205260409081902054905173ffffffffffffffffffffffffffffffffffffffff9091169030907fb8da071166b4cdb339d32ac1c86452cf0ba046f8aeb8230c00d0ce19c173884c906109c89087908790611425565b60405180910390a3600083815260016020526040908190205490517f2fa7bc9900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690632fa7bc9990610a359086908690600401611425565b600060405180830381600087803b158015610a4f57600080fd5b505af1158015610a63573d6000803e3d6000fd5b505050600093845250506001602052506040902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b600081806020019051810190610ab5919061143e565b805190915073ffffffffffffffffffffffffffffffffffffffff16610b36576040517f7662892900000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f746f6b656e41646472657373206973203000000000000000000000000000000060448201526064016101ce565b80602001516000036107bc576040517f7662892900000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f62616c616e63655468726573686f6c642069732030000000000000000000000060448201526064016101ce565b606060008084806020019051810190610bbd919061143e565b9050600084806020019051810190610bd59190611478565b600280549192503091906000610bea836114c4565b9091555060405160609290921b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660208301526034820152605401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152828252805160209182012081840183526000808552835160c08101855233808252885173ffffffffffffffffffffffffffffffffffffffff908116838701908152895182168489019081528b8801516060860190815260808601878152600160a088018181528a8a5260039b8c9052988c9020975188549087167fffffffffffffffffffffffff0000000000000000000000000000000000000000918216178955945190880180549187169186169190911790559151600287018054918616919094161790925590519684019690965594516004928301805494511515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff921515929092167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000090951694909417179092558751875195517f3114f43a0000000000000000000000000000000000000000000000000000000081529182018490526024820192909252908316604482015292821660648401523060848401527f3d0aa6e50000000000000000000000000000000000000000000000000000000060a48401529296509194507f000000000000000000000000000000000000000000000000000000000000000090911690633114f43a9060c401600060405180830381600087803b158015610e4757600080fd5b505af1158015610e5b573d6000803e3d6000fd5b5050505050509250929050565b6000610e94827f01ffc9a700000000000000000000000000000000000000000000000000000000610ecd565b8015610ec75750610ec5827fffffffff00000000000000000000000000000000000000000000000000000000610ecd565b155b92915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015610f85575060208210155b8015610f915750600081115b979650505050505050565b600060208284031215610fae57600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610fd757600080fd5b50565b600060208284031215610fec57600080fd5b813561085c81610fb5565b60008083601f84011261100957600080fd5b50813567ffffffffffffffff81111561102157600080fd5b60208301915083602082850101111561103957600080fd5b9250929050565b6000806020838503121561105357600080fd5b823567ffffffffffffffff81111561106a57600080fd5b61107685828601610ff7565b90969095509350505050565b600281106110b9577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b6000815180845260005b818110156110e3576020818501810151868301820152016110c7565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b61112b8184611082565b60406020820152600061114160408301846110bd565b949350505050565b6000806040838503121561115c57600080fd5b50508035926020909101359150565b60008060006040848603121561118057600080fd5b833567ffffffffffffffff81111561119757600080fd5b6111a386828701610ff7565b90945092505060208401356111b781610fb5565b809150509250925092565b6111cc8185611082565b6060602082015260006111e260608301856110bd565b9050826040830152949350505050565b821515815260406020820152600061114160408301846110bd565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561125f5761125f61120d565b60405290565b600082601f83011261127657600080fd5b813567ffffffffffffffff808211156112915761129161120d565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156112d7576112d761120d565b816040528381528660208588010111156112f057600080fd5b836020870160208301376000602085830101528094505050505092915050565b60006020828403121561132257600080fd5b813567ffffffffffffffff8082111561133a57600080fd5b908301906040828603121561134e57600080fd5b61135661123c565b82358281111561136557600080fd5b61137187828601611265565b82525060208301358281111561138657600080fd5b61139287828601611265565b60208301525095945050505050565b848152606060208201528260608201528284608083013760006080848301015260007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011682016080838203016040840152610f9160808201856110bd565b60006020828403121561141557600080fd5b8151801515811461085c57600080fd5b82815260406020820152600061114160408301846110bd565b60006040828403121561145057600080fd5b61145861123c565b825161146381610fb5565b81526020928301519281019290925250919050565b60006020828403121561148a57600080fd5b6040516020810181811067ffffffffffffffff821117156114ad576114ad61120d565b60405282516114bb81610fb5565b81529392505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361151c577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b506001019056fea2646970667358221220d8b168046b7ea8ef58a98e4718a596bce0ccd4e82ab63c88943c3c5258310fb564736f6c63430008130033000000000000000000000000518ccd79e0e7b75fd5fcc09463fb09cb7d55470d00000000000000000000000004401ff04e6c01a8f1e5696ad6aa053c86b73cd300000000000000000000000077cbcc0e29e10f1eea24e0d109aab26c5b2abd88" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0x5d04194e7e2a17cce05c6f6a35b73030d6ae2f12fd61bebdaaeb100bb4b86090", + "transactionType": "CREATE", + "contractName": "MockERC721", + "contractAddress": "0x4facD61ea098FB09C03dBE33D98Cc8Fe4D35eb5e", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x1edc92", + "value": "0x0", + "data": "0x60806040523480156200001157600080fd5b506040518060400160405280600a8152602001694d6f636b45524337323160b01b815250604051806040016040528060048152602001634d37323160e01b815250816000908162000063919062000120565b50600162000072828262000120565b505050620001ec565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000a657607f821691505b602082108103620000c757634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200011b57600081815260208120601f850160051c81016020861015620000f65750805b601f850160051c820191505b81811015620001175782815560010162000102565b5050505b505050565b81516001600160401b038111156200013c576200013c6200007b565b62000154816200014d845462000091565b84620000cd565b602080601f8311600181146200018c5760008415620001735750858301515b600019600386901b1c1916600185901b17855562000117565b600085815260208120601f198616915b82811015620001bd578886015182559484019460019091019084016200019c565b5085821015620001dc5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b611a7980620001fc6000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80636352211e1161008c578063a22cb46511610066578063a22cb465146101ee578063b88d4fde14610201578063c87b56dd14610214578063e985e9c51461022757600080fd5b80636352211e146101b257806370a08231146101c557806395d89b41146101e657600080fd5b8063095ea7b3116100c8578063095ea7b31461016457806323b872dd1461017957806340c10f191461018c57806342842e0e1461019f57600080fd5b806301ffc9a7146100ef57806306fdde0314610117578063081812fc1461012c575b600080fd5b6101026100fd366004611662565b610270565b60405190151581526020015b60405180910390f35b61011f610355565b60405161010e91906116ed565b61013f61013a366004611700565b6103e7565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161010e565b610177610172366004611742565b61041b565b005b61017761018736600461176c565b6105ac565b61017761019a366004611742565b61064d565b6101776101ad36600461176c565b61065b565b61013f6101c0366004611700565b610676565b6101d86101d33660046117a8565b610702565b60405190815260200161010e565b61011f6107d0565b6101776101fc3660046117c3565b6107df565b61017761020f36600461182e565b6107ea565b61011f610222366004611700565b610892565b610102610235366004611928565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260056020908152604080832093909416825291909152205460ff1690565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061030357507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b8061034f57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6060600080546103649061195b565b80601f01602080910402602001604051908101604052809291908181526020018280546103909061195b565b80156103dd5780601f106103b2576101008083540402835291602001916103dd565b820191906000526020600020905b8154815290600101906020018083116103c057829003601f168201915b5050505050905090565b60006103f282610906565b5060009081526004602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b600061042682610676565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036104e8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff8216148061051157506105118133610235565b61059d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c00000060648201526084016104df565b6105a78383610994565b505050565b6105b63382610a34565b610642576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f7665640000000000000000000000000000000000000060648201526084016104df565b6105a7838383610af4565b6106578282610def565b5050565b6105a7838383604051806020016040528060008152506107ea565b60008181526002602052604081205473ffffffffffffffffffffffffffffffffffffffff168061034f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e204944000000000000000060448201526064016104df565b600073ffffffffffffffffffffffffffffffffffffffff82166107a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e6572000000000000000000000000000000000000000000000060648201526084016104df565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526003602052604090205490565b6060600180546103649061195b565b610657338383610e09565b6107f43383610a34565b610880576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f7665640000000000000000000000000000000000000060648201526084016104df565b61088c84848484610f36565b50505050565b606061089d82610906565b60006108b460408051602081019091526000815290565b905060008151116108d457604051806020016040528060008152506108ff565b806108de84610fd9565b6040516020016108ef9291906119ae565b6040516020818303038152906040525b9392505050565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff16610991576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e204944000000000000000060448201526064016104df565b50565b600081815260046020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811790915581906109ee82610676565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080610a4083610676565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480610aae575073ffffffffffffffffffffffffffffffffffffffff80821660009081526005602090815260408083209388168352929052205460ff165b80610aec57508373ffffffffffffffffffffffffffffffffffffffff16610ad4846103e7565b73ffffffffffffffffffffffffffffffffffffffff16145b949350505050565b8273ffffffffffffffffffffffffffffffffffffffff16610b1482610676565b73ffffffffffffffffffffffffffffffffffffffff1614610bb7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e657200000000000000000000000000000000000000000000000000000060648201526084016104df565b73ffffffffffffffffffffffffffffffffffffffff8216610c59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016104df565b8273ffffffffffffffffffffffffffffffffffffffff16610c7982610676565b73ffffffffffffffffffffffffffffffffffffffff1614610d1c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e657200000000000000000000000000000000000000000000000000000060648201526084016104df565b600081815260046020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff8781168086526003855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b610657828260405180602001604052806000815250611097565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610e9e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016104df565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526005602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b610f41848484610af4565b610f4d8484848461113a565b61088c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016104df565b60606000610fe68361132d565b600101905060008167ffffffffffffffff811115611006576110066117ff565b6040519080825280601f01601f191660200182016040528015611030576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a850494508461103a57509392505050565b6110a1838361140f565b6110ae600084848461113a565b6105a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016104df565b600073ffffffffffffffffffffffffffffffffffffffff84163b15611322576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a02906111b19033908990889088906004016119dd565b6020604051808303816000875af192505050801561120a575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261120791810190611a26565b60015b6112d7573d808015611238576040519150601f19603f3d011682016040523d82523d6000602084013e61123d565b606091505b5080516000036112cf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016104df565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050610aec565b506001949350505050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611376577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef810000000083106113a2576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106113c057662386f26fc10000830492506010015b6305f5e10083106113d8576305f5e100830492506008015b61271083106113ec57612710830492506004015b606483106113fe576064830492506002015b600a831061034f5760010192915050565b73ffffffffffffffffffffffffffffffffffffffff821661148c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016104df565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1615611518576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016104df565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff16156115a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016104df565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260036020908152604080832080546001019055848352600290915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b7fffffffff000000000000000000000000000000000000000000000000000000008116811461099157600080fd5b60006020828403121561167457600080fd5b81356108ff81611634565b60005b8381101561169a578181015183820152602001611682565b50506000910152565b600081518084526116bb81602086016020860161167f565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006108ff60208301846116a3565b60006020828403121561171257600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461173d57600080fd5b919050565b6000806040838503121561175557600080fd5b61175e83611719565b946020939093013593505050565b60008060006060848603121561178157600080fd5b61178a84611719565b925061179860208501611719565b9150604084013590509250925092565b6000602082840312156117ba57600080fd5b6108ff82611719565b600080604083850312156117d657600080fd5b6117df83611719565b9150602083013580151581146117f457600080fd5b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000806000806080858703121561184457600080fd5b61184d85611719565b935061185b60208601611719565b925060408501359150606085013567ffffffffffffffff8082111561187f57600080fd5b818701915087601f83011261189357600080fd5b8135818111156118a5576118a56117ff565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156118eb576118eb6117ff565b816040528281528a602084870101111561190457600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b6000806040838503121561193b57600080fd5b61194483611719565b915061195260208401611719565b90509250929050565b600181811c9082168061196f57607f821691505b6020821081036119a8577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b600083516119c081846020880161167f565b8351908301906119d481836020880161167f565b01949350505050565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525083604083015260806060830152611a1c60808301846116a3565b9695505050505050565b600060208284031215611a3857600080fd5b81516108ff8161163456fea2646970667358221220d673ef7c8f1def245d3be39f8336c1275d8505ccfbf91acc7ee1bdd6cae4c30264736f6c63430008130033", + "nonce": "0x806", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x47aa93a51bc40c5445afcc850299e083f3e6e3cd27cd7eb9969c87c25803eb33", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x518ccd79e0e7b75fd5fcc09463fb09cb7d55470d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15d189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "nonce": "0x807", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x403d9d27ae2ee4b5c04c9837c02b8a5d2e366b649b2589df87a26027ea2c2df0", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x518ccd79e0e7b75fd5fcc09463fb09cb7d55470d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15d637821dcee84aabec9c8cf4f6f643013a24ad27fd41511ffd937aea80d8619a9000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "nonce": "0x808", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x2e3d10d1c62e824d02b989b573bc2676938d73278fd434e4e28b2e887a8d5c41", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x518ccd79e0e7b75fd5fcc09463fb09cb7d55470d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15da8b84e71bc3552b48fea3678097679554a90f0e2c12c536a8bd697c05041e279000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "nonce": "0x809", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x32f92ba64f8b30d430206406af9100b703d5af754503ccb3807c7d29b910f55c", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x518ccd79e0e7b75fd5fcc09463fb09cb7d55470d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15d256895704541e78004f0fd55953a8bcc54c628755b14fbf53afdc556473f9bd0000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "nonce": "0x80a", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xcba312354d7f71791424f1317bb1128375f356bc112babf03c77b5066eb1e219", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x518ccd79e0e7b75fd5fcc09463fb09cb7d55470d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15d02f7fd2cb4d8e8ad75bab0a56a6f1ed7091336a83e11ccacc4e51f915215ab4c000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "nonce": "0x80b", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xb4bb24a91d9099eac2be9ed61af556a881a10f41750c37731f8cbc1b31d708f0", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x518ccd79e0e7b75fd5fcc09463fb09cb7d55470d", + "gas": "0x140e3", + "value": "0x0", + "data": "0x2f2ff15dc9a6ce5d86bdc06f8d57f20091bf09bf611e57d0626b65aa9ebb3c9179ba650f000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "nonce": "0x80c", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x94192c5603f740fb5da599625b671b698572da3fbe9ba8756aca02d8a1150e83", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x518ccd79e0e7b75fd5fcc09463fb09cb7d55470d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15de4a10d29decbd34c09a62a511d4fd993a7d8cbbf58d7d4278711c29c9148b8f700000000000000000000000025a6f44df208e8cc79e97fe72e240f4cdb3d9a46", + "nonce": "0x80d", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xc3de772cd32c687c606cfe44ac27799d5f1ad6a2bba49f3e4911436a3d2dcd72", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x518ccd79e0e7b75fd5fcc09463fb09cb7d55470d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15de4a10d29decbd34c09a62a511d4fd993a7d8cbbf58d7d4278711c29c9148b8f7000000000000000000000000c4f7e87f9ff2a2df9bc7ff8399558b594ebf911a", + "nonce": "0x80e", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x48fea7539c9635665a5fe2f6b93d9b7cbcdc277d355e5535866020321769aac7", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x518ccd79e0e7b75fd5fcc09463fb09cb7d55470d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15d33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db00000000000000000000000051870a0659a87c7b46baef7311b3128006e1fb16", + "nonce": "0x80f", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x06d0014648eafa4a0d15871f9f93113d3c8ef3feae041b868736c0687a65b5b5", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x518ccd79e0e7b75fd5fcc09463fb09cb7d55470d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15d33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db000000000000000000000000d3e9f80f4cc22761587b19a7f5335a017bcb0ecd", + "nonce": "0x810", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x05436d8041d4feb5101821ab547d2a561514ab8e4822be7e65dd416a26a9a2a8", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x518ccd79e0e7b75fd5fcc09463fb09cb7d55470d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15d33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db0000000000000000000000005fb712af304570ad9599e55e1105b7a42a5e30db", + "nonce": "0x811", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xe28f471cdaacea3748c1fa39bf1ed94ce6fceb0cfb3d2209c1ebc4ff053806eb", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x518ccd79e0e7b75fd5fcc09463fb09cb7d55470d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15d33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db000000000000000000000000058bb0d7795cfa2a46c60c0b63f8f0fa7cd1eed5", + "nonce": "0x812", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x84bf3d8ff2fd42cb33def0c55c627b34904230f3e7372dedd41a640271383afe", + "transactionType": "CALL", + "contractName": "ModuleRegistry", + "contractAddress": "0x51870A0659A87c7B46baEF7311B3128006E1FB16", + "function": "registerProtocolModule(string,address)", + "arguments": [ + "REGISTRATION_MODULE", + "0xD3E9F80F4Cc22761587B19A7F5335A017bcB0eCd" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x51870a0659a87c7b46baef7311b3128006e1fb16", + "gas": "0x1447b", + "value": "0x0", + "data": "0xd08906d60000000000000000000000000000000000000000000000000000000000000040000000000000000000000000d3e9f80f4cc22761587b19a7f5335a017bcb0ecd0000000000000000000000000000000000000000000000000000000000000013524547495354524154494f4e5f4d4f44554c4500000000000000000000000000", + "nonce": "0x813", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xd59894c1a06160516ca2bcc779bbe338f4cfebedbe5a9cee12dfc2159a0ab988", + "transactionType": "CALL", + "contractName": "ModuleRegistry", + "contractAddress": "0x51870A0659A87c7B46baEF7311B3128006E1FB16", + "function": "registerProtocolModule(string,address)", + "arguments": [ + "RELATIONSHIP_MODULE", + "0x5fb712AF304570aD9599e55E1105b7a42a5e30Db" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x51870a0659a87c7b46baef7311b3128006e1fb16", + "gas": "0x1447b", + "value": "0x0", + "data": "0xd08906d600000000000000000000000000000000000000000000000000000000000000400000000000000000000000005fb712af304570ad9599e55e1105b7a42a5e30db000000000000000000000000000000000000000000000000000000000000001352454c4154494f4e534849505f4d4f44554c4500000000000000000000000000", + "nonce": "0x814", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x1ffb1a979bb740b3d72d9283c509e19bac5ca1b185e2cdc3d9caf9b86233d831", + "transactionType": "CALL", + "contractName": "ModuleRegistry", + "contractAddress": "0x51870A0659A87c7B46baEF7311B3128006E1FB16", + "function": "registerProtocolModule(string,address)", + "arguments": [ + "LICENSING_MODULE", + "0x058bB0D7795CfA2a46C60C0b63F8f0fa7cD1EEd5" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x51870a0659a87c7b46baef7311b3128006e1fb16", + "gas": "0x1444a", + "value": "0x0", + "data": "0xd08906d60000000000000000000000000000000000000000000000000000000000000040000000000000000000000000058bb0d7795cfa2a46c60c0b63f8f0fa7cd1eed500000000000000000000000000000000000000000000000000000000000000104c4943454e53494e475f4d4f44554c4500000000000000000000000000000000", + "nonce": "0x815", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x801095c317c215a221d06d8cdb3b0a22ebbef014f7acabef627fdae7f756f247", + "transactionType": "CALL", + "contractName": "StoryProtocol", + "contractAddress": "0x25A6f44df208E8Cc79E97fE72E240F4cDb3D9a46", + "function": "registerIpOrg(address,string,string,string[]):(address)", + "arguments": [ + "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "Sample IP Org", + "SIPO", + "[STORY, CHARACTER]" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x25a6f44df208e8cc79e97fe72e240f4cdb3d9a46", + "gas": "0x61a7b", + "value": "0x0", + "data": "0x98e8e6ea000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000d53616d706c65204950204f72670000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000045349504f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000553544f525900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000094348415241435445520000000000000000000000000000000000000000000000", + "nonce": "0x816", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0x1434fC16D6f101605d79577E86A5005424461570", + "initCode": "3d602d80600a3d3981f3363d3d373d3d3d363d7332ef4938e99bbd517f1f673470270aeede017a7a5af43d82803e903d91602b57fd5bf3" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0xe4a5f49d9dd2944e060cbb1557f354424cfd005bef16109ffc9ede5ebf0269db", + "transactionType": "CALL", + "contractName": "ModuleRegistry", + "contractAddress": "0x51870A0659A87c7B46baEF7311B3128006E1FB16", + "function": "registerProtocolHook(string,address)", + "arguments": [ + "TOKEN_GATED_HOOK", + "0x919Cc6581801039f92863862B186025a1F562B17" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x51870a0659a87c7b46baef7311b3128006e1fb16", + "gas": "0x1bddc", + "value": "0x0", + "data": "0xd04d78c60000000000000000000000000000000000000000000000000000000000000040000000000000000000000000919cc6581801039f92863862b186025a1f562b170000000000000000000000000000000000000000000000000000000000000010544f4b454e5f47415445445f484f4f4b00000000000000000000000000000000", + "nonce": "0x817", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x9bac9b42100faa9ae0888a1d9e234c364aee08f5915774332eb66b1009e78510", + "transactionType": "CALL", + "contractName": "ModuleRegistry", + "contractAddress": "0x51870A0659A87c7B46baEF7311B3128006E1FB16", + "function": "registerProtocolHook(string,address)", + "arguments": [ + "POLYGON_TOKEN_HOOK", + "0x6b71284309DF6871cC28595d938eC57A5Ad06A0A" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x51870a0659a87c7b46baef7311b3128006e1fb16", + "gas": "0x1bdfd", + "value": "0x0", + "data": "0xd04d78c600000000000000000000000000000000000000000000000000000000000000400000000000000000000000006b71284309df6871cc28595d938ec57a5ad06a0a0000000000000000000000000000000000000000000000000000000000000012504f4c59474f4e5f544f4b454e5f484f4f4b0000000000000000000000000000", + "nonce": "0x818", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x16a8fff5090d2589d2b306d04af5275d6aba1bcf3dcc4f62067393369d13cf57", + "transactionType": "CALL", + "contractName": "RegistrationModule", + "contractAddress": "0xD3E9F80F4Cc22761587B19A7F5335A017bcB0eCd", + "function": "registerHooks(uint8,address,address[],bytes[],bytes)", + "arguments": [ + "0", + "0x1434fC16D6f101605d79577E86A5005424461570", + "[0x919Cc6581801039f92863862B186025a1F562B17, 0x6b71284309DF6871cC28595d938eC57A5Ad06A0A]", + "[0x0000000000000000000000004facd61ea098fb09c03dbe33d98cc8fe4d35eb5e, 0x0000000000000000000000004facd61ea098fb09c03dbe33d98cc8fe4d35eb5e0000000000000000000000000000000000000000000000000000000000000001]", + "0xe761f303268b55a3dc96719551acb95ca3bd1ebeef4b720be68dd92563627a3f" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xd3e9f80f4cc22761587b19a7f5335a017bcb0ecd", + "gas": "0x665ec", + "value": "0x0", + "data": "0x9533563d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000001434fc16d6f101605d79577e86a500542446157000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000919cc6581801039f92863862b186025a1f562b170000000000000000000000006b71284309df6871cc28595d938ec57a5ad06a0a00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000200000000000000000000000004facd61ea098fb09c03dbe33d98cc8fe4d35eb5e00000000000000000000000000000000000000000000000000000000000000400000000000000000000000004facd61ea098fb09c03dbe33d98cc8fe4d35eb5e00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020e761f303268b55a3dc96719551acb95ca3bd1ebeef4b720be68dd92563627a3f", + "nonce": "0x819", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xa3c1a3087c5a99a0fb87108b28c61b94ed9500616da895ed7590a96face368ca", + "transactionType": "CALL", + "contractName": "LicensingFrameworkRepo", + "contractAddress": "0x3113e5bfe2251A9fcA1225083cf6d36547E63e07", + "function": "addFramework((string,string,(bytes32,uint8,bytes,bytes)[]))", + "arguments": [ + "(SPUML-1.0, https://github.com/storyprotocol/protocol-contracts/blob/main/SPUML-v1.pdf, [(0x4368616e6e656c732d4f662d446973747269627574696f6e0000000000000018, 4, 0x, 0x), (0x4174747269627574696f6e00000000000000000000000000000000000000000b, 0, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x), (0x44657269766174697665732d416c6c6f77656400000000000000000000000013, 0, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x), (0x44657269766174697665732d416c6c6f7765642d4f7074696f6e73000000001b, 5, 0x, 0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000003416c6c6f7765642d576974682d417070726f76616c0000000000000000000015416c6c6f7765642d5265636970726f63616c2d4c6963656e736500000000001a416c6c6f7765642d576974682d4174747269627574696f6e0000000000000018)])" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x3113e5bfe2251a9fca1225083cf6d36547e63e07", + "gas": "0x164d60", + "value": "0x0", + "data": "0xc8cea2150000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000095350554d4c2d312e300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004a68747470733a2f2f6769746875622e636f6d2f73746f727970726f746f636f6c2f70726f746f636f6c2d636f6e7472616374732f626c6f622f6d61696e2f5350554d4c2d76312e70646600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000003004368616e6e656c732d4f662d446973747269627574696f6e00000000000000180000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004174747269627574696f6e00000000000000000000000000000000000000000b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044657269766174697665732d416c6c6f776564000000000000000000000000130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044657269766174697665732d416c6c6f7765642d4f7074696f6e73000000001b0000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000003416c6c6f7765642d576974682d417070726f76616c0000000000000000000015416c6c6f7765642d5265636970726f63616c2d4c6963656e736500000000001a416c6c6f7765642d576974682d4174747269627574696f6e0000000000000018", + "nonce": "0x81a", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x268e37803ef61c5be00822983907bf7cae439a10f5bce3006a454e86cfc5bdba", + "transactionIndex": "0x9", + "blockHash": "0x83939979c94f8185c480a04497b4f06bb9ac89d21e4df43ea81b63a475974ffb", + "blockNumber": "0x49ebbb", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x1d4ae6", + "gasUsed": "0x198ffa", + "contractAddress": "0x8db8b66518E9Cb412aF5573c5423582587117533", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb88c4321" + }, + { + "transactionHash": "0xfde8bcaa71872ceb1f5570fe234905444695bf220597adb0facee691a0e936ed", + "transactionIndex": "0xa", + "blockHash": "0x83939979c94f8185c480a04497b4f06bb9ac89d21e4df43ea81b63a475974ffb", + "blockNumber": "0x49ebbb", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x202ccb", + "gasUsed": "0x2e1e5", + "contractAddress": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "logs": [ + { + "address": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "topics": [ + "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", + "0x0000000000000000000000008db8b66518e9cb412af5573c5423582587117533" + ], + "data": "0x", + "blockHash": "0x83939979c94f8185c480a04497b4f06bb9ac89d21e4df43ea81b63a475974ffb", + "blockNumber": "0x49ebbb", + "transactionHash": "0xfde8bcaa71872ceb1f5570fe234905444695bf220597adb0facee691a0e936ed", + "transactionIndex": "0xa", + "logIndex": "0x1", + "removed": false + }, + { + "address": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0x83939979c94f8185c480a04497b4f06bb9ac89d21e4df43ea81b63a475974ffb", + "blockNumber": "0x49ebbb", + "transactionHash": "0xfde8bcaa71872ceb1f5570fe234905444695bf220597adb0facee691a0e936ed", + "transactionIndex": "0xa", + "logIndex": "0x2", + "removed": false + }, + { + "address": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "topics": [ + "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x83939979c94f8185c480a04497b4f06bb9ac89d21e4df43ea81b63a475974ffb", + "blockNumber": "0x49ebbb", + "transactionHash": "0xfde8bcaa71872ceb1f5570fe234905444695bf220597adb0facee691a0e936ed", + "transactionIndex": "0xa", + "logIndex": "0x3", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000004000000000000000000000000400000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000002000000000000020000000100000000000000000000020000400000000000000800000000000000000000000000000000000000002000000000000000000000000000000000000080000000000000000020000000000000000000000000000400000000000000000000001000000000000000000020000000000000000000040000000000008000000100400000000020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb88c4321" + }, + { + "transactionHash": "0x8d77b124c15a9a95e83130954ba5e386bfa09db488506462c492d1d8932062e5", + "transactionIndex": "0xb", + "blockHash": "0x83939979c94f8185c480a04497b4f06bb9ac89d21e4df43ea81b63a475974ffb", + "blockNumber": "0x49ebbb", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x393758", + "gasUsed": "0x190a8d", + "contractAddress": "0x3113e5bfe2251A9fcA1225083cf6d36547E63e07", + "logs": [ + { + "address": "0x3113e5bfe2251A9fcA1225083cf6d36547E63e07", + "topics": [ + "0xc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da9709", + "0x000000000000000000000000518ccd79e0e7b75fd5fcc09463fb09cb7d55470d" + ], + "data": "0x", + "blockHash": "0x83939979c94f8185c480a04497b4f06bb9ac89d21e4df43ea81b63a475974ffb", + "blockNumber": "0x49ebbb", + "transactionHash": "0x8d77b124c15a9a95e83130954ba5e386bfa09db488506462c492d1d8932062e5", + "transactionIndex": "0xb", + "logIndex": "0x4", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000200000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb88c4321" + }, + { + "transactionHash": "0x5cef1fa852da9c51bb37504446cea2708bcf829485ef6af1f4b6f4ebfaad27aa", + "transactionIndex": "0xc", + "blockHash": "0x83939979c94f8185c480a04497b4f06bb9ac89d21e4df43ea81b63a475974ffb", + "blockNumber": "0x49ebbb", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x578763", + "gasUsed": "0x1e500b", + "contractAddress": "0x51870A0659A87c7B46baEF7311B3128006E1FB16", + "logs": [ + { + "address": "0x51870A0659A87c7B46baEF7311B3128006E1FB16", + "topics": [ + "0xc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da9709", + "0x000000000000000000000000518ccd79e0e7b75fd5fcc09463fb09cb7d55470d" + ], + "data": "0x", + "blockHash": "0x83939979c94f8185c480a04497b4f06bb9ac89d21e4df43ea81b63a475974ffb", + "blockNumber": "0x49ebbb", + "transactionHash": "0x5cef1fa852da9c51bb37504446cea2708bcf829485ef6af1f4b6f4ebfaad27aa", + "transactionIndex": "0xc", + "logIndex": "0x5", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000100004000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000400000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb88c4321" + }, + { + "transactionHash": "0x20e56a5db623534cd0345e992dbfdfb712f9caca6d59b310c070a7eee9e19215", + "transactionIndex": "0xd", + "blockHash": "0x83939979c94f8185c480a04497b4f06bb9ac89d21e4df43ea81b63a475974ffb", + "blockNumber": "0x49ebbb", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x66480c", + "gasUsed": "0xec0a9", + "contractAddress": "0x5B81030C087d41558E3FCF23B3575E85c9A768e6", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb88c4321" + }, + { + "transactionHash": "0x2bb57468dbedb53b56ff6025980717fb50edbc2eeb91c444d76620313646e2f1", + "transactionIndex": "0xe", + "blockHash": "0x83939979c94f8185c480a04497b4f06bb9ac89d21e4df43ea81b63a475974ffb", + "blockNumber": "0x49ebbb", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x963f99", + "gasUsed": "0x2ff78d", + "contractAddress": "0x826a953332Df2e1a994C7CFae68E129ba683Aa8F", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb88c4321" + }, + { + "transactionHash": "0x6b6536c934fc7d4d1dba6374b0f6658c59bb0bc6b60a04a54a798accc816c975", + "transactionIndex": "0xf", + "blockHash": "0x83939979c94f8185c480a04497b4f06bb9ac89d21e4df43ea81b63a475974ffb", + "blockNumber": "0x49ebbb", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0xdefb37", + "gasUsed": "0x48bb9e", + "contractAddress": "0x9Be54430f2962a115353Ad2e8c62A106bBe71849", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb88c4321" + }, + { + "transactionHash": "0x23a9b55f090db2b42a8eecd0d860389790e13ae95d7c16651550c6f5f8d9434f", + "transactionIndex": "0x10", + "blockHash": "0x83939979c94f8185c480a04497b4f06bb9ac89d21e4df43ea81b63a475974ffb", + "blockNumber": "0x49ebbb", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x1050368", + "gasUsed": "0x260831", + "contractAddress": "0xC4F7E87F9FF2A2DF9bC7FF8399558B594EBF911A", + "logs": [ + { + "address": "0xC4F7E87F9FF2A2DF9bC7FF8399558B594EBF911A", + "topics": [ + "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", + "0x0000000000000000000000009be54430f2962a115353ad2e8c62a106bbe71849" + ], + "data": "0x", + "blockHash": "0x83939979c94f8185c480a04497b4f06bb9ac89d21e4df43ea81b63a475974ffb", + "blockNumber": "0x49ebbb", + "transactionHash": "0x23a9b55f090db2b42a8eecd0d860389790e13ae95d7c16651550c6f5f8d9434f", + "transactionIndex": "0x10", + "logIndex": "0x6", + "removed": false + }, + { + "address": "0x32ef4938e99BBD517F1f673470270aeedE017a7a", + "topics": [ + "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x83939979c94f8185c480a04497b4f06bb9ac89d21e4df43ea81b63a475974ffb", + "blockNumber": "0x49ebbb", + "transactionHash": "0x23a9b55f090db2b42a8eecd0d860389790e13ae95d7c16651550c6f5f8d9434f", + "transactionIndex": "0x10", + "logIndex": "0x7", + "removed": false + }, + { + "address": "0xC4F7E87F9FF2A2DF9bC7FF8399558B594EBF911A", + "topics": [ + "0xc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da9709", + "0x000000000000000000000000518ccd79e0e7b75fd5fcc09463fb09cb7d55470d" + ], + "data": "0x", + "blockHash": "0x83939979c94f8185c480a04497b4f06bb9ac89d21e4df43ea81b63a475974ffb", + "blockNumber": "0x49ebbb", + "transactionHash": "0x23a9b55f090db2b42a8eecd0d860389790e13ae95d7c16651550c6f5f8d9434f", + "transactionIndex": "0x10", + "logIndex": "0x8", + "removed": false + }, + { + "address": "0xC4F7E87F9FF2A2DF9bC7FF8399558B594EBF911A", + "topics": [ + "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x83939979c94f8185c480a04497b4f06bb9ac89d21e4df43ea81b63a475974ffb", + "blockNumber": "0x49ebbb", + "transactionHash": "0x23a9b55f090db2b42a8eecd0d860389790e13ae95d7c16651550c6f5f8d9434f", + "transactionIndex": "0x10", + "logIndex": "0x9", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000400000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000002040004000000000000a00000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000100000008000000080000000000080000000000000000000000000000000000000000000000400000000010000400000000000000000000000000020010000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000004008000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb88c4321" + }, + { + "transactionHash": "0x3f1232fc659c4a138d1986e263b91319bb7d1cfd0a1aabdea21de303fa36756f", + "transactionIndex": "0x11", + "blockHash": "0x83939979c94f8185c480a04497b4f06bb9ac89d21e4df43ea81b63a475974ffb", + "blockNumber": "0x49ebbb", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x1250318", + "gasUsed": "0x1fffb0", + "contractAddress": "0x25A6f44df208E8Cc79E97fE72E240F4cDb3D9a46", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb88c4321" + }, + { + "transactionHash": "0x9bf0846cfcc00ddefe61416013db4b321a377e294fd6bd0a34363c9c93f18781", + "transactionIndex": "0x12", + "blockHash": "0x83939979c94f8185c480a04497b4f06bb9ac89d21e4df43ea81b63a475974ffb", + "blockNumber": "0x49ebbb", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x170e9fb", + "gasUsed": "0x4be6e3", + "contractAddress": "0xD3E9F80F4Cc22761587B19A7F5335A017bcB0eCd", + "logs": [ + { + "address": "0xD3E9F80F4Cc22761587B19A7F5335A017bcB0eCd", + "topics": [ + "0xc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da9709", + "0x000000000000000000000000518ccd79e0e7b75fd5fcc09463fb09cb7d55470d" + ], + "data": "0x", + "blockHash": "0x83939979c94f8185c480a04497b4f06bb9ac89d21e4df43ea81b63a475974ffb", + "blockNumber": "0x49ebbb", + "transactionHash": "0x9bf0846cfcc00ddefe61416013db4b321a377e294fd6bd0a34363c9c93f18781", + "transactionIndex": "0x12", + "logIndex": "0xa", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000200000000000000000000000000000000004000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb88c4321" + }, + { + "transactionHash": "0xd27abaa9b1d80e05ddefe448f5674ee786621d742a591d4c2ea3d7a634885714", + "transactionIndex": "0x13", + "blockHash": "0x83939979c94f8185c480a04497b4f06bb9ac89d21e4df43ea81b63a475974ffb", + "blockNumber": "0x49ebbb", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x1b12391", + "gasUsed": "0x403996", + "contractAddress": "0x5fb712AF304570aD9599e55E1105b7a42a5e30Db", + "logs": [ + { + "address": "0x5fb712AF304570aD9599e55E1105b7a42a5e30Db", + "topics": [ + "0xc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da9709", + "0x000000000000000000000000518ccd79e0e7b75fd5fcc09463fb09cb7d55470d" + ], + "data": "0x", + "blockHash": "0x83939979c94f8185c480a04497b4f06bb9ac89d21e4df43ea81b63a475974ffb", + "blockNumber": "0x49ebbb", + "transactionHash": "0xd27abaa9b1d80e05ddefe448f5674ee786621d742a591d4c2ea3d7a634885714", + "transactionIndex": "0x13", + "logIndex": "0xb", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000200000400000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000400000000000000000000000000000000000000000000000000010000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb88c4321" + }, + { + "transactionHash": "0xb86c38745a8d892c1604649381942ca13b63cfe211e0b01efce0887852361d11", + "transactionIndex": "0x2", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x430ec4", + "gasUsed": "0x426ab4", + "contractAddress": "0x058bB0D7795CfA2a46C60C0b63F8f0fa7cD1EEd5", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + }, + { + "transactionHash": "0x8f5a3400435f0fb05e7fbe4fe81304716808b3061c16cd5cceb4a6027bdafdd9", + "transactionIndex": "0x3", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x47c413", + "gasUsed": "0x4b54f", + "contractAddress": "0x499527835364a150290231B84C6a5297E5dd0024", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + }, + { + "transactionHash": "0x8b356cbc685595174796414c99a5d40e3afd1efff57081804bf8b019fee871ca", + "transactionIndex": "0x4", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x499527835364a150290231B84C6a5297E5dd0024", + "cumulativeGasUsed": "0x548f3f", + "gasUsed": "0xccb2c", + "contractAddress": null, + "logs": [ + { + "address": "0x919Cc6581801039f92863862B186025a1F562B17", + "topics": [ + "0xc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da9709", + "0x000000000000000000000000518ccd79e0e7b75fd5fcc09463fb09cb7d55470d" + ], + "data": "0x", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0x8b356cbc685595174796414c99a5d40e3afd1efff57081804bf8b019fee871ca", + "transactionIndex": "0x4", + "logIndex": "0x0", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000008000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + }, + { + "transactionHash": "0x320fcca1822ce25672b02b24f7323526c37aee94e33ea2d5dbd92d67a4f8569d", + "transactionIndex": "0x5", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x499527835364a150290231B84C6a5297E5dd0024", + "cumulativeGasUsed": "0x67ffc7", + "gasUsed": "0x137088", + "contractAddress": null, + "logs": [ + { + "address": "0x6b71284309DF6871cC28595d938eC57A5Ad06A0A", + "topics": [ + "0xc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da9709", + "0x000000000000000000000000518ccd79e0e7b75fd5fcc09463fb09cb7d55470d" + ], + "data": "0x", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0x320fcca1822ce25672b02b24f7323526c37aee94e33ea2d5dbd92d67a4f8569d", + "transactionIndex": "0x5", + "logIndex": "0x1", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000020000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000400000000000000000000000000000000000000010000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + }, + { + "transactionHash": "0x5d04194e7e2a17cce05c6f6a35b73030d6ae2f12fd61bebdaaeb100bb4b86090", + "transactionIndex": "0x6", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x7fbeec", + "gasUsed": "0x17bf25", + "contractAddress": "0x4facD61ea098FB09C03dBE33D98Cc8Fe4D35eb5e", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + }, + { + "transactionHash": "0x47aa93a51bc40c5445afcc850299e083f3e6e3cd27cd7eb9969c87c25803eb33", + "transactionIndex": "0x7", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "cumulativeGasUsed": "0x809a61", + "gasUsed": "0xdb75", + "contractAddress": null, + "logs": [ + { + "address": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0x47aa93a51bc40c5445afcc850299e083f3e6e3cd27cd7eb9969c87c25803eb33", + "transactionIndex": "0x7", + "logIndex": "0x2", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000004000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000800000000000000000000000000020000000100000000000000000000000000000000000000000000000000000000000000010000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000008000000100400000000000000080000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + }, + { + "transactionHash": "0x403d9d27ae2ee4b5c04c9837c02b8a5d2e366b649b2589df87a26027ea2c2df0", + "transactionIndex": "0x8", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "cumulativeGasUsed": "0x8175d6", + "gasUsed": "0xdb75", + "contractAddress": null, + "logs": [ + { + "address": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x637821dcee84aabec9c8cf4f6f643013a24ad27fd41511ffd937aea80d8619a9", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0x403d9d27ae2ee4b5c04c9837c02b8a5d2e366b649b2589df87a26027ea2c2df0", + "transactionIndex": "0x8", + "logIndex": "0x3", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000004008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000800000000000000000000000000020000000100000000000000000000000000000000000000000000000000000000000000000000100000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000008000000100400000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + }, + { + "transactionHash": "0x2e3d10d1c62e824d02b989b573bc2676938d73278fd434e4e28b2e887a8d5c41", + "transactionIndex": "0x9", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "cumulativeGasUsed": "0x82514b", + "gasUsed": "0xdb75", + "contractAddress": null, + "logs": [ + { + "address": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0xa8b84e71bc3552b48fea3678097679554a90f0e2c12c536a8bd697c05041e279", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0x2e3d10d1c62e824d02b989b573bc2676938d73278fd434e4e28b2e887a8d5c41", + "transactionIndex": "0x9", + "logIndex": "0x4", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000004000000000000000000000000000000000000000020000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000010800000000000000000000000000020000000100000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000008000000100400000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + }, + { + "transactionHash": "0x32f92ba64f8b30d430206406af9100b703d5af754503ccb3807c7d29b910f55c", + "transactionIndex": "0xa", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "cumulativeGasUsed": "0x832cc0", + "gasUsed": "0xdb75", + "contractAddress": null, + "logs": [ + { + "address": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x256895704541e78004f0fd55953a8bcc54c628755b14fbf53afdc556473f9bd0", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0x32f92ba64f8b30d430206406af9100b703d5af754503ccb3807c7d29b910f55c", + "transactionIndex": "0xa", + "logIndex": "0x5", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000004000000000000000000000000000000040000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000800000000000000000000000000020000000100001000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000008000000100400000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + }, + { + "transactionHash": "0xcba312354d7f71791424f1317bb1128375f356bc112babf03c77b5066eb1e219", + "transactionIndex": "0xb", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "cumulativeGasUsed": "0x840835", + "gasUsed": "0xdb75", + "contractAddress": null, + "logs": [ + { + "address": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x02f7fd2cb4d8e8ad75bab0a56a6f1ed7091336a83e11ccacc4e51f915215ab4c", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0xcba312354d7f71791424f1317bb1128375f356bc112babf03c77b5066eb1e219", + "transactionIndex": "0xb", + "logIndex": "0x6", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000020000000100000080000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000008000000100400000000000000000000000000000000000000000000000000000000040000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + }, + { + "transactionHash": "0xb4bb24a91d9099eac2be9ed61af556a881a10f41750c37731f8cbc1b31d708f0", + "transactionIndex": "0xc", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "cumulativeGasUsed": "0x84e39e", + "gasUsed": "0xdb69", + "contractAddress": null, + "logs": [ + { + "address": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0xc9a6ce5d86bdc06f8d57f20091bf09bf611e57d0626b65aa9ebb3c9179ba650f", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0xb4bb24a91d9099eac2be9ed61af556a881a10f41750c37731f8cbc1b31d708f0", + "transactionIndex": "0xc", + "logIndex": "0x7", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000004000000000000000000000000000000000000000000000000000000000000000000008000000000000020000000000000000000000000000000000000000000000000000800000000000000000000000000020000000100000000000000000000000000000000000000000000000000000020000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000008000000100400000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + }, + { + "transactionHash": "0x94192c5603f740fb5da599625b671b698572da3fbe9ba8756aca02d8a1150e83", + "transactionIndex": "0xd", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "cumulativeGasUsed": "0x85bf13", + "gasUsed": "0xdb75", + "contractAddress": null, + "logs": [ + { + "address": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0xe4a10d29decbd34c09a62a511d4fd993a7d8cbbf58d7d4278711c29c9148b8f7", + "0x00000000000000000000000025a6f44df208e8cc79e97fe72e240f4cdb3d9a46", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0x94192c5603f740fb5da599625b671b698572da3fbe9ba8756aca02d8a1150e83", + "transactionIndex": "0xd", + "logIndex": "0x8", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000104000000000000000000000000000000000000000000000000000004800000000000000000000000000000000000000000002000000000000000000000000000000000000800000000000000000000000000020000000100000000200000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000008000000100400000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + }, + { + "transactionHash": "0xc3de772cd32c687c606cfe44ac27799d5f1ad6a2bba49f3e4911436a3d2dcd72", + "transactionIndex": "0xe", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "cumulativeGasUsed": "0x869a88", + "gasUsed": "0xdb75", + "contractAddress": null, + "logs": [ + { + "address": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0xe4a10d29decbd34c09a62a511d4fd993a7d8cbbf58d7d4278711c29c9148b8f7", + "0x000000000000000000000000c4f7e87f9ff2a2df9bc7ff8399558b594ebf911a", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0xc3de772cd32c687c606cfe44ac27799d5f1ad6a2bba49f3e4911436a3d2dcd72", + "transactionIndex": "0xe", + "logIndex": "0x9", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000104000000000000000000000000000000000000000000000000000004800000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000020000000100000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000001000000000000000000000000000008000000000000000000000008000000100400000000000000000000000000000010000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + }, + { + "transactionHash": "0x48fea7539c9635665a5fe2f6b93d9b7cbcdc277d355e5535866020321769aac7", + "transactionIndex": "0xf", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "cumulativeGasUsed": "0x8775fd", + "gasUsed": "0xdb75", + "contractAddress": null, + "logs": [ + { + "address": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db", + "0x00000000000000000000000051870a0659a87c7b46baef7311b3128006e1fb16", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0x48fea7539c9635665a5fe2f6b93d9b7cbcdc277d355e5535866020321769aac7", + "transactionIndex": "0xf", + "logIndex": "0xa", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000020000000100000000000000000200000000000000000000040000000000000000000000000000000000000000002000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000010000000000000000008000000100400000000000000000000000000000000000000000000000000000000000000800000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + }, + { + "transactionHash": "0x06d0014648eafa4a0d15871f9f93113d3c8ef3feae041b868736c0687a65b5b5", + "transactionIndex": "0x10", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "cumulativeGasUsed": "0x885172", + "gasUsed": "0xdb75", + "contractAddress": null, + "logs": [ + { + "address": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db", + "0x000000000000000000000000d3e9f80f4cc22761587b19a7f5335a017bcb0ecd", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0x06d0014648eafa4a0d15871f9f93113d3c8ef3feae041b868736c0687a65b5b5", + "transactionIndex": "0x10", + "logIndex": "0xb", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000020000000100000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000180000000000000100000000000000000000000008000000000000000000001000000000000000000000000000008000000000000000000000008000000100400000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + }, + { + "transactionHash": "0x05436d8041d4feb5101821ab547d2a561514ab8e4822be7e65dd416a26a9a2a8", + "transactionIndex": "0x11", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "cumulativeGasUsed": "0x892ce7", + "gasUsed": "0xdb75", + "contractAddress": null, + "logs": [ + { + "address": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db", + "0x0000000000000000000000005fb712af304570ad9599e55e1105b7a42a5e30db", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0x05436d8041d4feb5101821ab547d2a561514ab8e4822be7e65dd416a26a9a2a8", + "transactionIndex": "0x11", + "logIndex": "0xc", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000800000000000000000000000000020000000100000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000001000000000000000000020000000000000000000000000000000008000000100400000000000000000000000000000000000000000000000000000000000000000000000800000", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + }, + { + "transactionHash": "0xe28f471cdaacea3748c1fa39bf1ed94ce6fceb0cfb3d2209c1ebc4ff053806eb", + "transactionIndex": "0x12", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "cumulativeGasUsed": "0x8a085c", + "gasUsed": "0xdb75", + "contractAddress": null, + "logs": [ + { + "address": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db", + "0x000000000000000000000000058bb0d7795cfa2a46c60c0b63f8f0fa7cd1eed5", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0xe28f471cdaacea3748c1fa39bf1ed94ce6fceb0cfb3d2209c1ebc4ff053806eb", + "transactionIndex": "0x12", + "logIndex": "0xd", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000020000000100000000000000000200000000000000000000000000000000080000000000000000000000000000002000000000000000000000000000000000000000000000180000000000000000000000000000000000000008000000000000000000001000000000000000000000000000000000000000000000000000008000000100400000000000000000000000000000000000000000020000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + }, + { + "transactionHash": "0x84bf3d8ff2fd42cb33def0c55c627b34904230f3e7372dedd41a640271383afe", + "transactionIndex": "0x13", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x51870A0659A87c7B46baEF7311B3128006E1FB16", + "cumulativeGasUsed": "0x8af348", + "gasUsed": "0xeaec", + "contractAddress": null, + "logs": [ + { + "address": "0x51870A0659A87c7B46baEF7311B3128006E1FB16", + "topics": [ + "0x14d77cb3ef4c75b9a031527cf63890f47708121a75c8b9c9cddbacc19defd122", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000d3e9f80f4cc22761587b19a7f5335a017bcb0ecd" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000013524547495354524154494f4e5f4d4f44554c4500000000000000000000000000", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0x84bf3d8ff2fd42cb33def0c55c627b34904230f3e7372dedd41a640271383afe", + "transactionIndex": "0x13", + "logIndex": "0xe", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000100000000000000000020000000000000000000000020000000000000000000800000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000100000000000000000002000008000000000000000000000000000000000000400000000000008000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + }, + { + "transactionHash": "0xd59894c1a06160516ca2bcc779bbe338f4cfebedbe5a9cee12dfc2159a0ab988", + "transactionIndex": "0x14", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x51870A0659A87c7B46baEF7311B3128006E1FB16", + "cumulativeGasUsed": "0x8bde34", + "gasUsed": "0xeaec", + "contractAddress": null, + "logs": [ + { + "address": "0x51870A0659A87c7B46baEF7311B3128006E1FB16", + "topics": [ + "0x14d77cb3ef4c75b9a031527cf63890f47708121a75c8b9c9cddbacc19defd122", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000005fb712af304570ad9599e55e1105b7a42a5e30db" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001352454c4154494f4e534849505f4d4f44554c4500000000000000000000000000", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0xd59894c1a06160516ca2bcc779bbe338f4cfebedbe5a9cee12dfc2159a0ab988", + "transactionIndex": "0x14", + "logIndex": "0xf", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000080000100000000000000000020000000000000000000000020000000000000000000800000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000400020000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000800000", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + }, + { + "transactionHash": "0x1ffb1a979bb740b3d72d9283c509e19bac5ca1b185e2cdc3d9caf9b86233d831", + "transactionIndex": "0x15", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x51870A0659A87c7B46baEF7311B3128006E1FB16", + "cumulativeGasUsed": "0x8cc8fc", + "gasUsed": "0xeac8", + "contractAddress": null, + "logs": [ + { + "address": "0x51870A0659A87c7B46baEF7311B3128006E1FB16", + "topics": [ + "0x14d77cb3ef4c75b9a031527cf63890f47708121a75c8b9c9cddbacc19defd122", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000058bb0d7795cfa2a46c60c0b63f8f0fa7cd1eed5" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000104c4943454e53494e475f4d4f44554c4500000000000000000000000000000000", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0x1ffb1a979bb740b3d72d9283c509e19bac5ca1b185e2cdc3d9caf9b86233d831", + "transactionIndex": "0x15", + "logIndex": "0x10", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000100000000000000000020000000000000000000000020000000000000000000800000000080000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000002000008000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000020000000000000000000000000000000020000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + }, + { + "transactionHash": "0x801095c317c215a221d06d8cdb3b0a22ebbef014f7acabef627fdae7f756f247", + "transactionIndex": "0x16", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x25A6f44df208E8Cc79E97fE72E240F4cDb3D9a46", + "cumulativeGasUsed": "0x913436", + "gasUsed": "0x46b3a", + "contractAddress": null, + "logs": [ + { + "address": "0x1434fC16D6f101605d79577E86A5005424461570", + "topics": [ + "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0x801095c317c215a221d06d8cdb3b0a22ebbef014f7acabef627fdae7f756f247", + "transactionIndex": "0x16", + "logIndex": "0x11", + "removed": false + }, + { + "address": "0x51870A0659A87c7B46baEF7311B3128006E1FB16", + "topics": [ + "0x48786003f3d30e41bfa4ee09afdeb9bfb04b7e06e2f74f3177da393a793bbc33", + "0x0000000000000000000000001434fc16d6f101605d79577e86a5005424461570", + "0x000000000000000000000000c4f7e87f9ff2a2df9bc7ff8399558b594ebf911a" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000013524547495354524154494f4e5f4d4f44554c450000000000000000000000000000000000000000000000000000000000000000000000000000000000000001609aeb830ec91a14c97a5446cc7c86a42f73a78f37f9a77afa238b5d11520ddfbc000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000553544f525900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000094348415241435445520000000000000000000000000000000000000000000000", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0x801095c317c215a221d06d8cdb3b0a22ebbef014f7acabef627fdae7f756f247", + "transactionIndex": "0x16", + "logIndex": "0x12", + "removed": false + }, + { + "address": "0xC4F7E87F9FF2A2DF9bC7FF8399558B594EBF911A", + "topics": [ + "0x81e084d978860accc83df39f75b801d9019e40d18643b9b39f4cd2a70ca35adb" + ], + "data": "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab0000000000000000000000001434fc16d6f101605d79577e86a500542446157000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000d53616d706c65204950204f72670000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000045349504f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000553544f525900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000094348415241435445520000000000000000000000000000000000000000000000", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0x801095c317c215a221d06d8cdb3b0a22ebbef014f7acabef627fdae7f756f247", + "transactionIndex": "0x16", + "logIndex": "0x13", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000008000020000000000000000000000000000004000000000000000002000000000140000000000000000020000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000002100000000000000000000000000080000000000000010000000000000000000100000000000400000000040000000000000000000001000008400000000000008000000000040000000000000000000000000000000002000000000000000000010000080000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + }, + { + "transactionHash": "0xe4a5f49d9dd2944e060cbb1557f354424cfd005bef16109ffc9ede5ebf0269db", + "transactionIndex": "0x17", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x51870A0659A87c7B46baEF7311B3128006E1FB16", + "cumulativeGasUsed": "0x927702", + "gasUsed": "0x142cc", + "contractAddress": null, + "logs": [ + { + "address": "0x51870A0659A87c7B46baEF7311B3128006E1FB16", + "topics": [ + "0x33f12a9d70fd5f6771d495aae3b2cf0abc703cbaa526982b65446f1ef8816f9b", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000919cc6581801039f92863862b186025a1f562b17" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010544f4b454e5f47415445445f484f4f4b00000000000000000000000000000000", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0xe4a5f49d9dd2944e060cbb1557f354424cfd005bef16109ffc9ede5ebf0269db", + "transactionIndex": "0x17", + "logIndex": "0x14", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000100000000000000000020000000000000000080000020000000000000000000800000000000000000000000010000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000020000000000000000020", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + }, + { + "transactionHash": "0x9bac9b42100faa9ae0888a1d9e234c364aee08f5915774332eb66b1009e78510", + "transactionIndex": "0x18", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x51870A0659A87c7B46baEF7311B3128006E1FB16", + "cumulativeGasUsed": "0x93b9e6", + "gasUsed": "0x142e4", + "contractAddress": null, + "logs": [ + { + "address": "0x51870A0659A87c7B46baEF7311B3128006E1FB16", + "topics": [ + "0x33f12a9d70fd5f6771d495aae3b2cf0abc703cbaa526982b65446f1ef8816f9b", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000006b71284309df6871cc28595d938ec57a5ad06a0a" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000012504f4c59474f4e5f544f4b454e5f484f4f4b0000000000000000000000000000", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0x9bac9b42100faa9ae0888a1d9e234c364aee08f5915774332eb66b1009e78510", + "transactionIndex": "0x18", + "logIndex": "0x15", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000100000000000000000020000000000000000080000020000000000000000000800000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000008000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000020000000008000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + }, + { + "transactionHash": "0x16a8fff5090d2589d2b306d04af5275d6aba1bcf3dcc4f62067393369d13cf57", + "transactionIndex": "0x19", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0xD3E9F80F4Cc22761587B19A7F5335A017bcB0eCd", + "cumulativeGasUsed": "0x9819d9", + "gasUsed": "0x45ff3", + "contractAddress": null, + "logs": [ + { + "address": "0xD3E9F80F4Cc22761587B19A7F5335A017bcB0eCd", + "topics": [ + "0x1fe48a4ec69671720d8bdd8f8a6853d16f486c0bb91fcaf5b8ffc4932b8bc9f4", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x5687dcebb2ddc5ef0e24a46ac21ce3b7b786a733bb07d7fdc588634a193227a7" + ], + "data": "0x", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0x16a8fff5090d2589d2b306d04af5275d6aba1bcf3dcc4f62067393369d13cf57", + "transactionIndex": "0x19", + "logIndex": "0x16", + "removed": false + }, + { + "address": "0xD3E9F80F4Cc22761587B19A7F5335A017bcB0eCd", + "topics": [ + "0x5e140eb5bed8bcb1664a04c0be4aa419e0d2dbf1277a4a6770882a0beb3b91b2", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x5687dcebb2ddc5ef0e24a46ac21ce3b7b786a733bb07d7fdc588634a193227a7" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000919cc6581801039f92863862b186025a1f562b170000000000000000000000006b71284309df6871cc28595d938ec57a5ad06a0a", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0x16a8fff5090d2589d2b306d04af5275d6aba1bcf3dcc4f62067393369d13cf57", + "transactionIndex": "0x19", + "logIndex": "0x17", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000200000000000004000100000000000000000000000020000000000000000000000000000000000000000000000000040000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000820000000000000000000800000000000000000000000001000000000000000000000000080000000000040000000000000001000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + }, + { + "transactionHash": "0xa3c1a3087c5a99a0fb87108b28c61b94ed9500616da895ed7590a96face368ca", + "transactionIndex": "0x1a", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x3113e5bfe2251A9fcA1225083cf6d36547E63e07", + "cumulativeGasUsed": "0xa83f56", + "gasUsed": "0x10257d", + "contractAddress": null, + "logs": [ + { + "address": "0x3113e5bfe2251A9fcA1225083cf6d36547E63e07", + "topics": [ + "0x25be0d4acedf2199ce49f3044ddf933ebe2febd8c63bd2cdd7ed12b458fc3361" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000604368616e6e656c732d4f662d446973747269627574696f6e000000000000001800000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000095350554d4c2d312e3000000000000000000000000000000000000000000000004368616e6e656c732d4f662d446973747269627574696f6e00000000000000180000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0xa3c1a3087c5a99a0fb87108b28c61b94ed9500616da895ed7590a96face368ca", + "transactionIndex": "0x1a", + "logIndex": "0x18", + "removed": false + }, + { + "address": "0x3113e5bfe2251A9fcA1225083cf6d36547E63e07", + "topics": [ + "0x25be0d4acedf2199ce49f3044ddf933ebe2febd8c63bd2cdd7ed12b458fc3361" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000604174747269627574696f6e00000000000000000000000000000000000000000b00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000095350554d4c2d312e3000000000000000000000000000000000000000000000004174747269627574696f6e00000000000000000000000000000000000000000b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0xa3c1a3087c5a99a0fb87108b28c61b94ed9500616da895ed7590a96face368ca", + "transactionIndex": "0x1a", + "logIndex": "0x19", + "removed": false + }, + { + "address": "0x3113e5bfe2251A9fcA1225083cf6d36547E63e07", + "topics": [ + "0x25be0d4acedf2199ce49f3044ddf933ebe2febd8c63bd2cdd7ed12b458fc3361" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000006044657269766174697665732d416c6c6f7765640000000000000000000000001300000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000095350554d4c2d312e30000000000000000000000000000000000000000000000044657269766174697665732d416c6c6f776564000000000000000000000000130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0xa3c1a3087c5a99a0fb87108b28c61b94ed9500616da895ed7590a96face368ca", + "transactionIndex": "0x1a", + "logIndex": "0x1a", + "removed": false + }, + { + "address": "0x3113e5bfe2251A9fcA1225083cf6d36547E63e07", + "topics": [ + "0x25be0d4acedf2199ce49f3044ddf933ebe2febd8c63bd2cdd7ed12b458fc3361" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000006044657269766174697665732d416c6c6f7765642d4f7074696f6e73000000001b00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000095350554d4c2d312e30000000000000000000000000000000000000000000000044657269766174697665732d416c6c6f7765642d4f7074696f6e73000000001b0000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000003416c6c6f7765642d576974682d417070726f76616c0000000000000000000015416c6c6f7765642d5265636970726f63616c2d4c6963656e736500000000001a416c6c6f7765642d576974682d4174747269627574696f6e0000000000000018", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0xa3c1a3087c5a99a0fb87108b28c61b94ed9500616da895ed7590a96face368ca", + "transactionIndex": "0x1a", + "logIndex": "0x1b", + "removed": false + }, + { + "address": "0x3113e5bfe2251A9fcA1225083cf6d36547E63e07", + "topics": [ + "0xcc3b4b42d496457f15f49a410f201fdb906b09fbff771f240a8dc8418abe68be" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000095350554d4c2d312e300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004a68747470733a2f2f6769746875622e636f6d2f73746f727970726f746f636f6c2f70726f746f636f6c2d636f6e7472616374732f626c6f622f6d61696e2f5350554d4c2d76312e70646600000000000000000000000000000000000000000000", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0xa3c1a3087c5a99a0fb87108b28c61b94ed9500616da895ed7590a96face368ca", + "transactionIndex": "0x1a", + "logIndex": "0x1c", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000100008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + } + ], + "libraries": [], + "pending": [], + "path": "/Users/drmanhattan/Workspace/StoryProtocol/protocol-contracts/broadcast/Main.s.sol/11155111/run-latest.json", + "returns": {}, + "timestamp": 1702012710, + "chain": 11155111, + "multi": false, + "commit": "d1b1d7f" +} \ No newline at end of file diff --git a/broadcast/Main.s.sol/11155111/run-latest.json b/broadcast/Main.s.sol/11155111/run-latest.json new file mode 100644 index 00000000..01066c3e --- /dev/null +++ b/broadcast/Main.s.sol/11155111/run-latest.json @@ -0,0 +1,2035 @@ +{ + "transactions": [ + { + "hash": "0x268e37803ef61c5be00822983907bf7cae439a10f5bce3006a454e86cfc5bdba", + "transactionType": "CREATE", + "contractName": "AccessControlSingleton", + "contractAddress": "0x8db8b66518E9Cb412aF5573c5423582587117533", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x2138be", + "value": "0x0", + "data": "0x60a06040523060805234801561001457600080fd5b50608051611d9061004c600039600081816104d101528181610581015281816106d60152818161078601526108cb0152611d906000f3fe6080604052600436106100dd5760003560e01c806352d1902d1161007f578063a217fddf11610059578063a217fddf146102a8578063ac9650d8146102bd578063c4d66de8146102ea578063d547741f1461030a57600080fd5b806352d1902d146101ea57806354fd4d50146101ff57806391d148541461025557600080fd5b80632f2ff15d116100bb5780632f2ff15d1461017757806336568abe146101975780633659cfe6146101b75780634f1ef286146101d757600080fd5b806301ffc9a7146100e25780631e4e009114610117578063248a9ca314610139575b600080fd5b3480156100ee57600080fd5b506101026100fd3660046117aa565b61032a565b60405190151581526020015b60405180910390f35b34801561012357600080fd5b506101376101323660046117ec565b6103c3565b005b34801561014557600080fd5b5061016961015436600461180e565b60009081526065602052604090206001015490565b60405190815260200161010e565b34801561018357600080fd5b50610137610192366004611850565b6103dd565b3480156101a357600080fd5b506101376101b2366004611850565b610402565b3480156101c357600080fd5b506101376101d236600461187c565b6104ba565b6101376101e53660046118c6565b6106bf565b3480156101f657600080fd5b506101696108b1565b34801561020b57600080fd5b506102486040518060400160405280600581526020017f302e312e3000000000000000000000000000000000000000000000000000000081525081565b60405161010e9190611a14565b34801561026157600080fd5b50610102610270366004611850565b600091825260656020908152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b3480156102b457600080fd5b50610169600081565b3480156102c957600080fd5b506102dd6102d8366004611a27565b61099d565b60405161010e9190611a9c565b3480156102f657600080fd5b5061013761030536600461187c565b610a92565b34801561031657600080fd5b50610137610325366004611850565b610c84565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806103bd57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60006103ce81610ca9565b6103d88383610cb3565b505050565b6000828152606560205260409020600101546103f881610ca9565b6103d88383610cfe565b73ffffffffffffffffffffffffffffffffffffffff811633146104ac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b6104b68282610df2565b5050565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016300361057f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016104a3565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166105f47f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610697576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016104a3565b6106a081610ead565b604080516000808252602082019092526106bc91839190610ed7565b50565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610784576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016104a3565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166107f97f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff161461089c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016104a3565b6108a582610ead565b6104b682826001610ed7565b60003073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610978576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016104a3565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b60608167ffffffffffffffff8111156109b8576109b8611897565b6040519080825280602002602001820160405280156109eb57816020015b60608152602001906001900390816109d65790505b50905060005b82811015610a8b57610a5b30858584818110610a0f57610a0f611b1c565b9050602002810190610a219190611b4b565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506110d692505050565b828281518110610a6d57610a6d611b1c565b60200260200101819052508080610a8390611be6565b9150506109f1565b5092915050565b600054610100900460ff1615808015610ab25750600054600160ff909116105b80610acc5750303b158015610acc575060005460ff166001145b610b58576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016104a3565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610bb657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b73ffffffffffffffffffffffffffffffffffffffff8216610c03576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c0b611102565b610c13611102565b610c1e600083610cfe565b80156104b657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b600082815260656020526040902060010154610c9f81610ca9565b6103d88383610df2565b6106bc813361119b565b600082815260656020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff166104b657600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff85168452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055610d943390565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16156104b657600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e36104b681610ca9565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610f0a576103d883611255565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610f8f575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252610f8c91810190611c1e565b60015b61101b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016104a3565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81146110ca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016104a3565b506103d883838361135f565b60606110fb8383604051806060016040528060278152602001611d346027913961138a565b9392505050565b600054610100900460ff16611199576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016104a3565b565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff166104b6576111db8161140f565b6111e683602061142e565b6040516020016111f7929190611c37565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a00000000000000000000000000000000000000000000000000000000082526104a391600401611a14565b73ffffffffffffffffffffffffffffffffffffffff81163b6112f9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016104a3565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61136883611671565b6000825111806113755750805b156103d85761138483836110d6565b50505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516113b49190611cb8565b600060405180830381855af49150503d80600081146113ef576040519150601f19603f3d011682016040523d82523d6000602084013e6113f4565b606091505b5091509150611405868383876116be565b9695505050505050565b60606103bd73ffffffffffffffffffffffffffffffffffffffff831660145b6060600061143d836002611cd4565b611448906002611ceb565b67ffffffffffffffff81111561146057611460611897565b6040519080825280601f01601f19166020018201604052801561148a576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106114c1576114c1611b1c565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061152457611524611b1c565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000611560846002611cd4565b61156b906001611ceb565b90505b6001811115611608577f303132333435363738396162636465660000000000000000000000000000000085600f16601081106115ac576115ac611b1c565b1a60f81b8282815181106115c2576115c2611b1c565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c9361160181611cfe565b905061156e565b5083156110fb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016104a3565b61167a81611255565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060831561175457825160000361174d5773ffffffffffffffffffffffffffffffffffffffff85163b61174d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016104a3565b508161175e565b61175e8383611766565b949350505050565b8151156117765781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104a39190611a14565b6000602082840312156117bc57600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146110fb57600080fd5b600080604083850312156117ff57600080fd5b50508035926020909101359150565b60006020828403121561182057600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461184b57600080fd5b919050565b6000806040838503121561186357600080fd5b8235915061187360208401611827565b90509250929050565b60006020828403121561188e57600080fd5b6110fb82611827565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080604083850312156118d957600080fd5b6118e283611827565b9150602083013567ffffffffffffffff808211156118ff57600080fd5b818501915085601f83011261191357600080fd5b81358181111561192557611925611897565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561196b5761196b611897565b8160405282815288602084870101111561198457600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b838110156119c15781810151838201526020016119a9565b50506000910152565b600081518084526119e28160208601602086016119a6565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006110fb60208301846119ca565b60008060208385031215611a3a57600080fd5b823567ffffffffffffffff80821115611a5257600080fd5b818501915085601f830112611a6657600080fd5b813581811115611a7557600080fd5b8660208260051b8501011115611a8a57600080fd5b60209290920196919550909350505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015611b0f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452611afd8583516119ca565b94509285019290850190600101611ac3565b5092979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611b8057600080fd5b83018035915067ffffffffffffffff821115611b9b57600080fd5b602001915036819003821315611bb057600080fd5b9250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611c1757611c17611bb7565b5060010190565b600060208284031215611c3057600080fd5b5051919050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351611c6f8160178501602088016119a6565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351611cac8160288401602088016119a6565b01602801949350505050565b60008251611cca8184602087016119a6565b9190910192915050565b80820281158282048414176103bd576103bd611bb7565b808201808211156103bd576103bd611bb7565b600081611d0d57611d0d611bb7565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220c1f5e7366e6e39b285e4066626c260cad32cb7f5868a153eb73217f270d2937864736f6c63430008130033", + "nonce": "0x7f7", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xfde8bcaa71872ceb1f5570fe234905444695bf220597adb0facee691a0e936ed", + "transactionType": "CREATE", + "contractName": "ERC1967Proxy", + "contractAddress": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "function": null, + "arguments": [ + "0x8db8b66518E9Cb412aF5573c5423582587117533", + "0xc4d66de8000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x3bece", + "value": "0x0", + "data": "0x60806040526040516104ee3803806104ee833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c760279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60be806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea264697066735822122091c81c9b8ac755a7e1e08c0e9f65600d21e642457fb84c7f9e0d0a65b62d269064736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c65640000000000000000000000008db8b66518e9cb412af5573c542358258711753300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de8000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab00000000000000000000000000000000000000000000000000000000", + "nonce": "0x7f8", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x8d77b124c15a9a95e83130954ba5e386bfa09db488506462c492d1d8932062e5", + "transactionType": "CREATE", + "contractName": "LicensingFrameworkRepo", + "contractAddress": "0x3113e5bfe2251A9fcA1225083cf6d36547E63e07", + "function": null, + "arguments": [ + "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x208b42", + "value": "0x0", + "data": "0x60806040523480156200001157600080fd5b5060405162001e1f38038062001e1f8339810160408190526200003491620001cd565b80620000516001600160a01b038216637965db0b60e01b620000e1565b62000094576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b038316908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050620001f8565b6000620000ee8362000109565b801562000102575062000102838362000142565b9392505050565b60006200011e826301ffc9a760e01b62000142565b80156200013c57506200013a826001600160e01b031962000142565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d91506000519050828015620001b5575060208210155b8015620001c25750600081115b979650505050505050565b600060208284031215620001e057600080fd5b81516001600160a01b03811681146200010257600080fd5b611c1780620002086000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063c2e26bbb1161005b578063c2e26bbb14610108578063c8cea2151461011b578063e75afa551461012e578063eae376e31461014e57600080fd5b806319129e5a1461008d5780637859a97e146100a25780639faddd20146100c8578063ac9650d8146100e8575b600080fd5b6100a061009b366004611198565b61016e565b005b6100b56100b0366004611217565b6102d2565b6040519081526020015b60405180910390f35b6100db6100d6366004611259565b610302565b6040516100bf91906113d1565b6100fb6100f63660046113e4565b6104e8565b6040516100bf9190611459565b6100db610116366004611259565b6105dd565b6100a06101293660046114d9565b6107cb565b61014161013c366004611217565b6109c4565b6040516100bf9190611514565b61016161015c366004611217565b610bae565b6040516100bf9190611587565b600061017a8133610c62565b6101be576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b6101fe73ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000610d05565b610264576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c00000000000000000000000000000000000060448201526064016101b5565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050565b6000600183836040516102e692919061159a565b9081526040519081900360200190206003015490505b92915050565b604080516080810182526000808252602082015260609181018290528181019190915260006001858560405161033992919061159a565b9081526020016040518091039020905080600301838154811061035e5761035e6115aa565b9060005260206000209060040201604051806080016040529081600082015481526020016001820160009054906101000a900460ff1660058111156103a5576103a56112a5565b60058111156103b6576103b66112a5565b81526020016002820180546103ca906115d9565b80601f01602080910402602001604051908101604052809291908181526020018280546103f6906115d9565b80156104435780601f1061041857610100808354040283529160200191610443565b820191906000526020600020905b81548152906001019060200180831161042657829003601f168201915b5050505050815260200160038201805461045c906115d9565b80601f0160208091040260200160405190810160405280929190818152602001828054610488906115d9565b80156104d55780601f106104aa576101008083540402835291602001916104d5565b820191906000526020600020905b8154815290600101906020018083116104b857829003601f168201915b5050505050815250509150509392505050565b60608167ffffffffffffffff8111156105035761050361162c565b60405190808252806020026020018201604052801561053657816020015b60608152602001906001900390816105215790505b50905060005b828110156105d6576105a63085858481811061055a5761055a6115aa565b905060200281019061056c919061165b565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610d2192505050565b8282815181106105b8576105b86115aa565b602002602001018190525080806105ce906116c0565b91505061053c565b5092915050565b60408051608081018252600080825260208201526060918101829052818101919091526002600085858560405160200161061993929190611768565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181528151602092830120835282820193909352908201600020825160808101909352805483526001810154909183019060ff166005811115610689576106896112a5565b600581111561069a5761069a6112a5565b81526020016002820180546106ae906115d9565b80601f01602080910402602001604051908101604052809291908181526020018280546106da906115d9565b80156107275780601f106106fc57610100808354040283529160200191610727565b820191906000526020600020905b81548152906001019060200180831161070a57829003601f168201915b50505050508152602001600382018054610740906115d9565b80601f016020809104026020016040519081016040528092919081815260200182805461076c906115d9565b80156107b95780601f1061078e576101008083540402835291602001916107b9565b820191906000526020600020905b81548152906001019060200180831161079c57829003601f168201915b50505050508152505090509392505050565b7f256895704541e78004f0fd55953a8bcc54c628755b14fbf53afdc556473f9bd06107f68133610c62565b610835576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016101b5565b60006001610843848061165b565b60405161085192919061159a565b90815260200160405180910390209050600061086f82600101610d46565b11156108a7576040517f7e5d56bb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006108b6604085018561178c565b91505060968111156108f4576040517fb6cb3c0400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b818110156109525761094061090c868061165b565b610919604089018961178c565b85818110610929576109296115aa565b905060200281019061093b91906117f4565b610d50565b8061094a816116c0565b9150506108f7565b50610960602085018561165b565b839161096d919083611881565b507fcc3b4b42d496457f15f49a410f201fdb906b09fbff771f240a8dc8418abe68be610999858061165b565b6109a6602088018861165b565b6040516109b6949392919061199c565b60405180910390a150505050565b6060600183836040516109d892919061159a565b9081526020016040518091039020600301805480602002602001604051908101604052809291908181526020016000905b82821015610ba25783829060005260206000209060040201604051806080016040529081600082015481526020016001820160009054906101000a900460ff166005811115610a5a57610a5a6112a5565b6005811115610a6b57610a6b6112a5565b8152602001600282018054610a7f906115d9565b80601f0160208091040260200160405190810160405280929190818152602001828054610aab906115d9565b8015610af85780601f10610acd57610100808354040283529160200191610af8565b820191906000526020600020905b815481529060010190602001808311610adb57829003601f168201915b50505050508152602001600382018054610b11906115d9565b80601f0160208091040260200160405190810160405280929190818152602001828054610b3d906115d9565b8015610b8a5780601f10610b5f57610100808354040283529160200191610b8a565b820191906000526020600020905b815481529060010190602001808311610b6d57829003601f168201915b50505050508152505081526020019060010190610a09565b50505050905092915050565b606060018383604051610bc292919061159a565b9081526040519081900360200190208054610bdc906115d9565b80601f0160208091040260200160405190810160405280929190818152602001828054610c08906115d9565b8015610c555780601f10610c2a57610100808354040283529160200191610c55565b820191906000526020600020905b815481529060010190602001808311610c3857829003601f168201915b5050505050905092915050565b600080546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff8481166024830152909116906391d1485490604401602060405180830381865afa158015610cda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cfe91906119c3565b9392505050565b6000610d1083610e81565b8015610cfe5750610cfe8383610ee5565b6060610cfe8383604051806060016040528060278152602001611bbb60279139610fb4565b60006102fc825490565b600060018484604051610d6492919061159a565b90815260405190819003602001902090508135610d846001830182611039565b15610dbb576040517f982f2a2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610dc86001830182611051565b508260026000878785604051602001610de393929190611768565b6040516020818303038152906040528051906020012081526020019081526020016000208181610e1391906119f5565b505060038201805460018101825560009182526020909120849160040201610e3b82826119f5565b50507f25be0d4acedf2199ce49f3044ddf933ebe2febd8c63bd2cdd7ed12b458fc336185858386604051610e729493929190611b13565b60405180910390a15050505050565b6000610ead827f01ffc9a700000000000000000000000000000000000000000000000000000000610ee5565b80156102fc5750610ede827fffffffff00000000000000000000000000000000000000000000000000000000610ee5565b1592915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015610f9d575060208210155b8015610fa95750600081115b979650505050505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051610fde9190611ba8565b600060405180830381855af49150503d8060008114611019576040519150601f19603f3d011682016040523d82523d6000602084013e61101e565b606091505b509150915061102f8683838761105d565b9695505050505050565b60008181526001830160205260408120541515610cfe565b6000610cfe8383611105565b606083156110f35782516000036110ec5773ffffffffffffffffffffffffffffffffffffffff85163b6110ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016101b5565b50816110fd565b6110fd8383611154565b949350505050565b600081815260018301602052604081205461114c575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556102fc565b5060006102fc565b8151156111645781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101b59190611587565b6000602082840312156111aa57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610cfe57600080fd5b60008083601f8401126111e057600080fd5b50813567ffffffffffffffff8111156111f857600080fd5b60208301915083602082850101111561121057600080fd5b9250929050565b6000806020838503121561122a57600080fd5b823567ffffffffffffffff81111561124157600080fd5b61124d858286016111ce565b90969095509350505050565b60008060006040848603121561126e57600080fd5b833567ffffffffffffffff81111561128557600080fd5b611291868287016111ce565b909790965060209590950135949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6006811061130b577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b60005b8381101561132a578181015183820152602001611312565b50506000910152565b6000815180845261134b81602086016020860161130f565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b805182526000602082015161139560208501826112d4565b506040820151608060408501526113af6080850182611333565b9050606083015184820360608601526113c88282611333565b95945050505050565b602081526000610cfe602083018461137d565b600080602083850312156113f757600080fd5b823567ffffffffffffffff8082111561140f57600080fd5b818501915085601f83011261142357600080fd5b81358181111561143257600080fd5b8660208260051b850101111561144757600080fd5b60209290920196919550909350505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156114cc577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08886030184526114ba858351611333565b94509285019290850190600101611480565b5092979650505050505050565b6000602082840312156114eb57600080fd5b813567ffffffffffffffff81111561150257600080fd5b820160608185031215610cfe57600080fd5b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156114cc577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc088860301845261157585835161137d565b9450928501929085019060010161153b565b602081526000610cfe6020830184611333565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600181811c908216806115ed57607f821691505b602082108103611626577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261169057600080fd5b83018035915067ffffffffffffffff8211156116ab57600080fd5b60200191503681900382131561121057600080fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611718577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60408152600061177c60408301858761171f565b9050826020830152949350505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126117c157600080fd5b83018035915067ffffffffffffffff8211156117dc57600080fd5b6020019150600581901b360382131561121057600080fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8183360301811261182857600080fd5b9190910192915050565b601f82111561187c57600081815260208120601f850160051c810160208610156118595750805b601f850160051c820191505b8181101561187857828155600101611865565b5050505b505050565b67ffffffffffffffff8311156118995761189961162c565b6118ad836118a783546115d9565b83611832565b6000601f8411600181146118ff57600085156118c95750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355611995565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b8281101561194e578685013582556020948501946001909201910161192e565b5086821015611989577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b6040815260006119b060408301868861171f565b8281036020840152610fa981858761171f565b6000602082840312156119d557600080fd5b81518015158114610cfe57600080fd5b600681106119f257600080fd5b50565b81358155600181016020830135611a0b816119e5565b60068110611a42577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0082541660ff821681178355505050611a7e604083018361165b565b611a8c818360028601611881565b5050611a9b606083018361165b565b611aa9818360038601611881565b50505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611ae457600080fd5b830160208101925035905067ffffffffffffffff811115611b0457600080fd5b80360382131561121057600080fd5b606081526000611b2760608301868861171f565b8460208401528281036040840152833581526020840135611b47816119e5565b611b5460208301826112d4565b50611b626040850185611aaf565b60806040840152611b7760808401828461171f565b915050611b876060860186611aaf565b8383036060850152611b9a83828461171f565b9a9950505050505050505050565b6000825161182881846020870161130f56fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212208f3e172f26b1e16118674b4d7985c156f2849b9f9fd282fb3045456dfd7724a564736f6c63430008130033000000000000000000000000518ccd79e0e7b75fd5fcc09463fb09cb7d55470d", + "nonce": "0x7f9", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x5cef1fa852da9c51bb37504446cea2708bcf829485ef6af1f4b6f4ebfaad27aa", + "transactionType": "CREATE", + "contractName": "ModuleRegistry", + "contractAddress": "0x51870A0659A87c7B46baEF7311B3128006E1FB16", + "function": null, + "arguments": [ + "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x276514", + "value": "0x0", + "data": "0x60806040523480156200001157600080fd5b506040516200246c3803806200246c8339810160408190526200003491620001cd565b80620000516001600160a01b038216637965db0b60e01b620000e1565b62000094576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b038316908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050620001f8565b6000620000ee8362000109565b801562000102575062000102838362000142565b9392505050565b60006200011e826301ffc9a760e01b62000142565b80156200013c57506200013a826001600160e01b031962000142565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d91506000519050828015620001b5575060208210155b8015620001c25750600081115b979650505050505050565b600060208284031215620001e057600080fd5b81516001600160a01b03811681146200010257600080fd5b61226480620002086000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c80638694509411610097578063d04d78c611610066578063d04d78c614610225578063d08906d614610238578063e1fc45ce1461024b578063eca535191461025e57600080fd5b806386945094146101df578063ac9650d8146101f2578063b38609e814610212578063c7bdcb8a146101df57600080fd5b80634066edd9116100d35780634066edd914610179578063449f1a961461018c5780635c7a980b146101c457806382984f30146101cc57600080fd5b806319129e5a1461010557806320b76ffc1461011a57806337e22bd41461012d5780633af83c1814610156575b600080fd5b6101186101133660046115ac565b610271565b005b610118610128366004611612565b6103d5565b61014061013b366004611854565b6103eb565b60405161014d9190611982565b60405180910390f35b610169610164366004611995565b610405565b604051901515815260200161014d565b6101186101873660046119ec565b610460565b61019f61019a3660046119ec565b610672565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161014d565b61019f600081565b6101696101da3660046115ac565b6106b4565b61019f6101ed3660046119ec565b610718565b610205610200366004611a73565b61072c565b60405161014d9190611afb565b610140610220366004611b0e565b610821565b610118610233366004611995565b610939565b610118610246366004611995565b610acd565b610140610259366004611bf6565b610c1d565b61011861026c3660046119ec565b610ca3565b600061027d8133610e63565b6102c1576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b61030173ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000610f06565b610367576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c00000000000000000000000000000000000060448201526064016102b8565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050565b6103e3853386868686610f22565b505050505050565b60606103fb8633878787876110d0565b9695505050505050565b60008173ffffffffffffffffffffffffffffffffffffffff1660018585604051610430929190611c8b565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff161490509392505050565b7fc9a6ce5d86bdc06f8d57f20091bf09bf611e57d0626b65aa9ebb3c9179ba650f61048b8133610e63565b6104ca576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016102b8565b600073ffffffffffffffffffffffffffffffffffffffff16600284846040516104f4929190611c8b565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff16036105555782826040517f3fbd33b30000000000000000000000000000000000000000000000000000000081526004016102b8929190611ce4565b600060028484604051610569929190611c8b565b9081526040519081900360200181205473ffffffffffffffffffffffffffffffffffffffff1691506002906105a19086908690611c8b565b908152604080516020928190038301902080547fffffffffffffffffffffffff000000000000000000000000000000000000000016905573ffffffffffffffffffffffffffffffffffffffff831660009081526003909252812061060491611524565b8073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f946d7ea49afbef075e4d6f78364557a1cd3e32b89d9a963d6d041caac5e8953a8686604051610664929190611ce4565b60405180910390a350505050565b600060028383604051610686929190611c8b565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff16905092915050565b73ffffffffffffffffffffffffffffffffffffffff811660008181526003602052604080822090519192916002916106eb91611d4b565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff161492915050565b600060018383604051610686929190611c8b565b60608167ffffffffffffffff81111561074757610747611695565b60405190808252806020026020018201604052801561077a57816020015b60608152602001906001900390816107655790505b50905060005b8281101561081a576107ea3085858481811061079e5761079e611ddf565b90506020028101906107b09190611e0e565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061126992505050565b8282815181106107fc576107fc611ddf565b6020026020010181905250808061081290611e73565b915050610780565b5092915050565b60607fe4a10d29decbd34c09a62a511d4fd993a7d8cbbf58d7d4278711c29c9148b8f761084e8133610e63565b61088d576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016102b8565b6109298c8c8c8c8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061091a92508c91508d9050611ed2565b610924898b611ed2565b6110d0565b9c9b505050505050505050505050565b7fc9a6ce5d86bdc06f8d57f20091bf09bf611e57d0626b65aa9ebb3c9179ba650f6109648133610e63565b6109a3576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016102b8565b73ffffffffffffffffffffffffffffffffffffffff82166109f0576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8160028585604051610a03929190611c8b565b908152604080516020928190038301902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9485161790559184166000908152600390915220610a6c848683611f2a565b508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f33f12a9d70fd5f6771d495aae3b2cf0abc703cbaa526982b65446f1ef8816f9b8686604051610664929190611ce4565b7fc9a6ce5d86bdc06f8d57f20091bf09bf611e57d0626b65aa9ebb3c9179ba650f610af88133610e63565b610b37576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016102b8565b73ffffffffffffffffffffffffffffffffffffffff8216610b84576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8160018585604051610b97929190611c8b565b908152604051908190036020018120805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff0000000000000000000000000000000000000000909116179055908316906000907f14d77cb3ef4c75b9a031527cf63890f47708121a75c8b9c9cddbacc19defd122906106649088908890611ce4565b60607fe4a10d29decbd34c09a62a511d4fd993a7d8cbbf58d7d4278711c29c9148b8f7610c4a8133610e63565b610c89576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016102b8565b610c97888888888888610f22565b98975050505050505050565b7fc9a6ce5d86bdc06f8d57f20091bf09bf611e57d0626b65aa9ebb3c9179ba650f610cce8133610e63565b610d0d576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016102b8565b600073ffffffffffffffffffffffffffffffffffffffff1660018484604051610d37929190611c8b565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff1603610d985782826040517f97385f510000000000000000000000000000000000000000000000000000000081526004016102b8929190611ce4565b600060018484604051610dac929190611c8b565b9081526040519081900360200181205473ffffffffffffffffffffffffffffffffffffffff169150600190610de49086908690611c8b565b90815260405190819003602001812080547fffffffffffffffffffffffff000000000000000000000000000000000000000016905573ffffffffffffffffffffffffffffffffffffffff8216906000907f335f1d2bb0046b3a423088788bb8d6350f8a36ff7d554592f91d8102ea0ce4d7906106649088908890611ce4565b600080546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff8481166024830152909116906391d1485490604401602060405180830381865afa158015610edb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eff9190612045565b9392505050565b6000610f118361128e565b8015610eff5750610eff83836112f3565b6060600060018686604051610f38929190611c8b565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff16905080610f9b5785856040517f97385f510000000000000000000000000000000000000000000000000000000081526004016102b8929190611ce4565b6040517f4fcbd21300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821690634fcbd21390610ff3908b908b9089908990600401612067565b6000604051808303816000875af1158015611012573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261105891908101906120a1565b91508673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167f48786003f3d30e41bfa4ee09afdeb9bfb04b7e06e2f74f3177da393a793bbc33888888886040516110bd9493929190612118565b60405180910390a3509695505050505050565b606060006001866040516110e4919061213f565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff1690508061114557856040517f97385f510000000000000000000000000000000000000000000000000000000081526004016102b89190611982565b6040517fb6efd29d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82169063b6efd29d9061119f908b908b908a908a908a9060040161215b565b6000604051808303816000875af11580156111be573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261120491908101906120a1565b91508673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fc370e2f187a6d9446aca617bbcd60f84f24a0020a0c55dbc4ff5c8a3ce87abb5888888886040516110bd94939291906121ba565b6060610eff8383604051806060016040528060278152602001612208602791396113c2565b60006112ba827f01ffc9a7000000000000000000000000000000000000000000000000000000006112f3565b80156112ed57506112eb827fffffffff000000000000000000000000000000000000000000000000000000006112f3565b155b92915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d915060005190508280156113ab575060208210155b80156113b75750600081115b979650505050505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516113ec919061213f565b600060405180830381855af49150503d8060008114611427576040519150601f19603f3d011682016040523d82523d6000602084013e61142c565b606091505b50915091506103fb86838387606083156114ce5782516000036114c75773ffffffffffffffffffffffffffffffffffffffff85163b6114c7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102b8565b50816114d8565b6114d883836114e0565b949350505050565b8151156114f05781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102b89190611982565b50805461153090611cf8565b6000825580601f10611540575050565b601f01602090049060005260206000209081019061155e9190611561565b50565b5b808211156115765760008155600101611562565b5090565b73ffffffffffffffffffffffffffffffffffffffff8116811461155e57600080fd5b80356115a78161157a565b919050565b6000602082840312156115be57600080fd5b8135610eff8161157a565b60008083601f8401126115db57600080fd5b50813567ffffffffffffffff8111156115f357600080fd5b60208301915083602082850101111561160b57600080fd5b9250929050565b60008060008060006060868803121561162a57600080fd5b85356116358161157a565b9450602086013567ffffffffffffffff8082111561165257600080fd5b61165e89838a016115c9565b9096509450604088013591508082111561167757600080fd5b50611684888289016115c9565b969995985093965092949392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561170b5761170b611695565b604052919050565b600067ffffffffffffffff82111561172d5761172d611695565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f83011261176a57600080fd5b813561177d61177882611713565b6116c4565b81815284602083860101111561179257600080fd5b816020850160208301376000918101602001919091529392505050565b600067ffffffffffffffff808411156117ca576117ca611695565b8360051b60206117db8183016116c4565b868152935090840190808401878311156117f457600080fd5b855b838110156118285780358581111561180e5760008081fd5b61181a8a828a01611759565b8352509082019082016117f6565b50505050509392505050565b600082601f83011261184557600080fd5b610eff838335602085016117af565b600080600080600060a0868803121561186c57600080fd5b85356118778161157a565b9450602086013567ffffffffffffffff8082111561189457600080fd5b6118a089838a01611759565b955060408801359150808211156118b657600080fd5b6118c289838a01611759565b945060608801359150808211156118d857600080fd5b6118e489838a01611834565b935060808801359150808211156118fa57600080fd5b5061190788828901611834565b9150509295509295909350565b60005b8381101561192f578181015183820152602001611917565b50506000910152565b60008151808452611950816020860160208601611914565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610eff6020830184611938565b6000806000604084860312156119aa57600080fd5b833567ffffffffffffffff8111156119c157600080fd5b6119cd868287016115c9565b90945092505060208401356119e18161157a565b809150509250925092565b600080602083850312156119ff57600080fd5b823567ffffffffffffffff811115611a1657600080fd5b611a22858286016115c9565b90969095509350505050565b60008083601f840112611a4057600080fd5b50813567ffffffffffffffff811115611a5857600080fd5b6020830191508360208260051b850101111561160b57600080fd5b60008060208385031215611a8657600080fd5b823567ffffffffffffffff811115611a9d57600080fd5b611a2285828601611a2e565b6000815180845260208085019450848260051b860182860160005b85811015611aee578383038952611adc838351611938565b98850198925090840190600101611ac4565b5090979650505050505050565b602081526000610eff6020830184611aa9565b60008060008060008060008060008060c08b8d031215611b2d57600080fd5b611b368b61159c565b9950611b4460208c0161159c565b985060408b013567ffffffffffffffff80821115611b6157600080fd5b611b6d8e838f016115c9565b909a50985060608d0135915080821115611b8657600080fd5b611b928e838f016115c9565b909850965060808d0135915080821115611bab57600080fd5b611bb78e838f01611a2e565b909650945060a08d0135915080821115611bd057600080fd5b50611bdd8d828e01611a2e565b915080935050809150509295989b9194979a5092959850565b60008060008060008060808789031215611c0f57600080fd5b8635611c1a8161157a565b95506020870135611c2a8161157a565b9450604087013567ffffffffffffffff80821115611c4757600080fd5b611c538a838b016115c9565b90965094506060890135915080821115611c6c57600080fd5b50611c7989828a016115c9565b979a9699509497509295939492505050565b8183823760009101908152919050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6020815260006114d8602083018486611c9b565b600181811c90821680611d0c57607f821691505b602082108103611d45577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b6000808354611d5981611cf8565b60018281168015611d715760018114611da457611dd3565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0084168752821515830287019450611dd3565b8760005260208060002060005b85811015611dca5781548a820152908401908201611db1565b50505082870194505b50929695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611e4357600080fd5b83018035915067ffffffffffffffff821115611e5e57600080fd5b60200191503681900382131561160b57600080fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611ecb577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b6000610eff3684846117af565b601f821115611f2557600081815260208120601f850160051c81016020861015611f065750805b601f850160051c820191505b818110156103e357828155600101611f12565b505050565b67ffffffffffffffff831115611f4257611f42611695565b611f5683611f508354611cf8565b83611edf565b6000601f841160018114611fa85760008515611f725750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b17835561203e565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b82811015611ff75786850135825560209485019460019092019101611fd7565b5086821015612032577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b60006020828403121561205757600080fd5b81518015158114610eff57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250606060408301526103fb606083018486611c9b565b6000602082840312156120b357600080fd5b815167ffffffffffffffff8111156120ca57600080fd5b8201601f810184136120db57600080fd5b80516120e961177882611713565b8181528560208385010111156120fe57600080fd5b61210f826020830160208601611914565b95945050505050565b60408152600061212c604083018688611c9b565b82810360208401526113b7818587611c9b565b60008251612151818460208701611914565b9190910192915050565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525060a0604083015261219460a0830186611938565b82810360608401526121a68186611aa9565b90508281036080840152610c978185611aa9565b6080815260006121cd6080830187611938565b82810360208401526121df8187611938565b905082810360408401526121f38186611aa9565b905082810360608401526113b78185611aa956fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220db500e1b4c73af951db86225ddf5da0ca8d3d8bec7e9430df8a7b51035fa9ee564736f6c63430008130033000000000000000000000000518ccd79e0e7b75fd5fcc09463fb09cb7d55470d", + "nonce": "0x7fa", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x20e56a5db623534cd0345e992dbfdfb712f9caca6d59b310c070a7eee9e19215", + "transactionType": "CREATE", + "contractName": "IPAssetRegistry", + "contractAddress": "0x5B81030C087d41558E3FCF23B3575E85c9A768e6", + "function": null, + "arguments": [ + "0x51870A0659A87c7B46baEF7311B3128006E1FB16" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x132c3f", + "value": "0x0", + "data": "0x60a0604052600060015534801561001557600080fd5b5060405161113e38038061113e83398101604081905261003491610045565b6001600160a01b0316608052610075565b60006020828403121561005757600080fd5b81516001600160a01b038116811461006e57600080fd5b9392505050565b6080516110926100ac6000396000818161018e0152818161023f0152818161040f0152818161057c01526106af01526110926000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806387cb967a1161005b57806387cb967a14610150578063b95ddb5214610189578063c47f8bfa146101b0578063d896dd64146101d057600080fd5b8063251fe79c1461008d578063299d1cf6146100a257806342d21ef7146100df578063601a924c1461012f575b600080fd5b6100a061009b366004610b62565b6101e3565b005b6100b56100b0366004610b92565b61039b565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61011d6100ed366004610b92565b60009081526020819052604090206001015474010000000000000000000000000000000000000000900460ff1690565b60405160ff90911681526020016100d6565b61014261013d366004610bda565b61051d565b6040519081526020016100d6565b6100b561015e366004610b92565b60009081526020819052604090206002015473ffffffffffffffffffffffffffffffffffffffff1690565b6100b57f000000000000000000000000000000000000000000000000000000000000000081565b6101c36101be366004610b92565b610951565b6040516100d69190610d3a565b6100a06101de366004610dbd565b610aa0565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815233917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a9161028791600401610de8565b602060405180830381865afa1580156102a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102c89190610dfb565b73ffffffffffffffffffffffffffffffffffffffff1614610315576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008281526020819052604080822060020180547fffffffffffffffffffffffff0000000000000000000000000000000000000000811673ffffffffffffffffffffffffffffffffffffffff8681169182179093559251911692839186917f147c62691502c52a4a793c136ab712d9695053acdd62d44170a823bc377a59f591a4505050565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a000000000000000000000000000000000000000000000000000000008152600091829173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a916104439190600401610de8565b602060405180830381865afa158015610460573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104849190610dfb565b6040517f6352211e0000000000000000000000000000000000000000000000000000000081526004810185905290915073ffffffffffffffffffffffffffffffffffffffff821690636352211e90602401602060405180830381865afa1580156104f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105169190610dfb565b9392505050565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260009133917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a916105c59190600401610de8565b602060405180830381865afa1580156105e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106069190610dfb565b73ffffffffffffffffffffffffffffffffffffffff1614610653576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815233917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a916106f791600401610de8565b602060405180830381865afa158015610714573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107389190610dfb565b73ffffffffffffffffffffffffffffffffffffffff1614610785576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016000815461079490610e18565b91829055506040805160c08101825285815273ffffffffffffffffffffffffffffffffffffffff8781166020808401919091526001838501529089166060830152608082018690524267ffffffffffffffff811660a084015260008581529182905292902081519394509192909190819061080f9082610f19565b50602082015160018201805460408086015160ff1674010000000000000000000000000000000000000000027fffffffffffffffffffffff00000000000000000000000000000000000000000090921673ffffffffffffffffffffffffffffffffffffffff948516179190911790915560608401516002840180549184167fffffffffffffffffffffffff0000000000000000000000000000000000000000929092169190911790556080840151600384015560a0909301516004909201805467ffffffffffffffff9093167fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909316929092179091559051868216918816907f964ceb922535d169779e716f1dea5a577aeef2427e753bdb9eace345bca56b929061094090869089908990611033565b60405180910390a350949350505050565b6040805160c081018252606080825260006020830181905292820183905281018290526080810182905260a081019190915260008281526020819052604090819020815160c081019092528054829082906109ab90610e77565b80601f01602080910402602001604051908101604052809291908181526020018280546109d790610e77565b8015610a245780601f106109f957610100808354040283529160200191610a24565b820191906000526020600020905b815481529060010190602001808311610a0757829003601f168201915b5050509183525050600182015473ffffffffffffffffffffffffffffffffffffffff80821660208401527401000000000000000000000000000000000000000090910460ff16604083015260028301541660608201526003820154608082015260049091015467ffffffffffffffff1660a09091015292915050565b60008281526020818152604091829020600101805460ff858116740100000000000000000000000000000000000000008181027fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff8516179094558551939092041680835292820152849283917fd98efe2dd5b76c52df27ca251c889b2339e9f49fdd2e02e72abbae1136a1f014910160405180910390a250505050565b73ffffffffffffffffffffffffffffffffffffffff81168114610b5f57600080fd5b50565b60008060408385031215610b7557600080fd5b823591506020830135610b8781610b3d565b809150509250929050565b600060208284031215610ba457600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060008060808587031215610bf057600080fd5b8435610bfb81610b3d565b93506020850135610c0b81610b3d565b9250604085013567ffffffffffffffff80821115610c2857600080fd5b818701915087601f830112610c3c57600080fd5b813581811115610c4e57610c4e610bab565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715610c9457610c94610bab565b816040528281528a6020848701011115610cad57600080fd5b826020860160208301376000928101602001929092525095989497509495606001359450505050565b6000815180845260005b81811015610cfc57602081850181015186830182015201610ce0565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081526000825160c06020840152610d5660e0840182610cd6565b9050602084015173ffffffffffffffffffffffffffffffffffffffff808216604086015260ff60408701511660608601528060608701511660808601525050608084015160a084015267ffffffffffffffff60a08501511660c08401528091505092915050565b60008060408385031215610dd057600080fd5b82359150602083013560ff81168114610b8757600080fd5b6020815260006105166020830184610cd6565b600060208284031215610e0d57600080fd5b815161051681610b3d565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610e70577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b600181811c90821680610e8b57607f821691505b602082108103610ec4577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f821115610f1457600081815260208120601f850160051c81016020861015610ef15750805b601f850160051c820191505b81811015610f1057828155600101610efd565b5050505b505050565b815167ffffffffffffffff811115610f3357610f33610bab565b610f4781610f418454610e77565b84610eca565b602080601f831160018114610f9a5760008415610f645750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610f10565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015610fe757888601518255948401946001909101908401610fc8565b508582101561102357878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b83815260606020820152600061104c6060830185610cd6565b905082604083015294935050505056fea26469706673582212208eaf86cacb600d9314b9d1d5d2261f9c609ee632773c3332418ebe9b5cc85fba64736f6c6343000813003300000000000000000000000051870a0659a87c7b46baef7311b3128006e1fb16", + "nonce": "0x7fb", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x2bb57468dbedb53b56ff6025980717fb50edbc2eeb91c444d76620313646e2f1", + "transactionType": "CREATE", + "contractName": "LicenseRegistry", + "contractAddress": "0x826a953332Df2e1a994C7CFae68E129ba683Aa8F", + "function": null, + "arguments": [ + "0x5B81030C087d41558E3FCF23B3575E85c9A768e6", + "0x51870A0659A87c7B46baEF7311B3128006E1FB16", + "0x3113e5bfe2251A9fcA1225083cf6d36547E63e07" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x3e569c", + "value": "0x0", + "data": "0x60e06040523480156200001157600080fd5b5060405162003ab038038062003ab0833981016040819052620000349162000160565b6040518060400160405280601a81526020017f53746f72792050726f746f636f6c204c6963656e7365204e4654000000000000815250604051806040016040528060048152602001631313919560e21b81525081600090816200009891906200024f565b506001620000a782826200024f565b5050506001600160a01b038316620000d25760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b038084166080528216620001005760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0380831660a05281166200012e5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b031660c052506200031b9050565b80516001600160a01b03811681146200015b57600080fd5b919050565b6000806000606084860312156200017657600080fd5b620001818462000143565b9250620001916020850162000143565b9150620001a16040850162000143565b90509250925092565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620001d557607f821691505b602082108103620001f657634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200024a57600081815260208120601f850160051c81016020861015620002255750805b601f850160051c820191505b81811015620002465782815560010162000231565b5050505b505050565b81516001600160401b038111156200026b576200026b620001aa565b62000283816200027c8454620001c0565b84620001fc565b602080601f831160018114620002bb5760008415620002a25750858301515b600019600386901b1c1916600185901b17855562000246565b600085815260208120601f198616915b82811015620002ec57888601518255948401946001909101908401620002cb565b50858210156200030b5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60805160a05160c0516137426200036e600039600061043401526000818161048901528181610adb0152818161106c015281816112980152611808015260008181610522015261225301526137426000f3fe608060405234801561001057600080fd5b506004361061020b5760003560e01c806370a082311161012a578063c8c0eb87116100bd578063e006e5a71161008c578063e705c2b811610071578063e705c2b8146105b3578063e985e9c5146105c6578063eb683a491461060f57600080fd5b8063e006e5a714610567578063e58efef61461057a57600080fd5b8063c8c0eb87146104cc578063d09d894e1461050a578063d2faf8b01461051d578063d7f9ab8b1461054457600080fd5b8063a22cb465116100f9578063a22cb4651461045e578063b88d4fde14610471578063b95ddb5214610484578063c87b56dd146104ab57600080fd5b806370a082311461040957806371e074dd1461041c57806376a4b13b1461042f57806395d89b411461045657600080fd5b8063357a595a116101a2578063439d4b5c11610171578063439d4b5c1461039257806356227341146103a55780636103b2ce146103d65780636352211e146103f657600080fd5b8063357a595a1461031957806337f8ebfb1461032c5780633c06e1dc1461035657806342842e0e1461037f57600080fd5b806308a4f072116101de57806308a4f072146102be578063095ea7b3146102de5780631f09e4e5146102f357806323b872dd1461030657600080fd5b806301ffc9a714610210578063056569af1461023857806306fdde0314610296578063081812fc146102ab575b600080fd5b61022361021e366004612a88565b610622565b60405190151581526020015b60405180910390f35b610271610246366004612aac565b60009081526006602052604090206001015473ffffffffffffffffffffffffffffffffffffffff1690565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161022f565b61029e610707565b60405161022f9190612b29565b6102716102b9366004612aac565b610799565b6102d16102cc366004612aac565b6107cd565b60405161022f9190612b3c565b6102f16102ec366004612bf7565b6108db565b005b6102f1610301366004612c21565b610a6c565b6102f1610314366004612c4d565b610b96565b6102f1610327366004612aac565b610c37565b61022361033a366004612aac565b6000908152600660205260409020546301000000900460ff1690565b610223610364366004612aac565b60009081526006602052604090205462010000900460ff1690565b6102f161038d366004612c4d565b610c44565b6102f16103a0366004612aac565b610c5f565b6103c86103b3366004612aac565b60009081526006602052604090206005015490565b60405190815260200161022f565b6103e96103e4366004612aac565b610d25565b60405161022f9190612cf3565b610271610404366004612aac565b610ea1565b6103c8610417366004612de3565b610f2d565b6102f161042a366004612dfe565b610ffb565b6102717f000000000000000000000000000000000000000000000000000000000000000081565b61029e611164565b6102f161046c366004612e39565b611173565b6102f161047f366004612fc9565b61117e565b6102717f000000000000000000000000000000000000000000000000000000000000000081565b61029e6104b9366004612aac565b5060408051602081019091526000815290565b6102716104da366004612aac565b600090815260066020526040902054640100000000900473ffffffffffffffffffffffffffffffffffffffff1690565b6103c8610518366004613031565b611226565b6102717f000000000000000000000000000000000000000000000000000000000000000081565b6103c8610552366004612aac565b60009081526006602052604090206004015490565b610271610575366004612aac565b6116c7565b610271610588366004612aac565b60009081526006602052604090206002015473ffffffffffffffffffffffffffffffffffffffff1690565b6102236105c1366004612aac565b6116d2565b6102236105d4366004613075565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260056020908152604080832093909416825291909152205460ff1690565b6103c861061d3660046131a9565b611796565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd0000000000000000000000000000000000000000000000000000000014806106b557507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b8061070157507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b606060008054610716906132b0565b80601f0160208091040260200160405190810160405280929190818152602001828054610742906132b0565b801561078f5780601f106107645761010080835404028352916020019161078f565b820191906000526020600020905b81548152906001019060200180831161077257829003601f168201915b5050505050905090565b60006107a482611bb0565b5060009081526004602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b606060076000838152602001908152602001600020805480602002602001604051908101604052809291908181526020016000905b828210156108d057838290600052602060002090600202016040518060400160405290816000820154815260200160018201805461083f906132b0565b80601f016020809104026020016040519081016040528092919081815260200182805461086b906132b0565b80156108b85780601f1061088d576101008083540402835291602001916108b8565b820191906000526020600020905b81548152906001019060200180831161089b57829003601f168201915b50505050508152505081526020019060010190610802565b505050509050919050565b60006108e682610ea1565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036109a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff821614806109d157506109d181336105d4565b610a5d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000606482015260840161099f565b610a678383611c3b565b505050565b604080518082018252601081527f4c4943454e53494e475f4d4f44554c4500000000000000000000000000000000602082015290517f3af83c1800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001691633af83c1891610b1191903390600401613303565b602060405180830381865afa158015610b2e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b52919061333b565b610b88576040517f039cb0ee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b928282611cdb565b5050565b610ba03382611e2a565b610c2c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f76656400000000000000000000000000000000000000606482015260840161099f565b610a67838383611ee9565b610c418133611cdb565b50565b610a678383836040518060200160405280600081525061117e565b600081815260066020526040902054640100000000900473ffffffffffffffffffffffffffffffffffffffff163314610cc4576040517f95e4a90e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008181526006602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660031790555182917ff8ecc300d4504a2b49692052f138b7e697df679cf0580522720ce405bd01be5591a250565b6040805161014081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810191909152600082815260066020526040812090815460ff166003811115610d9b57610d9b612c89565b03610dd2576040517fc28093d700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408051610140810190915281548290829060ff166003811115610df857610df8612c89565b6003811115610e0957610e09612c89565b8152815461010080820460ff9081161515602085015262010000830481161515604085015263010000008304161515606084015264010000000090910473ffffffffffffffffffffffffffffffffffffffff90811660808401526001840154811660a084015260028401541660c0830152600383015460e0830152600483015490820152600590910154610120909101529392505050565b60008181526002602052604081205473ffffffffffffffffffffffffffffffffffffffff1680610701576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e2049440000000000000000604482015260640161099f565b600073ffffffffffffffffffffffffffffffffffffffff8216610fd2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e65720000000000000000000000000000000000000000000000606482015260840161099f565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526003602052604090205490565b604080518082018252601081527f4c4943454e53494e475f4d4f44554c4500000000000000000000000000000000602082015290517f3af83c18000000000000000000000000000000000000000000000000000000008152839173ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001691633af83c18916110a1913390600401613303565b602060405180830381865afa1580156110be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110e2919061333b565b15801561112357506110f381610ea1565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b1561115a576040517fc1b4742400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a6783836121e4565b606060018054610716906132b0565b610b9233838361239b565b6111883383611e2a565b611214576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f76656400000000000000000000000000000000000000606482015260840161099f565b611220848484846124c8565b50505050565b604080518082018252601081527f4c4943454e53494e475f4d4f44554c4500000000000000000000000000000000602082015290517f3af83c1800000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001691633af83c18916112cd913390600401613303565b602060405180830381865afa1580156112ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061130e919061333b565b611344576040517f039cb0ee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61134d856116d2565b611383576040517f72b0a52c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600085815260066020526040808220815161014081019092528054829060ff1660038111156113b4576113b4612c89565b60038111156113c5576113c5612c89565b8152815461010080820460ff9081161515602085015262010000830481161515604085015263010000008304161515606084015264010000000090910473ffffffffffffffffffffffffffffffffffffffff90811660808401526001840154811660a084015260028401541660c0830152600383015460e08301526004830154908201526005909101546101209091015260088054919250600091829061146b90613358565b9182905550610120830188905273ffffffffffffffffffffffffffffffffffffffff871660a084015261010083018590526060830151909150156114ae57600282525b600087815260076020526040808220838352912081546114ce9290612980565b506000818152600660205260409020825181548492919082907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600183600381111561151d5761151d612c89565b021790555060208201518154604080850151606086015160808701517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000ff90941661010095151586027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff16176201000092151592909202919091177fffffffffffffffff000000000000000000000000000000000000000000ffffff166301000000911515919091027fffffffffffffffff0000000000000000000000000000000000000000ffffffff161764010000000073ffffffffffffffffffffffffffffffffffffffff9384160217845560a08501516001850180547fffffffffffffffffffffffff000000000000000000000000000000000000000090811692851692909217905560c086015160028601805490921693169290921790915560e08401516003840155908301516004830155610120909201516005909101555181907f0eaf6d681055f593c54be5a95da92bb2249915d24efbd7686fd32f6f89784204906116a9908590612cf3565b60405180910390a26116bb858261256b565b9150505b949350505050565b600061070182610ea1565b6000816000036116e457506000919050565b811561178e57600260008381526006602052604090205460ff16600381111561170f5761170f612c89565b148061173b575060008281526006602052604081205460ff16600381111561173957611739612c89565b145b806117685750600360008381526006602052604090205460ff16600381111561176657611766612c89565b145b1561177557506000919050565b60009182526006602052604090912060050154906116e4565b506001919050565b604080518082018252601081527f4c4943454e53494e475f4d4f44554c4500000000000000000000000000000000602082015290517f3af83c1800000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001691633af83c189161183d913390600401613303565b602060405180830381865afa15801561185a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061187e919061333b565b6118b4576040517f039cb0ee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b835160018160038111156118ca576118ca612c89565b141580156118ea575060028160038111156118e7576118e7612c89565b14155b15611921576040517f92439ccc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060086000815461193290613358565b9182905550600081815260066020526040902087518154929350889282907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600183600381111561198657611986612c89565b021790555060208201518154604080850151606086015160808701517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000ff90941661010095151586027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff16176201000092151592909202919091177fffffffffffffffff000000000000000000000000000000000000000000ffffff166301000000911515919091027fffffffffffffffff0000000000000000000000000000000000000000ffffffff161764010000000073ffffffffffffffffffffffffffffffffffffffff9384160217845560a08501516001850180547fffffffffffffffffffffffff000000000000000000000000000000000000000090811692851692909217905560c086015160028601805490921693169290921790915560e08401516003840155908301516004830155610120909201516005909101555181907f0eaf6d681055f593c54be5a95da92bb2249915d24efbd7686fd32f6f8978420490611b12908990612cf3565b60405180910390a2611b24858261256b565b83516000828152600760205260408120905b82811015611ba35781878281518110611b5157611b516133b7565b6020908102919091018101518254600181810185556000948552938390208251600290920201908155918101519092820190611b8d9082613434565b5050508080611b9b90613358565b915050611b36565b5091979650505050505050565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff16610c41576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e2049440000000000000000604482015260640161099f565b600081815260046020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091558190611c9582610ea1565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000828152600660205260409020600181015473ffffffffffffffffffffffffffffffffffffffff838116911614611d3f576040517f54c26a8800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002815460ff166003811115611d5757611d57612c89565b14611d8e576040517ff40190f500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611d9b81600501546116d2565b611dd1576040517f72b0a52c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117815560405183907fa3ada00687872cb827044ee48684890eeb5caffc2d7abf015ea327c7d7d06b8490600090a2505050565b600080611e3683610ea1565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611ea4575073ffffffffffffffffffffffffffffffffffffffff80821660009081526005602090815260408083209388168352929052205460ff165b806116bf57508373ffffffffffffffffffffffffffffffffffffffff16611eca84610799565b73ffffffffffffffffffffffffffffffffffffffff1614949350505050565b8273ffffffffffffffffffffffffffffffffffffffff16611f0982610ea1565b73ffffffffffffffffffffffffffffffffffffffff1614611fac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e6572000000000000000000000000000000000000000000000000000000606482015260840161099f565b73ffffffffffffffffffffffffffffffffffffffff821661204e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161099f565b8273ffffffffffffffffffffffffffffffffffffffff1661206e82610ea1565b73ffffffffffffffffffffffffffffffffffffffff1614612111576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e6572000000000000000000000000000000000000000000000000000000606482015260840161099f565b600081815260046020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff8781168086526003855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b816121ee816116d2565b612224576040517fa15e441100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f42d21ef7000000000000000000000000000000000000000000000000000000008152600481018390527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906342d21ef790602401602060405180830381865afa1580156122af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122d3919061354e565b60ff1660011461230f576040517f32a7f99e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008381526006602052604090206004015415612358576040517fed035e9700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008381526006602052604080822060040184905551839185917f9d2bbd85f58e2a13e5a13a8d77b039e02a44b601338e36691ab827a547b2353e9190a3505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612430576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161099f565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526005602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6124d3848484611ee9565b6124df84848484612790565b611220576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e7465720000000000000000000000000000606482015260840161099f565b73ffffffffffffffffffffffffffffffffffffffff82166125e8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161099f565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1615612674576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161099f565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1615612700576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161099f565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260036020908152604080832080546001019055848352600290915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b600073ffffffffffffffffffffffffffffffffffffffff84163b15612978576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a0290612807903390899088908890600401613571565b6020604051808303816000875af1925050508015612860575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261285d918101906135ba565b60015b61292d573d80801561288e576040519150601f19603f3d011682016040523d82523d6000602084013e612893565b606091505b508051600003612925576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e7465720000000000000000000000000000606482015260840161099f565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a02000000000000000000000000000000000000000000000000000000001490506116bf565b5060016116bf565b8280548282559060005260206000209060020281019282156129dd5760005260206000209160020282015b828111156129dd578254825582826001808201906129cb908401826135d7565b505050916002019190600201906129ab565b506129e99291506129ed565b5090565b808211156129e9576000808255612a076001830182612a10565b506002016129ed565b508054612a1c906132b0565b6000825580601f10612a2c575050565b601f016020900490600052602060002090810190610c4191905b808211156129e95760008155600101612a46565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610c4157600080fd5b600060208284031215612a9a57600080fd5b8135612aa581612a5a565b9392505050565b600060208284031215612abe57600080fd5b5035919050565b6000815180845260005b81811015612aeb57602081850181015186830182015201612acf565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081526000612aa56020830184612ac5565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015612bc0578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0018552815180518452870151878401879052612bad87850182612ac5565b9588019593505090860190600101612b63565b509098975050505050505050565b803573ffffffffffffffffffffffffffffffffffffffff81168114612bf257600080fd5b919050565b60008060408385031215612c0a57600080fd5b612c1383612bce565b946020939093013593505050565b60008060408385031215612c3457600080fd5b82359150612c4460208401612bce565b90509250929050565b600080600060608486031215612c6257600080fd5b612c6b84612bce565b9250612c7960208501612bce565b9150604084013590509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60048110612cef577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b600061014082019050612d07828451612cb8565b6020830151612d1a602084018215159052565b506040830151612d2e604084018215159052565b506060830151612d42606084018215159052565b506080830151612d6a608084018273ffffffffffffffffffffffffffffffffffffffff169052565b5060a0830151612d9260a084018273ffffffffffffffffffffffffffffffffffffffff169052565b5060c0830151612dba60c084018273ffffffffffffffffffffffffffffffffffffffff169052565b5060e083015160e083015261010080840151818401525061012080840151818401525092915050565b600060208284031215612df557600080fd5b612aa582612bce565b60008060408385031215612e1157600080fd5b50508035926020909101359150565b8015158114610c4157600080fd5b8035612bf281612e20565b60008060408385031215612e4c57600080fd5b612e5583612bce565b91506020830135612e6581612e20565b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715612ec257612ec2612e70565b60405290565b604051610140810167ffffffffffffffff81118282101715612ec257612ec2612e70565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715612f3357612f33612e70565b604052919050565b600082601f830112612f4c57600080fd5b813567ffffffffffffffff811115612f6657612f66612e70565b612f9760207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601612eec565b818152846020838601011115612fac57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060808587031215612fdf57600080fd5b612fe885612bce565b9350612ff660208601612bce565b925060408501359150606085013567ffffffffffffffff81111561301957600080fd5b61302587828801612f3b565b91505092959194509250565b6000806000806080858703121561304757600080fd5b8435935061305760208601612bce565b925061306560408601612bce565b9396929550929360600135925050565b6000806040838503121561308857600080fd5b61309183612bce565b9150612c4460208401612bce565b803560048110612bf257600080fd5b600082601f8301126130bf57600080fd5b8135602067ffffffffffffffff808311156130dc576130dc612e70565b8260051b6130eb838201612eec565b938452858101830193838101908886111561310557600080fd5b84880192505b8583101561319d578235848111156131235760008081fd5b88016040818b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0018113156131595760008081fd5b613161612e9f565b82880135815290820135908682111561317a5760008081fd5b6131888c8984860101612f3b565b8189015284525050918401919084019061310b565b98975050505050505050565b60008060008385036101808112156131c057600080fd5b610140808212156131d057600080fd5b6131d8612ec8565b91506131e38661309f565b82526131f160208701612e2e565b602083015261320260408701612e2e565b604083015261321360608701612e2e565b606083015261322460808701612bce565b608083015261323560a08701612bce565b60a083015261324660c08701612bce565b60c083015260e086013560e083015261010080870135818401525061012080870135818401525081945061327b818701612bce565b9350505061016084013567ffffffffffffffff81111561329a57600080fd5b6132a6868287016130ae565b9150509250925092565b600181811c908216806132c457607f821691505b6020821081036132fd577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b6040815260006133166040830185612ac5565b905073ffffffffffffffffffffffffffffffffffffffff831660208301529392505050565b60006020828403121561334d57600080fd5b8151612aa581612e20565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036133b0577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b601f821115610a6757600081815260208120601f850160051c8101602086101561340d5750805b601f850160051c820191505b8181101561342c57828155600101613419565b505050505050565b815167ffffffffffffffff81111561344e5761344e612e70565b6134628161345c84546132b0565b846133e6565b602080601f8311600181146134b5576000841561347f5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b17855561342c565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015613502578886015182559484019460019091019084016134e3565b508582101561353e57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121561356057600080fd5b815160ff81168114612aa557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250836040830152608060608301526135b06080830184612ac5565b9695505050505050565b6000602082840312156135cc57600080fd5b8151612aa581612a5a565b8181036135e2575050565b6135ec82546132b0565b67ffffffffffffffff81111561360457613604612e70565b6136128161345c84546132b0565b6000601f821160018114613664576000831561362e5750848201545b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600385901b1c1916600184901b178455613705565b6000858152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0841690600086815260209020845b838110156136bc578286015482556001958601959091019060200161369c565b50858310156136f857818501547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b50505060018360011b0184555b505050505056fea264697066735822122005918b5bf82ecfc5cbade9a10b99b05effee689d7ff16f261a52e83b5a4c9b0464736f6c634300081300330000000000000000000000005b81030c087d41558e3fcf23b3575e85c9a768e600000000000000000000000051870a0659a87c7b46baef7311b3128006e1fb160000000000000000000000003113e5bfe2251a9fca1225083cf6d36547e63e07", + "nonce": "0x7fc", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x6b6536c934fc7d4d1dba6374b0f6658c59bb0bc6b60a04a54a798accc816c975", + "transactionType": "CREATE", + "contractName": "IPOrgController", + "contractAddress": "0x9Be54430f2962a115353Ad2e8c62A106bBe71849", + "function": null, + "arguments": [ + "0x51870A0659A87c7B46baEF7311B3128006E1FB16" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x5e866f", + "value": "0x0", + "data": "0x60c0604052306080523480156200001557600080fd5b50604051620056d6380380620056d683398101604081905262000038916200004a565b6001600160a01b031660a0526200007c565b6000602082840312156200005d57600080fd5b81516001600160a01b03811681146200007557600080fd5b9392505050565b60805160a05161560a620000cc6000396000818161028b01528181610e88015261121b0152600081816106ae01528181610760015281816108bc0152818161096e0152610abe015261560a6000f3fe608060405260043610620000fb5760003560e01c806398e8e6ea1162000095578063caae51b81162000060578063caae51b814620002d2578063d8b67cc214620002f7578063eb3dcb7c146200031c578063fc1dad81146200035257600080fd5b806398e8e6ea146200022d578063a0f336f81462000252578063b95ddb521462000277578063c4d66de814620002ad57600080fd5b80633659cfe611620000d65780633659cfe6146200019b57806349403c8e14620001c05780634f1ef28614620001ef57806352d1902d146200020657600080fd5b806314afd79e146200010057806319129e5a146200014f57806331678cf61462000176575b600080fd5b3480156200010d57600080fd5b50620001256200011f366004620021c5565b6200039e565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b3480156200015c57600080fd5b50620001746200016e366004620021c5565b620003cf565b005b3480156200018357600080fd5b506200017462000195366004620021e3565b6200055b565b348015620001a857600080fd5b5062000174620001ba366004620021c5565b62000697565b348015620001cd57600080fd5b50606554620001259073ffffffffffffffffffffffffffffffffffffffff1681565b6200017462000200366004620022e5565b620008a5565b3480156200021357600080fd5b506200021e62000aa4565b60405190815260200162000146565b3480156200023a57600080fd5b50620001256200024c366004620023cc565b62000b92565b3480156200025f57600080fd5b506200017462000271366004620021c5565b62000f81565b3480156200028457600080fd5b50620001257f000000000000000000000000000000000000000000000000000000000000000081565b348015620002ba57600080fd5b5062000174620002cc366004620021c5565b620010ee565b348015620002df57600080fd5b5062000125620002f1366004620021c5565b6200134c565b3480156200030457600080fd5b506200017462000316366004620021c5565b6200137b565b3480156200032957600080fd5b50620003416200033b366004620021c5565b620014aa565b604051901515815260200162000146565b3480156200035f57600080fd5b507f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b65473ffffffffffffffffffffffffffffffffffffffff1662000125565b600080620003ac83620014e7565b54610100900473ffffffffffffffffffffffffffffffffffffffff169392505050565b6000620003dd813362001561565b62000422576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b6200046473ffffffffffffffffffffffffffffffffffffffff83167f7965db0b000000000000000000000000000000000000000000000000000000006200162e565b620004cc576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c000000000000000000000000000000000000604482015260640162000419565b7f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811782556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a2505050565b60006200056883620014e7565b8054909150610100900473ffffffffffffffffffffffffffffffffffffffff163314620005c1576040517f14d325a600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff82166200060f576040517f19f28cd700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84811691821790925560408051928616835260208301919091527f9d1eed91033af603ca90974d7f9dcffdc1a38de6e354262a1cd59243e6997f6091015b60405180910390a1505050565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630036200075e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c0000000000000000000000000000000000000000606482015260840162000419565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16620007d47f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff161462000879576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f78790000000000000000000000000000000000000000606482015260840162000419565b620008848162001656565b60408051600080825260208201909252620008a291839190620016c4565b50565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630036200096c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c0000000000000000000000000000000000000000606482015260840162000419565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16620009e27f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff161462000a87576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f78790000000000000000000000000000000000000000606482015260840162000419565b62000a928262001656565b62000aa082826001620016c4565b5050565b60003073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161462000b6d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c0000000000000000606482015260840162000419565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b600073ffffffffffffffffffffffffffffffffffffffff881662000be2576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60655462000c069073ffffffffffffffffffffffffffffffffffffffff16620018d4565b6040517f4cd88b7600000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff821690634cd88b769062000c63908a908a908a908a90600401620024fd565b600060405180830381600087803b15801562000c7e57600080fd5b505af115801562000c93573d6000803e3d6000fd5b50505050600062000ca36200199e565b60408051606081018252600180825273ffffffffffffffffffffffffffffffffffffffff8d8116602080850191825260008587018181528a851682528883528782209651875494517fffffffffffffffffffffff0000000000000000000000000000000000000000009095169015157fffffffffffffffffffffff0000000000000000000000000000000000000000ff16176101009486169490940293909317865591519490930180547fffffffffffffffffffffffff000000000000000000000000000000000000000016949092169390931790559151929350917f9aeb830ec91a14c97a5446cc7c86a42f73a78f37f9a77afa238b5d11520ddfbc9162000db1918891889101620025df565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905262000def929160200162002667565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181528282018252601383527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602084015290517fe1fc45ce00000000000000000000000000000000000000000000000000000000815290925073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163e1fc45ce9162000ec4918791309190879060040162002682565b6000604051808303816000875af115801562000ee4573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405262000f2c9190810190620026d1565b507f81e084d978860accc83df39f75b801d9019e40d18643b9b39f4cd2a70ca35adb8a848b8b8b8b8b8b60405162000f6c98979695949392919062002751565b60405180910390a15050979650505050505050565b600062000f8e82620014e7565b600181015490915073ffffffffffffffffffffffffffffffffffffffff16331462000fe5576040517f14d325a600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80546001820180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055336101009081027fffffffffffffffffffffff0000000000000000000000000000000000000000ff83161783556040805173ffffffffffffffffffffffffffffffffffffffff86811682526000602083015292909304909116917f9d1eed91033af603ca90974d7f9dcffdc1a38de6e354262a1cd59243e6997f60910160405180910390a16040805173ffffffffffffffffffffffffffffffffffffffff80861682528316602082015233918101919091527fa32ba34dcc7e0ace14cb99fb86f246e799dc1c9f82f03fc23290320b958e4af7906060016200068a565b600054610100900460ff16158080156200110f5750600054600160ff909116105b806200112b5750303b1580156200112b575060005460ff166001145b620011b9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840162000419565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156200121857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b307f0000000000000000000000000000000000000000000000000000000000000000604051620012489062002192565b73ffffffffffffffffffffffffffffffffffffffff928316815291166020820152604001604051809103906000f08015801562001289573d6000803e3d6000fd5b50606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055620012d9620019ce565b620012e48262001a69565b801562000aa057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15050565b6000806200135a83620014e7565b6001015473ffffffffffffffffffffffffffffffffffffffff169392505050565b60006200138882620014e7565b8054909150610100900473ffffffffffffffffffffffffffffffffffffffff163314620013e1576040517f14d325a600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600181015473ffffffffffffffffffffffffffffffffffffffff1662001433576040517f82fcfdf400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001690556040805173ffffffffffffffffffffffffffffffffffffffff84168152600060208201527f9d1eed91033af603ca90974d7f9dcffdc1a38de6e354262a1cd59243e6997f60910162001340565b600080620014b76200199e565b73ffffffffffffffffffffffffffffffffffffffff90931660009081526020939093525050604090205460ff1690565b600080620014f46200199e565b73ffffffffffffffffffffffffffffffffffffffff84166000908152602082905260409020805490935090915060ff166200155b576040517ff8e2020300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50919050565b6000807f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810187905273ffffffffffffffffffffffffffffffffffffffff86811660248301529293509116906391d1485490604401602060405180830381865afa158015620015fe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620016249190620027c8565b9150505b92915050565b60006200163b8362001d29565b80156200164f57506200164f838362001d92565b9392505050565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e362001683813362001561565b62000aa0576040517f75000dc00000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440162000419565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615620016ff57620016fa8362001e63565b505050565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562001787575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526200178491810190620027ec565b60015b62001815576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f742055555053000000000000000000000000000000000000606482015260840162000419565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114620018c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c65555549440000000000000000000000000000000000000000000000606482015260840162000419565b50620016fa83838362001f6f565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008260601b60e81c176000526e5af43d82803e903d91602b57fd5bf38260781b17602052603760096000f0905073ffffffffffffffffffffffffffffffffffffffff811662001999576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f455243313136373a20637265617465206661696c656400000000000000000000604482015260640162000419565b919050565b6000806200162860017f8d6a35d81367c6224789d71f67c0286162ba180a6bdb769f04c214735cdb8ce162002806565b600054610100900460ff1662001a67576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840162000419565b565b600054610100900460ff161580801562001a8a5750600054600160ff909116105b8062001aa65750303b15801562001aa6575060005460ff166001145b62001b34576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840162000419565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801562001b9357600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b62001bd573ffffffffffffffffffffffffffffffffffffffff83167f7965db0b000000000000000000000000000000000000000000000000000000006200162e565b62001c3d576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c000000000000000000000000000000000000604482015260640162000419565b7f06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811782556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a250801562000aa057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200162001340565b600062001d57827f01ffc9a70000000000000000000000000000000000000000000000000000000062001d92565b801562001628575062001d8b827fffffffff0000000000000000000000000000000000000000000000000000000062001d92565b1592915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d9150600051905082801562001e4b575060208210155b801562001e585750600081115b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff81163b62001f09576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e747261637400000000000000000000000000000000000000606482015260840162000419565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b62001f7a8362001fa0565b60008251118062001f885750805b15620016fa5762001f9a838362001fef565b50505050565b62001fab8162001e63565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606200164f8383604051806060016040528060278152602001620055ae6027913960606000808573ffffffffffffffffffffffffffffffffffffffff16856040516200203d919062002841565b600060405180830381855af49150503d80600081146200207a576040519150601f19603f3d011682016040523d82523d6000602084013e6200207f565b606091505b509150915062002092868383876200209c565b9695505050505050565b60608315620021375782516000036200212f5773ffffffffffffffffffffffffffffffffffffffff85163b6200212f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640162000419565b508162002143565b6200214383836200214b565b949350505050565b8151156200215c5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200041991906200285f565b612d39806200287583390190565b803573ffffffffffffffffffffffffffffffffffffffff811681146200199957600080fd5b600060208284031215620021d857600080fd5b6200164f82620021a0565b60008060408385031215620021f757600080fd5b6200220283620021a0565b91506200221260208401620021a0565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156200229457620022946200221b565b604052919050565b600067ffffffffffffffff821115620022b957620022b96200221b565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60008060408385031215620022f957600080fd5b6200230483620021a0565b9150602083013567ffffffffffffffff8111156200232157600080fd5b8301601f810185136200233357600080fd5b80356200234a62002344826200229c565b6200224a565b8181528660208385010111156200236057600080fd5b816020840160208301376000602083830101528093505050509250929050565b60008083601f8401126200239357600080fd5b50813567ffffffffffffffff811115620023ac57600080fd5b602083019150836020828501011115620023c557600080fd5b9250929050565b60008060008060008060006080888a031215620023e857600080fd5b620023f388620021a0565b9650602088013567ffffffffffffffff808211156200241157600080fd5b6200241f8b838c0162002380565b909850965060408a01359150808211156200243957600080fd5b620024478b838c0162002380565b909650945060608a01359150808211156200246157600080fd5b818a0191508a601f8301126200247657600080fd5b8135818111156200248657600080fd5b8b60208260051b85010111156200249c57600080fd5b60208301945080935050505092959891949750929550565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60408152600062002513604083018688620024b4565b828103602084015262001e58818587620024b4565b81835260006020808501808196508560051b810191508460005b87811015620025d257828403895281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18836030181126200258357600080fd5b8701858101903567ffffffffffffffff811115620025a057600080fd5b803603821315620025b057600080fd5b620025bd868284620024b4565b9a87019a955050509084019060010162002542565b5091979650505050505050565b6020815260006200214360208301848662002528565b60005b8381101562002612578181015183820152602001620025f8565b50506000910152565b6000815180845262002635816020860160208601620025f5565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b8281526040602082015260006200214360408301846200261b565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525060806040830152620026bd60808301856200261b565b828103606084015262001e5881856200261b565b600060208284031215620026e457600080fd5b815167ffffffffffffffff811115620026fc57600080fd5b8201601f810184136200270e57600080fd5b80516200271f62002344826200229c565b8181528560208385010111156200273557600080fd5b62002748826020830160208601620025f5565b95945050505050565b600073ffffffffffffffffffffffffffffffffffffffff808b168352808a1660208401525060a060408301526200278d60a08301888a620024b4565b8281036060840152620027a2818789620024b4565b90508281036080840152620027b981858762002528565b9b9a5050505050505050505050565b600060208284031215620027db57600080fd5b815180151581146200164f57600080fd5b600060208284031215620027ff57600080fd5b5051919050565b8181038181111562001628577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000825162002855818460208701620025f5565b9190910192915050565b6020815260006200164f60208301846200261b56fe60c06040523480156200001157600080fd5b5060405162002d3938038062002d3983398101604081905262000034916200017d565b600054610100900460ff1615808015620000555750600054600160ff909116105b80620000715750303b15801562000071575060005460ff166001145b620000d95760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b6000805460ff191660011790558015620000fd576000805461ff0019166101001790555b6001600160a01b0380841660a0528216608052801562000157576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050620001b5565b80516001600160a01b03811681146200017857600080fd5b919050565b600080604083850312156200019157600080fd5b6200019c8362000160565b9150620001ac6020840162000160565b90509250929050565b60805160a051612b2662000213600039600081816103c101528181610b0f015261107b01526000818161031101528181610784015281816108dc01528181610cb701528181610e37015281816112ac015261147e0152612b266000f3fe608060405234801561001057600080fd5b50600436106101985760003560e01c806370a08231116100e3578063c3cc244a1161008c578063e985e9c511610066578063e985e9c514610373578063ee0fc121146103bc578063f3f6f0d7146103e357600080fd5b8063c3cc244a14610333578063c87b56dd14610358578063e8a3d4851461036b57600080fd5b8063a22cb465116100bd578063a22cb465146102e6578063b88d4fde146102f9578063b95ddb521461030c57600080fd5b806370a08231146102c35780638da5cb5b146102d657806395d89b41146102de57600080fd5b806342842e0e11610145578063626273a11161011f578063626273a11461028a5780636352211e1461029d578063691562a0146102b057600080fd5b806342842e0e1461025157806342966c68146102645780634cd88b761461027757600080fd5b8063095ea7b311610176578063095ea7b31461021257806318160ddd1461022757806323b872dd1461023e57600080fd5b806301ffc9a71461019d57806306fdde03146101c5578063081812fc146101da575b600080fd5b6101b06101ab36600461235b565b6103ec565b60405190151581526020015b60405180910390f35b6101cd6104d1565b6040516101bc91906123e6565b6101ed6101e83660046123f9565b610563565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101bc565b610225610220366004612434565b610597565b005b61023060985481565b6040519081526020016101bc565b61022561024c366004612460565b610728565b61022561025f366004612460565b610865565b6102256102723660046123f9565b610880565b6102256102853660046124ea565b6109d3565b6102306102983660046123f9565b610c43565b6101ed6102ab3660046123f9565b610dcd565b6102306102be366004612556565b610dd8565b6102306102d1366004612595565b610f7c565b6101ed61104a565b6101cd611100565b6102256102f43660046125b2565b61110f565b6102256103073660046126a9565b61111e565b6101ed7f000000000000000000000000000000000000000000000000000000000000000081565b6103466103413660046123f9565b6111c6565b60405160ff90911681526020016101bc565b6101cd6103663660046123f9565b611237565b6101cd611409565b6101b0610381366004612758565b73ffffffffffffffffffffffffffffffffffffffff9182166000908152606a6020908152604080832093909416825291909152205460ff1690565b6101ed7f000000000000000000000000000000000000000000000000000000000000000081565b61023060975481565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061047f57507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b806104cb57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6060606580546104e090612786565b80601f016020809104026020016040519081016040528092919081815260200182805461050c90612786565b80156105595780601f1061052e57610100808354040283529160200191610559565b820191906000526020600020905b81548152906001019060200180831161053c57829003601f168201915b5050505050905090565b600061056e826115aa565b5060009081526069602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60006105a282611635565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610664576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff8216148061068d575061068d8133610381565b610719576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000606482015260840161065b565b61072383836116c1565b505050565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815233917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a916107cc916004016123e6565b602060405180830381865afa1580156107e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061080d91906127d9565b73ffffffffffffffffffffffffffffffffffffffff161461085a576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610723838383611761565b6107238383836040518060200160405280600081525061111e565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815233917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a91610924916004016123e6565b602060405180830381865afa158015610941573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061096591906127d9565b73ffffffffffffffffffffffffffffffffffffffff16146109b2576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b609880549060006109c283612825565b91905055506109d081611a5c565b50565b600054610100900460ff16158080156109f35750600054600160ff909116105b80610a0d5750303b158015610a0d575060005460ff166001145b610a99576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840161065b565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610af757600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610b66576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610bd985858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f89018190048102820181019092528781529250879150869081908401838280828437600092019190915250611b3492505050565b8015610c3c57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a000000000000000000000000000000000000000000000000000000008152600091829173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a91610ceb91906004016123e6565b602060405180830381865afa158015610d08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d2c91906127d9565b6040517f5f32b4300000000000000000000000000000000000000000000000000000000081523060048201526024810185905290915073ffffffffffffffffffffffffffffffffffffffff821690635f32b430906044016020604051808303816000875af1158015610da2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dc6919061285a565b9392505050565b60006104cb82611635565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260009133917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a91610e8091906004016123e6565b602060405180830381865afa158015610e9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec191906127d9565b73ffffffffffffffffffffffffffffffffffffffff1614610f0e576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60988054906000610f1e83612873565b9190505550609760008154610f3290612873565b9182905550600081815260996020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff851617905590506104cb8382611bd5565b600073ffffffffffffffffffffffffffffffffffffffff8216611021576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e65720000000000000000000000000000000000000000000000606482015260840161065b565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526068602052604090205490565b6040517f14afd79e0000000000000000000000000000000000000000000000000000000081523060048201526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906314afd79e90602401602060405180830381865afa1580156110d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110fb91906127d9565b905090565b6060606680546104e090612786565b61111a338383611dfa565b5050565b6111283383611f27565b6111b4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f76656400000000000000000000000000000000000000606482015260840161065b565b6111c084848484611fe7565b50505050565b60008181526067602052604081205473ffffffffffffffffffffffffffffffffffffffff16611221576040517f6831df8d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060009081526099602052604090205460ff1690565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260609160009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a916112e091906004016123e6565b602060405180830381865afa1580156112fd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061132191906127d9565b90508073ffffffffffffffffffffffffffffffffffffffff1663e8d72654308561134a876111c6565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815273ffffffffffffffffffffffffffffffffffffffff9093166004840152602483019190915260ff166044820152606401600060405180830381865afa1580156113c3573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610dc691908101906128ab565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260609160009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a916114b291906004016123e6565b602060405180830381865afa1580156114cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114f391906127d9565b6040517e844d1300000000000000000000000000000000000000000000000000000000815230600482015290915073ffffffffffffffffffffffffffffffffffffffff82169062844d1390602401600060405180830381865afa15801561155e573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526115a491908101906128ab565b91505090565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff166109d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e2049440000000000000000604482015260640161065b565b60008181526067602052604081205473ffffffffffffffffffffffffffffffffffffffff16806104cb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e2049440000000000000000604482015260640161065b565b600081815260696020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117909155819061171b82611635565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b8273ffffffffffffffffffffffffffffffffffffffff1661178182611635565b73ffffffffffffffffffffffffffffffffffffffff1614611824576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e6572000000000000000000000000000000000000000000000000000000606482015260840161065b565b73ffffffffffffffffffffffffffffffffffffffff82166118c6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161065b565b8273ffffffffffffffffffffffffffffffffffffffff166118e682611635565b73ffffffffffffffffffffffffffffffffffffffff1614611989576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e6572000000000000000000000000000000000000000000000000000000606482015260840161065b565b600081815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff8781168086526068855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905590871680865283862080546001019055868652606790945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6000611a6782611635565b9050611a7282611635565b600083815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff85168085526068845282852080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190558785526067909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b600054610100900460ff16611bcb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161065b565b61111a828261208a565b73ffffffffffffffffffffffffffffffffffffffff8216611c52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161065b565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff1615611cde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161065b565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff1615611d6a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161065b565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260686020908152604080832080546001019055848352606790915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611e8f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161065b565b73ffffffffffffffffffffffffffffffffffffffff8381166000818152606a602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b600080611f3383611635565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611fa1575073ffffffffffffffffffffffffffffffffffffffff8082166000908152606a602090815260408083209388168352929052205460ff165b80611fdf57508373ffffffffffffffffffffffffffffffffffffffff16611fc784610563565b73ffffffffffffffffffffffffffffffffffffffff16145b949350505050565b611ff2848484611761565b611ffe8484848461213a565b6111c0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e7465720000000000000000000000000000606482015260840161065b565b600054610100900460ff16612121576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161065b565b606561212d8382612970565b5060666107238282612970565b600073ffffffffffffffffffffffffffffffffffffffff84163b15612322576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a02906121b1903390899088908890600401612a8a565b6020604051808303816000875af192505050801561220a575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261220791810190612ad3565b60015b6122d7573d808015612238576040519150601f19603f3d011682016040523d82523d6000602084013e61223d565b606091505b5080516000036122cf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e7465720000000000000000000000000000606482015260840161065b565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050611fdf565b506001949350505050565b7fffffffff00000000000000000000000000000000000000000000000000000000811681146109d057600080fd5b60006020828403121561236d57600080fd5b8135610dc68161232d565b60005b8381101561239357818101518382015260200161237b565b50506000910152565b600081518084526123b4816020860160208601612378565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610dc6602083018461239c565b60006020828403121561240b57600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff811681146109d057600080fd5b6000806040838503121561244757600080fd5b823561245281612412565b946020939093013593505050565b60008060006060848603121561247557600080fd5b833561248081612412565b9250602084013561249081612412565b929592945050506040919091013590565b60008083601f8401126124b357600080fd5b50813567ffffffffffffffff8111156124cb57600080fd5b6020830191508360208285010111156124e357600080fd5b9250929050565b6000806000806040858703121561250057600080fd5b843567ffffffffffffffff8082111561251857600080fd5b612524888389016124a1565b9096509450602087013591508082111561253d57600080fd5b5061254a878288016124a1565b95989497509550505050565b6000806040838503121561256957600080fd5b823561257481612412565b9150602083013560ff8116811461258a57600080fd5b809150509250929050565b6000602082840312156125a757600080fd5b8135610dc681612412565b600080604083850312156125c557600080fd5b82356125d081612412565b91506020830135801515811461258a57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561265b5761265b6125e5565b604052919050565b600067ffffffffffffffff82111561267d5761267d6125e5565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600080600080608085870312156126bf57600080fd5b84356126ca81612412565b935060208501356126da81612412565b925060408501359150606085013567ffffffffffffffff8111156126fd57600080fd5b8501601f8101871361270e57600080fd5b803561272161271c82612663565b612614565b81815288602083850101111561273657600080fd5b8160208401602083013760006020838301015280935050505092959194509250565b6000806040838503121561276b57600080fd5b823561277681612412565b9150602083013561258a81612412565b600181811c9082168061279a57607f821691505b6020821081036127d3577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b6000602082840312156127eb57600080fd5b8151610dc681612412565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600081612834576128346127f6565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b60006020828403121561286c57600080fd5b5051919050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036128a4576128a46127f6565b5060010190565b6000602082840312156128bd57600080fd5b815167ffffffffffffffff8111156128d457600080fd5b8201601f810184136128e557600080fd5b80516128f361271c82612663565b81815285602083850101111561290857600080fd5b612919826020830160208601612378565b95945050505050565b601f82111561072357600081815260208120601f850160051c810160208610156129495750805b601f850160051c820191505b8181101561296857828155600101612955565b505050505050565b815167ffffffffffffffff81111561298a5761298a6125e5565b61299e816129988454612786565b84612922565b602080601f8311600181146129f157600084156129bb5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555612968565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015612a3e57888601518255948401946001909101908401612a1f565b5085821015612a7a57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525083604083015260806060830152612ac9608083018461239c565b9695505050505050565b600060208284031215612ae557600080fd5b8151610dc68161232d56fea26469706673582212202f539941999670b371ba76bce5df1736fd82afb2c9c939e8219ae46e05215f2064736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220c5ad7174fbcec6fe1a447b9d3bc0f95e4d23c7be87864477488c24c33653be3664736f6c6343000813003300000000000000000000000051870a0659a87c7b46baef7311b3128006e1fb16", + "nonce": "0x7fd", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x23a9b55f090db2b42a8eecd0d860389790e13ae95d7c16651550c6f5f8d9434f", + "transactionType": "CREATE", + "contractName": "ERC1967Proxy", + "contractAddress": "0xC4F7E87F9FF2A2DF9bC7FF8399558B594EBF911A", + "function": null, + "arguments": [ + "0x9Be54430f2962a115353Ad2e8c62A106bBe71849", + "0xc4d66de8000000000000000000000000518ccd79e0e7b75fd5fcc09463fb09cb7d55470d" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x316ce5", + "value": "0x0", + "data": "0x60806040526040516104ee3803806104ee833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c760279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60be806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea264697066735822122091c81c9b8ac755a7e1e08c0e9f65600d21e642457fb84c7f9e0d0a65b62d269064736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c65640000000000000000000000009be54430f2962a115353ad2e8c62a106bbe7184900000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de8000000000000000000000000518ccd79e0e7b75fd5fcc09463fb09cb7d55470d00000000000000000000000000000000000000000000000000000000", + "nonce": "0x7fe", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0x32ef4938e99BBD517F1f673470270aeedE017a7a", + "initCode": "60c06040523480156200001157600080fd5b5060405162002d3938038062002d3983398101604081905262000034916200017d565b600054610100900460ff1615808015620000555750600054600160ff909116105b80620000715750303b15801562000071575060005460ff166001145b620000d95760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b6000805460ff191660011790558015620000fd576000805461ff0019166101001790555b6001600160a01b0380841660a0528216608052801562000157576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050620001b5565b80516001600160a01b03811681146200017857600080fd5b919050565b600080604083850312156200019157600080fd5b6200019c8362000160565b9150620001ac6020840162000160565b90509250929050565b60805160a051612b2662000213600039600081816103c101528181610b0f015261107b01526000818161031101528181610784015281816108dc01528181610cb701528181610e37015281816112ac015261147e0152612b266000f3fe608060405234801561001057600080fd5b50600436106101985760003560e01c806370a08231116100e3578063c3cc244a1161008c578063e985e9c511610066578063e985e9c514610373578063ee0fc121146103bc578063f3f6f0d7146103e357600080fd5b8063c3cc244a14610333578063c87b56dd14610358578063e8a3d4851461036b57600080fd5b8063a22cb465116100bd578063a22cb465146102e6578063b88d4fde146102f9578063b95ddb521461030c57600080fd5b806370a08231146102c35780638da5cb5b146102d657806395d89b41146102de57600080fd5b806342842e0e11610145578063626273a11161011f578063626273a11461028a5780636352211e1461029d578063691562a0146102b057600080fd5b806342842e0e1461025157806342966c68146102645780634cd88b761461027757600080fd5b8063095ea7b311610176578063095ea7b31461021257806318160ddd1461022757806323b872dd1461023e57600080fd5b806301ffc9a71461019d57806306fdde03146101c5578063081812fc146101da575b600080fd5b6101b06101ab36600461235b565b6103ec565b60405190151581526020015b60405180910390f35b6101cd6104d1565b6040516101bc91906123e6565b6101ed6101e83660046123f9565b610563565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101bc565b610225610220366004612434565b610597565b005b61023060985481565b6040519081526020016101bc565b61022561024c366004612460565b610728565b61022561025f366004612460565b610865565b6102256102723660046123f9565b610880565b6102256102853660046124ea565b6109d3565b6102306102983660046123f9565b610c43565b6101ed6102ab3660046123f9565b610dcd565b6102306102be366004612556565b610dd8565b6102306102d1366004612595565b610f7c565b6101ed61104a565b6101cd611100565b6102256102f43660046125b2565b61110f565b6102256103073660046126a9565b61111e565b6101ed7f000000000000000000000000000000000000000000000000000000000000000081565b6103466103413660046123f9565b6111c6565b60405160ff90911681526020016101bc565b6101cd6103663660046123f9565b611237565b6101cd611409565b6101b0610381366004612758565b73ffffffffffffffffffffffffffffffffffffffff9182166000908152606a6020908152604080832093909416825291909152205460ff1690565b6101ed7f000000000000000000000000000000000000000000000000000000000000000081565b61023060975481565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061047f57507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b806104cb57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6060606580546104e090612786565b80601f016020809104026020016040519081016040528092919081815260200182805461050c90612786565b80156105595780601f1061052e57610100808354040283529160200191610559565b820191906000526020600020905b81548152906001019060200180831161053c57829003601f168201915b5050505050905090565b600061056e826115aa565b5060009081526069602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60006105a282611635565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610664576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff8216148061068d575061068d8133610381565b610719576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000606482015260840161065b565b61072383836116c1565b505050565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815233917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a916107cc916004016123e6565b602060405180830381865afa1580156107e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061080d91906127d9565b73ffffffffffffffffffffffffffffffffffffffff161461085a576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610723838383611761565b6107238383836040518060200160405280600081525061111e565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815233917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a91610924916004016123e6565b602060405180830381865afa158015610941573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061096591906127d9565b73ffffffffffffffffffffffffffffffffffffffff16146109b2576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b609880549060006109c283612825565b91905055506109d081611a5c565b50565b600054610100900460ff16158080156109f35750600054600160ff909116105b80610a0d5750303b158015610a0d575060005460ff166001145b610a99576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840161065b565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610af757600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610b66576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610bd985858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f89018190048102820181019092528781529250879150869081908401838280828437600092019190915250611b3492505050565b8015610c3c57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a000000000000000000000000000000000000000000000000000000008152600091829173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a91610ceb91906004016123e6565b602060405180830381865afa158015610d08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d2c91906127d9565b6040517f5f32b4300000000000000000000000000000000000000000000000000000000081523060048201526024810185905290915073ffffffffffffffffffffffffffffffffffffffff821690635f32b430906044016020604051808303816000875af1158015610da2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dc6919061285a565b9392505050565b60006104cb82611635565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260009133917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169163c7bdcb8a91610e8091906004016123e6565b602060405180830381865afa158015610e9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec191906127d9565b73ffffffffffffffffffffffffffffffffffffffff1614610f0e576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60988054906000610f1e83612873565b9190505550609760008154610f3290612873565b9182905550600081815260996020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff851617905590506104cb8382611bd5565b600073ffffffffffffffffffffffffffffffffffffffff8216611021576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e65720000000000000000000000000000000000000000000000606482015260840161065b565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526068602052604090205490565b6040517f14afd79e0000000000000000000000000000000000000000000000000000000081523060048201526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906314afd79e90602401602060405180830381865afa1580156110d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110fb91906127d9565b905090565b6060606680546104e090612786565b61111a338383611dfa565b5050565b6111283383611f27565b6111b4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f76656400000000000000000000000000000000000000606482015260840161065b565b6111c084848484611fe7565b50505050565b60008181526067602052604081205473ffffffffffffffffffffffffffffffffffffffff16611221576040517f6831df8d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060009081526099602052604090205460ff1690565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260609160009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a916112e091906004016123e6565b602060405180830381865afa1580156112fd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061132191906127d9565b90508073ffffffffffffffffffffffffffffffffffffffff1663e8d72654308561134a876111c6565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815273ffffffffffffffffffffffffffffffffffffffff9093166004840152602483019190915260ff166044820152606401600060405180830381865afa1580156113c3573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610dc691908101906128ab565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260609160009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a916114b291906004016123e6565b602060405180830381865afa1580156114cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114f391906127d9565b6040517e844d1300000000000000000000000000000000000000000000000000000000815230600482015290915073ffffffffffffffffffffffffffffffffffffffff82169062844d1390602401600060405180830381865afa15801561155e573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526115a491908101906128ab565b91505090565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff166109d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e2049440000000000000000604482015260640161065b565b60008181526067602052604081205473ffffffffffffffffffffffffffffffffffffffff16806104cb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e2049440000000000000000604482015260640161065b565b600081815260696020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117909155819061171b82611635565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b8273ffffffffffffffffffffffffffffffffffffffff1661178182611635565b73ffffffffffffffffffffffffffffffffffffffff1614611824576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e6572000000000000000000000000000000000000000000000000000000606482015260840161065b565b73ffffffffffffffffffffffffffffffffffffffff82166118c6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161065b565b8273ffffffffffffffffffffffffffffffffffffffff166118e682611635565b73ffffffffffffffffffffffffffffffffffffffff1614611989576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e6572000000000000000000000000000000000000000000000000000000606482015260840161065b565b600081815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff8781168086526068855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905590871680865283862080546001019055868652606790945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6000611a6782611635565b9050611a7282611635565b600083815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff85168085526068845282852080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190558785526067909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b600054610100900460ff16611bcb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161065b565b61111a828261208a565b73ffffffffffffffffffffffffffffffffffffffff8216611c52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161065b565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff1615611cde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161065b565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff1615611d6a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161065b565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260686020908152604080832080546001019055848352606790915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611e8f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161065b565b73ffffffffffffffffffffffffffffffffffffffff8381166000818152606a602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b600080611f3383611635565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611fa1575073ffffffffffffffffffffffffffffffffffffffff8082166000908152606a602090815260408083209388168352929052205460ff165b80611fdf57508373ffffffffffffffffffffffffffffffffffffffff16611fc784610563565b73ffffffffffffffffffffffffffffffffffffffff16145b949350505050565b611ff2848484611761565b611ffe8484848461213a565b6111c0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e7465720000000000000000000000000000606482015260840161065b565b600054610100900460ff16612121576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161065b565b606561212d8382612970565b5060666107238282612970565b600073ffffffffffffffffffffffffffffffffffffffff84163b15612322576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a02906121b1903390899088908890600401612a8a565b6020604051808303816000875af192505050801561220a575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261220791810190612ad3565b60015b6122d7573d808015612238576040519150601f19603f3d011682016040523d82523d6000602084013e61223d565b606091505b5080516000036122cf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e7465720000000000000000000000000000606482015260840161065b565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050611fdf565b506001949350505050565b7fffffffff00000000000000000000000000000000000000000000000000000000811681146109d057600080fd5b60006020828403121561236d57600080fd5b8135610dc68161232d565b60005b8381101561239357818101518382015260200161237b565b50506000910152565b600081518084526123b4816020860160208601612378565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610dc6602083018461239c565b60006020828403121561240b57600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff811681146109d057600080fd5b6000806040838503121561244757600080fd5b823561245281612412565b946020939093013593505050565b60008060006060848603121561247557600080fd5b833561248081612412565b9250602084013561249081612412565b929592945050506040919091013590565b60008083601f8401126124b357600080fd5b50813567ffffffffffffffff8111156124cb57600080fd5b6020830191508360208285010111156124e357600080fd5b9250929050565b6000806000806040858703121561250057600080fd5b843567ffffffffffffffff8082111561251857600080fd5b612524888389016124a1565b9096509450602087013591508082111561253d57600080fd5b5061254a878288016124a1565b95989497509550505050565b6000806040838503121561256957600080fd5b823561257481612412565b9150602083013560ff8116811461258a57600080fd5b809150509250929050565b6000602082840312156125a757600080fd5b8135610dc681612412565b600080604083850312156125c557600080fd5b82356125d081612412565b91506020830135801515811461258a57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561265b5761265b6125e5565b604052919050565b600067ffffffffffffffff82111561267d5761267d6125e5565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600080600080608085870312156126bf57600080fd5b84356126ca81612412565b935060208501356126da81612412565b925060408501359150606085013567ffffffffffffffff8111156126fd57600080fd5b8501601f8101871361270e57600080fd5b803561272161271c82612663565b612614565b81815288602083850101111561273657600080fd5b8160208401602083013760006020838301015280935050505092959194509250565b6000806040838503121561276b57600080fd5b823561277681612412565b9150602083013561258a81612412565b600181811c9082168061279a57607f821691505b6020821081036127d3577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b6000602082840312156127eb57600080fd5b8151610dc681612412565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600081612834576128346127f6565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b60006020828403121561286c57600080fd5b5051919050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036128a4576128a46127f6565b5060010190565b6000602082840312156128bd57600080fd5b815167ffffffffffffffff8111156128d457600080fd5b8201601f810184136128e557600080fd5b80516128f361271c82612663565b81815285602083850101111561290857600080fd5b612919826020830160208601612378565b95945050505050565b601f82111561072357600081815260208120601f850160051c810160208610156129495750805b601f850160051c820191505b8181101561296857828155600101612955565b505050505050565b815167ffffffffffffffff81111561298a5761298a6125e5565b61299e816129988454612786565b84612922565b602080601f8311600181146129f157600084156129bb5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555612968565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015612a3e57888601518255948401946001909101908401612a1f565b5085821015612a7a57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525083604083015260806060830152612ac9608083018461239c565b9695505050505050565b600060208284031215612ae557600080fd5b8151610dc68161232d56fea26469706673582212202f539941999670b371ba76bce5df1736fd82afb2c9c939e8219ae46e05215f2064736f6c63430008130033000000000000000000000000c4f7e87f9ff2a2df9bc7ff8399558b594ebf911a00000000000000000000000051870a0659a87c7b46baef7311b3128006e1fb16" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0x3f1232fc659c4a138d1986e263b91319bb7d1cfd0a1aabdea21de303fa36756f", + "transactionType": "CREATE", + "contractName": "StoryProtocol", + "contractAddress": "0x25A6f44df208E8Cc79E97fE72E240F4cDb3D9a46", + "function": null, + "arguments": [ + "0xC4F7E87F9FF2A2DF9bC7FF8399558B594EBF911A", + "0x51870A0659A87c7B46baEF7311B3128006E1FB16" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x29960b", + "value": "0x0", + "data": "0x60c06040523480156200001157600080fd5b5060405162002667380380620026678339810160408190526200003491620000a2565b6001600160a01b03821615806200005257506001600160a01b038116155b15620000715760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b039182166080521660a052620000e1565b6001600160a01b03811681146200009f57600080fd5b50565b60008060408385031215620000b657600080fd5b8251620000c38162000089565b6020840151909250620000d68162000089565b809150509250929050565b60805160a05161250c6200015b600039600081816102530152818161036e0152818161044c015281816105aa015281816106f101528181610953015281816109dd01528181610bf101528181610df401528181610f800152818161107201526112950152600081816101750152610b5c015261250c6000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c806398e8e6ea11610097578063b108e1c611610066578063b108e1c61461023b578063b95ddb521461024e578063ce75e7fc14610275578063eb3b0cba1461028857600080fd5b806398e8e6ea146101e2578063a3a0428f146101f5578063a5823a3714610208578063ac9650d81461021b57600080fd5b80634d343a45116100d35780634d343a451461015d57806351e06b90146101705780635a5173bd146101bc5780637a103e33146101cf57600080fd5b806317031df1146100fa5780632d26ff3e146101275780633d20e00d1461013c575b600080fd5b61010d61010836600461154a565b61029b565b604080519283526020830191909152015b60405180910390f35b61013a6101353660046115f1565b610435565b005b61014f61014a36600461163e565b610581565b60405190815260200161011e565b61013a61016b36600461168b565b6106ef565b6101977f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161011e565b61013a6101ca3660046116b7565b610884565b61013a6101dd36600461174e565b6109db565b6101976101f0366004611796565b610b1c565b61014f61020336600461154a565b610bec565b61013a610216366004611843565b610d07565b61022e6102293660046118f4565b610e89565b60405161011e91906119db565b61013a6102493660046119ee565b610f7e565b6101977f000000000000000000000000000000000000000000000000000000000000000081565b61013a610283366004611a3e565b611070565b61013a610296366004611a73565b6111c2565b60008060007fe761f303268b55a3dc96719551acb95ca3bd1ebeef4b720be68dd92563627a3f886040516020016102d29190611b9b565b60408051601f19818403018152908290526102f09291602001611c30565b60408051601f198184030181528282018252601383527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602084015290517fb38609e800000000000000000000000000000000000000000000000000000000815290925060009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163b38609e8916103af918e91339188908f908f908f908f90600401611c99565b6000604051808303816000875af11580156103ce573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103f69190810190611d4c565b9050805160000361040f5760008093509350505061042a565b808060200190518101906104239190611df9565b9350935050505b965096945050505050565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001663e1fc45ce6104816040840160208501611e1d565b336040518060400160405280601381526020017f52454c4154494f4e534849505f4d4f44554c45000000000000000000000000008152507f99bf0fbd60208ca164accd299e2c0a8b4475c1a2df53c2d7160870f682536528866040516020016104ea9190611f2c565b60408051601f19818403018152908290526105089291602001611c30565b6040516020818303038152906040526040518563ffffffff1660e01b81526004016105369493929190611fff565b6000604051808303816000875af1158015610555573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261057d9190810190611d4c565b5050565b6000808660405160200161059591906120ee565b604051602081830303815290604052905060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663b38609e88a336040518060400160405280601081526020017f4c4943454e53494e475f4d4f44554c45000000000000000000000000000000008152507f3f92a83f1dd77188c62fa393a54ccf9854be836ca6c243397d0acbbce04723878760405160200161064f929190611c30565b6040516020818303038152906040528c8c8c8c6040518963ffffffff1660e01b8152600401610685989796959493929190611c99565b6000604051808303816000875af11580156106a4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106cc9190810190611d4c565b9050808060200190518101906106e29190612134565b9998505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663b38609e883336040518060400160405280601081526020017f4c4943454e53494e475f4d4f44554c45000000000000000000000000000000008152507f5281374dd3fc2bb7839f50fddfb6a14a666cb4d23b20d6aecf9b9950d103b3368660405160200161079791815260200190565b60408051601f19818403018152908290526107b59291602001611c30565b60408051808303601f1901815260008084526020840190925291906107ea565b60608152602001906001900390816107d55790505b506040805160008082526020820190925290610816565b60608152602001906001900390816108015790505b506040518763ffffffff1660e01b81526004016108389695949392919061214d565b6000604051808303816000875af1158015610857573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261087f9190810190611d4c565b505050565b60007f9aeb830ec91a14c97a5446cc7c86a42f73a78f37f9a77afa238b5d11520ddfbc83836040516020016108ba9291906121c0565b60408051601f19818403018152908290526108d89291602001611c30565b60408051601f198184030181528282018252601383527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602084015290517fe1fc45ce00000000000000000000000000000000000000000000000000000000815290925073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163e1fc45ce9161098d9188913391908790600401611fff565b6000604051808303816000875af11580156109ac573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109d49190810190611d4c565b5050505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e1fc45ce84336040518060400160405280601381526020017f52454c4154494f4e534849505f4d4f44554c45000000000000000000000000008152507fe5801b46183bd353d44247232707bb62253655a0580ade69a754ba7157ddf8fd8787604051602001610a839291906121d4565b60408051601f1981840301815290829052610aa19291602001611c30565b6040516020818303038152906040526040518563ffffffff1660e01b8152600401610acf9493929190611fff565b6000604051808303816000875af1158015610aee573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b169190810190611d4c565b50505050565b6040517f98e8e6ea00000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906398e8e6ea90610b9d908b908b908b908b908b908b908b906004016121e8565b6020604051808303816000875af1158015610bbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be0919061224e565b98975050505050505050565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663b38609e889336040518060400160405280601381526020017f52454c4154494f4e534849505f4d4f44554c45000000000000000000000000008152508b604051602001610c74919061226b565b6040516020818303038152906040528b8b8b8b6040518963ffffffff1660e01b8152600401610caa989796959493929190611c99565b6000604051808303816000875af1158015610cc9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610cf19190810190611d4c565b905080806020019051810190610be09190612134565b6040805173ffffffffffffffffffffffffffffffffffffffff898116602083015288168183015260608082018890528251808303909101815260808201909252600091610d79917fbc42750dbe73870bbe102106b22fd8bdfa53c7247eca196d8bb7da9527f0c1e5919060a001611c30565b60408051601f198184030181528282018252601383527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602084015290517fb38609e800000000000000000000000000000000000000000000000000000000815290925073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163b38609e891610e36918d9133919087908c908c908c908c90600401611c99565b6000604051808303816000875af1158015610e55573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e7d9190810190611d4c565b50505050505050505050565b60608167ffffffffffffffff811115610ea457610ea4611d1d565b604051908082528060200260200182016040528015610ed757816020015b6060815260200190600190039081610ec25790505b50905060005b82811015610f7757610f4730858584818110610efb57610efb6122f4565b9050602002810190610f0d9190612323565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061131f92505050565b828281518110610f5957610f596122f4565b60200260200101819052508080610f6f90612388565b915050610edd565b5092915050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e1fc45ce83336040518060400160405280601081526020017f4c4943454e53494e475f4d4f44554c45000000000000000000000000000000008152507f8b21f20183a523515c357db6dba25c92b138630b63988ca3e60a6be86c8da0458660405160200161102491906123e7565b60408051601f19818403018152908290526110429291602001611c30565b6040516020818303038152906040526040518563ffffffff1660e01b81526004016108389493929190611fff565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663b38609e884336040518060400160405280601081526020017f4c4943454e53494e475f4d4f44554c45000000000000000000000000000000008152507f29def77ab981c01a6b53c58b23dd89ac4447095f721298424063ed3f16962ac68787604051602001611121929190918252602082015260400190565b60408051601f198184030181529082905261113f9291602001611c30565b60408051808303601f190181526000808452602084019092529190611174565b606081526020019060019003908161115f5790505b5060408051600080825260208201909252906111a0565b606081526020019060019003908161118b5790505b506040518763ffffffff1660e01b8152600401610acf9695949392919061214d565b60007f88fae8356076de6f233fd00b30fad913df2329364a9e9242abdc96adccc3bfc9858585856040516020016111fc9493929190612459565b60408051601f198184030181529082905261121a9291602001611c30565b60408051601f198184030181528282018252601383527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602084015290517fe1fc45ce00000000000000000000000000000000000000000000000000000000815290925073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163e1fc45ce916112cf918a913391908790600401611fff565b6000604051808303816000875af11580156112ee573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113169190810190611d4c565b50505050505050565b606061134483836040518060600160405280602781526020016124b06027913961134b565b9392505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516113759190612480565b600060405180830381855af49150503d80600081146113b0576040519150601f19603f3d011682016040523d82523d6000602084013e6113b5565b606091505b50915091506113c6868383876113d0565b9695505050505050565b6060831561146b5782516000036114645773ffffffffffffffffffffffffffffffffffffffff85163b611464576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064015b60405180910390fd5b5081611475565b611475838361147d565b949350505050565b81511561148d5781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145b919061249c565b73ffffffffffffffffffffffffffffffffffffffff811681146114e357600080fd5b50565b600060a082840312156114f857600080fd5b50919050565b60008083601f84011261151057600080fd5b50813567ffffffffffffffff81111561152857600080fd5b6020830191508360208260051b850101111561154357600080fd5b9250929050565b6000806000806000806080878903121561156357600080fd5b863561156e816114c1565b9550602087013567ffffffffffffffff8082111561158b57600080fd5b6115978a838b016114e6565b965060408901359150808211156115ad57600080fd5b6115b98a838b016114fe565b909650945060608901359150808211156115d257600080fd5b506115df89828a016114fe565b979a9699509497509295939492505050565b60006020828403121561160357600080fd5b813567ffffffffffffffff81111561161a57600080fd5b820160c0818503121561134457600080fd5b6000606082840312156114f857600080fd5b6000806000806000806080878903121561165757600080fd5b8635611662816114c1565b9550602087013567ffffffffffffffff8082111561167f57600080fd5b6115978a838b0161162c565b6000806040838503121561169e57600080fd5b82356116a9816114c1565b946020939093013593505050565b6000806000604084860312156116cc57600080fd5b83356116d7816114c1565b9250602084013567ffffffffffffffff8111156116f357600080fd5b6116ff868287016114fe565b9497909650939450505050565b60008083601f84011261171e57600080fd5b50813567ffffffffffffffff81111561173657600080fd5b60208301915083602082850101111561154357600080fd5b60008060006040848603121561176357600080fd5b833561176e816114c1565b9250602084013567ffffffffffffffff81111561178a57600080fd5b6116ff8682870161170c565b60008060008060008060006080888a0312156117b157600080fd5b87356117bc816114c1565b9650602088013567ffffffffffffffff808211156117d957600080fd5b6117e58b838c0161170c565b909850965060408a01359150808211156117fe57600080fd5b61180a8b838c0161170c565b909650945060608a013591508082111561182357600080fd5b506118308a828b016114fe565b989b979a50959850939692959293505050565b60008060008060008060008060c0898b03121561185f57600080fd5b883561186a816114c1565b9750602089013561187a816114c1565b9650604089013561188a816114c1565b955060608901359450608089013567ffffffffffffffff808211156118ae57600080fd5b6118ba8c838d016114fe565b909650945060a08b01359150808211156118d357600080fd5b506118e08b828c016114fe565b999c989b5096995094979396929594505050565b6000806020838503121561190757600080fd5b823567ffffffffffffffff81111561191e57600080fd5b61192a858286016114fe565b90969095509350505050565b60005b83811015611951578181015183820152602001611939565b50506000910152565b60008151808452611972816020860160208601611936565b601f01601f19169290920160200192915050565b600081518084526020808501808196508360051b8101915082860160005b858110156119ce5782840389526119bc84835161195a565b988501989350908401906001016119a4565b5091979650505050505050565b6020815260006113446020830184611986565b60008060408385031215611a0157600080fd5b8235611a0c816114c1565b9150602083013567ffffffffffffffff811115611a2857600080fd5b611a348582860161162c565b9150509250929050565b600080600060608486031215611a5357600080fd5b8335611a5e816114c1565b95602085013595506040909401359392505050565b600080600080600060608688031215611a8b57600080fd5b8535611a96816114c1565b9450602086013567ffffffffffffffff80821115611ab357600080fd5b611abf89838a0161170c565b90965094506040880135915080821115611ad857600080fd5b50611ae58882890161170c565b969995985093965092949392505050565b803560ff81168114611b0757600080fd5b919050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611b4157600080fd5b830160208101925035905067ffffffffffffffff811115611b6157600080fd5b80360382131561154357600080fd5b818352818160208501375060006020828401015260006020601f19601f840116840101905092915050565b6020815260008235611bac816114c1565b73ffffffffffffffffffffffffffffffffffffffff811660208401525060ff611bd760208501611af6565b166040830152611bea6040840184611b0c565b60a06060850152611bff60c085018284611b70565b91505060608401356080840152611c196080850185611b0c565b601f198584030160a08601526113c6838284611b70565b828152604060208201526000611475604083018461195a565b81835260006020808501808196508560051b810191508460005b878110156119ce578284038952611c7a8288611b0c565b611c85868284611b70565b9a87019a9550505090840190600101611c63565b600073ffffffffffffffffffffffffffffffffffffffff808b168352808a1660208401525060c06040830152611cd260c083018961195a565b8281036060840152611ce4818961195a565b90508281036080840152611cf9818789611c49565b905082810360a0840152611d0e818587611c49565b9b9a5050505050505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600060208284031215611d5e57600080fd5b815167ffffffffffffffff80821115611d7657600080fd5b818401915084601f830112611d8a57600080fd5b815181811115611d9c57611d9c611d1d565b604051601f8201601f19908116603f01168101908382118183101715611dc457611dc4611d1d565b81604052828152876020848701011115611ddd57600080fd5b611dee836020830160208801611936565b979650505050505050565b60008060408385031215611e0c57600080fd5b505080516020909101519092909150565b600060208284031215611e2f57600080fd5b8135611344816114c1565b803560068110611b0757600080fd5b60068110611e80577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611eb957600080fd5b830160208101925035905067ffffffffffffffff811115611ed957600080fd5b8060051b360382131561154357600080fd5b8183526000602080850194508260005b85811015611f215760ff611f0e83611af6565b1687529582019590820190600101611efb565b509495945050505050565b602081526000611f3c8384611b0c565b60c06020850152611f5160e085018284611b70565b9150506020840135611f62816114c1565b73ffffffffffffffffffffffffffffffffffffffff8116604085015250611f9760608401611f9260408701611e3a565b611e49565b611fa360608501611e3a565b611fb06080850182611e49565b50611fbe6080850185611e84565b601f19808685030160a0870152611fd6848385611eeb565b9350611fe560a0880188611e84565b93509150808685030160c0870152506113c6838383611eeb565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525060806040830152612038608083018561195a565b8281036060840152611dee818561195a565b81835260006020808501808196508560051b81019150846000805b888110156120e0578385038a5282357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc18936030181126120a3578283fd5b88018035865260406120b788830183611b0c565b925081898901526120cb8289018483611b70565b9c89019c975050509286019250600101612065565b509298975050505050505050565b6020815260006120fe8384611e84565b6060602085015261211360808501828461204a565b91505060208401356040840152604084013560608401528091505092915050565b60006020828403121561214657600080fd5b5051919050565b600073ffffffffffffffffffffffffffffffffffffffff808916835280881660208401525060c0604083015261218660c083018761195a565b8281036060840152612198818761195a565b905082810360808401526121ac8186611986565b905082810360a08401526106e28185611986565b602081526000611475602083018486611c49565b602081526000611475602083018486611b70565b73ffffffffffffffffffffffffffffffffffffffff8816815260806020820152600061221860808301888a611b70565b828103604084015261222b818789611b70565b90508281036060840152612240818587611c49565b9a9950505050505050505050565b60006020828403121561226057600080fd5b8151611344816114c1565b60208152600061227b8384611b0c565b60a0602085015261229060c085018284611b70565b91505060208401356122a1816114c1565b73ffffffffffffffffffffffffffffffffffffffff808216604086015260408601356060860152606086013591506122d8826114c1565b16608084810191909152939093013560a0909201919091525090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261235857600080fd5b83018035915067ffffffffffffffff82111561237357600080fd5b60200191503681900382131561154357600080fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036123e0577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b6020815260006123f78384611b0c565b6060602085015261240c608085018284611b70565b91505061241c6020850185611e84565b601f1985840301604086015261243383828461204a565b9250505060408401356003811061244957600080fd5b6060939093019290925250919050565b60408152600061246d604083018688611b70565b8281036020840152611dee818587611b70565b60008251612492818460208701611936565b9190910192915050565b602081526000611344602083018461195a56fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212205bf994a91e6fba3b278809c0a83ee1a072556ea0f02b0e66fa33d78fe971388664736f6c63430008130033000000000000000000000000c4f7e87f9ff2a2df9bc7ff8399558b594ebf911a00000000000000000000000051870a0659a87c7b46baef7311b3128006e1fb16", + "nonce": "0x7ff", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x9bf0846cfcc00ddefe61416013db4b321a377e294fd6bd0a34363c9c93f18781", + "transactionType": "CREATE", + "contractName": "RegistrationModule", + "contractAddress": "0xD3E9F80F4Cc22761587B19A7F5335A017bcB0eCd", + "function": null, + "arguments": [ + "(0x5B81030C087d41558E3FCF23B3575E85c9A768e6, 0x51870A0659A87c7B46baEF7311B3128006E1FB16, 0x826a953332Df2e1a994C7CFae68E129ba683Aa8F, 0xC4F7E87F9FF2A2DF9bC7FF8399558B594EBF911A)", + "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x62a498", + "value": "0x0", + "data": "0x6101006040523480156200001257600080fd5b5060405162005c4838038062005c48833981016040819052620000359162000298565b6020820151819083906001600160a01b038116620000665760405163134141bd60e11b815260040160405180910390fd5b6001600160a01b039081166080528151166200009557604051636028d8f760e01b815260040160405180910390fd5b80516001600160a01b0390811660a052604082015116620000c957604051635a70c46160e11b815260040160405180910390fd5b60408101516001600160a01b0390811660c052606090910151811660e052620000fc908216637965db0b60e01b6200018f565b6200013f576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600580546001600160a01b0319166001600160a01b0383169081179091556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a250505062000350565b60006200019c83620001b7565b8015620001b05750620001b08383620001f0565b9392505050565b6000620001cc826301ffc9a760e01b620001f0565b8015620001ea5750620001e8826001600160e01b0319620001f0565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801562000263575060208210155b8015620002705750600081115b979650505050505050565b80516001600160a01b03811681146200029357600080fd5b919050565b60008082840360a0811215620002ad57600080fd5b6080811215620002bc57600080fd5b50604051608081016001600160401b0381118282101715620002ee57634e487b7160e01b600052604160045260246000fd5b604052620002fc846200027b565b81526200030c602085016200027b565b60208201526200031f604085016200027b565b604082015262000332606085016200027b565b6060820152915062000347608084016200027b565b90509250929050565b60805160a05160c05160e051615894620003b4600039600081816102990152613699015260006104a401526000818161044401528181611c2d0152613ccc01526000818161040a01528181610c620152818161154a0152612ceb01526158946000f3fe608060405234801561001057600080fd5b50600436106101c35760003560e01c80638a8cb0b4116100f9578063bc12fcca11610097578063e8d7265411610071578063e8d7265414610479578063e8fb5c9b1461048c578063f0ebdc831461049f578063fba854e0146104c657600080fd5b8063bc12fcca1461042c578063d2faf8b01461043f578063e57204041461046657600080fd5b8063a5b04d45116100d3578063a5b04d45146103cc578063a6829872146103df578063b6efd29d146103f2578063b95ddb521461040557600080fd5b80638a8cb0b4146103575780639533563d146103995780639b722202146103ac57600080fd5b80634fcbd213116101665780636352211e116101405780636352211e1461030b57806368a4f0711461031e5780637448c5681461033157806377379d941461034457600080fd5b80634fcbd2131461028157806351e06b90146102945780635f32b430146102e057600080fd5b806319129e5a116101a257806319129e5a1461022a5780632fa7bc991461023f57806332ee6813146102525780634fa4467c1461027957600080fd5b8062844d13146101c857806301ffc9a7146101f157806302a8df9114610214575b600080fd5b6101db6101d6366004614079565b6104d9565b6040516101e89190614104565b60405180910390f35b6102046101ff366004614117565b6105d2565b60405190151581526020016101e8565b61021c60ff81565b6040519081526020016101e8565b61023d610238366004614079565b6106b5565b005b61023d61024d3660046141a2565b61081b565b61021c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81565b61021c600a81565b6101db61028f3660046141ee565b610c48565b6102bb7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101e8565b61021c6102ee366004614253565b600860209081526000928352604080842090915290825290205481565b6102bb61031936600461427f565b610cce565b6101db61032c3660046142a5565b610d8d565b61021c61033f3660046142da565b610f62565b6102046103523660046142f8565b610f76565b610204610365366004614349565b73ffffffffffffffffffffffffffffffffffffffff821660009081526007602052604090206002015460ff82161092915050565b61023d6103a73660046143c7565b610fae565b6103bf6103ba366004614079565b611181565b6040516101e89190614486565b61023d6103da366004614506565b611280565b6101db6103ed366004614253565b61148b565b6101db610400366004614547565b611530565b6102bb7f000000000000000000000000000000000000000000000000000000000000000081565b61021c61043a3660046142da565b61168a565b6102bb7f000000000000000000000000000000000000000000000000000000000000000081565b6102bb6104743660046142a5565b611696565b6101db6104873660046145f2565b61178e565b61021c61049a3660046142f8565b611e69565b6102bb7f000000000000000000000000000000000000000000000000000000000000000081565b61023d6104d4366004614629565b611e86565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260076020526040812060010180546060929190610511906146c8565b80601f016020809104026020016040519081016040528092919081815260200182805461053d906146c8565b801561058a5780601f1061055f5761010080835404028352916020019161058a565b820191906000526020600020905b81548152906001019060200180831161056d57829003601f168201915b5050505050905080516000036105cc576040517f87dc059f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f2fa7bc9900000000000000000000000000000000000000000000000000000000148061066557507fffffffff0000000000000000000000000000000000000000000000000000000082167ff924008e00000000000000000000000000000000000000000000000000000000145b806105cc57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316146105cc565b60006106c18133612064565b610705576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b61074573ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000612100565b6107ab576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c00000000000000000000000000000000000060448201526064016106fc565b600580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a25050565b60008061082a83850185614877565b915091508115610b375760008581526004602052604081206007018054916108518361490a565b9091555050600085815260046020908152604091829020825161010081018452815473ffffffffffffffffffffffffffffffffffffffff908116825260018301541692810192909252600281018054610b3194840191906108b1906146c8565b80601f01602080910402602001604051908101604052809291908181526020018280546108dd906146c8565b801561092a5780601f106108ff5761010080835404028352916020019161092a565b820191906000526020600020905b81548152906001019060200180831161090d57829003601f168201915b5050505050815260200160038201805480602002602001604051908101604052809291908181526020016000905b82821015610a04578382906000526020600020018054610977906146c8565b80601f01602080910402602001604051908101604052809291908181526020018280546109a3906146c8565b80156109f05780601f106109c5576101008083540402835291602001916109f0565b820191906000526020600020905b8154815290600101906020018083116109d357829003601f168201915b505050505081526020019060010190610958565b50505050815260200160048201805480602002602001604051908101604052809291908181526020016000905b82821015610add578382906000526020600020018054610a50906146c8565b80601f0160208091040260200160405190810160405280929190818152602001828054610a7c906146c8565b8015610ac95780601f10610a9e57610100808354040283529160200191610ac9565b820191906000526020600020905b815481529060010190602001808311610aac57829003601f168201915b505050505081526020019060010190610a31565b5050509082525060058201546020820152600682015460409091019060ff166001811115610b0d57610b0d614942565b6001811115610b1e57610b1e614942565b815260200160078201548152505061211c565b50610b9c565b6000858152600460205260409081902060010154905173ffffffffffffffffffffffffffffffffffffffff909116907f7f7ce7cf4c1b43e1bf51034d0ad7062abb9d4529c7bb0510d512249b0fb7145290610b93908490614104565b60405180910390a25b600085815260046020526040812080547fffffffffffffffffffffffff00000000000000000000000000000000000000009081168255600182018054909116905590610beb6002830182613f56565b610bf9600383016000613f93565b610c07600483016000613f93565b506000600582018190556006820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690556007909101555050505050565b60603373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610cb9576040517f72823b5400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610cc585858585612226565b95945050505050565b600081815260066020908152604080832081518083018352815473ffffffffffffffffffffffffffffffffffffffff1680825260019092015493810184905291517f6352211e00000000000000000000000000000000000000000000000000000000815260048101939093529091636352211e90602401602060405180830381865afa158015610d62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d869190614971565b9392505050565b60606000610d9b8585612334565b805480602002602001604051908101604052809291908181526020016000905b82821015610e67578382906000526020600020018054610dda906146c8565b80601f0160208091040260200160405190810160405280929190818152602001828054610e06906146c8565b8015610e535780601f10610e2857610100808354040283529160200191610e53565b820191906000526020600020905b815481529060010190602001808311610e3657829003601f168201915b505050505081526020019060010190610dbb565b50505050905080518310610eaa576040517f9c7692bf000000000000000000000000000000000000000000000000000000008152600481018490526024016106fc565b610eb48585612334565b8381548110610ec557610ec561498e565b906000526020600020018054610eda906146c8565b80601f0160208091040260200160405190810160405280929190818152602001828054610f06906146c8565b8015610f535780601f10610f2857610100808354040283529160200191610f53565b820191906000526020600020905b815481529060010190602001808311610f3657829003601f168201915b50505050509150509392505050565b6000610f6e8383612376565b549392505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610fa4858585611e69565b1415949350505050565b8673ffffffffffffffffffffffffffffffffffffffff8116610ffc576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611047573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061106b9190614971565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146110cf576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006110dd8385018561427f565b905060006111638a836040805173ffffffffffffffffffffffffffffffffffffffff84166020820152908101829052606080820152600c60808201527f524547495354524154494f4e000000000000000000000000000000000000000060a082015260009060c00160405160208183030381529060405280519060200120905092915050565b90506111748b8b838c8c8c8c611e86565b5050505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600760209081526040808320600201805482518185028101850190935280835260609492939192909184015b828210156112755783829060005260206000200180546111e8906146c8565b80601f0160208091040260200160405190810160405280929190818152602001828054611214906146c8565b80156112615780601f1061123657610100808354040283529160200191611261565b820191906000526020600020905b81548152906001019060200180831161124457829003601f168201915b5050505050815260200190600101906111c9565b505050509050919050565b8173ffffffffffffffffffffffffffffffffffffffff81166112ce576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611319573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061133d9190614971565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146113a1576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008460018111156113b5576113b5614942565b1480156113cf575060008281526020819052604090205415155b156114075760008281526020819052604081206113eb91613fb1565b600082815260026020526040812061140291613f93565b611449565b6000828152600160205260409020541561144957600082815260016020526040812061143291613fb1565b600082815260036020526040812061144991613f93565b8184600181111561145c5761145c614942565b6040517f1fe48a4ec69671720d8bdd8f8a6853d16f486c0bb91fcaf5b8ffc4932b8bc9f490600090a350505050565b6009602090815260009283526040808420909152908252902080546114af906146c8565b80601f01602080910402602001604051908101604052809291908181526020018280546114db906146c8565b80156115285780601f106114fd57610100808354040283529160200191611528565b820191906000526020600020905b81548152906001019060200180831161150b57829003601f168201915b505050505081565b60603373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146115a1576040517f72823b5400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115ad898989896123b8565b60006115bb8a8a8a8a6125b5565b905060006040518061010001604052808c73ffffffffffffffffffffffffffffffffffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505090825250602001611649888a614a01565b81526020016116588688614a01565b815260208101849052604001600081526020016000815250905061167b8161211c565b9b9a5050505050505050505050565b6000610f6e8383612334565b6000806116a38585612376565b80548060200260200160405190810160405280929190818152602001828054801561170457602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116116d9575b5050505050905080518310611748576040517f9c7692bf000000000000000000000000000000000000000000000000000000008152600481018490526024016106fc565b6117528585612376565b83815481106117635761176361498e565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1695945050505050565b73ffffffffffffffffffffffffffffffffffffffff831660008181526008602090815260408083208684529091528082205490517f6352211e0000000000000000000000000000000000000000000000000000000081526004810186905260609391929190636352211e90602401602060405180830381865afa158015611819573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061183d9190614971565b905073ffffffffffffffffffffffffffffffffffffffff811661188c576040517f85a9692000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff86166000908152600960209081526040808320888452909152812080546118c7906146c8565b905011156119915773ffffffffffffffffffffffffffffffffffffffff861660009081526009602090815260408083208884529091529020805461190a906146c8565b80601f0160208091040260200160405190810160405280929190818152602001828054611936906146c8565b80156119835780601f1061195857610100808354040283529160200191611983565b820191906000526020600020905b81548152906001019060200180831161196657829003601f168201915b505050505092505050610d86565b73ffffffffffffffffffffffffffffffffffffffff86166000908152600760205260408082208151606081019092528054829082906119cf906146c8565b80601f01602080910402602001604051908101604052809291908181526020018280546119fb906146c8565b8015611a485780601f10611a1d57610100808354040283529160200191611a48565b820191906000526020600020905b815481529060010190602001808311611a2b57829003601f168201915b50505050508152602001600182018054611a61906146c8565b80601f0160208091040260200160405190810160405280929190818152602001828054611a8d906146c8565b8015611ada5780601f10611aaf57610100808354040283529160200191611ada565b820191906000526020600020905b815481529060010190602001808311611abd57829003601f168201915b5050505050815260200160028201805480602002602001604051908101604052809291908181526020016000905b82821015611bb4578382906000526020600020018054611b27906146c8565b80601f0160208091040260200160405190810160405280929190818152602001828054611b53906146c8565b8015611ba05780601f10611b7557610100808354040283529160200191611ba0565b820191906000526020600020905b815481529060010190602001808311611b8357829003601f168201915b505050505081526020019060010190611b08565b5050509152505080515190915015611bfb578051611bd184612653565b604051602001611be2929190614a91565b6040516020818303038152906040529350505050610d86565b6040517fc47f8bfa000000000000000000000000000000000000000000000000000000008152600481018490526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063c47f8bfa90602401600060405180830381865afa158015611c89573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052611ccf9190810190614b22565b90506000611cdc85612653565b8251604051611cef929190602001614bec565b60405160208183030381529060405290506000611d27836060015173ffffffffffffffffffffffffffffffffffffffff166014612711565b611d488673ffffffffffffffffffffffffffffffffffffffff166014612711565b604051602001611d59929190614d2f565b60405160208183030381529060405290506000611d91846020015173ffffffffffffffffffffffffffffffffffffffff166014612711565b85604001518a60ff1681518110611daa57611daa61498e565b6020026020010151611dc2866040015160ff16612653565b6080870151611dd2906020612711565b611de98860a0015167ffffffffffffffff16612653565b604051602001611dfd959493929190614e2b565b6040516020818303038152906040529050611e3a838383604051602001611e2693929190615090565b604051602081830303815290604052612954565b604051602001611e4a91906150fb565b6040516020818303038152906040529750505050505050509392505050565b6000611e7e611e788585612376565b83612aa7565b949350505050565b8573ffffffffffffffffffffffffffffffffffffffff8116611ed4576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f1f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f439190614971565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611fa7576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611fb2888888611280565b61200e611fbf8988612376565b611fc98a89612334565b8787808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506120099250889150899050614a01565b612b41565b8588600181111561202157612021614942565b7f5e140eb5bed8bcb1664a04c0be4aa419e0d2dbf1277a4a6770882a0beb3b91b28787604051612052929190615140565b60405180910390a35050505050505050565b6005546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810184905273ffffffffffffffffffffffffffffffffffffffff838116602483015260009216906391d1485490604401602060405180830381865afa1580156120dc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d86919061519b565b600061210b83612f7b565b8015610d865750610d868383612fdf565b606060008260c00151600181111561213657612136614942565b1480156121495750612147826130ae565b155b156121a957816020015173ffffffffffffffffffffffffffffffffffffffff167fa1e5a8c0fde3fa4d7320c3f9de0ab0a2c1ee6e891e6a513ca0811ddcf768b59460405160405180910390a2505060408051602081019091526000815290565b6121c08260000151836020015184604001516134a3565b600160c0840152600060e084015290506121d9826130ae565b50816020015173ffffffffffffffffffffffffffffffffffffffff167f4ec4635a4d1f6ebe9ee3a059f74fc5d802e04d2d115c4090337a34e3b137c98a60405160405180910390a2919050565b606061223285856135db565b600080612241848601866151b8565b915091507f88fae8356076de6f233fd00b30fad913df2329364a9e9242abdc96adccc3bfc98203612299576000808280602001905181019061228391906151f5565b9150915061229289838361370c565b505061231a565b7f9aeb830ec91a14c97a5446cc7c86a42f73a78f37f9a77afa238b5d11520ddfbc82036122e8576000818060200190518101906122d6919061524f565b90506122e288826137a2565b5061231a565b6040517f04e4b46900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505060408051602081019091526000815295945050505050565b60008083600181111561234957612349614942565b03612362575060008181526002602052604090206105cc565b5060008181526003602052604090206105cc565b60008083600181111561238b5761238b614942565b036123a4575060008181526020819052604090206105cc565b5060008181526001602052604090206105cc565b6000806123c7838501856151b8565b915091507fbc42750dbe73870bbe102106b22fd8bdfa53c7247eca196d8bb7da9527f0c1e582036124bf5760008060008380602001905181019061240b9190615300565b9250925092508273ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614158061248057508773ffffffffffffffffffffffffffffffffffffffff1661246782610cce565b73ffffffffffffffffffffffffffffffffffffffff1614155b156124b7576040517f7e833cd700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050506125ad565b7fe761f303268b55a3dc96719551acb95ca3bd1ebeef4b720be68dd92563627a3f820361257b576000818060200190518101906124fc9190615343565b90508573ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff1614612567576040517f7e833cd700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612575878260200151613867565b506125ad565b6040517f9ca9add400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050505050565b6000806125c4838501856151b8565b50905061264986826040805173ffffffffffffffffffffffffffffffffffffffff84166020820152908101829052606080820152600c60808201527f524547495354524154494f4e000000000000000000000000000000000000000060a082015260009060c00160405160208183030381529060405280519060200120905092915050565b9695505050505050565b60606000612660836138d4565b600101905060008167ffffffffffffffff81111561268057612680614729565b6040519080825280601f01601f1916602001820160405280156126aa576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85049450846126b457509392505050565b60606000612720836002615404565b61272b90600261541b565b67ffffffffffffffff81111561274357612743614729565b6040519080825280601f01601f19166020018201604052801561276d576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106127a4576127a461498e565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106128075761280761498e565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000612843846002615404565b61284e90600161541b565b90505b60018111156128eb577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061288f5761288f61498e565b1a60f81b8282815181106128a5576128a561498e565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c936128e48161542e565b9050612851565b508315610d86576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016106fc565b6060815160000361297357505060408051602081019091526000815290565b600060405180606001604052806040815260200161581f60409139905060006003845160026129a2919061541b565b6129ac9190615463565b6129b7906004615404565b67ffffffffffffffff8111156129cf576129cf614729565b6040519080825280601f01601f1916602001820160405280156129f9576020820181803683370190505b509050600182016020820185865187015b80821015612a65576003820191508151603f8160121c168501518453600184019350603f81600c1c168501518453600184019350603f8160061c168501518453600184019350603f8116850151845350600183019250612a0a565b5050600386510660018114612a815760028114612a9457612a9c565b603d6001830353603d6002830353612a9c565b603d60018303535b509195945050505050565b8154600090815b81811015612b17578373ffffffffffffffffffffffffffffffffffffffff16858281548110612adf57612adf61498e565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1603612b0f5791506105cc9050565b600101612aae565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff949350505050565b8151600a811115612b7e576040517f760fb4ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80825114612bb8576040517f3021beb200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b818110156125ad57600073ffffffffffffffffffffffffffffffffffffffff16848281518110612bed57612bed61498e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1603612c42576040517f7d4de38200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600081118015612cb25750836001820381518110612c6257612c6261498e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff16848281518110612c9257612c9261498e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff16145b15612ce9576040517fd696c40800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166382984f30858381518110612d3757612d3761498e565b60200260200101516040518263ffffffff1660e01b8152600401612d77919073ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b602060405180830381865afa158015612d94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612db8919061519b565b612e2557838181518110612dce57612dce61498e565b60200260200101516040517f5a9873880000000000000000000000000000000000000000000000000000000081526004016106fc919073ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b838181518110612e3757612e3761498e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1663a913b881848381518110612e6c57612e6c61498e565b60200260200101516040518263ffffffff1660e01b8152600401612e909190614104565b60006040518083038186803b158015612ea857600080fd5b505afa158015612ebc573d6000803e3d6000fd5b5050505085848281518110612ed357612ed361498e565b60209081029190910181015182546001810184556000938452919092200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90921691909117905582518590849083908110612f4957612f4961498e565b60209081029190910181015182546001810184556000938452919092200190612f7290826154e4565b50600101612bbb565b6000612fa7827f01ffc9a700000000000000000000000000000000000000000000000000000000612fdf565b80156105cc5750612fd8827fffffffff00000000000000000000000000000000000000000000000000000000612fdf565b1592915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015613097575060208210155b80156130a35750600081115b979650505050505050565b6000806130c38360c001518460a00151612376565b80548060200260200160405190810160405280929190818152602001828054801561312457602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116130f9575b50505050509050600061313f8460c001518560a00151612334565b805480602002602001604051908101604052809291908181526020016000905b8282101561320b57838290600052602060002001805461317e906146c8565b80601f01602080910402602001604051908101604052809291908181526020018280546131aa906146c8565b80156131f75780601f106131cc576101008083540402835291602001916131f7565b820191906000526020600020905b8154815290600101906020018083116131da57829003601f168201915b50505050508152602001906001019061315f565b50508451929350600091508190508660c00151600181111561322f5761322f614942565b1461323e578560800151613244565b85606001515b90508181511461329c578560c00151600181111561326457613264614942565b6040517f3171c36f00000000000000000000000000000000000000000000000000000000815260ff90911660048201526024016106fc565b60e08601515b8281101561349657808760e0018181525050600060405180604001604052808684815181106132d3576132d361498e565b602002602001015181526020018484815181106132f2576132f261498e565b60200260200101518152509050600061334f8784815181106133165761331661498e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673800000000000000000000000000000000000000016151590565b15613432578683815181106133665761336661498e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff166334e5d29f8360405160200161339a91906155fe565b6040516020818303038152906040526040518263ffffffff1660e01b81526004016133c59190614104565b6000604051808303816000875af11580156133e4573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261342a9190810190615655565b509050613459565b6134568784815181106134475761344761498e565b6020026020010151838b6139b6565b90505b600181600181111561346d5761346d614942565b146134815750600098975050505050505050565b5050808061348e9061490a565b9150506132a2565b5060019695505050505050565b6060600080838060200190518101906134bc919061569c565b915091507fbc42750dbe73870bbe102106b22fd8bdfa53c7247eca196d8bb7da9527f0c1e5820361352e576000806000838060200190518101906135009190615300565b92509250925061351289828585613bb8565b6040518060200160405280600081525095505050505050610d86565b7fe761f303268b55a3dc96719551acb95ca3bd1ebeef4b720be68dd92563627a3f82036135c25760008180602001905181019061356b9190615343565b90506000806135928984600001518560400151866020015187606001518860800151613cc7565b60408051602081019390935282810191909152805180830382018152606090920190529550610d86945050505050565b5050604080516020810190915260008152949350505050565b8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561363d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136619190614971565b73ffffffffffffffffffffffffffffffffffffffff16141580156136d157508073ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1614155b15613708576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b73ffffffffffffffffffffffffffffffffffffffff831660009081526007602052604090208061373c84826154e4565b506001810161374b83826154e4565b508373ffffffffffffffffffffffffffffffffffffffff167f6c1850fce35387a891e82ca88e975790ab6f0709e9ed6842e01397f296012a7e84846040516137949291906156cd565b60405180910390a250505050565b805160ff8111156137df576040517f1c17d63a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff83166000908152600760205260408120905b8281101561386057816002018482815181106138245761382461498e565b6020908102919091018101518254600181018455600093845291909220019061384d90826154e4565b50806138588161490a565b915050613806565b5050505050565b73ffffffffffffffffffffffffffffffffffffffff821660009081526007602052604090206002015460ff808216908316106138cf576040517f12d7e46c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000831061391d577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef81000000008310613949576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061396757662386f26fc10000830492506010015b6305f5e100831061397f576305f5e100830492506008015b612710831061399357612710830492506004015b606483106139a5576064830492506002015b600a83106105cc5760010192915050565b60008060008573ffffffffffffffffffffffffffffffffffffffff16635260a98c866040516020016139e891906155fe565b604051602081830303815290604052306040518363ffffffff1660e01b8152600401613a159291906156f2565b6000604051808303816000875af1158015613a34573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052613a7a919081019061572a565b91935090915060009050826001811115613a9657613a96614942565b03613baf57600081815260046020908152604091829020865181547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff92831617835592880151600183018054909416911617909155908501518591906002820190613b1990826154e4565b5060608201518051613b35916003840191602090910190613fcf565b5060808201518051613b51916004840191602090910190613fcf565b5060a0820151600582015560c08201516006820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660018381811115613b9c57613b9c614942565b021790555060e082015181600701559050505b50949350505050565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301528281166024830152604482018590528516906323b872dd90606401600060405180830381600087803b158015613c3057600080fd5b505af1158015613c44573d6000803e3d6000fd5b5050505073ffffffffffffffffffffffffffffffffffffffff84811660008181526008602090815260408083208884528252918290205482518881528786169281019290925293851681830152905183917f0480e159be1c15e0022dfbc6d236db58db83a033908eca4876f796f60ed871b9919081900360600190a35050505050565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663601a924c898989886040518563ffffffff1660e01b8152600401613d299493929190615784565b6020604051808303816000875af1158015613d48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d6c91906157ce565b6040517f691562a000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff898116600483015260ff881660248301529193509089169063691562a0906044016020604051808303816000875af1158015613de7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e0b91906157ce565b73ffffffffffffffffffffffffffffffffffffffff89811660008181526008602090815260408083208684528252808320889055805180820182529384528382018681528884526006909252909120825181547fffffffffffffffffffffffff00000000000000000000000000000000000000001694169390931783555160019092019190915584519192509015613ed95773ffffffffffffffffffffffffffffffffffffffff891660009081526009602090815260408083208584529091529020613ed785826154e4565b505b8560ff168873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff167fd051b12b5a18291aec9a26b17774a4be2d10dce167cbdc5944c7942c78f901c186868c8b8b604051613f429594939291906157e7565b60405180910390a450965096945050505050565b508054613f62906146c8565b6000825580601f10613f72575050565b601f016020900490600052602060002090810190613f909190614025565b50565b5080546000825590600052602060002090810190613f90919061403a565b5080546000825590600052602060002090810190613f909190614025565b828054828255906000526020600020908101928215614015579160200282015b82811115614015578251829061400590826154e4565b5091602001919060010190613fef565b5061402192915061403a565b5090565b5b808211156140215760008155600101614026565b8082111561402157600061404e8282613f56565b5060010161403a565b73ffffffffffffffffffffffffffffffffffffffff81168114613f9057600080fd5b60006020828403121561408b57600080fd5b8135610d8681614057565b60005b838110156140b1578181015183820152602001614099565b50506000910152565b600081518084526140d2816020860160208601614096565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610d8660208301846140ba565b60006020828403121561412957600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610d8657600080fd5b60008083601f84011261416b57600080fd5b50813567ffffffffffffffff81111561418357600080fd5b60208301915083602082850101111561419b57600080fd5b9250929050565b6000806000604084860312156141b757600080fd5b83359250602084013567ffffffffffffffff8111156141d557600080fd5b6141e186828701614159565b9497909650939450505050565b6000806000806060858703121561420457600080fd5b843561420f81614057565b9350602085013561421f81614057565b9250604085013567ffffffffffffffff81111561423b57600080fd5b61424787828801614159565b95989497509550505050565b6000806040838503121561426657600080fd5b823561427181614057565b946020939093013593505050565b60006020828403121561429157600080fd5b5035919050565b60028110613f9057600080fd5b6000806000606084860312156142ba57600080fd5b83356142c581614298565b95602085013595506040909401359392505050565b600080604083850312156142ed57600080fd5b823561427181614298565b60008060006060848603121561430d57600080fd5b833561431881614298565b925060208401359150604084013561432f81614057565b809150509250925092565b60ff81168114613f9057600080fd5b6000806040838503121561435c57600080fd5b823561436781614057565b915060208301356143778161433a565b809150509250929050565b60008083601f84011261439457600080fd5b50813567ffffffffffffffff8111156143ac57600080fd5b6020830191508360208260051b850101111561419b57600080fd5b60008060008060008060008060a0898b0312156143e357600080fd5b88356143ee81614298565b975060208901356143fe81614057565b9650604089013567ffffffffffffffff8082111561441b57600080fd5b6144278c838d01614382565b909850965060608b013591508082111561444057600080fd5b61444c8c838d01614382565b909650945060808b013591508082111561446557600080fd5b506144728b828c01614159565b999c989b5096995094979396929594505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156144f9577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08886030184526144e78583516140ba565b945092850192908501906001016144ad565b5092979650505050505050565b60008060006060848603121561451b57600080fd5b833561452681614298565b9250602084013561453681614057565b929592945050506040919091013590565b60008060008060008060008060a0898b03121561456357600080fd5b883561456e81614057565b9750602089013561457e81614057565b9650604089013567ffffffffffffffff8082111561459b57600080fd5b6145a78c838d01614159565b909850965060608b01359150808211156145c057600080fd5b6145cc8c838d01614382565b909650945060808b01359150808211156145e557600080fd5b506144728b828c01614382565b60008060006060848603121561460757600080fd5b833561461281614057565b925060208401359150604084013561432f8161433a565b600080600080600080600060a0888a03121561464457600080fd5b873561464f81614298565b9650602088013561465f81614057565b955060408801359450606088013567ffffffffffffffff8082111561468357600080fd5b61468f8b838c01614382565b909650945060808a01359150808211156146a857600080fd5b506146b58a828b01614382565b989b979a50959850939692959293505050565b600181811c908216806146dc57607f821691505b602082108103614715577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b8015158114613f9057600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff8111828210171561477b5761477b614729565b60405290565b60405160a0810167ffffffffffffffff8111828210171561477b5761477b614729565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156147eb576147eb614729565b604052919050565b600067ffffffffffffffff82111561480d5761480d614729565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600061484c614847846147f3565b6147a4565b905082815283838301111561486057600080fd5b828260208301376000602084830101529392505050565b6000806040838503121561488a57600080fd5b82356148958161471b565b9150602083013567ffffffffffffffff8111156148b157600080fd5b8301601f810185136148c257600080fd5b6148d185823560208401614839565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361493b5761493b6148db565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60006020828403121561498357600080fd5b8151610d8681614057565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600067ffffffffffffffff8211156149d7576149d7614729565b5060051b60200190565b600082601f8301126149f257600080fd5b610d8683833560208501614839565b6000614a0f614847846149bd565b80848252602080830192508560051b850136811115614a2d57600080fd5b855b81811015614a6957803567ffffffffffffffff811115614a4f5760008081fd5b614a5b36828a016149e1565b865250938201938201614a2f565b50919695505050505050565b60008151614a87818560208601614096565b9290920192915050565b60008351614aa3818460208801614096565b835190830190614ab7818360208801614096565b01949350505050565b600082601f830112614ad157600080fd5b8151614adf614847826147f3565b818152846020838601011115614af457600080fd5b611e7e826020830160208701614096565b805167ffffffffffffffff81168114614b1d57600080fd5b919050565b600060208284031215614b3457600080fd5b815167ffffffffffffffff80821115614b4c57600080fd5b9083019060c08286031215614b6057600080fd5b614b68614758565b825182811115614b7757600080fd5b614b8387828601614ac0565b82525060208301519150614b9682614057565b81602082015260408301519150614bac8261433a565b81604082015260608301519150614bc282614057565b81606082015260808301516080820152614bde60a08401614b05565b60a082015295945050505050565b7f7b226e616d65223a2022476c6f62616c20495020417373657420230000000000815260008351614c2481601b850160208801614096565b7f222c20226465736372697074696f6e223a20224950204f726720417373657420601b918401918201527f526567697374726174696f6e2044657461696c73222c20226174747269627574603b8201527f6573223a205b0000000000000000000000000000000000000000000000000000605b8201527f7b2274726169745f74797065223a20224e616d65222c202276616c7565223a2060618201527f220000000000000000000000000000000000000000000000000000000000000060818201528351614cf9816082840160208801614096565b7f227d2c000000000000000000000000000000000000000000000000000000000060829290910191820152608501949350505050565b7f7b2274726169745f74797065223a20224950204f7267222c202276616c75652281527f3a20220000000000000000000000000000000000000000000000000000000000602082015260008351614d8d816023850160208801614096565b80830190507f227d2c00000000000000000000000000000000000000000000000000000000008060238301527f7b2274726169745f74797065223a202243757272656e74204950204f776e657260268301527f222c202276616c7565223a20220000000000000000000000000000000000000060468301528451614e18816053850160208901614096565b6053920191820152605601949350505050565b7f7b2274726169745f74797065223a2022496e697469616c20526567697374726181527f6e74222c202276616c7565223a20220000000000000000000000000000000000602082015260008651614e8981602f850160208b01614096565b80830190507f227d2c000000000000000000000000000000000000000000000000000000000080602f8301527f7b2274726169745f74797065223a20224950204f72672041737365742054797060328301527f65222c202276616c7565223a202200000000000000000000000000000000000060528301528751614f14816060850160208c01614096565b60609201918201527f7b2274726169745f74797065223a2022537461747573222c202276616c75652260638201527f3a20220000000000000000000000000000000000000000000000000000000000608382015261508461505b615055615006614f88615000614fb182608689018e614a75565b7f227d2c0000000000000000000000000000000000000000000000000000000000815260030190565b7f7b2274726169745f74797065223a202248617368222c202276616c7565223a2081527f2200000000000000000000000000000000000000000000000000000000000000602082015260210190565b8a614a75565b7f7b2274726169745f74797065223a2022526567697374726174696f6e2044617481527f65222c202276616c7565223a20220000000000000000000000000000000000006020820152602e0190565b86614a75565b7f227d000000000000000000000000000000000000000000000000000000000000815260020190565b98975050505050505050565b600084516150a2818460208901614096565b8451908301906150b6818360208901614096565b84519101906150c9818360208801614096565b7f5d7d000000000000000000000000000000000000000000000000000000000000910190815260020195945050505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c00000081526000825161513381601d850160208701614096565b91909101601d0192915050565b60208082528181018390526000908460408401835b8681101561519057823561516881614057565b73ffffffffffffffffffffffffffffffffffffffff1682529183019190830190600101615155565b509695505050505050565b6000602082840312156151ad57600080fd5b8151610d868161471b565b600080604083850312156151cb57600080fd5b82359150602083013567ffffffffffffffff8111156151e957600080fd5b6148d1858286016149e1565b6000806040838503121561520857600080fd5b825167ffffffffffffffff8082111561522057600080fd5b61522c86838701614ac0565b9350602085015191508082111561524257600080fd5b506148d185828601614ac0565b6000602080838503121561526257600080fd5b825167ffffffffffffffff8082111561527a57600080fd5b818501915085601f83011261528e57600080fd5b815161529c614847826149bd565b81815260059190911b830184019084810190888311156152bb57600080fd5b8585015b838110156152f3578051858111156152d75760008081fd5b6152e58b89838a0101614ac0565b8452509186019186016152bf565b5098975050505050505050565b60008060006060848603121561531557600080fd5b835161532081614057565b602085015190935061533181614057565b80925050604084015190509250925092565b60006020828403121561535557600080fd5b815167ffffffffffffffff8082111561536d57600080fd5b9083019060a0828603121561538157600080fd5b615389614781565b825161539481614057565b815260208301516153a48161433a565b60208201526040830151828111156153bb57600080fd5b6153c787828601614ac0565b604083015250606083015160608201526080830151828111156153e957600080fd5b6153f587828601614ac0565b60808301525095945050505050565b80820281158282048414176105cc576105cc6148db565b808201808211156105cc576105cc6148db565b60008161543d5761543d6148db565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b600082615499577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b601f8211156138cf57600081815260208120601f850160051c810160208610156154c55750805b601f850160051c820191505b818110156125ad578281556001016154d1565b815167ffffffffffffffff8111156154fe576154fe614729565b6155128161550c84546146c8565b8461549e565b602080601f831160018114615565576000841561552f5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b1785556125ad565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156155b257888601518255948401946001909101908401615593565b50858210156155ee57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b60208152600082516040602084015261561a60608401826140ba565b905060208401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0848303016040850152610cc582826140ba565b6000806040838503121561566857600080fd5b825161567381614298565b602084015190925067ffffffffffffffff81111561569057600080fd5b6148d185828601614ac0565b600080604083850312156156af57600080fd5b82519150602083015167ffffffffffffffff81111561569057600080fd5b6040815260006156e060408301856140ba565b8281036020840152610cc581856140ba565b60408152600061570560408301856140ba565b905073ffffffffffffffffffffffffffffffffffffffff831660208301529392505050565b60008060006060848603121561573f57600080fd5b835161574a81614298565b602085015190935067ffffffffffffffff81111561576757600080fd5b61577386828701614ac0565b925050604084015190509250925092565b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250608060408301526157bd60808301856140ba565b905082606083015295945050505050565b6000602082840312156157e057600080fd5b5051919050565b85815284602082015260a06040820152600061580660a08301866140ba565b846060840152828103608084015261508481856140ba56fe4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2fa2646970667358221220649f1162533c82b294440c39a1f9ce1aa0719a40999a2c158b524cbd3206043764736f6c634300081300330000000000000000000000005b81030c087d41558e3fcf23b3575e85c9a768e600000000000000000000000051870a0659a87c7b46baef7311b3128006e1fb16000000000000000000000000826a953332df2e1a994c7cfae68e129ba683aa8f000000000000000000000000c4f7e87f9ff2a2df9bc7ff8399558b594ebf911a000000000000000000000000518ccd79e0e7b75fd5fcc09463fb09cb7d55470d", + "nonce": "0x800", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xd27abaa9b1d80e05ddefe448f5674ee786621d742a591d4c2ea3d7a634885714", + "transactionType": "CREATE", + "contractName": "RelationshipModule", + "contractAddress": "0x5fb712AF304570aD9599e55E1105b7a42a5e30Db", + "function": null, + "arguments": [ + "(0x5B81030C087d41558E3FCF23B3575E85c9A768e6, 0x51870A0659A87c7B46baEF7311B3128006E1FB16, 0x826a953332Df2e1a994C7CFae68E129ba683Aa8F, 0xC4F7E87F9FF2A2DF9bC7FF8399558B594EBF911A)", + "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x5377a4", + "value": "0x0", + "data": "0x6101006040523480156200001257600080fd5b5060405162004e5d38038062004e5d833981016040819052620000359162000298565b6020820151819083906001600160a01b038116620000665760405163134141bd60e11b815260040160405180910390fd5b6001600160a01b039081166080528151166200009557604051636028d8f760e01b815260040160405180910390fd5b80516001600160a01b0390811660a052604082015116620000c957604051635a70c46160e11b815260040160405180910390fd5b60408101516001600160a01b0390811660c052606090910151811660e052620000fc908216637965db0b60e01b6200018f565b6200013f576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600580546001600160a01b0319166001600160a01b0383169081179091556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a250505062000350565b60006200019c83620001b7565b8015620001b05750620001b08383620001f0565b9392505050565b6000620001cc826301ffc9a760e01b620001f0565b8015620001ea5750620001e8826001600160e01b0319620001f0565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801562000263575060208210155b8015620002705750600081115b979650505050505050565b80516001600160a01b03811681146200029357600080fd5b919050565b60008082840360a0811215620002ad57600080fd5b6080811215620002bc57600080fd5b50604051608081016001600160401b0381118282101715620002ee57634e487b7160e01b600052604160045260246000fd5b604052620002fc846200027b565b81526200030c602085016200027b565b60208201526200031f604085016200027b565b604082015262000332606085016200027b565b6060820152915062000347608084016200027b565b90509250929050565b60805160a05160c05160e051614aa9620003b4600039600061028201526000818161043801526134960152600081816103d8015261339401526000818161039e01528181610c9201528181611472015281816122ad01526135da0152614aa96000f3fe608060405234801561001057600080fd5b50600436106101985760003560e01c806376ced32d116100e3578063d2faf8b01161008c578063e8fb5c9b11610066578063e8fb5c9b14610420578063f0ebdc8314610433578063fba854e01461045a57600080fd5b8063d2faf8b0146103d3578063e5720404146103fa578063e7d8e9311461040d57600080fd5b8063b6efd29d116100bd578063b6efd29d14610386578063b95ddb5214610399578063bc12fcca146103c057600080fd5b806376ced32d1461030257806377379d9414610360578063a5b04d451461037357600080fd5b80634fa4467c116101455780636191d3561161011f5780636191d356146102c957806368a4f071146102dc5780637448c568146102ef57600080fd5b80634fa4467c146102555780634fcbd2131461025d57806351e06b901461027d57600080fd5b80632fa7bc99116101765780632fa7bc99146101fb578063322e41b51461020e57806332ee68131461022e57600080fd5b806301ffc9a71461019d57806319129e5a146101c557806329b2632b146101da575b600080fd5b6101b06101ab3660046138b1565b61046d565b60405190151581526020015b60405180910390f35b6101d86101d3366004613925565b610552565b005b6101ed6101e8366004613942565b6106b8565b6040519081526020016101bc565b6101d86102093660046139c6565b6106fb565b61022161021c366004613a12565b610b28565b6040516101bc9190613a7b565b6101ed7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81565b6101ed600a81565b61027061026b366004613ae7565b610c78565b6040516101bc9190613b4c565b6102a47f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101bc565b6101d86102d7366004613bb1565b610cfe565b6102706102ea366004613c70565b610e7e565b6101ed6102fd366004613ca5565b611053565b610315610310366004613dd8565b611067565b60408051825173ffffffffffffffffffffffffffffffffffffffff908116825260208085015190830152838301511691810191909152606091820151918101919091526080016101bc565b6101b061036e366004613e28565b611215565b6101d8610381366004613e6a565b61124d565b610270610394366004613eab565b611458565b6102a47f000000000000000000000000000000000000000000000000000000000000000081565b6101ed6103ce366004613ca5565b6115b2565b6102a47f000000000000000000000000000000000000000000000000000000000000000081565b6102a4610408366004613c70565b6115be565b6101b061041b366004613942565b6116b6565b6101ed61042e366004613e28565b6116fd565b6102a47f000000000000000000000000000000000000000000000000000000000000000081565b6101d8610468366004613ed2565b61171a565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f2fa7bc9900000000000000000000000000000000000000000000000000000000148061050057507fffffffff0000000000000000000000000000000000000000000000000000000082167ff924008e00000000000000000000000000000000000000000000000000000000145b8061054c57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b600061055e81336118f8565b6105a2576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b6105e273ffffffffffffffffffffffffffffffffffffffff83167f7965db0b0000000000000000000000000000000000000000000000000000000061199b565b610648576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c0000000000000000000000000000000000006044820152606401610599565b600580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970990600090a25050565b6000600a6000836040516020016106cf9190613f9c565b604051602081830303815290604052805190602001208152602001908152602001600020549050919050565b60008061070a83850185614096565b915091508115610a17576000858152600460205260408120600701805491610731836140b4565b9091555050600085815260046020908152604091829020825161010081018452815473ffffffffffffffffffffffffffffffffffffffff908116825260018301541692810192909252600281018054610a11948401919061079190614113565b80601f01602080910402602001604051908101604052809291908181526020018280546107bd90614113565b801561080a5780601f106107df5761010080835404028352916020019161080a565b820191906000526020600020905b8154815290600101906020018083116107ed57829003601f168201915b5050505050815260200160038201805480602002602001604051908101604052809291908181526020016000905b828210156108e457838290600052602060002001805461085790614113565b80601f016020809104026020016040519081016040528092919081815260200182805461088390614113565b80156108d05780601f106108a5576101008083540402835291602001916108d0565b820191906000526020600020905b8154815290600101906020018083116108b357829003601f168201915b505050505081526020019060010190610838565b50505050815260200160048201805480602002602001604051908101604052809291908181526020016000905b828210156109bd57838290600052602060002001805461093090614113565b80601f016020809104026020016040519081016040528092919081815260200182805461095c90614113565b80156109a95780601f1061097e576101008083540402835291602001916109a9565b820191906000526020600020905b81548152906001019060200180831161098c57829003601f168201915b505050505081526020019060010190610911565b5050509082525060058201546020820152600682015460409091019060ff1660018111156109ed576109ed614166565b60018111156109fe576109fe614166565b81526020016007820154815250506119b7565b50610a7c565b6000858152600460205260409081902060010154905173ffffffffffffffffffffffffffffffffffffffff909116907f7f7ce7cf4c1b43e1bf51034d0ad7062abb9d4529c7bb0510d512249b0fb7145290610a73908490613b4c565b60405180910390a25b600085815260046020526040812080547fffffffffffffffffffffffff00000000000000000000000000000000000000009081168255600182018054909116905590610acb60028301826137b0565b610ad96003830160006137ed565b610ae76004830160006137ed565b506000600582018190556006820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690556007909101555050505050565b610b866040518060a0016040528060608152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081525090565b60008281526009602052604090819020815160a08101909252805482908290610bae90614113565b80601f0160208091040260200160405190810160405280929190818152602001828054610bda90614113565b8015610c275780601f10610bfc57610100808354040283529160200191610c27565b820191906000526020600020905b815481529060010190602001808311610c0a57829003601f168201915b5050509183525050600182015473ffffffffffffffffffffffffffffffffffffffff908116602083015260028301541660408201526003820154606082015260049091015460809091015292915050565b60603373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610ce9576040517f72823b5400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610cf585858585611ac1565b95945050505050565b8673ffffffffffffffffffffffffffffffffffffffff8116610d4c576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dbb91906141a0565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e1f576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610e618989898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611bc392505050565b9050610e728a8a838989898961171a565b50505050505050505050565b60606000610e8c8585611bf6565b805480602002602001604051908101604052809291908181526020016000905b82821015610f58578382906000526020600020018054610ecb90614113565b80601f0160208091040260200160405190810160405280929190818152602001828054610ef790614113565b8015610f445780601f10610f1957610100808354040283529160200191610f44565b820191906000526020600020905b815481529060010190602001808311610f2757829003601f168201915b505050505081526020019060010190610eac565b50505050905080518310610f9b576040517f9c7692bf00000000000000000000000000000000000000000000000000000000815260048101849052602401610599565b610fa58585611bf6565b8381548110610fb657610fb66141bd565b906000526020600020018054610fcb90614113565b80601f0160208091040260200160405190810160405280929190818152602001828054610ff790614113565b80156110445780601f1061101957610100808354040283529160200191611044565b820191906000526020600020905b81548152906001019060200180831161102757829003601f168201915b50505050509150509392505050565b600061105f8383611c38565b549392505050565b60408051608081018252600080825260208201819052918101829052606081019190915273ffffffffffffffffffffffffffffffffffffffff8316611115576006826040516110b691906141ec565b908152604080519182900360209081018320608084018352805473ffffffffffffffffffffffffffffffffffffffff908116855260018201549285019290925260028101549091169183019190915260030154606082015290506111a0565b60076000848460405160200161112c929190614208565b60408051601f1981840301815291815281516020928301208352828201939093529082016000208251608081018452815473ffffffffffffffffffffffffffffffffffffffff9081168252600183015493820193909352600282015490921692820192909252600390910154606082015290505b805173ffffffffffffffffffffffffffffffffffffffff1615806111dc5750604081015173ffffffffffffffffffffffffffffffffffffffff16155b1561054c57816040517fd8952ceb0000000000000000000000000000000000000000000000000000000081526004016105999190613b4c565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6112438585856116fd565b1415949350505050565b8173ffffffffffffffffffffffffffffffffffffffff811661129b576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061130a91906141a0565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461136e576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084600181111561138257611382614166565b14801561139c575060008281526020819052604090205415155b156113d45760008281526020819052604081206113b89161380b565b60008281526002602052604081206113cf916137ed565b611416565b600082815260016020526040902054156114165760008281526001602052604081206113ff9161380b565b6000828152600360205260408120611416916137ed565b8184600181111561142957611429614166565b6040517f1fe48a4ec69671720d8bdd8f8a6853d16f486c0bb91fcaf5b8ffc4932b8bc9f490600090a350505050565b60603373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146114c9576040517f72823b5400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6114d589898989611c7a565b60006114e38a8a8a8a612040565b905060006040518061010001604052808c73ffffffffffffffffffffffffffffffffffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505090825250602001611571888a61425b565b8152602001611580868861425b565b81526020810184905260400160008152602001600081525090506115a3816119b7565b9b9a5050505050505050505050565b600061105f8383611bf6565b6000806115cb8585611c38565b80548060200260200160405190810160405280929190818152602001828054801561162c57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311611601575b5050505050905080518310611670576040517f9c7692bf00000000000000000000000000000000000000000000000000000000815260048101849052602401610599565b61167a8585611c38565b838154811061168b5761168b6141bd565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1695945050505050565b6000600a6000836040516020016116cd9190613f9c565b60405160208183030381529060405280519060200120815260200190815260200160002054600014159050919050565b600061171261170c8585611c38565b83612069565b949350505050565b8573ffffffffffffffffffffffffffffffffffffffff8116611768576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156117b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117d791906141a0565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461183b576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61184688888861124d565b6118a26118538988611c38565b61185d8a89611bf6565b87878080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061189d925088915089905061425b565b612103565b858860018111156118b5576118b5614166565b7f5e140eb5bed8bcb1664a04c0be4aa419e0d2dbf1277a4a6770882a0beb3b91b287876040516118e69291906142cf565b60405180910390a35050505050505050565b6005546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810184905273ffffffffffffffffffffffffffffffffffffffff838116602483015260009216906391d1485490604401602060405180830381865afa158015611970573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611994919061432a565b9392505050565b60006119a68361253d565b8015611994575061199483836125a1565b606060008260c0015160018111156119d1576119d1614166565b1480156119e457506119e282612670565b155b15611a4457816020015173ffffffffffffffffffffffffffffffffffffffff167fa1e5a8c0fde3fa4d7320c3f9de0ab0a2c1ee6e891e6a513ca0811ddcf768b59460405160405180910390a2505060408051602081019091526000815290565b611a5b826000015183602001518460400151612a47565b600160c0840152600060e08401529050611a7482612670565b50816020015173ffffffffffffffffffffffffffffffffffffffff167f4ec4635a4d1f6ebe9ee3a059f74fc5d802e04d2d115c4090337a34e3b137c98a60405160405180910390a2919050565b6060611acd8585612c20565b600080611adc84860186614347565b915091507f99bf0fbd60208ca164accd299e2c0a8b4475c1a2df53c2d7160870f6825365288203611b2857611b2381806020019051810190611b1e919061449d565b612db0565b611ba9565b7fe5801b46183bd353d44247232707bb62253655a0580ade69a754ba7157ddf8fd8203611b7757600081806020019051810190611b659190614575565b9050611b718882613055565b50611ba9565b6040517f7265e5c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505060408051602081019091526000815295945050505050565b60008282604051602001611bd8929190614208565b60405160208183030381529060405280519060200120905092915050565b600080836001811115611c0b57611c0b614166565b03611c245750600081815260026020526040902061054c565b50600081815260036020526040902061054c565b600080836001811115611c4d57611c4d614166565b03611c665750600081815260208190526040902061054c565b50600081815260016020526040902061054c565b6000611c88828401846145aa565b90506000611c9a868360000151611067565b602083015190915073ffffffffffffffffffffffffffffffffffffffff16611cee576040517f3489abf600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805173ffffffffffffffffffffffffffffffffffffffff90811614611d7a57806000015173ffffffffffffffffffffffffffffffffffffffff16826020015173ffffffffffffffffffffffffffffffffffffffff1614611d7a576040517f3489abf600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081015115611e695760408083015190517fc3cc244a00000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff89169163c3cc244a91611de09160040190815260200190565b602060405180830381865afa158015611dfd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e21919061465a565b6020830151909150600160ff83161b16611e67576040517ff3c6318200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b606082015173ffffffffffffffffffffffffffffffffffffffff16611eba576040517f642321ac00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604081015173ffffffffffffffffffffffffffffffffffffffff90811614611f4957806040015173ffffffffffffffffffffffffffffffffffffffff16826060015173ffffffffffffffffffffffffffffffffffffffff1614611f49576040517f642321ac00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6060810151156120385760808201516040517fc3cc244a00000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff89169163c3cc244a91611faf9160040190815260200190565b602060405180830381865afa158015611fcc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ff0919061465a565b6060830151909150600160ff83161b16612036576040517f5a790ab800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b505050505050565b60008061204f838501856145aa565b905061205f868260000151611bc3565b9695505050505050565b8154600090815b818110156120d9578373ffffffffffffffffffffffffffffffffffffffff168582815481106120a1576120a16141bd565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16036120d157915061054c9050565b600101612070565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff949350505050565b8151600a811115612140576040517f760fb4ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8082511461217a576040517f3021beb200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b8181101561203857600073ffffffffffffffffffffffffffffffffffffffff168482815181106121af576121af6141bd565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1603612204576040517f7d4de38200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000811180156122745750836001820381518110612224576122246141bd565b602002602001015173ffffffffffffffffffffffffffffffffffffffff16848281518110612254576122546141bd565b602002602001015173ffffffffffffffffffffffffffffffffffffffff16145b156122ab576040517fd696c40800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166382984f308583815181106122f9576122f96141bd565b60200260200101516040518263ffffffff1660e01b8152600401612339919073ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b602060405180830381865afa158015612356573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061237a919061432a565b6123e757838181518110612390576123906141bd565b60200260200101516040517f5a987388000000000000000000000000000000000000000000000000000000008152600401610599919073ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b8381815181106123f9576123f96141bd565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1663a913b88184838151811061242e5761242e6141bd565b60200260200101516040518263ffffffff1660e01b81526004016124529190613b4c565b60006040518083038186803b15801561246a57600080fd5b505afa15801561247e573d6000803e3d6000fd5b5050505085848281518110612495576124956141bd565b60209081029190910181015182546001810184556000938452919092200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9092169190911790558251859084908390811061250b5761250b6141bd565b6020908102919091018101518254600181018455600093845291909220019061253490826146c0565b5060010161217d565b6000612569827f01ffc9a7000000000000000000000000000000000000000000000000000000006125a1565b801561054c575061259a827fffffffff000000000000000000000000000000000000000000000000000000006125a1565b1592915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015612659575060208210155b80156126655750600081115b979650505050505050565b6000806126858360c001518460a00151611c38565b8054806020026020016040519081016040528092919081815260200182805480156126e657602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116126bb575b5050505050905060006127018460c001518560a00151611bf6565b805480602002602001604051908101604052809291908181526020016000905b828210156127cd57838290600052602060002001805461274090614113565b80601f016020809104026020016040519081016040528092919081815260200182805461276c90614113565b80156127b95780601f1061278e576101008083540402835291602001916127b9565b820191906000526020600020905b81548152906001019060200180831161279c57829003601f168201915b505050505081526020019060010190612721565b50508451929350600091508190508660c0015160018111156127f1576127f1614166565b14612800578560800151612806565b85606001515b90508181511461285e578560c00151600181111561282657612826614166565b6040517f3171c36f00000000000000000000000000000000000000000000000000000000815260ff9091166004820152602401610599565b60e08601515b82811015612a3a57808760e001818152505060006040518060400160405280868481518110612895576128956141bd565b602002602001015181526020018484815181106128b4576128b46141bd565b6020026020010151815250905060006129118784815181106128d8576128d86141bd565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673800000000000000000000000000000000000000016151590565b156129d657868381518110612928576129286141bd565b602002602001015173ffffffffffffffffffffffffffffffffffffffff166334e5d29f8360405160200161295c91906147bc565b6040516020818303038152906040526040518263ffffffff1660e01b81526004016129879190613b4c565b6000604051808303816000875af11580156129a6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526129ce91908101906147f5565b5090506129fd565b6129fa8784815181106129eb576129eb6141bd565b6020026020010151838b613191565b90505b6001816001811115612a1157612a11614166565b14612a255750600098975050505050505050565b50508080612a32906140b4565b915050612864565b5060019695505050505050565b6060600082806020019051810190612a5f919061483c565b90506000600860008154612a72906140b4565b91829055506040805160a0810182528451815260208086015173ffffffffffffffffffffffffffffffffffffffff90811682840152606080880151909116838501528684015190830152608080870151908301526000848152600990915291909120815192935090918291908190612aea90826146c0565b506020828101516001830180547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff9384161790915560408086015160028601805490931693169290921790556060840151600384015560809093015160049092019190915590518391600a91600091612b7d91869101613a7b565b60405160208183030381529060405280519060200120815260200190815260200160002081905550817fc1ab5d0231434d664068cd9e5f80a04152484f1844e564dd9fee5c687caa0d7c84600001518560200151866040015187606001518860800151604051612bf19594939291906148ec565b60405180910390a260408051602081018490520160405160208183030381529060405293505050509392505050565b73ffffffffffffffffffffffffffffffffffffffff8216612cdd57612c657f637821dcee84aabec9c8cf4f6f643013a24ad27fd41511ffd937aea80d8619a9826118f8565b612cd9576040517f75000dc00000000000000000000000000000000000000000000000000000000081527f637821dcee84aabec9c8cf4f6f643013a24ad27fd41511ffd937aea80d8619a9600482015273ffffffffffffffffffffffffffffffffffffffff82166024820152604401610599565b5050565b8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612d3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d6391906141a0565b73ffffffffffffffffffffffffffffffffffffffff1614612cd9576040517fdc13a9c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080612dce83604001516000015184602001518560600151613375565b91509150600080612df085604001516020015186602001518760800151613375565b91509150600060405180608001604052808673ffffffffffffffffffffffffffffffffffffffff1681526020018581526020018473ffffffffffffffffffffffffffffffffffffffff168152602001838152509050600073ffffffffffffffffffffffffffffffffffffffff16866020015173ffffffffffffffffffffffffffffffffffffffff1603612f16578060068760000151604051612e9291906141ec565b9081526040805160209281900383019020835181547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff92831617835593850151600183015591840151600282018054909416921691909117909155606090910151600390910155612fcb565b806007600088602001518960000151604051602001612f36929190614208565b60408051808303601f190181529181528151602092830120835282820193909352908201600020835181547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff9283161783559285015160018301559284015160028201805490931693169290921790556060909101516003909101555b856020015173ffffffffffffffffffffffffffffffffffffffff167f5afe4586ed79afd39271a5d07aaa8d60de58e6e9a48ebf10c8f1ce828b592e7587600001518360000151896040015160000151856020015186604001518c604001516020015188606001516040516130459796959493929190614975565b60405180910390a2505050505050565b73ffffffffffffffffffffffffffffffffffffffff82166130d75760068160405161308091906141ec565b90815260405190819003602001902080547fffffffffffffffffffffffff00000000000000000000000000000000000000009081168255600060018301819055600283018054909216909155600390910155613154565b6007600083836040516020016130ee929190614208565b60408051601f19818403018152918152815160209283012083529082019290925201600090812080547fffffffffffffffffffffffff00000000000000000000000000000000000000009081168255600182018390556002820180549091169055600301555b7fa1b9abc85838f61f05343c3b5b89fe250131975f2b25b6029a263e253dc0e7fd81836040516131859291906149e1565b60405180910390a15050565b60008060008573ffffffffffffffffffffffffffffffffffffffff16635260a98c866040516020016131c391906147bc565b604051602081830303815290604052306040518363ffffffff1660e01b81526004016131f09291906149e1565b6000604051808303816000875af115801561320f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526132379190810190614a19565b9193509091506000905082600181111561325357613253614166565b0361336c57600081815260046020908152604091829020865181547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff928316178355928801516001830180549094169116179091559085015185919060028201906132d690826146c0565b50606082015180516132f2916003840191602090910190613829565b506080820151805161330e916004840191602090910190613829565b5060a0820151600582015560c08201516006820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001838181111561335957613359614166565b021790555060e082015181600701559050505b50949350505050565b600080600185600581111561338c5761338c614166565b036133bc57507f000000000000000000000000000000000000000000000000000000000000000090506000613560565b60028560058111156133d0576133d0614166565b0361347a5773ffffffffffffffffffffffffffffffffffffffff8416613422576040517fe86db48e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61342c8484613568565b8251600003613467576040517f521299a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8361347184613766565b91509150613560565b600385600581111561348e5761348e614166565b036134be57507f000000000000000000000000000000000000000000000000000000000000000090506000613560565b60048560058111156134d2576134d2614166565b036134f6575073ffffffffffffffffffffffffffffffffffffffff90506000613560565b600585600581111561350a5761350a614166565b0361352e575073ffffffffffffffffffffffffffffffffffffffff90506000613560565b6040517f92c6e29000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b935093915050565b604080518082018252601381527f524547495354524154494f4e5f4d4f44554c4500000000000000000000000000602082015290517fc7bdcb8a00000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c7bdcb8a9161360d91600401613b4c565b602060405180830381865afa15801561362a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061364e91906141a0565b825190915060005b8181101561375f578273ffffffffffffffffffffffffffffffffffffffff16638a8cb0b48686848151811061368d5761368d6141bd565b60200260200101516040518363ffffffff1660e01b81526004016136d692919073ffffffffffffffffffffffffffffffffffffffff92909216825260ff16602082015260400190565b602060405180830381865afa1580156136f3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613717919061432a565b61374d576040517fa4ba834600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80613757816140b4565b915050613656565b5050505050565b600080805b83518110156137a957838181518110613786576137866141bd565b602002602001015160ff1660ff166001901b82179150808060010191505061376b565b5092915050565b5080546137bc90614113565b6000825580601f106137cc575050565b601f0160209004906000526020600020908101906137ea919061387f565b50565b50805460008255906000526020600020908101906137ea9190613894565b50805460008255906000526020600020908101906137ea919061387f565b82805482825590600052602060002090810192821561386f579160200282015b8281111561386f578251829061385f90826146c0565b5091602001919060010190613849565b5061387b929150613894565b5090565b5b8082111561387b5760008155600101613880565b8082111561387b5760006138a882826137b0565b50600101613894565b6000602082840312156138c357600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461199457600080fd5b73ffffffffffffffffffffffffffffffffffffffff811681146137ea57600080fd5b8035613920816138f3565b919050565b60006020828403121561393757600080fd5b8135611994816138f3565b60006020828403121561395457600080fd5b813567ffffffffffffffff81111561396b57600080fd5b820160a0818503121561199457600080fd5b60008083601f84011261398f57600080fd5b50813567ffffffffffffffff8111156139a757600080fd5b6020830191508360208285010111156139bf57600080fd5b9250929050565b6000806000604084860312156139db57600080fd5b83359250602084013567ffffffffffffffff8111156139f957600080fd5b613a058682870161397d565b9497909650939450505050565b600060208284031215613a2457600080fd5b5035919050565b60005b83811015613a46578181015183820152602001613a2e565b50506000910152565b60008151808452613a67816020860160208601613a2b565b601f01601f19169290920160200192915050565b602081526000825160a06020840152613a9760c0840182613a4f565b9050602084015173ffffffffffffffffffffffffffffffffffffffff8082166040860152806040870151166060860152505060608401516080840152608084015160a08401528091505092915050565b60008060008060608587031215613afd57600080fd5b8435613b08816138f3565b93506020850135613b18816138f3565b9250604085013567ffffffffffffffff811115613b3457600080fd5b613b408782880161397d565b95989497509550505050565b6020815260006119946020830184613a4f565b600281106137ea57600080fd5b60008083601f840112613b7e57600080fd5b50813567ffffffffffffffff811115613b9657600080fd5b6020830191508360208260051b85010111156139bf57600080fd5b60008060008060008060008060a0898b031215613bcd57600080fd5b8835613bd881613b5f565b97506020890135613be8816138f3565b9650604089013567ffffffffffffffff80821115613c0557600080fd5b613c118c838d0161397d565b909850965060608b0135915080821115613c2a57600080fd5b613c368c838d01613b6c565b909650945060808b0135915080821115613c4f57600080fd5b50613c5c8b828c01613b6c565b999c989b5096995094979396929594505050565b600080600060608486031215613c8557600080fd5b8335613c9081613b5f565b95602085013595506040909401359392505050565b60008060408385031215613cb857600080fd5b8235613cc381613b5f565b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160a0810167ffffffffffffffff81118282101715613d2357613d23613cd1565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715613d5257613d52613cd1565b604052919050565b600067ffffffffffffffff821115613d7457613d74613cd1565b50601f01601f191660200190565b600082601f830112613d9357600080fd5b8135613da6613da182613d5a565b613d29565b818152846020838601011115613dbb57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060408385031215613deb57600080fd5b8235613df6816138f3565b9150602083013567ffffffffffffffff811115613e1257600080fd5b613e1e85828601613d82565b9150509250929050565b600080600060608486031215613e3d57600080fd5b8335613e4881613b5f565b9250602084013591506040840135613e5f816138f3565b809150509250925092565b600080600060608486031215613e7f57600080fd5b8335613e8a81613b5f565b92506020840135613e9a816138f3565b929592945050506040919091013590565b60008060008060008060008060a0898b031215613ec757600080fd5b8835613bd8816138f3565b600080600080600080600060a0888a031215613eed57600080fd5b8735613ef881613b5f565b96506020880135613f08816138f3565b955060408801359450606088013567ffffffffffffffff80821115613f2c57600080fd5b613f388b838c01613b6c565b909650945060808a0135915080821115613f5157600080fd5b50613f5e8a828b01613b6c565b989b979a50959850939692959293505050565b818352818160208501375060006020828401015260006020601f19601f840116840101905092915050565b60208152600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112613fd457600080fd5b830160208101903567ffffffffffffffff811115613ff157600080fd5b80360382131561400057600080fd5b60a0602085015261401560c085018284613f71565b91505061402460208501613915565b73ffffffffffffffffffffffffffffffffffffffff811660408501525061404d60408501613915565b73ffffffffffffffffffffffffffffffffffffffff811660608501525060608401356080840152608084013560a08401528091505092915050565b80151581146137ea57600080fd5b600080604083850312156140a957600080fd5b8235613df681614088565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361410c577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b600181811c9082168061412757607f821691505b602082108103614160577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b8051613920816138f3565b6000602082840312156141b257600080fd5b8151611994816138f3565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082516141fe818460208701613a2b565b9190910192915050565b73ffffffffffffffffffffffffffffffffffffffff831681526040602082015260006117126040830184613a4f565b600067ffffffffffffffff82111561425157614251613cd1565b5060051b60200190565b6000614269613da184614237565b80848252602080830192508560051b85013681111561428757600080fd5b855b818110156142c357803567ffffffffffffffff8111156142a95760008081fd5b6142b536828a01613d82565b865250938201938201614289565b50919695505050505050565b60208082528181018390526000908460408401835b8681101561431f5782356142f7816138f3565b73ffffffffffffffffffffffffffffffffffffffff16825291830191908301906001016142e4565b509695505050505050565b60006020828403121561433c57600080fd5b815161199481614088565b6000806040838503121561435a57600080fd5b82359150602083013567ffffffffffffffff811115613e1257600080fd5b600082601f83011261438957600080fd5b8151614397613da182613d5a565b8181528460208386010111156143ac57600080fd5b611712826020830160208701613a2b565b80516006811061392057600080fd5b6000604082840312156143de57600080fd5b6040516040810181811067ffffffffffffffff8211171561440157614401613cd1565b604052905080614410836143bd565b815261441e602084016143bd565b60208201525092915050565b805160ff8116811461392057600080fd5b600082601f83011261444c57600080fd5b8151602061445c613da183614237565b82815260059290921b8401810191818101908684111561447b57600080fd5b8286015b8481101561431f576144908161442a565b835291830191830161447f565b6000602082840312156144af57600080fd5b815167ffffffffffffffff808211156144c757600080fd5b9083019060c082860312156144db57600080fd5b6144e3613d00565b8251828111156144f257600080fd5b6144fe87828601614378565b82525061450d60208401614195565b602082015261451f86604085016143cc565b604082015260808301518281111561453657600080fd5b6145428782860161443b565b60608301525060a08301518281111561455a57600080fd5b6145668782860161443b565b60808301525095945050505050565b60006020828403121561458757600080fd5b815167ffffffffffffffff81111561459e57600080fd5b61171284828501614378565b6000602082840312156145bc57600080fd5b813567ffffffffffffffff808211156145d457600080fd5b9083019060a082860312156145e857600080fd5b6145f0613d00565b8235828111156145ff57600080fd5b61460b87828601613d82565b8252506020830135915061461e826138f3565b816020820152604083013560408201526060830135915061463e826138f3565b8160608201526080830135608082015280935050505092915050565b60006020828403121561466c57600080fd5b6119948261442a565b601f8211156146bb57600081815260208120601f850160051c8101602086101561469c5750805b601f850160051c820191505b81811015612038578281556001016146a8565b505050565b815167ffffffffffffffff8111156146da576146da613cd1565b6146ee816146e88454614113565b84614675565b602080601f831160018114614741576000841561470b5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555612038565b600085815260208120601f198616915b8281101561477057888601518255948401946001909101908401614751565b50858210156147ac57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b6020815260008251604060208401526147d86060840182613a4f565b90506020840151601f19848303016040850152610cf58282613a4f565b6000806040838503121561480857600080fd5b825161481381613b5f565b602084015190925067ffffffffffffffff81111561483057600080fd5b613e1e85828601614378565b60006020828403121561484e57600080fd5b815167ffffffffffffffff8082111561486657600080fd5b9083019060a0828603121561487a57600080fd5b614882613d00565b82518281111561489157600080fd5b61489d87828601614378565b825250602083015191506148b0826138f3565b81602082015260408301516040820152606083015191506148d0826138f3565b8160608201526080830151608082015280935050505092915050565b60a0815260006148ff60a0830188613a4f565b73ffffffffffffffffffffffffffffffffffffffff968716602084015260408301959095525091909316606082015260800191909152919050565b60068110614971577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b60e08152600061498860e083018a613a4f565b905073ffffffffffffffffffffffffffffffffffffffff80891660208401526149b4604084018961493a565b60608301879052851660808301526149cf60a083018561493a565b8260c083015298975050505050505050565b6040815260006149f46040830185613a4f565b905073ffffffffffffffffffffffffffffffffffffffff831660208301529392505050565b600080600060608486031215614a2e57600080fd5b8351614a3981613b5f565b602085015190935067ffffffffffffffff811115614a5657600080fd5b614a6286828701614378565b92505060408401519050925092509256fea2646970667358221220258178ab529cffb4ff863013666f66a9b26a909e8f1e6c95e23e6fe2c2394bd364736f6c634300081300330000000000000000000000005b81030c087d41558e3fcf23b3575e85c9a768e600000000000000000000000051870a0659a87c7b46baef7311b3128006e1fb16000000000000000000000000826a953332df2e1a994c7cfae68e129ba683aa8f000000000000000000000000c4f7e87f9ff2a2df9bc7ff8399558b594ebf911a000000000000000000000000518ccd79e0e7b75fd5fcc09463fb09cb7d55470d", + "nonce": "0x801", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xb86c38745a8d892c1604649381942ca13b63cfe211e0b01efce0887852361d11", + "transactionType": "CREATE", + "contractName": "LicensingModule", + "contractAddress": "0x058bB0D7795CfA2a46C60C0b63F8f0fa7cD1EEd5", + "function": null, + "arguments": [ + "(0x5B81030C087d41558E3FCF23B3575E85c9A768e6, 0x51870A0659A87c7B46baEF7311B3128006E1FB16, 0x826a953332Df2e1a994C7CFae68E129ba683Aa8F, 0xC4F7E87F9FF2A2DF9bC7FF8399558B594EBF911A)", + "0x3113e5bfe2251A9fcA1225083cf6d36547E63e07", + "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x5650df", + "value": "0x0", + "data": "0x6101406040523480156200001257600080fd5b50604051620050eb380380620050eb833981016040819052620000359162000167565b602083015183906001600160a01b038116620000645760405163134141bd60e11b815260040160405180910390fd5b6001600160a01b039081166080528151166200009357604051636028d8f760e01b815260040160405180910390fd5b80516001600160a01b0390811660a052604082015116620000c757604051635a70c46160e11b815260040160405180910390fd5b60408101516001600160a01b0390811660c052606090910151811660e0528216620001055760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03808316610100528116620001345760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03166101205250620002319050565b80516001600160a01b03811681146200016257600080fd5b919050565b600080600083850360c08112156200017e57600080fd5b60808112156200018d57600080fd5b50604051608081016001600160401b0381118282101715620001bf57634e487b7160e01b600052604160045260246000fd5b604052620001cd856200014a565b8152620001dd602086016200014a565b6020820152620001f0604086016200014a565b604082015262000203606086016200014a565b6060820152925062000218608085016200014a565b91506200022860a085016200014a565b90509250925092565b60805160a05160c05160e0516101005161012051614dfa620002f1600039600081816102de015261348f0152600081816103180152818161231d015281816124e3015281816126430152613394015260006102260152600081816103ff01528181611f7a0152818161206b01528181612a1401528181612b0d01528181612c330152818161323c01526135250152600081816103b201526132ce0152600081816103780152818161096001528181610f3c01526118270152614dfa6000f3fe608060405234801561001057600080fd5b50600436106101825760003560e01c806376a4b13b116100d8578063bc12fcca1161008c578063e8fb5c9b11610066578063e8fb5c9b146103e7578063f0ebdc83146103fa578063fba854e01461042157600080fd5b8063bc12fcca1461039a578063d2faf8b0146103ad578063e5720404146103d457600080fd5b8063a5b04d45116100bd578063a5b04d451461034d578063b6efd29d14610360578063b95ddb521461037357600080fd5b806376a4b13b1461031357806377379d941461033a57600080fd5b806351e06b901161013a57806368a4f0711161011457806368a4f071146102c6578063743fee4a146102d95780637448c5681461030057600080fd5b806351e06b9014610221578063562573a91461026d578063582d35d7146102b357600080fd5b806332ee68131161016b57806332ee6813146101c45780634fa4467c146101f95780634fcbd2131461020157600080fd5b806301ffc9a7146101875780632fa7bc99146101af575b600080fd5b61019a610195366004613b09565b610434565b60405190151581526020015b60405180910390f35b6101c26101bd366004613b94565b610519565b005b6101eb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81565b6040519081526020016101a6565b6101eb600a81565b61021461020f366004613c02565b610946565b6040516101a69190613cb7565b6102487f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101a6565b6102a661027b366004613cca565b73ffffffffffffffffffffffffffffffffffffffff1660009081526006602052604090205460ff1690565b6040516101a69190613d2a565b6102146102c1366004613d38565b6109ce565b6102146102d4366004613d81565b610af1565b6102487f000000000000000000000000000000000000000000000000000000000000000081565b6101eb61030e366004613db6565b610ccb565b6102487f000000000000000000000000000000000000000000000000000000000000000081565b61019a610348366004613de2565b610cdf565b6101c261035b366004613e24565b610d17565b61021461036e366004613eaa565b610f22565b6102487f000000000000000000000000000000000000000000000000000000000000000081565b6101eb6103a8366004613db6565b611085565b6102487f000000000000000000000000000000000000000000000000000000000000000081565b6102486103e2366004613d81565b611091565b6101eb6103f5366004613de2565b611189565b6102487f000000000000000000000000000000000000000000000000000000000000000081565b6101c261042f366004613f69565b61119e565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f2fa7bc990000000000000000000000000000000000000000000000000000000014806104c757507fffffffff0000000000000000000000000000000000000000000000000000000082167ff924008e00000000000000000000000000000000000000000000000000000000145b8061051357507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60008061052883850185614128565b91509150811561083557600085815260046020526040812060070180549161054f8361418c565b9091555050600085815260046020908152604091829020825161010081018452815473ffffffffffffffffffffffffffffffffffffffff90811682526001830154169281019290925260028101805461082f94840191906105af906141eb565b80601f01602080910402602001604051908101604052809291908181526020018280546105db906141eb565b80156106285780601f106105fd57610100808354040283529160200191610628565b820191906000526020600020905b81548152906001019060200180831161060b57829003601f168201915b5050505050815260200160038201805480602002602001604051908101604052809291908181526020016000905b82821015610702578382906000526020600020018054610675906141eb565b80601f01602080910402602001604051908101604052809291908181526020018280546106a1906141eb565b80156106ee5780601f106106c3576101008083540402835291602001916106ee565b820191906000526020600020905b8154815290600101906020018083116106d157829003601f168201915b505050505081526020019060010190610656565b50505050815260200160048201805480602002602001604051908101604052809291908181526020016000905b828210156107db57838290600052602060002001805461074e906141eb565b80601f016020809104026020016040519081016040528092919081815260200182805461077a906141eb565b80156107c75780601f1061079c576101008083540402835291602001916107c7565b820191906000526020600020905b8154815290600101906020018083116107aa57829003601f168201915b50505050508152602001906001019061072f565b5050509082525060058201546020820152600682015460409091019060ff16600181111561080b5761080b613ce7565b600181111561081c5761081c613ce7565b815260200160078201548152505061137c565b5061089a565b6000858152600460205260409081902060010154905173ffffffffffffffffffffffffffffffffffffffff909116907f7f7ce7cf4c1b43e1bf51034d0ad7062abb9d4529c7bb0510d512249b0fb7145290610891908490613cb7565b60405180910390a25b600085815260046020526040812080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811682556001820180549091169055906108e96002830182613a08565b6108f7600383016000613a45565b610905600483016000613a45565b506000600582018190556006820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690556007909101555050505050565b60603373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146109b7576040517f72823b5400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6109c385858585611486565b90505b949350505050565b6060600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610a5085858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061150892505050565b81526020019081526020016000208054610a69906141eb565b80601f0160208091040260200160405190810160405280929190818152602001828054610a95906141eb565b8015610ae25780601f10610ab757610100808354040283529160200191610ae2565b820191906000526020600020905b815481529060010190602001808311610ac557829003601f168201915b505050505090505b9392505050565b60606000610aff858561155f565b805480602002602001604051908101604052809291908181526020016000905b82821015610bcb578382906000526020600020018054610b3e906141eb565b80601f0160208091040260200160405190810160405280929190818152602001828054610b6a906141eb565b8015610bb75780601f10610b8c57610100808354040283529160200191610bb7565b820191906000526020600020905b815481529060010190602001808311610b9a57829003601f168201915b505050505081526020019060010190610b1f565b50505050905080518310610c13576040517f9c7692bf000000000000000000000000000000000000000000000000000000008152600481018490526024015b60405180910390fd5b610c1d858561155f565b8381548110610c2e57610c2e61423e565b906000526020600020018054610c43906141eb565b80601f0160208091040260200160405190810160405280929190818152602001828054610c6f906141eb565b8015610cbc5780601f10610c9157610100808354040283529160200191610cbc565b820191906000526020600020905b815481529060010190602001808311610c9f57829003601f168201915b50505050509150509392505050565b6000610cd783836115a1565b549392505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610d0d858585611189565b1415949350505050565b8173ffffffffffffffffffffffffffffffffffffffff8116610d65576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610db0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dd4919061426d565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e38576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000846001811115610e4c57610e4c613ce7565b148015610e66575060008281526020819052604090205415155b15610e9e576000828152602081905260408120610e8291613a63565b6000828152600260205260408120610e9991613a45565b610ee0565b60008281526001602052604090205415610ee0576000828152600160205260408120610ec991613a63565b6000828152600360205260408120610ee091613a45565b81846001811115610ef357610ef3613ce7565b6040517f1fe48a4ec69671720d8bdd8f8a6853d16f486c0bb91fcaf5b8ffc4932b8bc9f490600090a350505050565b60603373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610f93576040517f72823b5400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60007fff5c818c3a09617e24e0ba5e97a8b336e42589e94d6f586a74a28d768ee2c8cb905060006040518061010001604052808c73ffffffffffffffffffffffffffffffffffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505090825250602001611044888a6142ce565b815260200161105386886142ce565b81526020810184905260400160008152602001600081525090506110768161137c565b9b9a5050505050505050505050565b6000610cd7838361155f565b60008061109e85856115a1565b8054806020026020016040519081016040528092919081815260200182805480156110ff57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116110d4575b5050505050905080518310611143576040517f9c7692bf00000000000000000000000000000000000000000000000000000000815260048101849052602401610c0a565b61114d85856115a1565b838154811061115e5761115e61423e565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1695945050505050565b60006109c661119885856115a1565b836115e3565b8573ffffffffffffffffffffffffffffffffffffffff81166111ec576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611237573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061125b919061426d565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146112bf576040517f74eb627600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6112ca888888610d17565b6113266112d789886115a1565b6112e18a8961155f565b87878080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061132192508891508990506142ce565b61167d565b8588600181111561133957611339613ce7565b7f5e140eb5bed8bcb1664a04c0be4aa419e0d2dbf1277a4a6770882a0beb3b91b2878760405161136a929190614342565b60405180910390a35050505050505050565b606060008260c00151600181111561139657611396613ce7565b1480156113a957506113a782611abf565b155b1561140957816020015173ffffffffffffffffffffffffffffffffffffffff167fa1e5a8c0fde3fa4d7320c3f9de0ab0a2c1ee6e891e6a513ca0811ddcf768b59460405160405180910390a2505060408051602081019091526000815290565b611420826000015183602001518460400151611e96565b600160c0840152600060e0840152905061143982611abf565b50816020015173ffffffffffffffffffffffffffffffffffffffff167f4ec4635a4d1f6ebe9ee3a059f74fc5d802e04d2d115c4090337a34e3b137c98a60405160405180910390a2919050565b60606000806114978486018661439d565b915091507f8b21f20183a523515c357db6dba25c92b138630b63988ca3e60a6be86c8da04582036114d6576114cd878783612129565b925050506109c6565b6040517f96bb42f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080829050601f8151111561154c57826040517f305a27a9000000000000000000000000000000000000000000000000000000008152600401610c0a9190613cb7565b8051611557826143da565b179392505050565b60008083600181111561157457611574613ce7565b0361158d57506000818152600260205260409020610513565b506000818152600360205260409020610513565b6000808360018111156115b6576115b6613ce7565b036115cf57506000818152602081905260409020610513565b506000818152600160205260409020610513565b8154600090815b81811015611653578373ffffffffffffffffffffffffffffffffffffffff1685828154811061161b5761161b61423e565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff160361164b5791506105139050565b6001016115ea565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff949350505050565b8151600a8111156116ba576040517f760fb4ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b808251146116f4576040517f3021beb200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b81811015611ab757600073ffffffffffffffffffffffffffffffffffffffff168482815181106117295761172961423e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff160361177e576040517f7d4de38200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000811180156117ee575083600182038151811061179e5761179e61423e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff168482815181106117ce576117ce61423e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff16145b15611825576040517fd696c40800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166382984f308583815181106118735761187361423e565b60200260200101516040518263ffffffff1660e01b81526004016118b3919073ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b602060405180830381865afa1580156118d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118f4919061441c565b6119615783818151811061190a5761190a61423e565b60200260200101516040517f5a987388000000000000000000000000000000000000000000000000000000008152600401610c0a919073ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b8381815181106119735761197361423e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1663a913b8818483815181106119a8576119a861423e565b60200260200101516040518263ffffffff1660e01b81526004016119cc9190613cb7565b60006040518083038186803b1580156119e457600080fd5b505afa1580156119f8573d6000803e3d6000fd5b5050505085848281518110611a0f57611a0f61423e565b60209081029190910181015182546001810184556000938452919092200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90921691909117905582518590849083908110611a8557611a8561423e565b60209081029190910181015182546001810184556000938452919092200190611aae9082614484565b506001016116f7565b505050505050565b600080611ad48360c001518460a001516115a1565b805480602002602001604051908101604052809291908181526020018280548015611b3557602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311611b0a575b505050505090506000611b508460c001518560a0015161155f565b805480602002602001604051908101604052809291908181526020016000905b82821015611c1c578382906000526020600020018054611b8f906141eb565b80601f0160208091040260200160405190810160405280929190818152602001828054611bbb906141eb565b8015611c085780601f10611bdd57610100808354040283529160200191611c08565b820191906000526020600020905b815481529060010190602001808311611beb57829003601f168201915b505050505081526020019060010190611b70565b50508451929350600091508190508660c001516001811115611c4057611c40613ce7565b14611c4f578560800151611c55565b85606001515b905081815114611cad578560c001516001811115611c7557611c75613ce7565b6040517f3171c36f00000000000000000000000000000000000000000000000000000000815260ff9091166004820152602401610c0a565b60e08601515b82811015611e8957808760e001818152505060006040518060400160405280868481518110611ce457611ce461423e565b60200260200101518152602001848481518110611d0357611d0361423e565b602002602001015181525090506000611d60878481518110611d2757611d2761423e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673800000000000000000000000000000000000000016151590565b15611e2557868381518110611d7757611d7761423e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff166334e5d29f83604051602001611dab9190614580565b6040516020818303038152906040526040518263ffffffff1660e01b8152600401611dd69190613cb7565b6000604051808303816000875af1158015611df5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611e1d9190810190614607565b509050611e4c565b611e49878481518110611e3a57611e3a61423e565b6020026020010151838b6127bd565b90505b6001816001811115611e6057611e60613ce7565b14611e745750600098975050505050505050565b50508080611e819061418c565b915050611cb3565b5060019695505050505050565b606060008083806020019051810190611eaf919061464e565b915091507f3f92a83f1dd77188c62fa393a54ccf9854be836ca6c243397d0acbbce04723878203611eee57611ee58686836129a1565b92505050610aea565b7f5281374dd3fc2bb7839f50fddfb6a14a666cb4d23b20d6aecf9b9950d103b3368203611ff257600081806020019051810190611f2b919061467f565b6040517f1f09e4e50000000000000000000000000000000000000000000000000000000081526004810182905273ffffffffffffffffffffffffffffffffffffffff88811660248301529192507f000000000000000000000000000000000000000000000000000000000000000090911690631f09e4e590604401600060405180830381600087803b158015611fc057600080fd5b505af1158015611fd4573d6000803e3d6000fd5b50505050604051806020016040528060008152509350505050610aea565b7f29def77ab981c01a6b53c58b23dd89ac4447095f721298424063ed3f16962ac682036120f757600080828060200190518101906120309190614698565b6040517f71e074dd000000000000000000000000000000000000000000000000000000008152600481018390526024810182905291935091507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906371e074dd90604401600060405180830381600087803b1580156120c457600080fd5b505af11580156120d8573d6000803e3d6000fd5b5050505060405180602001604052806000815250945050505050610aea565b6040517f8c3cdde800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60608273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561218d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121b1919061426d565b73ffffffffffffffffffffffffffffffffffffffff16146121fe576040517f679dd15600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600082806020019051810190612214919061477f565b905060008160400151600281111561222e5761222e613ce7565b03612265576040517fbe53f1bf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff821660009081526006602052604090205460ff1660028111156122a2576122a2613ce7565b146122d9576040517f58d7c9ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602082015182516040517f7859a97e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001691637859a97e916123519190600401613cb7565b602060405180830381865afa15801561236e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612392919061467f565b815111156123cc576040517f7c22012400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408084015173ffffffffffffffffffffffffffffffffffffffff8416600090815260066020529190912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600183600281111561242f5761242f613ce7565b0217905550825173ffffffffffffffffffffffffffffffffffffffff83166000908152600760205260409020906124669082614484565b5073ffffffffffffffffffffffffffffffffffffffff808316600081815260056020526040908190208451875192517feae376e300000000000000000000000000000000000000000000000000000000815291949093927fffedbcce1b94ebe928a55b7ca34c76074cbe7f467d561b9c0589d5d985b39be39290917f0000000000000000000000000000000000000000000000000000000000000000169063eae376e390612518908490600401613cb7565b600060405180830381865afa158015612535573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261255d919081019061482b565b886040015160405161257193929190614860565b60405180910390a260005b818110156127a05760008482815181106125985761259861423e565b6020026020010151905060008460008360000151815260200190815260200160002080546125c5906141eb565b905011156125ff576040517f1590386a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b865181516040517fc2e26bbb00000000000000000000000000000000000000000000000000000000815260009273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169263c2e26bbb92612678929190600401614895565b600060405180830381865afa158015612695573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526126bd9190810190614965565b90506126cd818360200151612e03565b612703576040517fac6293b300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60208083015183516000908152918790526040909120906127249082614484565b508673ffffffffffffffffffffffffffffffffffffffff167f9c3f6f42e7e2cb05b8a3b21a99f597eb17f3f57ab9156b34f81fb51f221a1d3a61276a84600001516130ac565b836020015185602001516040516127839392919061499a565b60405180910390a2505080806127989061418c565b91505061257c565b505060408051602081019091526000815298975050505050505050565b60008060008573ffffffffffffffffffffffffffffffffffffffff16635260a98c866040516020016127ef9190614580565b604051602081830303815290604052306040518363ffffffff1660e01b815260040161281c9291906149df565b6000604051808303816000875af115801561283b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526128639190810190614a17565b9193509091506000905082600181111561287f5761287f613ce7565b0361299857600081815260046020908152604091829020865181547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff928316178355928801516001830180549094169116179091559085015185919060028201906129029082614484565b506060820151805161291e916003840191602090910190613a81565b506080820151805161293a916004840191602090910190613a81565b5060a0820151600582015560c08201516006820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001838181111561298557612985613ce7565b021790555060e082015181600701559050505b50949350505050565b60606000828060200190518101906129b99190614a71565b905060006129d18686846020015185604001516130eb565b90508160200151600014612aca5760208201516040517fe705c2b800000000000000000000000000000000000000000000000000000000815260048101919091527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063e705c2b890602401602060405180830381865afa158015612a70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a94919061441c565b612aca576040517f37efd03900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602082015115801590612b8d575060208201516040517f3c06e1dc00000000000000000000000000000000000000000000000000000000815260048101919091527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690633c06e1dc90602401602060405180830381865afa158015612b69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b8d919061441c565b15612cca5781515115612bcc576040517f4af02eb800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602082015160408084015190517fd09d894e000000000000000000000000000000000000000000000000000000008152600481019290925273ffffffffffffffffffffffffffffffffffffffff8381166024840152878116604484015260648301919091527f0000000000000000000000000000000000000000000000000000000000000000169063d09d894e906084016020604051808303816000875af1158015612c7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ca0919061467f565b604051602001612cb291815260200190565b60405160208183030381529060405292505050610aea565b8473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614612d2f576040517f2d05516900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612ca086868385600760008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054612d80906141eb565b80601f0160208091040260200160405190810160405280929190818152602001828054612dac906141eb565b8015612df95780601f10612dce57610100808354040283529160200191612df9565b820191906000526020600020905b815481529060010190602001808311612ddc57829003601f168201915b505050505061338f565b60007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470828051906020012003612e3b57506001610513565b600083602001516005811115612e5357612e53613ce7565b03612e765781806020019051810190612e6c919061441c565b5060019050610513565b600183602001516005811115612e8e57612e8e613ce7565b03612ebb5781806020019051810190612ea7919061467f565b600003612eb657506000610513565b6130a3565b600283602001516005811115612ed357612ed3613ce7565b03612f2757600073ffffffffffffffffffffffffffffffffffffffff1682806020019051810190612f04919061426d565b73ffffffffffffffffffffffffffffffffffffffff1603612eb657506000610513565b600383602001516005811115612f3f57612f3f613ce7565b036130075781806020019051810190612f58919061482b565b50604051602001612f9a9060208082526001908201527f2000000000000000000000000000000000000000000000000000000000000000604082015260600190565b6040516020818303038152906040528051906020012082805190602001201480612ffa5750604051602001612fda90602080825260009082015260400190565b604051602081830303815290604052805190602001208280519060200120145b15612eb657506000610513565b60048360200151600581111561301f5761301f613ce7565b036130555760008280602001905181019061303a9190614af5565b9050805160000361304f576000915050610513565b506130a3565b60058360200151600581111561306d5761306d613ce7565b036130a3576000836060015180602001905181019061308c9190614af5565b905080516000036130a1576000915050610513565b505b50600192915050565b606060006130b9836135d3565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b73ffffffffffffffffffffffffffffffffffffffff841660009081526006602052604081205460ff168181600281111561312757613127613ce7565b0361315e576040517f8c17640800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600181600281111561317257613172613ce7565b036131ee578573ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156131c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131e6919061426d565b9150506109c6565b600281600281111561320257613202613ce7565b0361335d578315613299576040517f6352211e000000000000000000000000000000000000000000000000000000008152600481018590527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690636352211e906024015b602060405180830381865afa1580156131c2573d6000803e3d6000fd5b8215613312576040517f299d1cf6000000000000000000000000000000000000000000000000000000008152600481018490527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063299d1cf69060240161327c565b8573ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156131c2573d6000803e3d6000fd5b6040517fbe53f1bf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e75afa55846040518263ffffffff1660e01b81526004016133eb9190613cb7565b600060405180830381865afa158015613408573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526134309190810190614b86565b90506000806000806134478b896000015187613614565b935093509350935060006040518061014001604052806001600381111561347057613470613ce7565b81526020018515158152602001841515815260200183151581526020017f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018d73ffffffffffffffffffffffffffffffffffffffff16815260200161350a8a611508565b81526020018a6040015181526020018a6020015181525090507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663eb683a49828d886040518463ffffffff1660e01b815260040161358093929190614cb0565b6020604051808303816000875af115801561359f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135c3919061467f565b9c9b505050505050505050505050565b600060ff8216601f811115610513576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815173ffffffffffffffffffffffffffffffffffffffff841660009081526005602052604081208351606093839283928067ffffffffffffffff81111561365d5761365d614016565b6040519080825280602002602001820160405280156136a357816020015b60408051808201909152600081526060602082015281526020019060019003908161367b5790505b50965060005b818110156139375760008982815181106136c5576136c561423e565b6020026020010151905060008460008360000151815260200190815260200160002080546136f2906141eb565b80601f016020809104026020016040519081016040528092919081815260200182805461371e906141eb565b801561376b5780601f106137405761010080835404028352916020019161376b565b820191906000526020600020905b81548152906001019060200180831161374e57829003601f168201915b50505050509050606060005b878110156137d15760008e82815181106137935761379361423e565b602002602001015190506137ae816000015186600001511490565b156137be576020015191506137d1565b50806137c98161418c565b915050613777565b5060006137df828486613952565b9050604051806040016040528085600001518152602001828152508c868151811061380c5761380c61423e565b60200260200101819052507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081805190602001200361384e5750505050613925565b61389184600001516040518060400160405280601381526020017f44657269766174697665732d416c6c6f776564000000000000000000000000008152506139f5565b156138b157808060200190518101906138aa919061441c565b9a50613920565b6138f484600001516040518060400160405280601b81526020017f44657269766174697665732d416c6c6f7765642d4f7074696f6e7300000000008152506139f5565b156139205760008180602001905181019061390f919061467f565b6001811615159b5060021615159950505b505050505b8061392f8161418c565b9150506136a9565b50856139465760009450600093505b50505093509350935093565b8251606090156139dc57825115613995576040517f42445ce000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61399f8285612e03565b6139d5576040517f5bcde08d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5082610aea565b8251156139ea575081610aea565b506040810151610aea565b6000610aea83613a0484611508565b1490565b508054613a14906141eb565b6000825580601f10613a24575050565b601f016020900490600052602060002090810190613a429190613ad7565b50565b5080546000825590600052602060002090810190613a429190613aec565b5080546000825590600052602060002090810190613a429190613ad7565b828054828255906000526020600020908101928215613ac7579160200282015b82811115613ac75782518290613ab79082614484565b5091602001919060010190613aa1565b50613ad3929150613aec565b5090565b5b80821115613ad35760008155600101613ad8565b80821115613ad3576000613b008282613a08565b50600101613aec565b600060208284031215613b1b57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610aea57600080fd5b60008083601f840112613b5d57600080fd5b50813567ffffffffffffffff811115613b7557600080fd5b602083019150836020828501011115613b8d57600080fd5b9250929050565b600080600060408486031215613ba957600080fd5b83359250602084013567ffffffffffffffff811115613bc757600080fd5b613bd386828701613b4b565b9497909650939450505050565b73ffffffffffffffffffffffffffffffffffffffff81168114613a4257600080fd5b60008060008060608587031215613c1857600080fd5b8435613c2381613be0565b93506020850135613c3381613be0565b9250604085013567ffffffffffffffff811115613c4f57600080fd5b613c5b87828801613b4b565b95989497509550505050565b60005b83811015613c82578181015183820152602001613c6a565b50506000910152565b60008151808452613ca3816020860160208601613c67565b601f01601f19169290920160200192915050565b602081526000610aea6020830184613c8b565b600060208284031215613cdc57600080fd5b8135610aea81613be0565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60038110613d2657613d26613ce7565b9052565b602081016105138284613d16565b600080600060408486031215613d4d57600080fd5b8335613d5881613be0565b9250602084013567ffffffffffffffff811115613bc757600080fd5b60028110613a4257600080fd5b600080600060608486031215613d9657600080fd5b8335613da181613d74565b95602085013595506040909401359392505050565b60008060408385031215613dc957600080fd5b8235613dd481613d74565b946020939093013593505050565b600080600060608486031215613df757600080fd5b8335613e0281613d74565b9250602084013591506040840135613e1981613be0565b809150509250925092565b600080600060608486031215613e3957600080fd5b8335613e4481613d74565b92506020840135613e5481613be0565b929592945050506040919091013590565b60008083601f840112613e7757600080fd5b50813567ffffffffffffffff811115613e8f57600080fd5b6020830191508360208260051b8501011115613b8d57600080fd5b60008060008060008060008060a0898b031215613ec657600080fd5b8835613ed181613be0565b97506020890135613ee181613be0565b9650604089013567ffffffffffffffff80821115613efe57600080fd5b613f0a8c838d01613b4b565b909850965060608b0135915080821115613f2357600080fd5b613f2f8c838d01613e65565b909650945060808b0135915080821115613f4857600080fd5b50613f558b828c01613e65565b999c989b5096995094979396929594505050565b600080600080600080600060a0888a031215613f8457600080fd5b8735613f8f81613d74565b96506020880135613f9f81613be0565b955060408801359450606088013567ffffffffffffffff80821115613fc357600080fd5b613fcf8b838c01613e65565b909650945060808a0135915080821115613fe857600080fd5b50613ff58a828b01613e65565b989b979a50959850939692959293505050565b8015158114613a4257600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561406857614068614016565b60405290565b6040516060810167ffffffffffffffff8111828210171561406857614068614016565b604051601f8201601f1916810167ffffffffffffffff811182821017156140ba576140ba614016565b604052919050565b600067ffffffffffffffff8211156140dc576140dc614016565b50601f01601f191660200190565b60006140fd6140f8846140c2565b614091565b905082815283838301111561411157600080fd5b828260208301376000602084830101529392505050565b6000806040838503121561413b57600080fd5b823561414681614008565b9150602083013567ffffffffffffffff81111561416257600080fd5b8301601f8101851361417357600080fd5b614182858235602084016140ea565b9150509250929050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036141e4577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b600181811c908216806141ff57607f821691505b602082108103614238577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006020828403121561427f57600080fd5b8151610aea81613be0565b600067ffffffffffffffff8211156142a4576142a4614016565b5060051b60200190565b600082601f8301126142bf57600080fd5b610aea838335602085016140ea565b60006142dc6140f88461428a565b80848252602080830192508560051b8501368111156142fa57600080fd5b855b8181101561433657803567ffffffffffffffff81111561431c5760008081fd5b61432836828a016142ae565b8652509382019382016142fc565b50919695505050505050565b60208082528181018390526000908460408401835b8681101561439257823561436a81613be0565b73ffffffffffffffffffffffffffffffffffffffff1682529183019190830190600101614357565b509695505050505050565b600080604083850312156143b057600080fd5b82359150602083013567ffffffffffffffff8111156143ce57600080fd5b614182858286016142ae565b80516020808301519190811015614238577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60209190910360031b1b16919050565b60006020828403121561442e57600080fd5b8151610aea81614008565b601f82111561447f57600081815260208120601f850160051c810160208610156144605750805b601f850160051c820191505b81811015611ab75782815560010161446c565b505050565b815167ffffffffffffffff81111561449e5761449e614016565b6144b2816144ac84546141eb565b84614439565b602080601f83116001811461450557600084156144cf5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555611ab7565b600085815260208120601f198616915b8281101561453457888601518255948401946001909101908401614515565b508582101561457057878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b60208152600082516040602084015261459c6060840182613c8b565b90506020840151601f198483030160408501526145b98282613c8b565b95945050505050565b600082601f8301126145d357600080fd5b81516145e16140f8826140c2565b8181528460208386010111156145f657600080fd5b6109c6826020830160208701613c67565b6000806040838503121561461a57600080fd5b825161462581613d74565b602084015190925067ffffffffffffffff81111561464257600080fd5b614182858286016145c2565b6000806040838503121561466157600080fd5b82519150602083015167ffffffffffffffff81111561464257600080fd5b60006020828403121561469157600080fd5b5051919050565b600080604083850312156146ab57600080fd5b505080516020909101519092909150565b600082601f8301126146cd57600080fd5b815160206146dd6140f88361428a565b82815260059290921b840181019181810190868411156146fc57600080fd5b8286015b8481101561439257805167ffffffffffffffff808211156147215760008081fd5b8189019150604080601f19848d0301121561473c5760008081fd5b614744614045565b83880151815290830151908282111561475d5760008081fd5b61476b8c89848701016145c2565b818901528652505050918301918301614700565b60006020828403121561479157600080fd5b815167ffffffffffffffff808211156147a957600080fd5b90830190606082860312156147bd57600080fd5b6147c561406e565b8251828111156147d457600080fd5b6147e0878286016145c2565b8252506020830151828111156147f557600080fd5b614801878286016146bc565b602083015250604083015192506003831061481b57600080fd5b6040810192909252509392505050565b60006020828403121561483d57600080fd5b815167ffffffffffffffff81111561485457600080fd5b6109c6848285016145c2565b6060815260006148736060830186613c8b565b82810360208401526148858186613c8b565b9150506109c66040830184613d16565b6040815260006148a86040830185613c8b565b90508260208301529392505050565b6000608082840312156148c957600080fd5b6040516080810167ffffffffffffffff82821081831117156148ed576148ed614016565b8160405282935084518352602085015191506006821061490c57600080fd5b816020840152604085015191508082111561492657600080fd5b614932868387016145c2565b6040840152606085015191508082111561494b57600080fd5b50614958858286016145c2565b6060830152505092915050565b60006020828403121561497757600080fd5b815167ffffffffffffffff81111561498e57600080fd5b6109c6848285016148b7565b6060815260006149ad6060830186613c8b565b600685106149bd576149bd613ce7565b84602084015282810360408401526149d58185613c8b565b9695505050505050565b6040815260006149f26040830185613c8b565b905073ffffffffffffffffffffffffffffffffffffffff831660208301529392505050565b600080600060608486031215614a2c57600080fd5b8351614a3781613d74565b602085015190935067ffffffffffffffff811115614a5457600080fd5b614a60868287016145c2565b925050604084015190509250925092565b600060208284031215614a8357600080fd5b815167ffffffffffffffff80821115614a9b57600080fd5b9083019060608286031215614aaf57600080fd5b614ab761406e565b825182811115614ac657600080fd5b614ad2878286016146bc565b825250602083015160208201526040830151604082015280935050505092915050565b60006020808385031215614b0857600080fd5b825167ffffffffffffffff811115614b1f57600080fd5b8301601f81018513614b3057600080fd5b8051614b3e6140f88261428a565b81815260059190911b82018301908381019087831115614b5d57600080fd5b928401925b82841015614b7b57835182529284019290840190614b62565b979650505050505050565b60006020808385031215614b9957600080fd5b825167ffffffffffffffff80821115614bb157600080fd5b818501915085601f830112614bc557600080fd5b8151614bd36140f88261428a565b81815260059190911b83018401908481019088831115614bf257600080fd5b8585015b83811015614c2a57805185811115614c0e5760008081fd5b614c1c8b89838a01016148b7565b845250918601918601614bf6565b5098975050505050505050565b60048110613d2657613d26613ce7565b600081518084526020808501808196508360051b8101915082860160005b85811015614ca35782840389528151805185528501516040868601819052614c8f81870183613c8b565b9a87019a9550505090840190600101614c65565b5091979650505050505050565b6000610180614cc0838751614c37565b6020860151614cd3602085018215159052565b506040860151614ce7604085018215159052565b506060860151614cfb606085018215159052565b506080860151614d23608085018273ffffffffffffffffffffffffffffffffffffffff169052565b5060a0860151614d4b60a085018273ffffffffffffffffffffffffffffffffffffffff169052565b5060c0860151614d7360c085018273ffffffffffffffffffffffffffffffffffffffff169052565b5060e086810151908401526101008087015190840152610120808701519084015273ffffffffffffffffffffffffffffffffffffffff8516610140840152806101608401526149d581840185614c4756fea2646970667358221220d0c7dac5f95a838db3de11f5024ffd7d80a9e4596e8caaf4c9009d0ad0f26fcd64736f6c634300081300330000000000000000000000005b81030c087d41558e3fcf23b3575e85c9a768e600000000000000000000000051870a0659a87c7b46baef7311b3128006e1fb16000000000000000000000000826a953332df2e1a994c7cfae68e129ba683aa8f000000000000000000000000c4f7e87f9ff2a2df9bc7ff8399558b594ebf911a0000000000000000000000003113e5bfe2251a9fca1225083cf6d36547e63e07000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "nonce": "0x802", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x8f5a3400435f0fb05e7fbe4fe81304716808b3061c16cd5cceb4a6027bdafdd9", + "transactionType": "CREATE", + "contractName": "HooksFactory", + "contractAddress": "0x499527835364a150290231B84C6a5297E5dd0024", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x61e81", + "value": "0x0", + "data": "0x608060405234801561001057600080fd5b506104a7806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c806391e7e5b414610030575b600080fd5b61004361003e366004610315565b61006c565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6000808260405160200161008291815260200190565b6040516020818303038152906040528051906020012060001c905060005b6105dc8110156101385760006100b68284610426565b8751602089012090915060006100cc8383610142565b9050600073800000000000000000000000000000000000000089146100f25760016100f5565b60025b60ff1690506003609e83901c168103610121576101146000858c610158565b965050505050505061013b565b50505050808061013090610439565b9150506100a0565b50505b9392505050565b600061014f8383306102bc565b90505b92915050565b6000834710156101c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f437265617465323a20696e73756666696369656e742062616c616e636500000060448201526064015b60405180910390fd5b8151600003610234576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f437265617465323a2062797465636f6465206c656e677468206973207a65726f60448201526064016101c0565b8282516020840186f5905073ffffffffffffffffffffffffffffffffffffffff811661013b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f437265617465323a204661696c6564206f6e206465706c6f790000000000000060448201526064016101c0565b6000604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060006060848603121561032a57600080fd5b833567ffffffffffffffff8082111561034257600080fd5b818601915086601f83011261035657600080fd5b813581811115610368576103686102e6565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156103ae576103ae6102e6565b816040528281528960208487010111156103c757600080fd5b82602086016020830137600060208483010152809750505050505060208401359150604084013590509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820180821115610152576101526103f7565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361046a5761046a6103f7565b506001019056fea2646970667358221220b9424546b77d6959490d75f2d31169e7b2dd7e680376ab4166cc87ad4d0349cf64736f6c63430008130033", + "nonce": "0x803", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x8b356cbc685595174796414c99a5d40e3afd1efff57081804bf8b019fee871ca", + "transactionType": "CALL", + "contractName": "HooksFactory", + "contractAddress": "0x499527835364a150290231B84C6a5297E5dd0024", + "function": "deploy(bytes,uint256,uint256):(address)", + "arguments": [ + "0x60806040523480156200001157600080fd5b5060405162000f8838038062000f888339810160408190526200003491620001d1565b808080620000536001600160a01b038216637965db0b60e01b620000e5565b62000096576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b038316908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a250505050620001fc565b6000620000f2836200010d565b801562000106575062000106838362000146565b9392505050565b600062000122826301ffc9a760e01b62000146565b80156200014057506200013e826001600160e01b031962000146565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d91506000519050828015620001b9575060208210155b8015620001c65750600081115b979650505050505050565b600060208284031215620001e457600080fd5b81516001600160a01b03811681146200010657600080fd5b610d7c806200020c6000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806319129e5a1461005157806334e5d29f146100665780635260a98c14610090578063a913b881146100b2575b600080fd5b61006461005f3660046108c2565b6100c5565b005b610079610074366004610928565b610229565b604051610087929190610a09565b60405180910390f35b6100a361009e366004610a31565b610328565b60405161008793929190610a88565b6100646100c0366004610928565b6103ca565b60006100d1813361040d565b610115576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b61015573ffffffffffffffffffffffffffffffffffffffff83167f7965db0b000000000000000000000000000000000000000000000000000000006104b0565b6101bb576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c000000000000000000000000000000000000604482015260640161010c565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050565b600060607f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db610258813361040d565b610297576040517f75000dc00000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440161010c565b60006102a585870187610b92565b90506102b481600001516104cc565b6102c6816000015182602001516105df565b600194509250833073ffffffffffffffffffffffffffffffffffffffff167fdfd1fe8825f45c847f436243dea4246c2ed6c29b2ee09d385de7a3049566b69788888760405161031793929190610c39565b60405180910390a350509250929050565b6000606060007f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db610359813361040d565b610398576040517f75000dc00000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440161010c565b6040517fcce14c2300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61040982828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506104cc92505050565b5050565b600080546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff8481166024830152909116906391d1485490604401602060405180830381865afa158015610485573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a99190610c9f565b9392505050565b60006104bb83610769565b80156104a957506104a983836107ce565b6000818060200190518101906104e29190610d11565b805190915073ffffffffffffffffffffffffffffffffffffffff8116610534576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61057473ffffffffffffffffffffffffffffffffffffffff82167f80ac58cd000000000000000000000000000000000000000000000000000000006104b0565b6105da576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f4945524337323100000000000000000000000000000000000000000000000000604482015260640161010c565b505050565b60606000838060200190518101906105f79190610d11565b905060008380602001905181019061060f9190610d11565b805190915073ffffffffffffffffffffffffffffffffffffffff16610660576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815181516040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91821660048201529116906370a0823190602401602060405180830381865afa1580156106d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f49190610d2d565b60000361075157815181516040517fe9dee8af00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff92831660048201529116602482015260440161010c565b50506040805160208101909152600081529392505050565b6000610795827f01ffc9a7000000000000000000000000000000000000000000000000000000006107ce565b80156107c857506107c6827fffffffff000000000000000000000000000000000000000000000000000000006107ce565b155b92915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015610886575060208210155b80156108925750600081115b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff811681146108bf57600080fd5b50565b6000602082840312156108d457600080fd5b81356104a98161089d565b60008083601f8401126108f157600080fd5b50813567ffffffffffffffff81111561090957600080fd5b60208301915083602082850101111561092157600080fd5b9250929050565b6000806020838503121561093b57600080fd5b823567ffffffffffffffff81111561095257600080fd5b61095e858286016108df565b90969095509350505050565b600281106109a1577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b6000815180845260005b818110156109cb576020818501810151868301820152016109af565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b610a13818461096a565b604060208201526000610a2960408301846109a5565b949350505050565b600080600060408486031215610a4657600080fd5b833567ffffffffffffffff811115610a5d57600080fd5b610a69868287016108df565b9094509250506020840135610a7d8161089d565b809150509250925092565b610a92818561096a565b606060208201526000610aa860608301856109a5565b9050826040830152949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112610af857600080fd5b813567ffffffffffffffff80821115610b1357610b13610ab8565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715610b5957610b59610ab8565b81604052838152866020858801011115610b7257600080fd5b836020870160208301376000602085830101528094505050505092915050565b600060208284031215610ba457600080fd5b813567ffffffffffffffff80821115610bbc57600080fd5b9083019060408286031215610bd057600080fd5b604051604081018181108382111715610beb57610beb610ab8565b604052823582811115610bfd57600080fd5b610c0987828601610ae7565b825250602083013582811115610c1e57600080fd5b610c2a87828601610ae7565b60208301525095945050505050565b604081528260408201528284606083013760006060848301015260007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011682016060838203016020840152610c9560608201856109a5565b9695505050505050565b600060208284031215610cb157600080fd5b815180151581146104a957600080fd5b600060208284031215610cd357600080fd5b6040516020810181811067ffffffffffffffff82111715610cf657610cf6610ab8565b80604052508091508251610d098161089d565b905292915050565b600060208284031215610d2357600080fd5b6104a98383610cc1565b600060208284031215610d3f57600080fd5b505191905056fea2646970667358221220ac089ae2ad4a08453a0e62d5ef88cd54351c5b108b99b3628d8b974af06257d264736f6c63430008130033000000000000000000000000518ccd79e0e7b75fd5fcc09463fb09cb7d55470d", + "730750818665451459101842416358141509827966271488", + "1702012368" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x499527835364a150290231b84c6a5297e5dd0024", + "gas": "0x11aa78", + "value": "0x0", + "data": "0x91e7e5b400000000000000000000000000000000000000000000000000000000000000600000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006572a5d00000000000000000000000000000000000000000000000000000000000000fa860806040523480156200001157600080fd5b5060405162000f8838038062000f888339810160408190526200003491620001d1565b808080620000536001600160a01b038216637965db0b60e01b620000e5565b62000096576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b038316908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a250505050620001fc565b6000620000f2836200010d565b801562000106575062000106838362000146565b9392505050565b600062000122826301ffc9a760e01b62000146565b80156200014057506200013e826001600160e01b031962000146565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d91506000519050828015620001b9575060208210155b8015620001c65750600081115b979650505050505050565b600060208284031215620001e457600080fd5b81516001600160a01b03811681146200010657600080fd5b610d7c806200020c6000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806319129e5a1461005157806334e5d29f146100665780635260a98c14610090578063a913b881146100b2575b600080fd5b61006461005f3660046108c2565b6100c5565b005b610079610074366004610928565b610229565b604051610087929190610a09565b60405180910390f35b6100a361009e366004610a31565b610328565b60405161008793929190610a88565b6100646100c0366004610928565b6103ca565b60006100d1813361040d565b610115576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b61015573ffffffffffffffffffffffffffffffffffffffff83167f7965db0b000000000000000000000000000000000000000000000000000000006104b0565b6101bb576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c000000000000000000000000000000000000604482015260640161010c565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050565b600060607f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db610258813361040d565b610297576040517f75000dc00000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440161010c565b60006102a585870187610b92565b90506102b481600001516104cc565b6102c6816000015182602001516105df565b600194509250833073ffffffffffffffffffffffffffffffffffffffff167fdfd1fe8825f45c847f436243dea4246c2ed6c29b2ee09d385de7a3049566b69788888760405161031793929190610c39565b60405180910390a350509250929050565b6000606060007f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db610359813361040d565b610398576040517f75000dc00000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440161010c565b6040517fcce14c2300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61040982828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506104cc92505050565b5050565b600080546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff8481166024830152909116906391d1485490604401602060405180830381865afa158015610485573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a99190610c9f565b9392505050565b60006104bb83610769565b80156104a957506104a983836107ce565b6000818060200190518101906104e29190610d11565b805190915073ffffffffffffffffffffffffffffffffffffffff8116610534576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61057473ffffffffffffffffffffffffffffffffffffffff82167f80ac58cd000000000000000000000000000000000000000000000000000000006104b0565b6105da576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f4945524337323100000000000000000000000000000000000000000000000000604482015260640161010c565b505050565b60606000838060200190518101906105f79190610d11565b905060008380602001905181019061060f9190610d11565b805190915073ffffffffffffffffffffffffffffffffffffffff16610660576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815181516040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91821660048201529116906370a0823190602401602060405180830381865afa1580156106d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f49190610d2d565b60000361075157815181516040517fe9dee8af00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff92831660048201529116602482015260440161010c565b50506040805160208101909152600081529392505050565b6000610795827f01ffc9a7000000000000000000000000000000000000000000000000000000006107ce565b80156107c857506107c6827fffffffff000000000000000000000000000000000000000000000000000000006107ce565b155b92915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015610886575060208210155b80156108925750600081115b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff811681146108bf57600080fd5b50565b6000602082840312156108d457600080fd5b81356104a98161089d565b60008083601f8401126108f157600080fd5b50813567ffffffffffffffff81111561090957600080fd5b60208301915083602082850101111561092157600080fd5b9250929050565b6000806020838503121561093b57600080fd5b823567ffffffffffffffff81111561095257600080fd5b61095e858286016108df565b90969095509350505050565b600281106109a1577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b6000815180845260005b818110156109cb576020818501810151868301820152016109af565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b610a13818461096a565b604060208201526000610a2960408301846109a5565b949350505050565b600080600060408486031215610a4657600080fd5b833567ffffffffffffffff811115610a5d57600080fd5b610a69868287016108df565b9094509250506020840135610a7d8161089d565b809150509250925092565b610a92818561096a565b606060208201526000610aa860608301856109a5565b9050826040830152949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112610af857600080fd5b813567ffffffffffffffff80821115610b1357610b13610ab8565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715610b5957610b59610ab8565b81604052838152866020858801011115610b7257600080fd5b836020870160208301376000602085830101528094505050505092915050565b600060208284031215610ba457600080fd5b813567ffffffffffffffff80821115610bbc57600080fd5b9083019060408286031215610bd057600080fd5b604051604081018181108382111715610beb57610beb610ab8565b604052823582811115610bfd57600080fd5b610c0987828601610ae7565b825250602083013582811115610c1e57600080fd5b610c2a87828601610ae7565b60208301525095945050505050565b604081528260408201528284606083013760006060848301015260007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011682016060838203016020840152610c9560608201856109a5565b9695505050505050565b600060208284031215610cb157600080fd5b815180151581146104a957600080fd5b600060208284031215610cd357600080fd5b6040516020810181811067ffffffffffffffff82111715610cf657610cf6610ab8565b80604052508091508251610d098161089d565b905292915050565b600060208284031215610d2357600080fd5b6104a98383610cc1565b600060208284031215610d3f57600080fd5b505191905056fea2646970667358221220ac089ae2ad4a08453a0e62d5ef88cd54351c5b108b99b3628d8b974af06257d264736f6c63430008130033000000000000000000000000518ccd79e0e7b75fd5fcc09463fb09cb7d55470d000000000000000000000000000000000000000000000000", + "nonce": "0x804", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE2", + "address": "0x919Cc6581801039f92863862B186025a1F562B17", + "initCode": "60806040523480156200001157600080fd5b5060405162000f8838038062000f888339810160408190526200003491620001d1565b808080620000536001600160a01b038216637965db0b60e01b620000e5565b62000096576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b038316908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a250505050620001fc565b6000620000f2836200010d565b801562000106575062000106838362000146565b9392505050565b600062000122826301ffc9a760e01b62000146565b80156200014057506200013e826001600160e01b031962000146565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d91506000519050828015620001b9575060208210155b8015620001c65750600081115b979650505050505050565b600060208284031215620001e457600080fd5b81516001600160a01b03811681146200010657600080fd5b610d7c806200020c6000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806319129e5a1461005157806334e5d29f146100665780635260a98c14610090578063a913b881146100b2575b600080fd5b61006461005f3660046108c2565b6100c5565b005b610079610074366004610928565b610229565b604051610087929190610a09565b60405180910390f35b6100a361009e366004610a31565b610328565b60405161008793929190610a88565b6100646100c0366004610928565b6103ca565b60006100d1813361040d565b610115576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b61015573ffffffffffffffffffffffffffffffffffffffff83167f7965db0b000000000000000000000000000000000000000000000000000000006104b0565b6101bb576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c000000000000000000000000000000000000604482015260640161010c565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050565b600060607f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db610258813361040d565b610297576040517f75000dc00000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440161010c565b60006102a585870187610b92565b90506102b481600001516104cc565b6102c6816000015182602001516105df565b600194509250833073ffffffffffffffffffffffffffffffffffffffff167fdfd1fe8825f45c847f436243dea4246c2ed6c29b2ee09d385de7a3049566b69788888760405161031793929190610c39565b60405180910390a350509250929050565b6000606060007f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db610359813361040d565b610398576040517f75000dc00000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440161010c565b6040517fcce14c2300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61040982828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506104cc92505050565b5050565b600080546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff8481166024830152909116906391d1485490604401602060405180830381865afa158015610485573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a99190610c9f565b9392505050565b60006104bb83610769565b80156104a957506104a983836107ce565b6000818060200190518101906104e29190610d11565b805190915073ffffffffffffffffffffffffffffffffffffffff8116610534576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61057473ffffffffffffffffffffffffffffffffffffffff82167f80ac58cd000000000000000000000000000000000000000000000000000000006104b0565b6105da576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f4945524337323100000000000000000000000000000000000000000000000000604482015260640161010c565b505050565b60606000838060200190518101906105f79190610d11565b905060008380602001905181019061060f9190610d11565b805190915073ffffffffffffffffffffffffffffffffffffffff16610660576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815181516040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91821660048201529116906370a0823190602401602060405180830381865afa1580156106d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f49190610d2d565b60000361075157815181516040517fe9dee8af00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff92831660048201529116602482015260440161010c565b50506040805160208101909152600081529392505050565b6000610795827f01ffc9a7000000000000000000000000000000000000000000000000000000006107ce565b80156107c857506107c6827fffffffff000000000000000000000000000000000000000000000000000000006107ce565b155b92915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015610886575060208210155b80156108925750600081115b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff811681146108bf57600080fd5b50565b6000602082840312156108d457600080fd5b81356104a98161089d565b60008083601f8401126108f157600080fd5b50813567ffffffffffffffff81111561090957600080fd5b60208301915083602082850101111561092157600080fd5b9250929050565b6000806020838503121561093b57600080fd5b823567ffffffffffffffff81111561095257600080fd5b61095e858286016108df565b90969095509350505050565b600281106109a1577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b6000815180845260005b818110156109cb576020818501810151868301820152016109af565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b610a13818461096a565b604060208201526000610a2960408301846109a5565b949350505050565b600080600060408486031215610a4657600080fd5b833567ffffffffffffffff811115610a5d57600080fd5b610a69868287016108df565b9094509250506020840135610a7d8161089d565b809150509250925092565b610a92818561096a565b606060208201526000610aa860608301856109a5565b9050826040830152949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112610af857600080fd5b813567ffffffffffffffff80821115610b1357610b13610ab8565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715610b5957610b59610ab8565b81604052838152866020858801011115610b7257600080fd5b836020870160208301376000602085830101528094505050505092915050565b600060208284031215610ba457600080fd5b813567ffffffffffffffff80821115610bbc57600080fd5b9083019060408286031215610bd057600080fd5b604051604081018181108382111715610beb57610beb610ab8565b604052823582811115610bfd57600080fd5b610c0987828601610ae7565b825250602083013582811115610c1e57600080fd5b610c2a87828601610ae7565b60208301525095945050505050565b604081528260408201528284606083013760006060848301015260007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011682016060838203016020840152610c9560608201856109a5565b9695505050505050565b600060208284031215610cb157600080fd5b815180151581146104a957600080fd5b600060208284031215610cd357600080fd5b6040516020810181811067ffffffffffffffff82111715610cf657610cf6610ab8565b80604052508091508251610d098161089d565b905292915050565b600060208284031215610d2357600080fd5b6104a98383610cc1565b600060208284031215610d3f57600080fd5b505191905056fea2646970667358221220ac089ae2ad4a08453a0e62d5ef88cd54351c5b108b99b3628d8b974af06257d264736f6c63430008130033000000000000000000000000518ccd79e0e7b75fd5fcc09463fb09cb7d55470d" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0x320fcca1822ce25672b02b24f7323526c37aee94e33ea2d5dbd92d67a4f8569d", + "transactionType": "CALL", + "contractName": "HooksFactory", + "contractAddress": "0x499527835364a150290231B84C6a5297E5dd0024", + "function": "deploy(bytes,uint256,uint256):(address)", + "arguments": [ + "0x60c06040523480156200001157600080fd5b506040516200182038038062001820833981016040819052620000349162000250565b828080620000536001600160a01b038216637965db0b60e01b62000147565b62000096576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b038316908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050506001600160a01b038116620001065760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0382166200012e5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b039081166080521660a052506200029a565b600062000154836200016f565b8015620001685750620001688383620001a8565b9392505050565b600062000184826301ffc9a760e01b620001a8565b8015620001a25750620001a0826001600160e01b0319620001a8565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d915060005190508280156200021b575060208210155b8015620002285750600081115b979650505050505050565b80516001600160a01b03811681146200024b57600080fd5b919050565b6000806000606084860312156200026657600080fd5b620002718462000233565b9250620002816020850162000233565b9150620002916040850162000233565b90509250925092565b60805160a051611559620002c7600039600081816101520152610e010152600061088101526115596000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80633d0aa6e51161005b5780633d0aa6e5146101185780635260a98c1461012b5780635ab6d0011461014d578063a913b8811461017457600080fd5b80630a5989761461008257806319129e5a146100e257806334e5d29f146100f7575b600080fd5b6100b8610090366004610f9c565b60016020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100f56100f0366004610fda565b610187565b005b61010a610105366004611040565b6102eb565b6040516100d9929190611121565b6100f5610126366004611149565b61038b565b61013e61013936600461116b565b610521565b6040516100d9939291906111c2565b6100b87f000000000000000000000000000000000000000000000000000000000000000081565b6100f5610182366004611040565b61077d565b600061019381336107c0565b6101d7576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b61021773ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000610863565b61027d576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c00000000000000000000000000000000000060448201526064016101ce565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050565b600060607f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db61031a81336107c0565b610359576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016101ce565b6040517f24baa24800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408051602080820183526000808352858152600390915291822060040154610100900460ff16610418576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f52657175657374206e6f7420666f756e6400000000000000000000000000000060448201526064016101ce565b6000848152600360208190526040909120015483101561046c575060408051808201909152601e81527f42616c616e6365206f6620546f6b656e206973206e6f7420656e6f75676800006020820152610471565b600191505b600084815260036020818152604080842080547fffffffffffffffffffffffff0000000000000000000000000000000000000000908116825560018201805482169055600282018054909116905592830193909355600490910180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000169055905161051b9186916105079186918691016111f2565b60405160208183030381529060405261087f565b50505050565b6000606060007f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db61055281336107c0565b610591576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016101ce565b73ffffffffffffffffffffffffffffffffffffffff85166105de576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61061e73ffffffffffffffffffffffffffffffffffffffff86167f2fa7bc9900000000000000000000000000000000000000000000000000000000610863565b610684576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f4943616c6c6261636b48616e646c65720000000000000000000000000000000060448201526064016101ce565b600061069287890189611310565b90506106a18160000151610a9f565b6106b381600001518260200151610ba4565b600081815260016020526040812080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8b1617905596509094509250848673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167f320acf383fac55c3eff3aad884406f0fa211a5c451266edd9de8151bb26b7054868c8c8a60405161076a94939291906113a1565b60405180910390a4505093509350939050565b6107bc82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610a9f92505050565b5050565b600080546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff8481166024830152909116906391d1485490604401602060405180830381865afa158015610838573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085c9190611403565b9392505050565b600061086e83610e68565b801561085c575061085c8383610ecd565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff8116331461090d576040517f5dc645bb00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff821660248201526044016101ce565b60008381526001602052604090205473ffffffffffffffffffffffffffffffffffffffff1661096b576040517fc88d34d7000000000000000000000000000000000000000000000000000000008152600481018490526024016101ce565b6000838152600160205260409081902054905173ffffffffffffffffffffffffffffffffffffffff9091169030907fb8da071166b4cdb339d32ac1c86452cf0ba046f8aeb8230c00d0ce19c173884c906109c89087908790611425565b60405180910390a3600083815260016020526040908190205490517f2fa7bc9900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690632fa7bc9990610a359086908690600401611425565b600060405180830381600087803b158015610a4f57600080fd5b505af1158015610a63573d6000803e3d6000fd5b505050600093845250506001602052506040902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b600081806020019051810190610ab5919061143e565b805190915073ffffffffffffffffffffffffffffffffffffffff16610b36576040517f7662892900000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f746f6b656e41646472657373206973203000000000000000000000000000000060448201526064016101ce565b80602001516000036107bc576040517f7662892900000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f62616c616e63655468726573686f6c642069732030000000000000000000000060448201526064016101ce565b606060008084806020019051810190610bbd919061143e565b9050600084806020019051810190610bd59190611478565b600280549192503091906000610bea836114c4565b9091555060405160609290921b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660208301526034820152605401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152828252805160209182012081840183526000808552835160c08101855233808252885173ffffffffffffffffffffffffffffffffffffffff908116838701908152895182168489019081528b8801516060860190815260808601878152600160a088018181528a8a5260039b8c9052988c9020975188549087167fffffffffffffffffffffffff0000000000000000000000000000000000000000918216178955945190880180549187169186169190911790559151600287018054918616919094161790925590519684019690965594516004928301805494511515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff921515929092167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000090951694909417179092558751875195517f3114f43a0000000000000000000000000000000000000000000000000000000081529182018490526024820192909252908316604482015292821660648401523060848401527f3d0aa6e50000000000000000000000000000000000000000000000000000000060a48401529296509194507f000000000000000000000000000000000000000000000000000000000000000090911690633114f43a9060c401600060405180830381600087803b158015610e4757600080fd5b505af1158015610e5b573d6000803e3d6000fd5b5050505050509250929050565b6000610e94827f01ffc9a700000000000000000000000000000000000000000000000000000000610ecd565b8015610ec75750610ec5827fffffffff00000000000000000000000000000000000000000000000000000000610ecd565b155b92915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015610f85575060208210155b8015610f915750600081115b979650505050505050565b600060208284031215610fae57600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610fd757600080fd5b50565b600060208284031215610fec57600080fd5b813561085c81610fb5565b60008083601f84011261100957600080fd5b50813567ffffffffffffffff81111561102157600080fd5b60208301915083602082850101111561103957600080fd5b9250929050565b6000806020838503121561105357600080fd5b823567ffffffffffffffff81111561106a57600080fd5b61107685828601610ff7565b90969095509350505050565b600281106110b9577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b6000815180845260005b818110156110e3576020818501810151868301820152016110c7565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b61112b8184611082565b60406020820152600061114160408301846110bd565b949350505050565b6000806040838503121561115c57600080fd5b50508035926020909101359150565b60008060006040848603121561118057600080fd5b833567ffffffffffffffff81111561119757600080fd5b6111a386828701610ff7565b90945092505060208401356111b781610fb5565b809150509250925092565b6111cc8185611082565b6060602082015260006111e260608301856110bd565b9050826040830152949350505050565b821515815260406020820152600061114160408301846110bd565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561125f5761125f61120d565b60405290565b600082601f83011261127657600080fd5b813567ffffffffffffffff808211156112915761129161120d565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156112d7576112d761120d565b816040528381528660208588010111156112f057600080fd5b836020870160208301376000602085830101528094505050505092915050565b60006020828403121561132257600080fd5b813567ffffffffffffffff8082111561133a57600080fd5b908301906040828603121561134e57600080fd5b61135661123c565b82358281111561136557600080fd5b61137187828601611265565b82525060208301358281111561138657600080fd5b61139287828601611265565b60208301525095945050505050565b848152606060208201528260608201528284608083013760006080848301015260007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011682016080838203016040840152610f9160808201856110bd565b60006020828403121561141557600080fd5b8151801515811461085c57600080fd5b82815260406020820152600061114160408301846110bd565b60006040828403121561145057600080fd5b61145861123c565b825161146381610fb5565b81526020928301519281019290925250919050565b60006020828403121561148a57600080fd5b6040516020810181811067ffffffffffffffff821117156114ad576114ad61120d565b60405282516114bb81610fb5565b81529392505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361151c577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b506001019056fea2646970667358221220d8b168046b7ea8ef58a98e4718a596bce0ccd4e82ab63c88943c3c5258310fb564736f6c63430008130033000000000000000000000000518ccd79e0e7b75fd5fcc09463fb09cb7d55470d00000000000000000000000004401ff04e6c01a8f1e5696ad6aa053c86b73cd300000000000000000000000077cbcc0e29e10f1eea24e0d109aab26c5b2abd88", + "365375409332725729550921208179070754913983135744", + "1702012368" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x499527835364a150290231b84c6a5297e5dd0024", + "gas": "0x1ad7b8", + "value": "0x0", + "data": "0x91e7e5b400000000000000000000000000000000000000000000000000000000000000600000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006572a5d0000000000000000000000000000000000000000000000000000000000000188060c06040523480156200001157600080fd5b506040516200182038038062001820833981016040819052620000349162000250565b828080620000536001600160a01b038216637965db0b60e01b62000147565b62000096576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b038316908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050506001600160a01b038116620001065760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0382166200012e5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b039081166080521660a052506200029a565b600062000154836200016f565b8015620001685750620001688383620001a8565b9392505050565b600062000184826301ffc9a760e01b620001a8565b8015620001a25750620001a0826001600160e01b0319620001a8565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d915060005190508280156200021b575060208210155b8015620002285750600081115b979650505050505050565b80516001600160a01b03811681146200024b57600080fd5b919050565b6000806000606084860312156200026657600080fd5b620002718462000233565b9250620002816020850162000233565b9150620002916040850162000233565b90509250925092565b60805160a051611559620002c7600039600081816101520152610e010152600061088101526115596000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80633d0aa6e51161005b5780633d0aa6e5146101185780635260a98c1461012b5780635ab6d0011461014d578063a913b8811461017457600080fd5b80630a5989761461008257806319129e5a146100e257806334e5d29f146100f7575b600080fd5b6100b8610090366004610f9c565b60016020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100f56100f0366004610fda565b610187565b005b61010a610105366004611040565b6102eb565b6040516100d9929190611121565b6100f5610126366004611149565b61038b565b61013e61013936600461116b565b610521565b6040516100d9939291906111c2565b6100b87f000000000000000000000000000000000000000000000000000000000000000081565b6100f5610182366004611040565b61077d565b600061019381336107c0565b6101d7576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b61021773ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000610863565b61027d576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c00000000000000000000000000000000000060448201526064016101ce565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050565b600060607f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db61031a81336107c0565b610359576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016101ce565b6040517f24baa24800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408051602080820183526000808352858152600390915291822060040154610100900460ff16610418576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f52657175657374206e6f7420666f756e6400000000000000000000000000000060448201526064016101ce565b6000848152600360208190526040909120015483101561046c575060408051808201909152601e81527f42616c616e6365206f6620546f6b656e206973206e6f7420656e6f75676800006020820152610471565b600191505b600084815260036020818152604080842080547fffffffffffffffffffffffff0000000000000000000000000000000000000000908116825560018201805482169055600282018054909116905592830193909355600490910180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000169055905161051b9186916105079186918691016111f2565b60405160208183030381529060405261087f565b50505050565b6000606060007f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db61055281336107c0565b610591576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016101ce565b73ffffffffffffffffffffffffffffffffffffffff85166105de576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61061e73ffffffffffffffffffffffffffffffffffffffff86167f2fa7bc9900000000000000000000000000000000000000000000000000000000610863565b610684576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f4943616c6c6261636b48616e646c65720000000000000000000000000000000060448201526064016101ce565b600061069287890189611310565b90506106a18160000151610a9f565b6106b381600001518260200151610ba4565b600081815260016020526040812080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8b1617905596509094509250848673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167f320acf383fac55c3eff3aad884406f0fa211a5c451266edd9de8151bb26b7054868c8c8a60405161076a94939291906113a1565b60405180910390a4505093509350939050565b6107bc82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610a9f92505050565b5050565b600080546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff8481166024830152909116906391d1485490604401602060405180830381865afa158015610838573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085c9190611403565b9392505050565b600061086e83610e68565b801561085c575061085c8383610ecd565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff8116331461090d576040517f5dc645bb00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff821660248201526044016101ce565b60008381526001602052604090205473ffffffffffffffffffffffffffffffffffffffff1661096b576040517fc88d34d7000000000000000000000000000000000000000000000000000000008152600481018490526024016101ce565b6000838152600160205260409081902054905173ffffffffffffffffffffffffffffffffffffffff9091169030907fb8da071166b4cdb339d32ac1c86452cf0ba046f8aeb8230c00d0ce19c173884c906109c89087908790611425565b60405180910390a3600083815260016020526040908190205490517f2fa7bc9900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690632fa7bc9990610a359086908690600401611425565b600060405180830381600087803b158015610a4f57600080fd5b505af1158015610a63573d6000803e3d6000fd5b505050600093845250506001602052506040902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b600081806020019051810190610ab5919061143e565b805190915073ffffffffffffffffffffffffffffffffffffffff16610b36576040517f7662892900000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f746f6b656e41646472657373206973203000000000000000000000000000000060448201526064016101ce565b80602001516000036107bc576040517f7662892900000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f62616c616e63655468726573686f6c642069732030000000000000000000000060448201526064016101ce565b606060008084806020019051810190610bbd919061143e565b9050600084806020019051810190610bd59190611478565b600280549192503091906000610bea836114c4565b9091555060405160609290921b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660208301526034820152605401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152828252805160209182012081840183526000808552835160c08101855233808252885173ffffffffffffffffffffffffffffffffffffffff908116838701908152895182168489019081528b8801516060860190815260808601878152600160a088018181528a8a5260039b8c9052988c9020975188549087167fffffffffffffffffffffffff0000000000000000000000000000000000000000918216178955945190880180549187169186169190911790559151600287018054918616919094161790925590519684019690965594516004928301805494511515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff921515929092167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000090951694909417179092558751875195517f3114f43a0000000000000000000000000000000000000000000000000000000081529182018490526024820192909252908316604482015292821660648401523060848401527f3d0aa6e50000000000000000000000000000000000000000000000000000000060a48401529296509194507f000000000000000000000000000000000000000000000000000000000000000090911690633114f43a9060c401600060405180830381600087803b158015610e4757600080fd5b505af1158015610e5b573d6000803e3d6000fd5b5050505050509250929050565b6000610e94827f01ffc9a700000000000000000000000000000000000000000000000000000000610ecd565b8015610ec75750610ec5827fffffffff00000000000000000000000000000000000000000000000000000000610ecd565b155b92915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015610f85575060208210155b8015610f915750600081115b979650505050505050565b600060208284031215610fae57600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610fd757600080fd5b50565b600060208284031215610fec57600080fd5b813561085c81610fb5565b60008083601f84011261100957600080fd5b50813567ffffffffffffffff81111561102157600080fd5b60208301915083602082850101111561103957600080fd5b9250929050565b6000806020838503121561105357600080fd5b823567ffffffffffffffff81111561106a57600080fd5b61107685828601610ff7565b90969095509350505050565b600281106110b9577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b6000815180845260005b818110156110e3576020818501810151868301820152016110c7565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b61112b8184611082565b60406020820152600061114160408301846110bd565b949350505050565b6000806040838503121561115c57600080fd5b50508035926020909101359150565b60008060006040848603121561118057600080fd5b833567ffffffffffffffff81111561119757600080fd5b6111a386828701610ff7565b90945092505060208401356111b781610fb5565b809150509250925092565b6111cc8185611082565b6060602082015260006111e260608301856110bd565b9050826040830152949350505050565b821515815260406020820152600061114160408301846110bd565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561125f5761125f61120d565b60405290565b600082601f83011261127657600080fd5b813567ffffffffffffffff808211156112915761129161120d565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156112d7576112d761120d565b816040528381528660208588010111156112f057600080fd5b836020870160208301376000602085830101528094505050505092915050565b60006020828403121561132257600080fd5b813567ffffffffffffffff8082111561133a57600080fd5b908301906040828603121561134e57600080fd5b61135661123c565b82358281111561136557600080fd5b61137187828601611265565b82525060208301358281111561138657600080fd5b61139287828601611265565b60208301525095945050505050565b848152606060208201528260608201528284608083013760006080848301015260007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011682016080838203016040840152610f9160808201856110bd565b60006020828403121561141557600080fd5b8151801515811461085c57600080fd5b82815260406020820152600061114160408301846110bd565b60006040828403121561145057600080fd5b61145861123c565b825161146381610fb5565b81526020928301519281019290925250919050565b60006020828403121561148a57600080fd5b6040516020810181811067ffffffffffffffff821117156114ad576114ad61120d565b60405282516114bb81610fb5565b81529392505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361151c577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b506001019056fea2646970667358221220d8b168046b7ea8ef58a98e4718a596bce0ccd4e82ab63c88943c3c5258310fb564736f6c63430008130033000000000000000000000000518ccd79e0e7b75fd5fcc09463fb09cb7d55470d00000000000000000000000004401ff04e6c01a8f1e5696ad6aa053c86b73cd300000000000000000000000077cbcc0e29e10f1eea24e0d109aab26c5b2abd88", + "nonce": "0x805", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE2", + "address": "0x6b71284309DF6871cC28595d938eC57A5Ad06A0A", + "initCode": "60c06040523480156200001157600080fd5b506040516200182038038062001820833981016040819052620000349162000250565b828080620000536001600160a01b038216637965db0b60e01b62000147565b62000096576040516301a1fdbb60e41b815260206004820152600e60248201526d125058d8d95cdcd0dbdb9d1c9bdb60921b604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b038316908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050506001600160a01b038116620001065760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0382166200012e5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b039081166080521660a052506200029a565b600062000154836200016f565b8015620001685750620001688383620001a8565b9392505050565b600062000184826301ffc9a760e01b620001a8565b8015620001a25750620001a0826001600160e01b0319620001a8565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d915060005190508280156200021b575060208210155b8015620002285750600081115b979650505050505050565b80516001600160a01b03811681146200024b57600080fd5b919050565b6000806000606084860312156200026657600080fd5b620002718462000233565b9250620002816020850162000233565b9150620002916040850162000233565b90509250925092565b60805160a051611559620002c7600039600081816101520152610e010152600061088101526115596000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80633d0aa6e51161005b5780633d0aa6e5146101185780635260a98c1461012b5780635ab6d0011461014d578063a913b8811461017457600080fd5b80630a5989761461008257806319129e5a146100e257806334e5d29f146100f7575b600080fd5b6100b8610090366004610f9c565b60016020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100f56100f0366004610fda565b610187565b005b61010a610105366004611040565b6102eb565b6040516100d9929190611121565b6100f5610126366004611149565b61038b565b61013e61013936600461116b565b610521565b6040516100d9939291906111c2565b6100b87f000000000000000000000000000000000000000000000000000000000000000081565b6100f5610182366004611040565b61077d565b600061019381336107c0565b6101d7576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044015b60405180910390fd5b61021773ffffffffffffffffffffffffffffffffffffffff83167f7965db0b00000000000000000000000000000000000000000000000000000000610863565b61027d576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f49416363657373436f6e74726f6c00000000000000000000000000000000000060448201526064016101ce565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117825560405190917fc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da970991a25050565b600060607f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db61031a81336107c0565b610359576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016101ce565b6040517f24baa24800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408051602080820183526000808352858152600390915291822060040154610100900460ff16610418576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f52657175657374206e6f7420666f756e6400000000000000000000000000000060448201526064016101ce565b6000848152600360208190526040909120015483101561046c575060408051808201909152601e81527f42616c616e6365206f6620546f6b656e206973206e6f7420656e6f75676800006020820152610471565b600191505b600084815260036020818152604080842080547fffffffffffffffffffffffff0000000000000000000000000000000000000000908116825560018201805482169055600282018054909116905592830193909355600490910180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000169055905161051b9186916105079186918691016111f2565b60405160208183030381529060405261087f565b50505050565b6000606060007f33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db61055281336107c0565b610591576040517f75000dc0000000000000000000000000000000000000000000000000000000008152600481018290523360248201526044016101ce565b73ffffffffffffffffffffffffffffffffffffffff85166105de576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61061e73ffffffffffffffffffffffffffffffffffffffff86167f2fa7bc9900000000000000000000000000000000000000000000000000000000610863565b610684576040517f1a1fdbb000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f4943616c6c6261636b48616e646c65720000000000000000000000000000000060448201526064016101ce565b600061069287890189611310565b90506106a18160000151610a9f565b6106b381600001518260200151610ba4565b600081815260016020526040812080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8b1617905596509094509250848673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167f320acf383fac55c3eff3aad884406f0fa211a5c451266edd9de8151bb26b7054868c8c8a60405161076a94939291906113a1565b60405180910390a4505093509350939050565b6107bc82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610a9f92505050565b5050565b600080546040517f91d148540000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff8481166024830152909116906391d1485490604401602060405180830381865afa158015610838573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085c9190611403565b9392505050565b600061086e83610e68565b801561085c575061085c8383610ecd565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff8116331461090d576040517f5dc645bb00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff821660248201526044016101ce565b60008381526001602052604090205473ffffffffffffffffffffffffffffffffffffffff1661096b576040517fc88d34d7000000000000000000000000000000000000000000000000000000008152600481018490526024016101ce565b6000838152600160205260409081902054905173ffffffffffffffffffffffffffffffffffffffff9091169030907fb8da071166b4cdb339d32ac1c86452cf0ba046f8aeb8230c00d0ce19c173884c906109c89087908790611425565b60405180910390a3600083815260016020526040908190205490517f2fa7bc9900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690632fa7bc9990610a359086908690600401611425565b600060405180830381600087803b158015610a4f57600080fd5b505af1158015610a63573d6000803e3d6000fd5b505050600093845250506001602052506040902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b600081806020019051810190610ab5919061143e565b805190915073ffffffffffffffffffffffffffffffffffffffff16610b36576040517f7662892900000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f746f6b656e41646472657373206973203000000000000000000000000000000060448201526064016101ce565b80602001516000036107bc576040517f7662892900000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f62616c616e63655468726573686f6c642069732030000000000000000000000060448201526064016101ce565b606060008084806020019051810190610bbd919061143e565b9050600084806020019051810190610bd59190611478565b600280549192503091906000610bea836114c4565b9091555060405160609290921b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660208301526034820152605401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152828252805160209182012081840183526000808552835160c08101855233808252885173ffffffffffffffffffffffffffffffffffffffff908116838701908152895182168489019081528b8801516060860190815260808601878152600160a088018181528a8a5260039b8c9052988c9020975188549087167fffffffffffffffffffffffff0000000000000000000000000000000000000000918216178955945190880180549187169186169190911790559151600287018054918616919094161790925590519684019690965594516004928301805494511515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff921515929092167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000090951694909417179092558751875195517f3114f43a0000000000000000000000000000000000000000000000000000000081529182018490526024820192909252908316604482015292821660648401523060848401527f3d0aa6e50000000000000000000000000000000000000000000000000000000060a48401529296509194507f000000000000000000000000000000000000000000000000000000000000000090911690633114f43a9060c401600060405180830381600087803b158015610e4757600080fd5b505af1158015610e5b573d6000803e3d6000fd5b5050505050509250929050565b6000610e94827f01ffc9a700000000000000000000000000000000000000000000000000000000610ecd565b8015610ec75750610ec5827fffffffff00000000000000000000000000000000000000000000000000000000610ecd565b155b92915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015610f85575060208210155b8015610f915750600081115b979650505050505050565b600060208284031215610fae57600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610fd757600080fd5b50565b600060208284031215610fec57600080fd5b813561085c81610fb5565b60008083601f84011261100957600080fd5b50813567ffffffffffffffff81111561102157600080fd5b60208301915083602082850101111561103957600080fd5b9250929050565b6000806020838503121561105357600080fd5b823567ffffffffffffffff81111561106a57600080fd5b61107685828601610ff7565b90969095509350505050565b600281106110b9577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b6000815180845260005b818110156110e3576020818501810151868301820152016110c7565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b61112b8184611082565b60406020820152600061114160408301846110bd565b949350505050565b6000806040838503121561115c57600080fd5b50508035926020909101359150565b60008060006040848603121561118057600080fd5b833567ffffffffffffffff81111561119757600080fd5b6111a386828701610ff7565b90945092505060208401356111b781610fb5565b809150509250925092565b6111cc8185611082565b6060602082015260006111e260608301856110bd565b9050826040830152949350505050565b821515815260406020820152600061114160408301846110bd565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561125f5761125f61120d565b60405290565b600082601f83011261127657600080fd5b813567ffffffffffffffff808211156112915761129161120d565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156112d7576112d761120d565b816040528381528660208588010111156112f057600080fd5b836020870160208301376000602085830101528094505050505092915050565b60006020828403121561132257600080fd5b813567ffffffffffffffff8082111561133a57600080fd5b908301906040828603121561134e57600080fd5b61135661123c565b82358281111561136557600080fd5b61137187828601611265565b82525060208301358281111561138657600080fd5b61139287828601611265565b60208301525095945050505050565b848152606060208201528260608201528284608083013760006080848301015260007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011682016080838203016040840152610f9160808201856110bd565b60006020828403121561141557600080fd5b8151801515811461085c57600080fd5b82815260406020820152600061114160408301846110bd565b60006040828403121561145057600080fd5b61145861123c565b825161146381610fb5565b81526020928301519281019290925250919050565b60006020828403121561148a57600080fd5b6040516020810181811067ffffffffffffffff821117156114ad576114ad61120d565b60405282516114bb81610fb5565b81529392505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361151c577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b506001019056fea2646970667358221220d8b168046b7ea8ef58a98e4718a596bce0ccd4e82ab63c88943c3c5258310fb564736f6c63430008130033000000000000000000000000518ccd79e0e7b75fd5fcc09463fb09cb7d55470d00000000000000000000000004401ff04e6c01a8f1e5696ad6aa053c86b73cd300000000000000000000000077cbcc0e29e10f1eea24e0d109aab26c5b2abd88" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0x5d04194e7e2a17cce05c6f6a35b73030d6ae2f12fd61bebdaaeb100bb4b86090", + "transactionType": "CREATE", + "contractName": "MockERC721", + "contractAddress": "0x4facD61ea098FB09C03dBE33D98Cc8Fe4D35eb5e", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "gas": "0x1edc92", + "value": "0x0", + "data": "0x60806040523480156200001157600080fd5b506040518060400160405280600a8152602001694d6f636b45524337323160b01b815250604051806040016040528060048152602001634d37323160e01b815250816000908162000063919062000120565b50600162000072828262000120565b505050620001ec565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000a657607f821691505b602082108103620000c757634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200011b57600081815260208120601f850160051c81016020861015620000f65750805b601f850160051c820191505b81811015620001175782815560010162000102565b5050505b505050565b81516001600160401b038111156200013c576200013c6200007b565b62000154816200014d845462000091565b84620000cd565b602080601f8311600181146200018c5760008415620001735750858301515b600019600386901b1c1916600185901b17855562000117565b600085815260208120601f198616915b82811015620001bd578886015182559484019460019091019084016200019c565b5085821015620001dc5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b611a7980620001fc6000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80636352211e1161008c578063a22cb46511610066578063a22cb465146101ee578063b88d4fde14610201578063c87b56dd14610214578063e985e9c51461022757600080fd5b80636352211e146101b257806370a08231146101c557806395d89b41146101e657600080fd5b8063095ea7b3116100c8578063095ea7b31461016457806323b872dd1461017957806340c10f191461018c57806342842e0e1461019f57600080fd5b806301ffc9a7146100ef57806306fdde0314610117578063081812fc1461012c575b600080fd5b6101026100fd366004611662565b610270565b60405190151581526020015b60405180910390f35b61011f610355565b60405161010e91906116ed565b61013f61013a366004611700565b6103e7565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161010e565b610177610172366004611742565b61041b565b005b61017761018736600461176c565b6105ac565b61017761019a366004611742565b61064d565b6101776101ad36600461176c565b61065b565b61013f6101c0366004611700565b610676565b6101d86101d33660046117a8565b610702565b60405190815260200161010e565b61011f6107d0565b6101776101fc3660046117c3565b6107df565b61017761020f36600461182e565b6107ea565b61011f610222366004611700565b610892565b610102610235366004611928565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260056020908152604080832093909416825291909152205460ff1690565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061030357507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b8061034f57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6060600080546103649061195b565b80601f01602080910402602001604051908101604052809291908181526020018280546103909061195b565b80156103dd5780601f106103b2576101008083540402835291602001916103dd565b820191906000526020600020905b8154815290600101906020018083116103c057829003601f168201915b5050505050905090565b60006103f282610906565b5060009081526004602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b600061042682610676565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036104e8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff8216148061051157506105118133610235565b61059d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c00000060648201526084016104df565b6105a78383610994565b505050565b6105b63382610a34565b610642576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f7665640000000000000000000000000000000000000060648201526084016104df565b6105a7838383610af4565b6106578282610def565b5050565b6105a7838383604051806020016040528060008152506107ea565b60008181526002602052604081205473ffffffffffffffffffffffffffffffffffffffff168061034f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e204944000000000000000060448201526064016104df565b600073ffffffffffffffffffffffffffffffffffffffff82166107a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e6572000000000000000000000000000000000000000000000060648201526084016104df565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526003602052604090205490565b6060600180546103649061195b565b610657338383610e09565b6107f43383610a34565b610880576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f7665640000000000000000000000000000000000000060648201526084016104df565b61088c84848484610f36565b50505050565b606061089d82610906565b60006108b460408051602081019091526000815290565b905060008151116108d457604051806020016040528060008152506108ff565b806108de84610fd9565b6040516020016108ef9291906119ae565b6040516020818303038152906040525b9392505050565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff16610991576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e204944000000000000000060448201526064016104df565b50565b600081815260046020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811790915581906109ee82610676565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080610a4083610676565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480610aae575073ffffffffffffffffffffffffffffffffffffffff80821660009081526005602090815260408083209388168352929052205460ff165b80610aec57508373ffffffffffffffffffffffffffffffffffffffff16610ad4846103e7565b73ffffffffffffffffffffffffffffffffffffffff16145b949350505050565b8273ffffffffffffffffffffffffffffffffffffffff16610b1482610676565b73ffffffffffffffffffffffffffffffffffffffff1614610bb7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e657200000000000000000000000000000000000000000000000000000060648201526084016104df565b73ffffffffffffffffffffffffffffffffffffffff8216610c59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016104df565b8273ffffffffffffffffffffffffffffffffffffffff16610c7982610676565b73ffffffffffffffffffffffffffffffffffffffff1614610d1c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e657200000000000000000000000000000000000000000000000000000060648201526084016104df565b600081815260046020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff8781168086526003855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b610657828260405180602001604052806000815250611097565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610e9e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016104df565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526005602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b610f41848484610af4565b610f4d8484848461113a565b61088c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016104df565b60606000610fe68361132d565b600101905060008167ffffffffffffffff811115611006576110066117ff565b6040519080825280601f01601f191660200182016040528015611030576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a850494508461103a57509392505050565b6110a1838361140f565b6110ae600084848461113a565b6105a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016104df565b600073ffffffffffffffffffffffffffffffffffffffff84163b15611322576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a02906111b19033908990889088906004016119dd565b6020604051808303816000875af192505050801561120a575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261120791810190611a26565b60015b6112d7573d808015611238576040519150601f19603f3d011682016040523d82523d6000602084013e61123d565b606091505b5080516000036112cf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016104df565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050610aec565b506001949350505050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611376577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef810000000083106113a2576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106113c057662386f26fc10000830492506010015b6305f5e10083106113d8576305f5e100830492506008015b61271083106113ec57612710830492506004015b606483106113fe576064830492506002015b600a831061034f5760010192915050565b73ffffffffffffffffffffffffffffffffffffffff821661148c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016104df565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1615611518576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016104df565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff16156115a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016104df565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260036020908152604080832080546001019055848352600290915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b7fffffffff000000000000000000000000000000000000000000000000000000008116811461099157600080fd5b60006020828403121561167457600080fd5b81356108ff81611634565b60005b8381101561169a578181015183820152602001611682565b50506000910152565b600081518084526116bb81602086016020860161167f565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006108ff60208301846116a3565b60006020828403121561171257600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461173d57600080fd5b919050565b6000806040838503121561175557600080fd5b61175e83611719565b946020939093013593505050565b60008060006060848603121561178157600080fd5b61178a84611719565b925061179860208501611719565b9150604084013590509250925092565b6000602082840312156117ba57600080fd5b6108ff82611719565b600080604083850312156117d657600080fd5b6117df83611719565b9150602083013580151581146117f457600080fd5b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000806000806080858703121561184457600080fd5b61184d85611719565b935061185b60208601611719565b925060408501359150606085013567ffffffffffffffff8082111561187f57600080fd5b818701915087601f83011261189357600080fd5b8135818111156118a5576118a56117ff565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156118eb576118eb6117ff565b816040528281528a602084870101111561190457600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b6000806040838503121561193b57600080fd5b61194483611719565b915061195260208401611719565b90509250929050565b600181811c9082168061196f57607f821691505b6020821081036119a8577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b600083516119c081846020880161167f565b8351908301906119d481836020880161167f565b01949350505050565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525083604083015260806060830152611a1c60808301846116a3565b9695505050505050565b600060208284031215611a3857600080fd5b81516108ff8161163456fea2646970667358221220d673ef7c8f1def245d3be39f8336c1275d8505ccfbf91acc7ee1bdd6cae4c30264736f6c63430008130033", + "nonce": "0x806", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x47aa93a51bc40c5445afcc850299e083f3e6e3cd27cd7eb9969c87c25803eb33", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x518ccd79e0e7b75fd5fcc09463fb09cb7d55470d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15d189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "nonce": "0x807", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x403d9d27ae2ee4b5c04c9837c02b8a5d2e366b649b2589df87a26027ea2c2df0", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x518ccd79e0e7b75fd5fcc09463fb09cb7d55470d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15d637821dcee84aabec9c8cf4f6f643013a24ad27fd41511ffd937aea80d8619a9000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "nonce": "0x808", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x2e3d10d1c62e824d02b989b573bc2676938d73278fd434e4e28b2e887a8d5c41", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x518ccd79e0e7b75fd5fcc09463fb09cb7d55470d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15da8b84e71bc3552b48fea3678097679554a90f0e2c12c536a8bd697c05041e279000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "nonce": "0x809", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x32f92ba64f8b30d430206406af9100b703d5af754503ccb3807c7d29b910f55c", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x518ccd79e0e7b75fd5fcc09463fb09cb7d55470d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15d256895704541e78004f0fd55953a8bcc54c628755b14fbf53afdc556473f9bd0000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "nonce": "0x80a", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xcba312354d7f71791424f1317bb1128375f356bc112babf03c77b5066eb1e219", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x518ccd79e0e7b75fd5fcc09463fb09cb7d55470d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15d02f7fd2cb4d8e8ad75bab0a56a6f1ed7091336a83e11ccacc4e51f915215ab4c000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "nonce": "0x80b", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xb4bb24a91d9099eac2be9ed61af556a881a10f41750c37731f8cbc1b31d708f0", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x518ccd79e0e7b75fd5fcc09463fb09cb7d55470d", + "gas": "0x140e3", + "value": "0x0", + "data": "0x2f2ff15dc9a6ce5d86bdc06f8d57f20091bf09bf611e57d0626b65aa9ebb3c9179ba650f000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "nonce": "0x80c", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x94192c5603f740fb5da599625b671b698572da3fbe9ba8756aca02d8a1150e83", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x518ccd79e0e7b75fd5fcc09463fb09cb7d55470d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15de4a10d29decbd34c09a62a511d4fd993a7d8cbbf58d7d4278711c29c9148b8f700000000000000000000000025a6f44df208e8cc79e97fe72e240f4cdb3d9a46", + "nonce": "0x80d", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xc3de772cd32c687c606cfe44ac27799d5f1ad6a2bba49f3e4911436a3d2dcd72", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x518ccd79e0e7b75fd5fcc09463fb09cb7d55470d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15de4a10d29decbd34c09a62a511d4fd993a7d8cbbf58d7d4278711c29c9148b8f7000000000000000000000000c4f7e87f9ff2a2df9bc7ff8399558b594ebf911a", + "nonce": "0x80e", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x48fea7539c9635665a5fe2f6b93d9b7cbcdc277d355e5535866020321769aac7", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x518ccd79e0e7b75fd5fcc09463fb09cb7d55470d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15d33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db00000000000000000000000051870a0659a87c7b46baef7311b3128006e1fb16", + "nonce": "0x80f", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x06d0014648eafa4a0d15871f9f93113d3c8ef3feae041b868736c0687a65b5b5", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x518ccd79e0e7b75fd5fcc09463fb09cb7d55470d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15d33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db000000000000000000000000d3e9f80f4cc22761587b19a7f5335a017bcb0ecd", + "nonce": "0x810", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x05436d8041d4feb5101821ab547d2a561514ab8e4822be7e65dd416a26a9a2a8", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x518ccd79e0e7b75fd5fcc09463fb09cb7d55470d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15d33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db0000000000000000000000005fb712af304570ad9599e55e1105b7a42a5e30db", + "nonce": "0x811", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xe28f471cdaacea3748c1fa39bf1ed94ce6fceb0cfb3d2209c1ebc4ff053806eb", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "function": null, + "arguments": null, + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x518ccd79e0e7b75fd5fcc09463fb09cb7d55470d", + "gas": "0x12f1f", + "value": "0x0", + "data": "0x2f2ff15d33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db000000000000000000000000058bb0d7795cfa2a46c60c0b63f8f0fa7cd1eed5", + "nonce": "0x812", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x84bf3d8ff2fd42cb33def0c55c627b34904230f3e7372dedd41a640271383afe", + "transactionType": "CALL", + "contractName": "ModuleRegistry", + "contractAddress": "0x51870A0659A87c7B46baEF7311B3128006E1FB16", + "function": "registerProtocolModule(string,address)", + "arguments": [ + "REGISTRATION_MODULE", + "0xD3E9F80F4Cc22761587B19A7F5335A017bcB0eCd" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x51870a0659a87c7b46baef7311b3128006e1fb16", + "gas": "0x1447b", + "value": "0x0", + "data": "0xd08906d60000000000000000000000000000000000000000000000000000000000000040000000000000000000000000d3e9f80f4cc22761587b19a7f5335a017bcb0ecd0000000000000000000000000000000000000000000000000000000000000013524547495354524154494f4e5f4d4f44554c4500000000000000000000000000", + "nonce": "0x813", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xd59894c1a06160516ca2bcc779bbe338f4cfebedbe5a9cee12dfc2159a0ab988", + "transactionType": "CALL", + "contractName": "ModuleRegistry", + "contractAddress": "0x51870A0659A87c7B46baEF7311B3128006E1FB16", + "function": "registerProtocolModule(string,address)", + "arguments": [ + "RELATIONSHIP_MODULE", + "0x5fb712AF304570aD9599e55E1105b7a42a5e30Db" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x51870a0659a87c7b46baef7311b3128006e1fb16", + "gas": "0x1447b", + "value": "0x0", + "data": "0xd08906d600000000000000000000000000000000000000000000000000000000000000400000000000000000000000005fb712af304570ad9599e55e1105b7a42a5e30db000000000000000000000000000000000000000000000000000000000000001352454c4154494f4e534849505f4d4f44554c4500000000000000000000000000", + "nonce": "0x814", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x1ffb1a979bb740b3d72d9283c509e19bac5ca1b185e2cdc3d9caf9b86233d831", + "transactionType": "CALL", + "contractName": "ModuleRegistry", + "contractAddress": "0x51870A0659A87c7B46baEF7311B3128006E1FB16", + "function": "registerProtocolModule(string,address)", + "arguments": [ + "LICENSING_MODULE", + "0x058bB0D7795CfA2a46C60C0b63F8f0fa7cD1EEd5" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x51870a0659a87c7b46baef7311b3128006e1fb16", + "gas": "0x1444a", + "value": "0x0", + "data": "0xd08906d60000000000000000000000000000000000000000000000000000000000000040000000000000000000000000058bb0d7795cfa2a46c60c0b63f8f0fa7cd1eed500000000000000000000000000000000000000000000000000000000000000104c4943454e53494e475f4d4f44554c4500000000000000000000000000000000", + "nonce": "0x815", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x801095c317c215a221d06d8cdb3b0a22ebbef014f7acabef627fdae7f756f247", + "transactionType": "CALL", + "contractName": "StoryProtocol", + "contractAddress": "0x25A6f44df208E8Cc79E97fE72E240F4cDb3D9a46", + "function": "registerIpOrg(address,string,string,string[]):(address)", + "arguments": [ + "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "Sample IP Org", + "SIPO", + "[STORY, CHARACTER]" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x25a6f44df208e8cc79e97fe72e240f4cdb3d9a46", + "gas": "0x61a7b", + "value": "0x0", + "data": "0x98e8e6ea000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000d53616d706c65204950204f72670000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000045349504f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000553544f525900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000094348415241435445520000000000000000000000000000000000000000000000", + "nonce": "0x816", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0x1434fC16D6f101605d79577E86A5005424461570", + "initCode": "3d602d80600a3d3981f3363d3d373d3d3d363d7332ef4938e99bbd517f1f673470270aeede017a7a5af43d82803e903d91602b57fd5bf3" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0xe4a5f49d9dd2944e060cbb1557f354424cfd005bef16109ffc9ede5ebf0269db", + "transactionType": "CALL", + "contractName": "ModuleRegistry", + "contractAddress": "0x51870A0659A87c7B46baEF7311B3128006E1FB16", + "function": "registerProtocolHook(string,address)", + "arguments": [ + "TOKEN_GATED_HOOK", + "0x919Cc6581801039f92863862B186025a1F562B17" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x51870a0659a87c7b46baef7311b3128006e1fb16", + "gas": "0x1bddc", + "value": "0x0", + "data": "0xd04d78c60000000000000000000000000000000000000000000000000000000000000040000000000000000000000000919cc6581801039f92863862b186025a1f562b170000000000000000000000000000000000000000000000000000000000000010544f4b454e5f47415445445f484f4f4b00000000000000000000000000000000", + "nonce": "0x817", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x9bac9b42100faa9ae0888a1d9e234c364aee08f5915774332eb66b1009e78510", + "transactionType": "CALL", + "contractName": "ModuleRegistry", + "contractAddress": "0x51870A0659A87c7B46baEF7311B3128006E1FB16", + "function": "registerProtocolHook(string,address)", + "arguments": [ + "POLYGON_TOKEN_HOOK", + "0x6b71284309DF6871cC28595d938eC57A5Ad06A0A" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x51870a0659a87c7b46baef7311b3128006e1fb16", + "gas": "0x1bdfd", + "value": "0x0", + "data": "0xd04d78c600000000000000000000000000000000000000000000000000000000000000400000000000000000000000006b71284309df6871cc28595d938ec57a5ad06a0a0000000000000000000000000000000000000000000000000000000000000012504f4c59474f4e5f544f4b454e5f484f4f4b0000000000000000000000000000", + "nonce": "0x818", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x16a8fff5090d2589d2b306d04af5275d6aba1bcf3dcc4f62067393369d13cf57", + "transactionType": "CALL", + "contractName": "RegistrationModule", + "contractAddress": "0xD3E9F80F4Cc22761587B19A7F5335A017bcB0eCd", + "function": "registerHooks(uint8,address,address[],bytes[],bytes)", + "arguments": [ + "0", + "0x1434fC16D6f101605d79577E86A5005424461570", + "[0x919Cc6581801039f92863862B186025a1F562B17, 0x6b71284309DF6871cC28595d938eC57A5Ad06A0A]", + "[0x0000000000000000000000004facd61ea098fb09c03dbe33d98cc8fe4d35eb5e, 0x0000000000000000000000004facd61ea098fb09c03dbe33d98cc8fe4d35eb5e0000000000000000000000000000000000000000000000000000000000000001]", + "0xe761f303268b55a3dc96719551acb95ca3bd1ebeef4b720be68dd92563627a3f" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0xd3e9f80f4cc22761587b19a7f5335a017bcb0ecd", + "gas": "0x665ec", + "value": "0x0", + "data": "0x9533563d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000001434fc16d6f101605d79577e86a500542446157000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000919cc6581801039f92863862b186025a1f562b170000000000000000000000006b71284309df6871cc28595d938ec57a5ad06a0a00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000200000000000000000000000004facd61ea098fb09c03dbe33d98cc8fe4d35eb5e00000000000000000000000000000000000000000000000000000000000000400000000000000000000000004facd61ea098fb09c03dbe33d98cc8fe4d35eb5e00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020e761f303268b55a3dc96719551acb95ca3bd1ebeef4b720be68dd92563627a3f", + "nonce": "0x819", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xa3c1a3087c5a99a0fb87108b28c61b94ed9500616da895ed7590a96face368ca", + "transactionType": "CALL", + "contractName": "LicensingFrameworkRepo", + "contractAddress": "0x3113e5bfe2251A9fcA1225083cf6d36547E63e07", + "function": "addFramework((string,string,(bytes32,uint8,bytes,bytes)[]))", + "arguments": [ + "(SPUML-1.0, https://github.com/storyprotocol/protocol-contracts/blob/main/SPUML-v1.pdf, [(0x4368616e6e656c732d4f662d446973747269627574696f6e0000000000000018, 4, 0x, 0x), (0x4174747269627574696f6e00000000000000000000000000000000000000000b, 0, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x), (0x44657269766174697665732d416c6c6f77656400000000000000000000000013, 0, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x), (0x44657269766174697665732d416c6c6f7765642d4f7074696f6e73000000001b, 5, 0x, 0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000003416c6c6f7765642d576974682d417070726f76616c0000000000000000000015416c6c6f7765642d5265636970726f63616c2d4c6963656e736500000000001a416c6c6f7765642d576974682d4174747269627574696f6e0000000000000018)])" + ], + "rpc": "https://eth-sepolia.g.alchemy.com/v2/j8FjbXW53K_ZSL1TLfYwluIhxgjpGd4-", + "transaction": { + "type": "0x02", + "from": "0xf398c12a45bc409b6c652e25bb0a3e702492a4ab", + "to": "0x3113e5bfe2251a9fca1225083cf6d36547e63e07", + "gas": "0x164d60", + "value": "0x0", + "data": "0xc8cea2150000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000095350554d4c2d312e300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004a68747470733a2f2f6769746875622e636f6d2f73746f727970726f746f636f6c2f70726f746f636f6c2d636f6e7472616374732f626c6f622f6d61696e2f5350554d4c2d76312e70646600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000003004368616e6e656c732d4f662d446973747269627574696f6e00000000000000180000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004174747269627574696f6e00000000000000000000000000000000000000000b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044657269766174697665732d416c6c6f776564000000000000000000000000130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044657269766174697665732d416c6c6f7765642d4f7074696f6e73000000001b0000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000003416c6c6f7765642d576974682d417070726f76616c0000000000000000000015416c6c6f7765642d5265636970726f63616c2d4c6963656e736500000000001a416c6c6f7765642d576974682d4174747269627574696f6e0000000000000018", + "nonce": "0x81a", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x268e37803ef61c5be00822983907bf7cae439a10f5bce3006a454e86cfc5bdba", + "transactionIndex": "0x9", + "blockHash": "0x83939979c94f8185c480a04497b4f06bb9ac89d21e4df43ea81b63a475974ffb", + "blockNumber": "0x49ebbb", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x1d4ae6", + "gasUsed": "0x198ffa", + "contractAddress": "0x8db8b66518E9Cb412aF5573c5423582587117533", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb88c4321" + }, + { + "transactionHash": "0xfde8bcaa71872ceb1f5570fe234905444695bf220597adb0facee691a0e936ed", + "transactionIndex": "0xa", + "blockHash": "0x83939979c94f8185c480a04497b4f06bb9ac89d21e4df43ea81b63a475974ffb", + "blockNumber": "0x49ebbb", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x202ccb", + "gasUsed": "0x2e1e5", + "contractAddress": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "logs": [ + { + "address": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "topics": [ + "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", + "0x0000000000000000000000008db8b66518e9cb412af5573c5423582587117533" + ], + "data": "0x", + "blockHash": "0x83939979c94f8185c480a04497b4f06bb9ac89d21e4df43ea81b63a475974ffb", + "blockNumber": "0x49ebbb", + "transactionHash": "0xfde8bcaa71872ceb1f5570fe234905444695bf220597adb0facee691a0e936ed", + "transactionIndex": "0xa", + "logIndex": "0x1", + "removed": false + }, + { + "address": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0x83939979c94f8185c480a04497b4f06bb9ac89d21e4df43ea81b63a475974ffb", + "blockNumber": "0x49ebbb", + "transactionHash": "0xfde8bcaa71872ceb1f5570fe234905444695bf220597adb0facee691a0e936ed", + "transactionIndex": "0xa", + "logIndex": "0x2", + "removed": false + }, + { + "address": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "topics": [ + "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x83939979c94f8185c480a04497b4f06bb9ac89d21e4df43ea81b63a475974ffb", + "blockNumber": "0x49ebbb", + "transactionHash": "0xfde8bcaa71872ceb1f5570fe234905444695bf220597adb0facee691a0e936ed", + "transactionIndex": "0xa", + "logIndex": "0x3", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000004000000000000000000000000400000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000002000000000000020000000100000000000000000000020000400000000000000800000000000000000000000000000000000000002000000000000000000000000000000000000080000000000000000020000000000000000000000000000400000000000000000000001000000000000000000020000000000000000000040000000000008000000100400000000020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb88c4321" + }, + { + "transactionHash": "0x8d77b124c15a9a95e83130954ba5e386bfa09db488506462c492d1d8932062e5", + "transactionIndex": "0xb", + "blockHash": "0x83939979c94f8185c480a04497b4f06bb9ac89d21e4df43ea81b63a475974ffb", + "blockNumber": "0x49ebbb", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x393758", + "gasUsed": "0x190a8d", + "contractAddress": "0x3113e5bfe2251A9fcA1225083cf6d36547E63e07", + "logs": [ + { + "address": "0x3113e5bfe2251A9fcA1225083cf6d36547E63e07", + "topics": [ + "0xc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da9709", + "0x000000000000000000000000518ccd79e0e7b75fd5fcc09463fb09cb7d55470d" + ], + "data": "0x", + "blockHash": "0x83939979c94f8185c480a04497b4f06bb9ac89d21e4df43ea81b63a475974ffb", + "blockNumber": "0x49ebbb", + "transactionHash": "0x8d77b124c15a9a95e83130954ba5e386bfa09db488506462c492d1d8932062e5", + "transactionIndex": "0xb", + "logIndex": "0x4", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000200000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb88c4321" + }, + { + "transactionHash": "0x5cef1fa852da9c51bb37504446cea2708bcf829485ef6af1f4b6f4ebfaad27aa", + "transactionIndex": "0xc", + "blockHash": "0x83939979c94f8185c480a04497b4f06bb9ac89d21e4df43ea81b63a475974ffb", + "blockNumber": "0x49ebbb", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x578763", + "gasUsed": "0x1e500b", + "contractAddress": "0x51870A0659A87c7B46baEF7311B3128006E1FB16", + "logs": [ + { + "address": "0x51870A0659A87c7B46baEF7311B3128006E1FB16", + "topics": [ + "0xc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da9709", + "0x000000000000000000000000518ccd79e0e7b75fd5fcc09463fb09cb7d55470d" + ], + "data": "0x", + "blockHash": "0x83939979c94f8185c480a04497b4f06bb9ac89d21e4df43ea81b63a475974ffb", + "blockNumber": "0x49ebbb", + "transactionHash": "0x5cef1fa852da9c51bb37504446cea2708bcf829485ef6af1f4b6f4ebfaad27aa", + "transactionIndex": "0xc", + "logIndex": "0x5", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000100004000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000400000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb88c4321" + }, + { + "transactionHash": "0x20e56a5db623534cd0345e992dbfdfb712f9caca6d59b310c070a7eee9e19215", + "transactionIndex": "0xd", + "blockHash": "0x83939979c94f8185c480a04497b4f06bb9ac89d21e4df43ea81b63a475974ffb", + "blockNumber": "0x49ebbb", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x66480c", + "gasUsed": "0xec0a9", + "contractAddress": "0x5B81030C087d41558E3FCF23B3575E85c9A768e6", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb88c4321" + }, + { + "transactionHash": "0x2bb57468dbedb53b56ff6025980717fb50edbc2eeb91c444d76620313646e2f1", + "transactionIndex": "0xe", + "blockHash": "0x83939979c94f8185c480a04497b4f06bb9ac89d21e4df43ea81b63a475974ffb", + "blockNumber": "0x49ebbb", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x963f99", + "gasUsed": "0x2ff78d", + "contractAddress": "0x826a953332Df2e1a994C7CFae68E129ba683Aa8F", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb88c4321" + }, + { + "transactionHash": "0x6b6536c934fc7d4d1dba6374b0f6658c59bb0bc6b60a04a54a798accc816c975", + "transactionIndex": "0xf", + "blockHash": "0x83939979c94f8185c480a04497b4f06bb9ac89d21e4df43ea81b63a475974ffb", + "blockNumber": "0x49ebbb", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0xdefb37", + "gasUsed": "0x48bb9e", + "contractAddress": "0x9Be54430f2962a115353Ad2e8c62A106bBe71849", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb88c4321" + }, + { + "transactionHash": "0x23a9b55f090db2b42a8eecd0d860389790e13ae95d7c16651550c6f5f8d9434f", + "transactionIndex": "0x10", + "blockHash": "0x83939979c94f8185c480a04497b4f06bb9ac89d21e4df43ea81b63a475974ffb", + "blockNumber": "0x49ebbb", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x1050368", + "gasUsed": "0x260831", + "contractAddress": "0xC4F7E87F9FF2A2DF9bC7FF8399558B594EBF911A", + "logs": [ + { + "address": "0xC4F7E87F9FF2A2DF9bC7FF8399558B594EBF911A", + "topics": [ + "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", + "0x0000000000000000000000009be54430f2962a115353ad2e8c62a106bbe71849" + ], + "data": "0x", + "blockHash": "0x83939979c94f8185c480a04497b4f06bb9ac89d21e4df43ea81b63a475974ffb", + "blockNumber": "0x49ebbb", + "transactionHash": "0x23a9b55f090db2b42a8eecd0d860389790e13ae95d7c16651550c6f5f8d9434f", + "transactionIndex": "0x10", + "logIndex": "0x6", + "removed": false + }, + { + "address": "0x32ef4938e99BBD517F1f673470270aeedE017a7a", + "topics": [ + "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x83939979c94f8185c480a04497b4f06bb9ac89d21e4df43ea81b63a475974ffb", + "blockNumber": "0x49ebbb", + "transactionHash": "0x23a9b55f090db2b42a8eecd0d860389790e13ae95d7c16651550c6f5f8d9434f", + "transactionIndex": "0x10", + "logIndex": "0x7", + "removed": false + }, + { + "address": "0xC4F7E87F9FF2A2DF9bC7FF8399558B594EBF911A", + "topics": [ + "0xc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da9709", + "0x000000000000000000000000518ccd79e0e7b75fd5fcc09463fb09cb7d55470d" + ], + "data": "0x", + "blockHash": "0x83939979c94f8185c480a04497b4f06bb9ac89d21e4df43ea81b63a475974ffb", + "blockNumber": "0x49ebbb", + "transactionHash": "0x23a9b55f090db2b42a8eecd0d860389790e13ae95d7c16651550c6f5f8d9434f", + "transactionIndex": "0x10", + "logIndex": "0x8", + "removed": false + }, + { + "address": "0xC4F7E87F9FF2A2DF9bC7FF8399558B594EBF911A", + "topics": [ + "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x83939979c94f8185c480a04497b4f06bb9ac89d21e4df43ea81b63a475974ffb", + "blockNumber": "0x49ebbb", + "transactionHash": "0x23a9b55f090db2b42a8eecd0d860389790e13ae95d7c16651550c6f5f8d9434f", + "transactionIndex": "0x10", + "logIndex": "0x9", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000400000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000002040004000000000000a00000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000100000008000000080000000000080000000000000000000000000000000000000000000000400000000010000400000000000000000000000000020010000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000004008000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb88c4321" + }, + { + "transactionHash": "0x3f1232fc659c4a138d1986e263b91319bb7d1cfd0a1aabdea21de303fa36756f", + "transactionIndex": "0x11", + "blockHash": "0x83939979c94f8185c480a04497b4f06bb9ac89d21e4df43ea81b63a475974ffb", + "blockNumber": "0x49ebbb", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x1250318", + "gasUsed": "0x1fffb0", + "contractAddress": "0x25A6f44df208E8Cc79E97fE72E240F4cDb3D9a46", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb88c4321" + }, + { + "transactionHash": "0x9bf0846cfcc00ddefe61416013db4b321a377e294fd6bd0a34363c9c93f18781", + "transactionIndex": "0x12", + "blockHash": "0x83939979c94f8185c480a04497b4f06bb9ac89d21e4df43ea81b63a475974ffb", + "blockNumber": "0x49ebbb", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x170e9fb", + "gasUsed": "0x4be6e3", + "contractAddress": "0xD3E9F80F4Cc22761587B19A7F5335A017bcB0eCd", + "logs": [ + { + "address": "0xD3E9F80F4Cc22761587B19A7F5335A017bcB0eCd", + "topics": [ + "0xc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da9709", + "0x000000000000000000000000518ccd79e0e7b75fd5fcc09463fb09cb7d55470d" + ], + "data": "0x", + "blockHash": "0x83939979c94f8185c480a04497b4f06bb9ac89d21e4df43ea81b63a475974ffb", + "blockNumber": "0x49ebbb", + "transactionHash": "0x9bf0846cfcc00ddefe61416013db4b321a377e294fd6bd0a34363c9c93f18781", + "transactionIndex": "0x12", + "logIndex": "0xa", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000200000000000000000000000000000000004000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb88c4321" + }, + { + "transactionHash": "0xd27abaa9b1d80e05ddefe448f5674ee786621d742a591d4c2ea3d7a634885714", + "transactionIndex": "0x13", + "blockHash": "0x83939979c94f8185c480a04497b4f06bb9ac89d21e4df43ea81b63a475974ffb", + "blockNumber": "0x49ebbb", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x1b12391", + "gasUsed": "0x403996", + "contractAddress": "0x5fb712AF304570aD9599e55E1105b7a42a5e30Db", + "logs": [ + { + "address": "0x5fb712AF304570aD9599e55E1105b7a42a5e30Db", + "topics": [ + "0xc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da9709", + "0x000000000000000000000000518ccd79e0e7b75fd5fcc09463fb09cb7d55470d" + ], + "data": "0x", + "blockHash": "0x83939979c94f8185c480a04497b4f06bb9ac89d21e4df43ea81b63a475974ffb", + "blockNumber": "0x49ebbb", + "transactionHash": "0xd27abaa9b1d80e05ddefe448f5674ee786621d742a591d4c2ea3d7a634885714", + "transactionIndex": "0x13", + "logIndex": "0xb", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000200000400000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000400000000000000000000000000000000000000000000000000010000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb88c4321" + }, + { + "transactionHash": "0xb86c38745a8d892c1604649381942ca13b63cfe211e0b01efce0887852361d11", + "transactionIndex": "0x2", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x430ec4", + "gasUsed": "0x426ab4", + "contractAddress": "0x058bB0D7795CfA2a46C60C0b63F8f0fa7cD1EEd5", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + }, + { + "transactionHash": "0x8f5a3400435f0fb05e7fbe4fe81304716808b3061c16cd5cceb4a6027bdafdd9", + "transactionIndex": "0x3", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x47c413", + "gasUsed": "0x4b54f", + "contractAddress": "0x499527835364a150290231B84C6a5297E5dd0024", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + }, + { + "transactionHash": "0x8b356cbc685595174796414c99a5d40e3afd1efff57081804bf8b019fee871ca", + "transactionIndex": "0x4", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x499527835364a150290231B84C6a5297E5dd0024", + "cumulativeGasUsed": "0x548f3f", + "gasUsed": "0xccb2c", + "contractAddress": null, + "logs": [ + { + "address": "0x919Cc6581801039f92863862B186025a1F562B17", + "topics": [ + "0xc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da9709", + "0x000000000000000000000000518ccd79e0e7b75fd5fcc09463fb09cb7d55470d" + ], + "data": "0x", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0x8b356cbc685595174796414c99a5d40e3afd1efff57081804bf8b019fee871ca", + "transactionIndex": "0x4", + "logIndex": "0x0", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000008000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + }, + { + "transactionHash": "0x320fcca1822ce25672b02b24f7323526c37aee94e33ea2d5dbd92d67a4f8569d", + "transactionIndex": "0x5", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x499527835364a150290231B84C6a5297E5dd0024", + "cumulativeGasUsed": "0x67ffc7", + "gasUsed": "0x137088", + "contractAddress": null, + "logs": [ + { + "address": "0x6b71284309DF6871cC28595d938eC57A5Ad06A0A", + "topics": [ + "0xc8ebe3bc6cc2f03e640cefc0f0c872637b7d9492bd5e6318eaba1ab468da9709", + "0x000000000000000000000000518ccd79e0e7b75fd5fcc09463fb09cb7d55470d" + ], + "data": "0x", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0x320fcca1822ce25672b02b24f7323526c37aee94e33ea2d5dbd92d67a4f8569d", + "transactionIndex": "0x5", + "logIndex": "0x1", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000020000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000400000000000000000000000000000000000000010000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + }, + { + "transactionHash": "0x5d04194e7e2a17cce05c6f6a35b73030d6ae2f12fd61bebdaaeb100bb4b86090", + "transactionIndex": "0x6", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": null, + "cumulativeGasUsed": "0x7fbeec", + "gasUsed": "0x17bf25", + "contractAddress": "0x4facD61ea098FB09C03dBE33D98Cc8Fe4D35eb5e", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + }, + { + "transactionHash": "0x47aa93a51bc40c5445afcc850299e083f3e6e3cd27cd7eb9969c87c25803eb33", + "transactionIndex": "0x7", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "cumulativeGasUsed": "0x809a61", + "gasUsed": "0xdb75", + "contractAddress": null, + "logs": [ + { + "address": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0x47aa93a51bc40c5445afcc850299e083f3e6e3cd27cd7eb9969c87c25803eb33", + "transactionIndex": "0x7", + "logIndex": "0x2", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000004000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000800000000000000000000000000020000000100000000000000000000000000000000000000000000000000000000000000010000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000008000000100400000000000000080000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + }, + { + "transactionHash": "0x403d9d27ae2ee4b5c04c9837c02b8a5d2e366b649b2589df87a26027ea2c2df0", + "transactionIndex": "0x8", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "cumulativeGasUsed": "0x8175d6", + "gasUsed": "0xdb75", + "contractAddress": null, + "logs": [ + { + "address": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x637821dcee84aabec9c8cf4f6f643013a24ad27fd41511ffd937aea80d8619a9", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0x403d9d27ae2ee4b5c04c9837c02b8a5d2e366b649b2589df87a26027ea2c2df0", + "transactionIndex": "0x8", + "logIndex": "0x3", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000004008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000800000000000000000000000000020000000100000000000000000000000000000000000000000000000000000000000000000000100000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000008000000100400000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + }, + { + "transactionHash": "0x2e3d10d1c62e824d02b989b573bc2676938d73278fd434e4e28b2e887a8d5c41", + "transactionIndex": "0x9", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "cumulativeGasUsed": "0x82514b", + "gasUsed": "0xdb75", + "contractAddress": null, + "logs": [ + { + "address": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0xa8b84e71bc3552b48fea3678097679554a90f0e2c12c536a8bd697c05041e279", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0x2e3d10d1c62e824d02b989b573bc2676938d73278fd434e4e28b2e887a8d5c41", + "transactionIndex": "0x9", + "logIndex": "0x4", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000004000000000000000000000000000000000000000020000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000010800000000000000000000000000020000000100000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000008000000100400000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + }, + { + "transactionHash": "0x32f92ba64f8b30d430206406af9100b703d5af754503ccb3807c7d29b910f55c", + "transactionIndex": "0xa", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "cumulativeGasUsed": "0x832cc0", + "gasUsed": "0xdb75", + "contractAddress": null, + "logs": [ + { + "address": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x256895704541e78004f0fd55953a8bcc54c628755b14fbf53afdc556473f9bd0", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0x32f92ba64f8b30d430206406af9100b703d5af754503ccb3807c7d29b910f55c", + "transactionIndex": "0xa", + "logIndex": "0x5", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000004000000000000000000000000000000040000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000800000000000000000000000000020000000100001000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000008000000100400000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + }, + { + "transactionHash": "0xcba312354d7f71791424f1317bb1128375f356bc112babf03c77b5066eb1e219", + "transactionIndex": "0xb", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "cumulativeGasUsed": "0x840835", + "gasUsed": "0xdb75", + "contractAddress": null, + "logs": [ + { + "address": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x02f7fd2cb4d8e8ad75bab0a56a6f1ed7091336a83e11ccacc4e51f915215ab4c", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0xcba312354d7f71791424f1317bb1128375f356bc112babf03c77b5066eb1e219", + "transactionIndex": "0xb", + "logIndex": "0x6", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000020000000100000080000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000008000000100400000000000000000000000000000000000000000000000000000000040000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + }, + { + "transactionHash": "0xb4bb24a91d9099eac2be9ed61af556a881a10f41750c37731f8cbc1b31d708f0", + "transactionIndex": "0xc", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "cumulativeGasUsed": "0x84e39e", + "gasUsed": "0xdb69", + "contractAddress": null, + "logs": [ + { + "address": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0xc9a6ce5d86bdc06f8d57f20091bf09bf611e57d0626b65aa9ebb3c9179ba650f", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0xb4bb24a91d9099eac2be9ed61af556a881a10f41750c37731f8cbc1b31d708f0", + "transactionIndex": "0xc", + "logIndex": "0x7", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000004000000000000000000000000000000000000000000000000000000000000000000008000000000000020000000000000000000000000000000000000000000000000000800000000000000000000000000020000000100000000000000000000000000000000000000000000000000000020000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000008000000100400000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + }, + { + "transactionHash": "0x94192c5603f740fb5da599625b671b698572da3fbe9ba8756aca02d8a1150e83", + "transactionIndex": "0xd", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "cumulativeGasUsed": "0x85bf13", + "gasUsed": "0xdb75", + "contractAddress": null, + "logs": [ + { + "address": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0xe4a10d29decbd34c09a62a511d4fd993a7d8cbbf58d7d4278711c29c9148b8f7", + "0x00000000000000000000000025a6f44df208e8cc79e97fe72e240f4cdb3d9a46", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0x94192c5603f740fb5da599625b671b698572da3fbe9ba8756aca02d8a1150e83", + "transactionIndex": "0xd", + "logIndex": "0x8", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000104000000000000000000000000000000000000000000000000000004800000000000000000000000000000000000000000002000000000000000000000000000000000000800000000000000000000000000020000000100000000200000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000008000000100400000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + }, + { + "transactionHash": "0xc3de772cd32c687c606cfe44ac27799d5f1ad6a2bba49f3e4911436a3d2dcd72", + "transactionIndex": "0xe", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "cumulativeGasUsed": "0x869a88", + "gasUsed": "0xdb75", + "contractAddress": null, + "logs": [ + { + "address": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0xe4a10d29decbd34c09a62a511d4fd993a7d8cbbf58d7d4278711c29c9148b8f7", + "0x000000000000000000000000c4f7e87f9ff2a2df9bc7ff8399558b594ebf911a", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0xc3de772cd32c687c606cfe44ac27799d5f1ad6a2bba49f3e4911436a3d2dcd72", + "transactionIndex": "0xe", + "logIndex": "0x9", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000104000000000000000000000000000000000000000000000000000004800000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000020000000100000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000001000000000000000000000000000008000000000000000000000008000000100400000000000000000000000000000010000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + }, + { + "transactionHash": "0x48fea7539c9635665a5fe2f6b93d9b7cbcdc277d355e5535866020321769aac7", + "transactionIndex": "0xf", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "cumulativeGasUsed": "0x8775fd", + "gasUsed": "0xdb75", + "contractAddress": null, + "logs": [ + { + "address": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db", + "0x00000000000000000000000051870a0659a87c7b46baef7311b3128006e1fb16", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0x48fea7539c9635665a5fe2f6b93d9b7cbcdc277d355e5535866020321769aac7", + "transactionIndex": "0xf", + "logIndex": "0xa", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000020000000100000000000000000200000000000000000000040000000000000000000000000000000000000000002000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000010000000000000000008000000100400000000000000000000000000000000000000000000000000000000000000800000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + }, + { + "transactionHash": "0x06d0014648eafa4a0d15871f9f93113d3c8ef3feae041b868736c0687a65b5b5", + "transactionIndex": "0x10", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "cumulativeGasUsed": "0x885172", + "gasUsed": "0xdb75", + "contractAddress": null, + "logs": [ + { + "address": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db", + "0x000000000000000000000000d3e9f80f4cc22761587b19a7f5335a017bcb0ecd", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0x06d0014648eafa4a0d15871f9f93113d3c8ef3feae041b868736c0687a65b5b5", + "transactionIndex": "0x10", + "logIndex": "0xb", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000020000000100000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000180000000000000100000000000000000000000008000000000000000000001000000000000000000000000000008000000000000000000000008000000100400000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + }, + { + "transactionHash": "0x05436d8041d4feb5101821ab547d2a561514ab8e4822be7e65dd416a26a9a2a8", + "transactionIndex": "0x11", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "cumulativeGasUsed": "0x892ce7", + "gasUsed": "0xdb75", + "contractAddress": null, + "logs": [ + { + "address": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db", + "0x0000000000000000000000005fb712af304570ad9599e55e1105b7a42a5e30db", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0x05436d8041d4feb5101821ab547d2a561514ab8e4822be7e65dd416a26a9a2a8", + "transactionIndex": "0x11", + "logIndex": "0xc", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000800000000000000000000000000020000000100000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000001000000000000000000020000000000000000000000000000000008000000100400000000000000000000000000000000000000000000000000000000000000000000000800000", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + }, + { + "transactionHash": "0xe28f471cdaacea3748c1fa39bf1ed94ce6fceb0cfb3d2209c1ebc4ff053806eb", + "transactionIndex": "0x12", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "cumulativeGasUsed": "0x8a085c", + "gasUsed": "0xdb75", + "contractAddress": null, + "logs": [ + { + "address": "0x518cCD79E0E7B75fd5Fcc09463FB09cB7D55470d", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x33dd54660937884a707404066945db647918933f71cc471efc6d6d0c3665d8db", + "0x000000000000000000000000058bb0d7795cfa2a46c60c0b63f8f0fa7cd1eed5", + "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab" + ], + "data": "0x", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0xe28f471cdaacea3748c1fa39bf1ed94ce6fceb0cfb3d2209c1ebc4ff053806eb", + "transactionIndex": "0x12", + "logIndex": "0xd", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000020000000100000000000000000200000000000000000000000000000000080000000000000000000000000000002000000000000000000000000000000000000000000000180000000000000000000000000000000000000008000000000000000000001000000000000000000000000000000000000000000000000000008000000100400000000000000000000000000000000000000000020000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + }, + { + "transactionHash": "0x84bf3d8ff2fd42cb33def0c55c627b34904230f3e7372dedd41a640271383afe", + "transactionIndex": "0x13", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x51870A0659A87c7B46baEF7311B3128006E1FB16", + "cumulativeGasUsed": "0x8af348", + "gasUsed": "0xeaec", + "contractAddress": null, + "logs": [ + { + "address": "0x51870A0659A87c7B46baEF7311B3128006E1FB16", + "topics": [ + "0x14d77cb3ef4c75b9a031527cf63890f47708121a75c8b9c9cddbacc19defd122", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000d3e9f80f4cc22761587b19a7f5335a017bcb0ecd" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000013524547495354524154494f4e5f4d4f44554c4500000000000000000000000000", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0x84bf3d8ff2fd42cb33def0c55c627b34904230f3e7372dedd41a640271383afe", + "transactionIndex": "0x13", + "logIndex": "0xe", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000100000000000000000020000000000000000000000020000000000000000000800000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000100000000000000000002000008000000000000000000000000000000000000400000000000008000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + }, + { + "transactionHash": "0xd59894c1a06160516ca2bcc779bbe338f4cfebedbe5a9cee12dfc2159a0ab988", + "transactionIndex": "0x14", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x51870A0659A87c7B46baEF7311B3128006E1FB16", + "cumulativeGasUsed": "0x8bde34", + "gasUsed": "0xeaec", + "contractAddress": null, + "logs": [ + { + "address": "0x51870A0659A87c7B46baEF7311B3128006E1FB16", + "topics": [ + "0x14d77cb3ef4c75b9a031527cf63890f47708121a75c8b9c9cddbacc19defd122", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000005fb712af304570ad9599e55e1105b7a42a5e30db" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001352454c4154494f4e534849505f4d4f44554c4500000000000000000000000000", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0xd59894c1a06160516ca2bcc779bbe338f4cfebedbe5a9cee12dfc2159a0ab988", + "transactionIndex": "0x14", + "logIndex": "0xf", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000080000100000000000000000020000000000000000000000020000000000000000000800000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000400020000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000800000", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + }, + { + "transactionHash": "0x1ffb1a979bb740b3d72d9283c509e19bac5ca1b185e2cdc3d9caf9b86233d831", + "transactionIndex": "0x15", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x51870A0659A87c7B46baEF7311B3128006E1FB16", + "cumulativeGasUsed": "0x8cc8fc", + "gasUsed": "0xeac8", + "contractAddress": null, + "logs": [ + { + "address": "0x51870A0659A87c7B46baEF7311B3128006E1FB16", + "topics": [ + "0x14d77cb3ef4c75b9a031527cf63890f47708121a75c8b9c9cddbacc19defd122", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000058bb0d7795cfa2a46c60c0b63f8f0fa7cd1eed5" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000104c4943454e53494e475f4d4f44554c4500000000000000000000000000000000", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0x1ffb1a979bb740b3d72d9283c509e19bac5ca1b185e2cdc3d9caf9b86233d831", + "transactionIndex": "0x15", + "logIndex": "0x10", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000100000000000000000020000000000000000000000020000000000000000000800000000080000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000002000008000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000020000000000000000000000000000000020000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + }, + { + "transactionHash": "0x801095c317c215a221d06d8cdb3b0a22ebbef014f7acabef627fdae7f756f247", + "transactionIndex": "0x16", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x25A6f44df208E8Cc79E97fE72E240F4cDb3D9a46", + "cumulativeGasUsed": "0x913436", + "gasUsed": "0x46b3a", + "contractAddress": null, + "logs": [ + { + "address": "0x1434fC16D6f101605d79577E86A5005424461570", + "topics": [ + "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0x801095c317c215a221d06d8cdb3b0a22ebbef014f7acabef627fdae7f756f247", + "transactionIndex": "0x16", + "logIndex": "0x11", + "removed": false + }, + { + "address": "0x51870A0659A87c7B46baEF7311B3128006E1FB16", + "topics": [ + "0x48786003f3d30e41bfa4ee09afdeb9bfb04b7e06e2f74f3177da393a793bbc33", + "0x0000000000000000000000001434fc16d6f101605d79577e86a5005424461570", + "0x000000000000000000000000c4f7e87f9ff2a2df9bc7ff8399558b594ebf911a" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000013524547495354524154494f4e5f4d4f44554c450000000000000000000000000000000000000000000000000000000000000000000000000000000000000001609aeb830ec91a14c97a5446cc7c86a42f73a78f37f9a77afa238b5d11520ddfbc000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000553544f525900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000094348415241435445520000000000000000000000000000000000000000000000", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0x801095c317c215a221d06d8cdb3b0a22ebbef014f7acabef627fdae7f756f247", + "transactionIndex": "0x16", + "logIndex": "0x12", + "removed": false + }, + { + "address": "0xC4F7E87F9FF2A2DF9bC7FF8399558B594EBF911A", + "topics": [ + "0x81e084d978860accc83df39f75b801d9019e40d18643b9b39f4cd2a70ca35adb" + ], + "data": "0x000000000000000000000000f398c12a45bc409b6c652e25bb0a3e702492a4ab0000000000000000000000001434fc16d6f101605d79577e86a500542446157000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000d53616d706c65204950204f72670000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000045349504f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000553544f525900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000094348415241435445520000000000000000000000000000000000000000000000", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0x801095c317c215a221d06d8cdb3b0a22ebbef014f7acabef627fdae7f756f247", + "transactionIndex": "0x16", + "logIndex": "0x13", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000008000020000000000000000000000000000004000000000000000002000000000140000000000000000020000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000002100000000000000000000000000080000000000000010000000000000000000100000000000400000000040000000000000000000001000008400000000000008000000000040000000000000000000000000000000002000000000000000000010000080000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + }, + { + "transactionHash": "0xe4a5f49d9dd2944e060cbb1557f354424cfd005bef16109ffc9ede5ebf0269db", + "transactionIndex": "0x17", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x51870A0659A87c7B46baEF7311B3128006E1FB16", + "cumulativeGasUsed": "0x927702", + "gasUsed": "0x142cc", + "contractAddress": null, + "logs": [ + { + "address": "0x51870A0659A87c7B46baEF7311B3128006E1FB16", + "topics": [ + "0x33f12a9d70fd5f6771d495aae3b2cf0abc703cbaa526982b65446f1ef8816f9b", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000919cc6581801039f92863862b186025a1f562b17" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010544f4b454e5f47415445445f484f4f4b00000000000000000000000000000000", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0xe4a5f49d9dd2944e060cbb1557f354424cfd005bef16109ffc9ede5ebf0269db", + "transactionIndex": "0x17", + "logIndex": "0x14", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000100000000000000000020000000000000000080000020000000000000000000800000000000000000000000010000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000020000000000000000020", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + }, + { + "transactionHash": "0x9bac9b42100faa9ae0888a1d9e234c364aee08f5915774332eb66b1009e78510", + "transactionIndex": "0x18", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x51870A0659A87c7B46baEF7311B3128006E1FB16", + "cumulativeGasUsed": "0x93b9e6", + "gasUsed": "0x142e4", + "contractAddress": null, + "logs": [ + { + "address": "0x51870A0659A87c7B46baEF7311B3128006E1FB16", + "topics": [ + "0x33f12a9d70fd5f6771d495aae3b2cf0abc703cbaa526982b65446f1ef8816f9b", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000006b71284309df6871cc28595d938ec57a5ad06a0a" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000012504f4c59474f4e5f544f4b454e5f484f4f4b0000000000000000000000000000", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0x9bac9b42100faa9ae0888a1d9e234c364aee08f5915774332eb66b1009e78510", + "transactionIndex": "0x18", + "logIndex": "0x15", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000100000000000000000020000000000000000080000020000000000000000000800000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000008000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000020000000008000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + }, + { + "transactionHash": "0x16a8fff5090d2589d2b306d04af5275d6aba1bcf3dcc4f62067393369d13cf57", + "transactionIndex": "0x19", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0xD3E9F80F4Cc22761587B19A7F5335A017bcB0eCd", + "cumulativeGasUsed": "0x9819d9", + "gasUsed": "0x45ff3", + "contractAddress": null, + "logs": [ + { + "address": "0xD3E9F80F4Cc22761587B19A7F5335A017bcB0eCd", + "topics": [ + "0x1fe48a4ec69671720d8bdd8f8a6853d16f486c0bb91fcaf5b8ffc4932b8bc9f4", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x5687dcebb2ddc5ef0e24a46ac21ce3b7b786a733bb07d7fdc588634a193227a7" + ], + "data": "0x", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0x16a8fff5090d2589d2b306d04af5275d6aba1bcf3dcc4f62067393369d13cf57", + "transactionIndex": "0x19", + "logIndex": "0x16", + "removed": false + }, + { + "address": "0xD3E9F80F4Cc22761587B19A7F5335A017bcB0eCd", + "topics": [ + "0x5e140eb5bed8bcb1664a04c0be4aa419e0d2dbf1277a4a6770882a0beb3b91b2", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x5687dcebb2ddc5ef0e24a46ac21ce3b7b786a733bb07d7fdc588634a193227a7" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000919cc6581801039f92863862b186025a1f562b170000000000000000000000006b71284309df6871cc28595d938ec57a5ad06a0a", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0x16a8fff5090d2589d2b306d04af5275d6aba1bcf3dcc4f62067393369d13cf57", + "transactionIndex": "0x19", + "logIndex": "0x17", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000200000000000004000100000000000000000000000020000000000000000000000000000000000000000000000000040000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000820000000000000000000800000000000000000000000001000000000000000000000000080000000000040000000000000001000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + }, + { + "transactionHash": "0xa3c1a3087c5a99a0fb87108b28c61b94ed9500616da895ed7590a96face368ca", + "transactionIndex": "0x1a", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "from": "0xf398C12A45Bc409b6C652E25bb0a3e702492A4ab", + "to": "0x3113e5bfe2251A9fcA1225083cf6d36547E63e07", + "cumulativeGasUsed": "0xa83f56", + "gasUsed": "0x10257d", + "contractAddress": null, + "logs": [ + { + "address": "0x3113e5bfe2251A9fcA1225083cf6d36547E63e07", + "topics": [ + "0x25be0d4acedf2199ce49f3044ddf933ebe2febd8c63bd2cdd7ed12b458fc3361" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000604368616e6e656c732d4f662d446973747269627574696f6e000000000000001800000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000095350554d4c2d312e3000000000000000000000000000000000000000000000004368616e6e656c732d4f662d446973747269627574696f6e00000000000000180000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0xa3c1a3087c5a99a0fb87108b28c61b94ed9500616da895ed7590a96face368ca", + "transactionIndex": "0x1a", + "logIndex": "0x18", + "removed": false + }, + { + "address": "0x3113e5bfe2251A9fcA1225083cf6d36547E63e07", + "topics": [ + "0x25be0d4acedf2199ce49f3044ddf933ebe2febd8c63bd2cdd7ed12b458fc3361" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000604174747269627574696f6e00000000000000000000000000000000000000000b00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000095350554d4c2d312e3000000000000000000000000000000000000000000000004174747269627574696f6e00000000000000000000000000000000000000000b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0xa3c1a3087c5a99a0fb87108b28c61b94ed9500616da895ed7590a96face368ca", + "transactionIndex": "0x1a", + "logIndex": "0x19", + "removed": false + }, + { + "address": "0x3113e5bfe2251A9fcA1225083cf6d36547E63e07", + "topics": [ + "0x25be0d4acedf2199ce49f3044ddf933ebe2febd8c63bd2cdd7ed12b458fc3361" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000006044657269766174697665732d416c6c6f7765640000000000000000000000001300000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000095350554d4c2d312e30000000000000000000000000000000000000000000000044657269766174697665732d416c6c6f776564000000000000000000000000130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0xa3c1a3087c5a99a0fb87108b28c61b94ed9500616da895ed7590a96face368ca", + "transactionIndex": "0x1a", + "logIndex": "0x1a", + "removed": false + }, + { + "address": "0x3113e5bfe2251A9fcA1225083cf6d36547E63e07", + "topics": [ + "0x25be0d4acedf2199ce49f3044ddf933ebe2febd8c63bd2cdd7ed12b458fc3361" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000006044657269766174697665732d416c6c6f7765642d4f7074696f6e73000000001b00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000095350554d4c2d312e30000000000000000000000000000000000000000000000044657269766174697665732d416c6c6f7765642d4f7074696f6e73000000001b0000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000003416c6c6f7765642d576974682d417070726f76616c0000000000000000000015416c6c6f7765642d5265636970726f63616c2d4c6963656e736500000000001a416c6c6f7765642d576974682d4174747269627574696f6e0000000000000018", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0xa3c1a3087c5a99a0fb87108b28c61b94ed9500616da895ed7590a96face368ca", + "transactionIndex": "0x1a", + "logIndex": "0x1b", + "removed": false + }, + { + "address": "0x3113e5bfe2251A9fcA1225083cf6d36547E63e07", + "topics": [ + "0xcc3b4b42d496457f15f49a410f201fdb906b09fbff771f240a8dc8418abe68be" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000095350554d4c2d312e300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004a68747470733a2f2f6769746875622e636f6d2f73746f727970726f746f636f6c2f70726f746f636f6c2d636f6e7472616374732f626c6f622f6d61696e2f5350554d4c2d76312e70646600000000000000000000000000000000000000000000", + "blockHash": "0x33d70b288d2e0fb5da18698af3a87617b83e7ed86f577597672cf8980f50dd3d", + "blockNumber": "0x49ebbc", + "transactionHash": "0xa3c1a3087c5a99a0fb87108b28c61b94ed9500616da895ed7590a96face368ca", + "transactionIndex": "0x1a", + "logIndex": "0x1c", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000100008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9438bec" + } + ], + "libraries": [], + "pending": [], + "path": "/Users/drmanhattan/Workspace/StoryProtocol/protocol-contracts/broadcast/Main.s.sol/11155111/run-latest.json", + "returns": {}, + "timestamp": 1702012710, + "chain": 11155111, + "multi": false, + "commit": "d1b1d7f" +} \ No newline at end of file diff --git a/broadcast/RelationshipProcessors.s.sol/5/run-1690563933.json b/broadcast/RelationshipProcessors.s.sol/5/run-1690563933.json deleted file mode 100644 index 506f6842..00000000 --- a/broadcast/RelationshipProcessors.s.sol/5/run-1690563933.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x718adba1f9e7c44a336887a7698f69ee71dbf0c9e963541c1ddf61ee779439c0", - "transactionType": "CREATE", - "contractName": "SrcRequestOrDstOwnerRelationshipProcessor", - "contractAddress": "0x5C10cC663aE967877dE42572a5FD9B823321F0F4", - "function": null, - "arguments": [ - "0xb146cB898E95953f353bf5A50Fb8f129eC0D5AAb" - ], - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x6ecbe", - "value": "0x0", - "data": "0x60a060405234801561001057600080fd5b5060405161061038038061061083398101604081905261002f91610069565b806001600160a01b0381166100575760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b031660805250610099565b60006020828403121561007b57600080fd5b81516001600160a01b038116811461009257600080fd5b9392505050565b60805161055c6100b46000396000610128015261055c6000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806301ffc9a71461003b57806363c7c03614610062575b600080fd5b61004e610049366004610345565b610075565b604051901515815260200160405180910390f35b61004e61007036600461040c565b61010e565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316148061010857507fffffffff0000000000000000000000000000000000000000000000000000000082167f63c7c03600000000000000000000000000000000000000000000000000000000145b92915050565b60003373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461017f576040517f482aa9df00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61018b85858585610196565b90505b949350505050565b60008173ffffffffffffffffffffffffffffffffffffffff16856040015173ffffffffffffffffffffffffffffffffffffffff16636352211e87606001516040518263ffffffff1660e01b81526004016101f291815260200190565b602060405180830381865afa15801561020f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102339190610509565b73ffffffffffffffffffffffffffffffffffffffff16036102565750600161018e565b845160208601516040517f6352211e000000000000000000000000000000000000000000000000000000008152600481019190915273ffffffffffffffffffffffffffffffffffffffff848116921690636352211e90602401602060405180830381865afa1580156102cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102f09190610509565b73ffffffffffffffffffffffffffffffffffffffff16036103135750600061018e565b6040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006020828403121561035757600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461038757600080fd5b9392505050565b73ffffffffffffffffffffffffffffffffffffffff811681146103b057600080fd5b50565b80356103be8161038e565b919050565b60008083601f8401126103d557600080fd5b50813567ffffffffffffffff8111156103ed57600080fd5b60208301915083602082850101111561040557600080fd5b9250929050565b60008060008084860361010081121561042457600080fd5b60c081121561043257600080fd5b5060405160c0810167ffffffffffffffff828210818311171561047e577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b8160405261048b886103b3565b8352602088013560208401526104a3604089016103b3565b6040840152606088013560608401526080880135608084015260a088013560a084015282965060c08801359250808311156104dd57600080fd5b50506104eb878288016103c3565b90945092506104fe905060e086016103b3565b905092959194509250565b60006020828403121561051b57600080fd5b81516103878161038e56fea26469706673582212209db05e8a3e807abb833d0c4ab6a3e359fa038709ebfaab1555fb7f63fd28ba4964736f6c63430008130033000000000000000000000000b146cb898e95953f353bf5a50fb8f129ec0d5aab", - "nonce": "0x3b", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [], - "libraries": [], - "pending": [ - "0x718adba1f9e7c44a336887a7698f69ee71dbf0c9e963541c1ddf61ee779439c0" - ], - "path": "/Users/drmanhattan/Workspace/StoryProtocol/protocol-contracts/broadcast/RelationshipProcessors.s.sol/5/run-latest.json", - "returns": {}, - "timestamp": 1690563933, - "chain": 5, - "multi": false, - "commit": "3137031" -} \ No newline at end of file diff --git a/broadcast/RelationshipProcessors.s.sol/5/run-1690563940.json b/broadcast/RelationshipProcessors.s.sol/5/run-1690563940.json deleted file mode 100644 index 95e26e5a..00000000 --- a/broadcast/RelationshipProcessors.s.sol/5/run-1690563940.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x718adba1f9e7c44a336887a7698f69ee71dbf0c9e963541c1ddf61ee779439c0", - "transactionType": "CREATE", - "contractName": "SrcRequestOrDstOwnerRelationshipProcessor", - "contractAddress": "0x5C10cC663aE967877dE42572a5FD9B823321F0F4", - "function": null, - "arguments": [ - "0xb146cB898E95953f353bf5A50Fb8f129eC0D5AAb" - ], - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x6ecbe", - "value": "0x0", - "data": "0x60a060405234801561001057600080fd5b5060405161061038038061061083398101604081905261002f91610069565b806001600160a01b0381166100575760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b031660805250610099565b60006020828403121561007b57600080fd5b81516001600160a01b038116811461009257600080fd5b9392505050565b60805161055c6100b46000396000610128015261055c6000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806301ffc9a71461003b57806363c7c03614610062575b600080fd5b61004e610049366004610345565b610075565b604051901515815260200160405180910390f35b61004e61007036600461040c565b61010e565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316148061010857507fffffffff0000000000000000000000000000000000000000000000000000000082167f63c7c03600000000000000000000000000000000000000000000000000000000145b92915050565b60003373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461017f576040517f482aa9df00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61018b85858585610196565b90505b949350505050565b60008173ffffffffffffffffffffffffffffffffffffffff16856040015173ffffffffffffffffffffffffffffffffffffffff16636352211e87606001516040518263ffffffff1660e01b81526004016101f291815260200190565b602060405180830381865afa15801561020f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102339190610509565b73ffffffffffffffffffffffffffffffffffffffff16036102565750600161018e565b845160208601516040517f6352211e000000000000000000000000000000000000000000000000000000008152600481019190915273ffffffffffffffffffffffffffffffffffffffff848116921690636352211e90602401602060405180830381865afa1580156102cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102f09190610509565b73ffffffffffffffffffffffffffffffffffffffff16036103135750600061018e565b6040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006020828403121561035757600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461038757600080fd5b9392505050565b73ffffffffffffffffffffffffffffffffffffffff811681146103b057600080fd5b50565b80356103be8161038e565b919050565b60008083601f8401126103d557600080fd5b50813567ffffffffffffffff8111156103ed57600080fd5b60208301915083602082850101111561040557600080fd5b9250929050565b60008060008084860361010081121561042457600080fd5b60c081121561043257600080fd5b5060405160c0810167ffffffffffffffff828210818311171561047e577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b8160405261048b886103b3565b8352602088013560208401526104a3604089016103b3565b6040840152606088013560608401526080880135608084015260a088013560a084015282965060c08801359250808311156104dd57600080fd5b50506104eb878288016103c3565b90945092506104fe905060e086016103b3565b905092959194509250565b60006020828403121561051b57600080fd5b81516103878161038e56fea26469706673582212209db05e8a3e807abb833d0c4ab6a3e359fa038709ebfaab1555fb7f63fd28ba4964736f6c63430008130033000000000000000000000000b146cb898e95953f353bf5a50fb8f129ec0d5aab", - "nonce": "0x3b", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "transactionHash": "0x718adba1f9e7c44a336887a7698f69ee71dbf0c9e963541c1ddf61ee779439c0", - "transactionIndex": "0x15", - "blockHash": "0x1fb121e64e5765e41e6b6e919dd8685786c797ff166ba8aac1915d685b6fcd8d", - "blockNumber": "0x8fca8a", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": null, - "cumulativeGasUsed": "0x295d9d", - "gasUsed": "0x5540a", - "contractAddress": "0x5C10cC663aE967877dE42572a5FD9B823321F0F4", - "logs": [], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0x19a879654" - } - ], - "libraries": [], - "pending": [], - "path": "/Users/drmanhattan/Workspace/StoryProtocol/protocol-contracts/broadcast/RelationshipProcessors.s.sol/5/run-latest.json", - "returns": {}, - "timestamp": 1690563940, - "chain": 5, - "multi": false, - "commit": "3137031" -} \ No newline at end of file diff --git a/broadcast/RelationshipProcessors.s.sol/5/run-1690563966.json b/broadcast/RelationshipProcessors.s.sol/5/run-1690563966.json deleted file mode 100644 index 32d998f7..00000000 --- a/broadcast/RelationshipProcessors.s.sol/5/run-1690563966.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x718adba1f9e7c44a336887a7698f69ee71dbf0c9e963541c1ddf61ee779439c0", - "transactionType": "CREATE", - "contractName": "SrcRequestOrDstOwnerRelationshipProcessor", - "contractAddress": "0x5C10cC663aE967877dE42572a5FD9B823321F0F4", - "function": null, - "arguments": [ - "0xb146cB898E95953f353bf5A50Fb8f129eC0D5AAb" - ], - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x6ecbe", - "value": "0x0", - "data": "0x60a060405234801561001057600080fd5b5060405161061038038061061083398101604081905261002f91610069565b806001600160a01b0381166100575760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b031660805250610099565b60006020828403121561007b57600080fd5b81516001600160a01b038116811461009257600080fd5b9392505050565b60805161055c6100b46000396000610128015261055c6000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806301ffc9a71461003b57806363c7c03614610062575b600080fd5b61004e610049366004610345565b610075565b604051901515815260200160405180910390f35b61004e61007036600461040c565b61010e565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316148061010857507fffffffff0000000000000000000000000000000000000000000000000000000082167f63c7c03600000000000000000000000000000000000000000000000000000000145b92915050565b60003373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461017f576040517f482aa9df00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61018b85858585610196565b90505b949350505050565b60008173ffffffffffffffffffffffffffffffffffffffff16856040015173ffffffffffffffffffffffffffffffffffffffff16636352211e87606001516040518263ffffffff1660e01b81526004016101f291815260200190565b602060405180830381865afa15801561020f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102339190610509565b73ffffffffffffffffffffffffffffffffffffffff16036102565750600161018e565b845160208601516040517f6352211e000000000000000000000000000000000000000000000000000000008152600481019190915273ffffffffffffffffffffffffffffffffffffffff848116921690636352211e90602401602060405180830381865afa1580156102cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102f09190610509565b73ffffffffffffffffffffffffffffffffffffffff16036103135750600061018e565b6040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006020828403121561035757600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461038757600080fd5b9392505050565b73ffffffffffffffffffffffffffffffffffffffff811681146103b057600080fd5b50565b80356103be8161038e565b919050565b60008083601f8401126103d557600080fd5b50813567ffffffffffffffff8111156103ed57600080fd5b60208301915083602082850101111561040557600080fd5b9250929050565b60008060008084860361010081121561042457600080fd5b60c081121561043257600080fd5b5060405160c0810167ffffffffffffffff828210818311171561047e577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b8160405261048b886103b3565b8352602088013560208401526104a3604089016103b3565b6040840152606088013560608401526080880135608084015260a088013560a084015282965060c08801359250808311156104dd57600080fd5b50506104eb878288016103c3565b90945092506104fe905060e086016103b3565b905092959194509250565b60006020828403121561051b57600080fd5b81516103878161038e56fea26469706673582212209db05e8a3e807abb833d0c4ab6a3e359fa038709ebfaab1555fb7f63fd28ba4964736f6c63430008130033000000000000000000000000b146cb898e95953f353bf5a50fb8f129ec0d5aab", - "nonce": "0x3b", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "transactionHash": "0x718adba1f9e7c44a336887a7698f69ee71dbf0c9e963541c1ddf61ee779439c0", - "transactionIndex": "0x15", - "blockHash": "0x1fb121e64e5765e41e6b6e919dd8685786c797ff166ba8aac1915d685b6fcd8d", - "blockNumber": "0x8fca8a", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": null, - "cumulativeGasUsed": "0x295d9d", - "gasUsed": "0x5540a", - "contractAddress": "0x5C10cC663aE967877dE42572a5FD9B823321F0F4", - "logs": [], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0x19a879654" - } - ], - "libraries": [], - "pending": [], - "path": "/Users/drmanhattan/Workspace/StoryProtocol/protocol-contracts/broadcast/RelationshipProcessors.s.sol/5/run-latest.json", - "returns": {}, - "timestamp": 1690563966, - "chain": 5, - "multi": false, - "commit": "3137031" -} \ No newline at end of file diff --git a/broadcast/RelationshipProcessors.s.sol/5/run-latest.json b/broadcast/RelationshipProcessors.s.sol/5/run-latest.json deleted file mode 100644 index 32d998f7..00000000 --- a/broadcast/RelationshipProcessors.s.sol/5/run-latest.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x718adba1f9e7c44a336887a7698f69ee71dbf0c9e963541c1ddf61ee779439c0", - "transactionType": "CREATE", - "contractName": "SrcRequestOrDstOwnerRelationshipProcessor", - "contractAddress": "0x5C10cC663aE967877dE42572a5FD9B823321F0F4", - "function": null, - "arguments": [ - "0xb146cB898E95953f353bf5A50Fb8f129eC0D5AAb" - ], - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "gas": "0x6ecbe", - "value": "0x0", - "data": "0x60a060405234801561001057600080fd5b5060405161061038038061061083398101604081905261002f91610069565b806001600160a01b0381166100575760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b031660805250610099565b60006020828403121561007b57600080fd5b81516001600160a01b038116811461009257600080fd5b9392505050565b60805161055c6100b46000396000610128015261055c6000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806301ffc9a71461003b57806363c7c03614610062575b600080fd5b61004e610049366004610345565b610075565b604051901515815260200160405180910390f35b61004e61007036600461040c565b61010e565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316148061010857507fffffffff0000000000000000000000000000000000000000000000000000000082167f63c7c03600000000000000000000000000000000000000000000000000000000145b92915050565b60003373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461017f576040517f482aa9df00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61018b85858585610196565b90505b949350505050565b60008173ffffffffffffffffffffffffffffffffffffffff16856040015173ffffffffffffffffffffffffffffffffffffffff16636352211e87606001516040518263ffffffff1660e01b81526004016101f291815260200190565b602060405180830381865afa15801561020f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102339190610509565b73ffffffffffffffffffffffffffffffffffffffff16036102565750600161018e565b845160208601516040517f6352211e000000000000000000000000000000000000000000000000000000008152600481019190915273ffffffffffffffffffffffffffffffffffffffff848116921690636352211e90602401602060405180830381865afa1580156102cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102f09190610509565b73ffffffffffffffffffffffffffffffffffffffff16036103135750600061018e565b6040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006020828403121561035757600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461038757600080fd5b9392505050565b73ffffffffffffffffffffffffffffffffffffffff811681146103b057600080fd5b50565b80356103be8161038e565b919050565b60008083601f8401126103d557600080fd5b50813567ffffffffffffffff8111156103ed57600080fd5b60208301915083602082850101111561040557600080fd5b9250929050565b60008060008084860361010081121561042457600080fd5b60c081121561043257600080fd5b5060405160c0810167ffffffffffffffff828210818311171561047e577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b8160405261048b886103b3565b8352602088013560208401526104a3604089016103b3565b6040840152606088013560608401526080880135608084015260a088013560a084015282965060c08801359250808311156104dd57600080fd5b50506104eb878288016103c3565b90945092506104fe905060e086016103b3565b905092959194509250565b60006020828403121561051b57600080fd5b81516103878161038e56fea26469706673582212209db05e8a3e807abb833d0c4ab6a3e359fa038709ebfaab1555fb7f63fd28ba4964736f6c63430008130033000000000000000000000000b146cb898e95953f353bf5a50fb8f129ec0d5aab", - "nonce": "0x3b", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "transactionHash": "0x718adba1f9e7c44a336887a7698f69ee71dbf0c9e963541c1ddf61ee779439c0", - "transactionIndex": "0x15", - "blockHash": "0x1fb121e64e5765e41e6b6e919dd8685786c797ff166ba8aac1915d685b6fcd8d", - "blockNumber": "0x8fca8a", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": null, - "cumulativeGasUsed": "0x295d9d", - "gasUsed": "0x5540a", - "contractAddress": "0x5C10cC663aE967877dE42572a5FD9B823321F0F4", - "logs": [], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0x19a879654" - } - ], - "libraries": [], - "pending": [], - "path": "/Users/drmanhattan/Workspace/StoryProtocol/protocol-contracts/broadcast/RelationshipProcessors.s.sol/5/run-latest.json", - "returns": {}, - "timestamp": 1690563966, - "chain": 5, - "multi": false, - "commit": "3137031" -} \ No newline at end of file diff --git a/broadcast/SetAppearsInRelationship.s.sol/5/run-1690564505.json b/broadcast/SetAppearsInRelationship.s.sol/5/run-1690564505.json deleted file mode 100644 index d25c6ff2..00000000 --- a/broadcast/SetAppearsInRelationship.s.sol/5/run-1690564505.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xed8f1d4c20b5829fa49161a25de211603c68b2ee3577e46b48e201f798e4470d", - "transactionType": "CALL", - "contractName": "ERC1967Proxy", - "contractAddress": "0xb146cB898E95953f353bf5A50Fb8f129eC0D5AAb", - "function": null, - "arguments": null, - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "to": "0xb146cb898e95953f353bf5a50fb8f129ec0d5aab", - "gas": "0x323d4", - "value": "0x0", - "data": "0x44dd5e2a00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000a415050454152535f494e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000005c10cc663ae967877de42572a5fd9b823321f0f4000000000000000000000000b6288e57bf7406b35ab4f70fd1135e907107e3860000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", - "nonce": "0x3c", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [], - "libraries": [], - "pending": [ - "0xed8f1d4c20b5829fa49161a25de211603c68b2ee3577e46b48e201f798e4470d" - ], - "path": "/Users/drmanhattan/Workspace/StoryProtocol/protocol-contracts/broadcast/SetAppearsInRelationship.s.sol/5/run-latest.json", - "returns": {}, - "timestamp": 1690564505, - "chain": 5, - "multi": false, - "commit": "3137031" -} \ No newline at end of file diff --git a/broadcast/SetAppearsInRelationship.s.sol/5/run-1690564518.json b/broadcast/SetAppearsInRelationship.s.sol/5/run-1690564518.json deleted file mode 100644 index 2ee85e9b..00000000 --- a/broadcast/SetAppearsInRelationship.s.sol/5/run-1690564518.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xed8f1d4c20b5829fa49161a25de211603c68b2ee3577e46b48e201f798e4470d", - "transactionType": "CALL", - "contractName": "ERC1967Proxy", - "contractAddress": "0xb146cB898E95953f353bf5A50Fb8f129eC0D5AAb", - "function": null, - "arguments": null, - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "to": "0xb146cb898e95953f353bf5a50fb8f129ec0d5aab", - "gas": "0x323d4", - "value": "0x0", - "data": "0x44dd5e2a00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000a415050454152535f494e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000005c10cc663ae967877de42572a5fd9b823321f0f4000000000000000000000000b6288e57bf7406b35ab4f70fd1135e907107e3860000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", - "nonce": "0x3c", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "transactionHash": "0xed8f1d4c20b5829fa49161a25de211603c68b2ee3577e46b48e201f798e4470d", - "transactionIndex": "0x8", - "blockHash": "0x993c3ec34db067273436e0cd6437895104a7eb6c00ef1c4f8c02f27f0fbadfb6", - "blockNumber": "0x8fcaac", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": "0xb146cB898E95953f353bf5A50Fb8f129eC0D5AAb", - "cumulativeGasUsed": "0x14ac9c", - "gasUsed": "0x245f6", - "contractAddress": null, - "logs": [ - { - "address": "0xb146cB898E95953f353bf5A50Fb8f129eC0D5AAb", - "topics": [ - "0x23d823dca554930dda2141543b0575ecace98e873be3b3fa7dbc7b7c2e8dba6d", - "0x472511bc397e46b55b56292ba067168f2f5ceb640570883cadf0daafda894c1d" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000074000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000005c10cc663ae967877de42572a5fd9b823321f0f4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a415050454152535f494e00000000000000000000000000000000000000000000", - "blockHash": "0x993c3ec34db067273436e0cd6437895104a7eb6c00ef1c4f8c02f27f0fbadfb6", - "blockNumber": "0x8fcaac", - "transactionHash": "0xed8f1d4c20b5829fa49161a25de211603c68b2ee3577e46b48e201f798e4470d", - "transactionIndex": "0x8", - "logIndex": "0x18", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000008000000000000000000010000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000008040000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0x18e0de510" - } - ], - "libraries": [], - "pending": [], - "path": "/Users/drmanhattan/Workspace/StoryProtocol/protocol-contracts/broadcast/SetAppearsInRelationship.s.sol/5/run-latest.json", - "returns": {}, - "timestamp": 1690564518, - "chain": 5, - "multi": false, - "commit": "3137031" -} \ No newline at end of file diff --git a/broadcast/SetAppearsInRelationship.s.sol/5/run-latest.json b/broadcast/SetAppearsInRelationship.s.sol/5/run-latest.json deleted file mode 100644 index 2ee85e9b..00000000 --- a/broadcast/SetAppearsInRelationship.s.sol/5/run-latest.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xed8f1d4c20b5829fa49161a25de211603c68b2ee3577e46b48e201f798e4470d", - "transactionType": "CALL", - "contractName": "ERC1967Proxy", - "contractAddress": "0xb146cB898E95953f353bf5A50Fb8f129eC0D5AAb", - "function": null, - "arguments": null, - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "to": "0xb146cb898e95953f353bf5a50fb8f129ec0d5aab", - "gas": "0x323d4", - "value": "0x0", - "data": "0x44dd5e2a00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000a415050454152535f494e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000005c10cc663ae967877de42572a5fd9b823321f0f4000000000000000000000000b6288e57bf7406b35ab4f70fd1135e907107e3860000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", - "nonce": "0x3c", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "transactionHash": "0xed8f1d4c20b5829fa49161a25de211603c68b2ee3577e46b48e201f798e4470d", - "transactionIndex": "0x8", - "blockHash": "0x993c3ec34db067273436e0cd6437895104a7eb6c00ef1c4f8c02f27f0fbadfb6", - "blockNumber": "0x8fcaac", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": "0xb146cB898E95953f353bf5A50Fb8f129eC0D5AAb", - "cumulativeGasUsed": "0x14ac9c", - "gasUsed": "0x245f6", - "contractAddress": null, - "logs": [ - { - "address": "0xb146cB898E95953f353bf5A50Fb8f129eC0D5AAb", - "topics": [ - "0x23d823dca554930dda2141543b0575ecace98e873be3b3fa7dbc7b7c2e8dba6d", - "0x472511bc397e46b55b56292ba067168f2f5ceb640570883cadf0daafda894c1d" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000074000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000005c10cc663ae967877de42572a5fd9b823321f0f4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a415050454152535f494e00000000000000000000000000000000000000000000", - "blockHash": "0x993c3ec34db067273436e0cd6437895104a7eb6c00ef1c4f8c02f27f0fbadfb6", - "blockNumber": "0x8fcaac", - "transactionHash": "0xed8f1d4c20b5829fa49161a25de211603c68b2ee3577e46b48e201f798e4470d", - "transactionIndex": "0x8", - "logIndex": "0x18", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000008000000000000000000010000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000008040000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0x18e0de510" - } - ], - "libraries": [], - "pending": [], - "path": "/Users/drmanhattan/Workspace/StoryProtocol/protocol-contracts/broadcast/SetAppearsInRelationship.s.sol/5/run-latest.json", - "returns": {}, - "timestamp": 1690564518, - "chain": 5, - "multi": false, - "commit": "3137031" -} \ No newline at end of file diff --git a/broadcast/SetTestRelationship.s.sol/5/run-1690243774.json b/broadcast/SetTestRelationship.s.sol/5/run-1690243774.json deleted file mode 100644 index 5b2ca5bf..00000000 --- a/broadcast/SetTestRelationship.s.sol/5/run-1690243774.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xebd7bd162f2492ec9da89c35ae9bd17c3072992eecd86f3960862a60c243cb2b", - "transactionType": "CALL", - "contractName": "ERC1967Proxy", - "contractAddress": "0xb146cB898E95953f353bf5A50Fb8f129eC0D5AAb", - "function": null, - "arguments": null, - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "to": "0xb146cb898e95953f353bf5a50fb8f129ec0d5aab", - "gas": "0x33142", - "value": "0x0", - "data": "0x9b18554b074f3b3d8dfe58673dd7ca097f009450834aa91530ccc22c4e33320ed395f906000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000a5ee53c74f75bb4a149c55d8a24e5df563897b0f000000000000000000000000b6288e57bf7406b35ab4f70fd1135e907107e38600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000006", - "nonce": "0x2e", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [], - "libraries": [], - "pending": [ - "0xebd7bd162f2492ec9da89c35ae9bd17c3072992eecd86f3960862a60c243cb2b" - ], - "path": "/Users/drmanhattan/Workspace/StoryProtocol/protocol-contracts/broadcast/SetTestRelationship.s.sol/5/run-latest.json", - "returns": {}, - "timestamp": 1690243774, - "chain": 5, - "multi": false, - "commit": "1fb226b" -} \ No newline at end of file diff --git a/broadcast/SetTestRelationship.s.sol/5/run-1690243792.json b/broadcast/SetTestRelationship.s.sol/5/run-1690243792.json deleted file mode 100644 index 45c453e7..00000000 --- a/broadcast/SetTestRelationship.s.sol/5/run-1690243792.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xebd7bd162f2492ec9da89c35ae9bd17c3072992eecd86f3960862a60c243cb2b", - "transactionType": "CALL", - "contractName": "ERC1967Proxy", - "contractAddress": "0xb146cB898E95953f353bf5A50Fb8f129eC0D5AAb", - "function": null, - "arguments": null, - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "to": "0xb146cb898e95953f353bf5a50fb8f129ec0d5aab", - "gas": "0x33142", - "value": "0x0", - "data": "0x9b18554b074f3b3d8dfe58673dd7ca097f009450834aa91530ccc22c4e33320ed395f906000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000a5ee53c74f75bb4a149c55d8a24e5df563897b0f000000000000000000000000b6288e57bf7406b35ab4f70fd1135e907107e38600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000006", - "nonce": "0x2e", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "transactionHash": "0xebd7bd162f2492ec9da89c35ae9bd17c3072992eecd86f3960862a60c243cb2b", - "transactionIndex": "0x3", - "blockHash": "0x340b8178af3810871cb9c051df97e9148a3d99a8c7917ac61f064e3b889e3061", - "blockNumber": "0x8f7918", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": "0xb146cB898E95953f353bf5A50Fb8f129eC0D5AAb", - "cumulativeGasUsed": "0x6e533", - "gasUsed": "0x24faf", - "contractAddress": null, - "logs": [ - { - "address": "0xb146cB898E95953f353bf5A50Fb8f129eC0D5AAb", - "topics": [ - "0xd3d40cd5cebeb285ec945b172df2fa012d145a26c64ec9c99ffcaebc5a890c03", - "0x074f3b3d8dfe58673dd7ca097f009450834aa91530ccc22c4e33320ed395f906" - ], - "data": "0xff0000000000000000000000000000000000000000000000000000000000007eff0000000000000000000000000000000000000000000000000000000000007e0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000a5ee53c74f75bb4a149c55d8a24e5df563897b0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x340b8178af3810871cb9c051df97e9148a3d99a8c7917ac61f064e3b889e3061", - "blockNumber": "0x8f7918", - "transactionHash": "0xebd7bd162f2492ec9da89c35ae9bd17c3072992eecd86f3960862a60c243cb2b", - "transactionIndex": "0x3", - "logIndex": "0x9", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x40000000000000000000000000000000000000000000000080000000000000000000020000000000000000000000000000000000000000400000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000040000000000000000000000000000000000000000000000000200000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d05e60" - } - ], - "libraries": [], - "pending": [], - "path": "/Users/drmanhattan/Workspace/StoryProtocol/protocol-contracts/broadcast/SetTestRelationship.s.sol/5/run-latest.json", - "returns": {}, - "timestamp": 1690243792, - "chain": 5, - "multi": false, - "commit": "1fb226b" -} \ No newline at end of file diff --git a/broadcast/SetTestRelationship.s.sol/5/run-1690559018.json b/broadcast/SetTestRelationship.s.sol/5/run-1690559018.json deleted file mode 100644 index 91bfa9f2..00000000 --- a/broadcast/SetTestRelationship.s.sol/5/run-1690559018.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xe2c504089f80974335479e5aab7278eddbfbcd74d61c41fb299197f11e0b20c5", - "transactionType": "CALL", - "contractName": "ERC1967Proxy", - "contractAddress": "0xb146cB898E95953f353bf5A50Fb8f129eC0D5AAb", - "function": null, - "arguments": null, - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "to": "0xb146cb898e95953f353bf5a50fb8f129ec0d5aab", - "gas": "0x33c58", - "value": "0x0", - "data": "0x44dd5e2a000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000011544553545f52454c4154494f4e5348495000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000a5ee53c74f75bb4a149c55d8a24e5df563897b0f000000000000000000000000b6288e57bf7406b35ab4f70fd1135e907107e38600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000006", - "nonce": "0x37", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [], - "libraries": [], - "pending": [ - "0xe2c504089f80974335479e5aab7278eddbfbcd74d61c41fb299197f11e0b20c5" - ], - "path": "/Users/drmanhattan/Workspace/StoryProtocol/protocol-contracts/broadcast/SetTestRelationship.s.sol/5/run-latest.json", - "returns": {}, - "timestamp": 1690559018, - "chain": 5, - "multi": false, - "commit": "2c27544" -} \ No newline at end of file diff --git a/broadcast/SetTestRelationship.s.sol/5/run-1690559031.json b/broadcast/SetTestRelationship.s.sol/5/run-1690559031.json deleted file mode 100644 index 5b195562..00000000 --- a/broadcast/SetTestRelationship.s.sol/5/run-1690559031.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xe2c504089f80974335479e5aab7278eddbfbcd74d61c41fb299197f11e0b20c5", - "transactionType": "CALL", - "contractName": "ERC1967Proxy", - "contractAddress": "0xb146cB898E95953f353bf5A50Fb8f129eC0D5AAb", - "function": null, - "arguments": null, - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "to": "0xb146cb898e95953f353bf5a50fb8f129ec0d5aab", - "gas": "0x33c58", - "value": "0x0", - "data": "0x44dd5e2a000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000011544553545f52454c4154494f4e5348495000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000a5ee53c74f75bb4a149c55d8a24e5df563897b0f000000000000000000000000b6288e57bf7406b35ab4f70fd1135e907107e38600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000006", - "nonce": "0x37", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "transactionHash": "0xe2c504089f80974335479e5aab7278eddbfbcd74d61c41fb299197f11e0b20c5", - "transactionIndex": "0xf", - "blockHash": "0xc15ecef5a0262469c697b30d3da679d31681d5d49f8ccd495f795bae188a0fb2", - "blockNumber": "0x8fc956", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": "0xb146cB898E95953f353bf5A50Fb8f129eC0D5AAb", - "cumulativeGasUsed": "0x1c3ca9", - "gasUsed": "0x257b5", - "contractAddress": null, - "logs": [ - { - "address": "0xb146cB898E95953f353bf5A50Fb8f129eC0D5AAb", - "topics": [ - "0x23d823dca554930dda2141543b0575ecace98e873be3b3fa7dbc7b7c2e8dba6d", - "0x683621362ba100a18914ac9e6e6c9388fdf9e0de20bed62f0b9c36aa49404e7a" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000100ff0000000000000000000000000000000000000000000000000000000000007eff0000000000000000000000000000000000000000000000000000000000007e0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000a5ee53c74f75bb4a149c55d8a24e5df563897b0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011544553545f52454c4154494f4e53484950000000000000000000000000000000", - "blockHash": "0xc15ecef5a0262469c697b30d3da679d31681d5d49f8ccd495f795bae188a0fb2", - "blockNumber": "0x8fc956", - "transactionHash": "0xe2c504089f80974335479e5aab7278eddbfbcd74d61c41fb299197f11e0b20c5", - "transactionIndex": "0xf", - "logIndex": "0x1e", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000100000000000000000000000000000000080000000000000000000008000000000000000000000000000000000000000000000008000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000040080000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0x22be82780" - } - ], - "libraries": [], - "pending": [], - "path": "/Users/drmanhattan/Workspace/StoryProtocol/protocol-contracts/broadcast/SetTestRelationship.s.sol/5/run-latest.json", - "returns": {}, - "timestamp": 1690559031, - "chain": 5, - "multi": false, - "commit": "2c27544" -} \ No newline at end of file diff --git a/broadcast/SetTestRelationship.s.sol/5/run-latest.json b/broadcast/SetTestRelationship.s.sol/5/run-latest.json deleted file mode 100644 index 5b195562..00000000 --- a/broadcast/SetTestRelationship.s.sol/5/run-latest.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xe2c504089f80974335479e5aab7278eddbfbcd74d61c41fb299197f11e0b20c5", - "transactionType": "CALL", - "contractName": "ERC1967Proxy", - "contractAddress": "0xb146cB898E95953f353bf5A50Fb8f129eC0D5AAb", - "function": null, - "arguments": null, - "rpc": "https://eth-goerli.g.alchemy.com/v2/7WyRjkZW0XJmt7tb4OqO9YTp5z_iVl-o", - "transaction": { - "type": "0x02", - "from": "0xb6288e57bf7406b35ab4f70fd1135e907107e386", - "to": "0xb146cb898e95953f353bf5a50fb8f129ec0d5aab", - "gas": "0x33c58", - "value": "0x0", - "data": "0x44dd5e2a000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000011544553545f52454c4154494f4e5348495000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000a5ee53c74f75bb4a149c55d8a24e5df563897b0f000000000000000000000000b6288e57bf7406b35ab4f70fd1135e907107e38600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000006", - "nonce": "0x37", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "transactionHash": "0xe2c504089f80974335479e5aab7278eddbfbcd74d61c41fb299197f11e0b20c5", - "transactionIndex": "0xf", - "blockHash": "0xc15ecef5a0262469c697b30d3da679d31681d5d49f8ccd495f795bae188a0fb2", - "blockNumber": "0x8fc956", - "from": "0xB6288e57bf7406B35ab4F70Fd1135E907107e386", - "to": "0xb146cB898E95953f353bf5A50Fb8f129eC0D5AAb", - "cumulativeGasUsed": "0x1c3ca9", - "gasUsed": "0x257b5", - "contractAddress": null, - "logs": [ - { - "address": "0xb146cB898E95953f353bf5A50Fb8f129eC0D5AAb", - "topics": [ - "0x23d823dca554930dda2141543b0575ecace98e873be3b3fa7dbc7b7c2e8dba6d", - "0x683621362ba100a18914ac9e6e6c9388fdf9e0de20bed62f0b9c36aa49404e7a" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000100ff0000000000000000000000000000000000000000000000000000000000007eff0000000000000000000000000000000000000000000000000000000000007e0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000a5ee53c74f75bb4a149c55d8a24e5df563897b0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011544553545f52454c4154494f4e53484950000000000000000000000000000000", - "blockHash": "0xc15ecef5a0262469c697b30d3da679d31681d5d49f8ccd495f795bae188a0fb2", - "blockNumber": "0x8fc956", - "transactionHash": "0xe2c504089f80974335479e5aab7278eddbfbcd74d61c41fb299197f11e0b20c5", - "transactionIndex": "0xf", - "logIndex": "0x1e", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000100000000000000000000000000000000080000000000000000000008000000000000000000000000000000000000000000000008000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000040080000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0x22be82780" - } - ], - "libraries": [], - "pending": [], - "path": "/Users/drmanhattan/Workspace/StoryProtocol/protocol-contracts/broadcast/SetTestRelationship.s.sol/5/run-latest.json", - "returns": {}, - "timestamp": 1690559031, - "chain": 5, - "multi": false, - "commit": "2c27544" -} \ No newline at end of file diff --git a/contracts/IPAssetOrgFactory.sol b/contracts/IPAssetOrgFactory.sol deleted file mode 100644 index 73df4004..00000000 --- a/contracts/IPAssetOrgFactory.sol +++ /dev/null @@ -1,106 +0,0 @@ -// SPDX-License-Identifier: BUSL-1.1 -pragma solidity ^0.8.13; - -import { Clones } from '@openzeppelin/contracts/proxy/Clones.sol'; -import { IPAsset } from "contracts/lib/IPAsset.sol"; -import { AccessControl } from "contracts/lib/AccessControl.sol"; -import { Errors } from "contracts/lib/Errors.sol"; -import { AccessControlledUpgradeable } from "./access-control/AccessControlledUpgradeable.sol"; -import { LicenseRegistry } from "contracts/modules/licensing/LicenseRegistry.sol"; -import { IIPAssetOrgFactory } from "contracts/interfaces/IIPAssetOrgFactory.sol"; -import { IPAssetOrg } from "contracts/ip-assets/IPAssetOrg.sol"; -import { UUPSUpgradeable } from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol"; - -/// @notice IP Asset Organization Factory Contract -/// TODO(ramarti): Extend the base hooks contract utilized by SP modules. -contract IPAssetOrgFactory is - UUPSUpgradeable, - AccessControlledUpgradeable, - IIPAssetOrgFactory -{ - - /// @notice Base template implementation contract used for new IP Asset Org creation. - address public immutable IP_ASSET_ORG_IMPL = address(new IPAssetOrg()); - - string private constant _VERSION = "0.1.0"; - - // TODO(@leeren): Fix storage hash - // keccak256(bytes.concat(bytes32(uint256(keccak256("story-protocol.ip-asset-org-factory.storage")) - 1))) - bytes32 private constant _STORAGE_LOCATION = 0x1b0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e378; - - /// @custom:storage-location erc7201:story-protocol.ip-asset-org-factory.storage - // TODO: Extend IP asset org storage to support other relevant configurations - struct IPAssetOrgFactoryStorage { - /// @dev Tracks mappings from ipAssetOrg to whether they were registered. - mapping(address => bool) registered; - } - - /// @notice Checks if an address is a valid IP Asset Organization. - /// @param ipAssetOrg_ the address to check - /// @return true if `ipAssetOrg_` is a valid IP Asset Organization, false otherwise - function isIpAssetOrg( - address ipAssetOrg_ - ) external view returns (bool) { - IPAssetOrgFactoryStorage storage $ = _getIpAssetOrgFactoryStorage(); - return $.registered[ipAssetOrg_]; - } - - /// @notice Returns the current version of the factory contract. - function version() external pure override returns (string memory) { - return _VERSION; - } - - - /// @notice Registers a new ipAssetOrg for IP asset collection management. - /// @param params_ Parameters required for ipAssetOrg creation. - /// TODO: Converge on core primitives utilized for ipAssetOrg management. - /// TODO: Add ipAssetOrg-wide module configurations to the registration process. - // TODO: Remove registry - function registerIPAssetOrg( - IPAsset.RegisterIPAssetOrgParams calldata params_ - ) public returns (address) { - address ipAssetOrg = Clones.clone(IP_ASSET_ORG_IMPL); - IPAssetOrg(ipAssetOrg).initialize(IPAsset.InitIPAssetOrgParams({ - registry: params_.registry, - owner: msg.sender, - name: params_.name, - symbol: params_.symbol, - description: params_.description - })); - - // Set the registration status of the IP Asset Org to be true. - IPAssetOrgFactoryStorage storage $ = _getIpAssetOrgFactoryStorage(); - $.registered[ipAssetOrg] = true; - - emit IPAssetOrgRegistered( - msg.sender, - ipAssetOrg, - params_.name, - params_.symbol, - params_.tokenURI - ); - return ipAssetOrg; - - } - - /// @notice Initializes the IPAssetOrgFactory contract. - /// @param accessControl_ Address of the contract responsible for access control. - function initialize(address accessControl_) public initializer { - __UUPSUpgradeable_init(); - __AccessControlledUpgradeable_init(accessControl_); - } - - function _authorizeUpgrade( - address newImplementation_ - ) internal virtual override onlyRole(AccessControl.UPGRADER_ROLE) {} - - function _getIpAssetOrgFactoryStorage() - private - pure - returns (IPAssetOrgFactoryStorage storage $) - { - assembly { - $.slot := _STORAGE_LOCATION - } - } -} diff --git a/contracts/IPAssetRegistry.sol b/contracts/IPAssetRegistry.sol index 7106a09a..7512308c 100644 --- a/contracts/IPAssetRegistry.sol +++ b/contracts/IPAssetRegistry.sol @@ -1,63 +1,127 @@ -// SPDX-License-Identifier: BUSL-1.1 +// SPDX-License-Identifier: UNLICENSED +// See https://github.com/storyprotocol/protocol-contracts/blob/main/StoryProtocol-AlphaTestingAgreement-17942166.3.pdf pragma solidity ^0.8.19; import { IIPAssetRegistry } from "contracts/interfaces/IIPAssetRegistry.sol"; +import { IRegistrationModule } from "contracts/interfaces/modules/registration/IRegistrationModule.sol"; +import { IModuleRegistry } from "contracts/interfaces/modules/IModuleRegistry.sol"; +import { REGISTRATION_MODULE_KEY } from "contracts/lib/modules/Module.sol"; +import { Errors } from "contracts/lib/Errors.sol"; -/// @title IP Asset Registry -/// @notice The source of truth for IP on Story Protocol. -// TO-DO(@leeren): Add authorization around IP Asset registration and ownership transferring. -// TO-DO(ramarti): Add authorization around IP Asset Org transfer of IP Assets. +/// @title Global IP Asset Registry +/// @notice The global IP Asset Registry (GIPR) acts as the source of truth for IP +/// attribution in Story Protocol. All IP must be registered through a +/// protocol-approved registration module, which as part of the process will +/// create a record in the GIPR. Note that the GIPR only defines the core +/// attributes related to an IP asset - all other attributes, which will be +/// specific for a given module, will be queried through the module registry. contract IPAssetRegistry is IIPAssetRegistry { - /// @notice Core attributes that make up an IP Asset. - // TO-DO: Add other core IP Asset primitives (namely module linking). - struct IPAsset { - address owner; // TO-DO: Consider removing this in the future. - address ipAssetOrg; + struct IPA { + string name; // Human-readable identifier for the IP asset. + address registrant; // Address of the initial registrant of the IP asset. + uint8 status; // Current status of the IP asset (e.g. active, expired, etc.) + address ipOrg; // Address of the governing entity of the IP asset. + bytes32 hash; // A unique content hash of the IP asset for preserving integrity. + uint64 registrationDate; // Timestamp for which the IP asset was first registered. } + /// @notice Used for fetching modules associated with an IP asset. + IModuleRegistry public immutable MODULE_REGISTRY; + /// @notice Mapping from IP asset ids to registry records. - mapping(uint256 => IPAsset) ipAssets; + mapping(uint256 => IPA) internal _ipAssets; /// @notice Tracks the total number of IP Assets in existence. - uint256 numIPAssets = 0; - - /// @notice Registers a new IP Asset. - /// @param owner_ The address of the IP Asset. - /// @param ipAssetOrg_ The address of the IP Asset Org. - // TO-DO(@leeren): Add registration authorization (likely based around IPAssetOrg enrollment). - // TO_DO(ramarti): Add module registration via resolver / registry. - function register(address owner_, address ipAssetOrg_) public returns (uint256) { - uint256 ipAssetId = numIPAssets++; - ipAssets[ipAssetId] = IPAsset({ - owner: owner_, - ipAssetOrg: ipAssetOrg_ + uint256 public totalSupply = 0; + + /// @notice Restricts calls to the registration module of the IP Asset. + /// TODO(ramarti): Enable IPOrg-specific registration modules to be authorized. + modifier onlyRegistrationModule() { + if (address(MODULE_REGISTRY.protocolModule(REGISTRATION_MODULE_KEY)) != msg.sender) { + revert Errors.Unauthorized(); + } + _; + } + + /// @notice Restricts calls to only being from the disputer for an IP asset. + /// TODO(ramarti): Add authorization for calls that manage dispute lifecycle changes. + modifier onlyDisputer(uint256 id) { + _; + } + + /// @notice Initializes the Global IP Asset Registry. + /// @param moduleRegistry_ Address of the module registry. + constructor(address moduleRegistry_) { + MODULE_REGISTRY = IModuleRegistry(moduleRegistry_); + } + + /// @notice Registers a new IP asset. + /// @param registrant_ The initial registrant for the IP asset. + /// @param name_ A name given to describe the IP asset. + /// @param hash_ A content hash used for verifyign provenance of the asset. + function register( + address ipOrg_, + address registrant_, + string memory name_, + bytes32 hash_ + ) public onlyRegistrationModule returns (uint256 ipAssetId) { + // Crate a new IP asset with the provided IP attributes. + ipAssetId = ++totalSupply; + uint64 registrationDate = uint64(block.timestamp); + _ipAssets[ipAssetId] = IPA({ + name: name_, + // For now, let's assume 0 == unset, 1 is OK. TODO: Add status enum and synch with License status + status: 1, + registrant: registrant_, + ipOrg: ipOrg_, + hash: hash_, + registrationDate: registrationDate }); + emit Registered(ipAssetId, name_, ipOrg_, registrant_, hash_); + } - emit IPAssetRegistered(ipAssetId, owner_, ipAssetOrg_); - return ipAssetId; + /// @notice Changes the IP Org of an IP asset. + /// @param ipAssetId_ The identifier of the IP asset being transferred. + /// @param ipOrg_ The new IP Org to govern the IP asset. + function transferIPOrg(uint256 ipAssetId_, address ipOrg_) public onlyRegistrationModule { + address oldIPOrg = _ipAssets[ipAssetId_].ipOrg; + _ipAssets[ipAssetId_].ipOrg = ipOrg_; + emit IPOrgTransferred(ipAssetId_, oldIPOrg, ipOrg_); } - function setOwner(uint256 ipAssetId_, address owner_) public { - ipAssets[ipAssetId_].owner = owner_; - emit OwnerTransferred(ipAssetId_, owner_); + /// @notice Changes the status of an IP asset. + /// @param ipAssetId_ The identifier of the IP asset being transferred. + /// @param status_ The new status of the IP asset. + /// TODO(ramarti) Finalize authorization logic around status changes. + function setStatus(uint256 ipAssetId_, uint8 status_) public onlyDisputer(ipAssetId_) { + uint8 oldStatus = _ipAssets[ipAssetId_].status; + _ipAssets[ipAssetId_].status = status_; + emit StatusChanged(ipAssetId_, oldStatus, status_); } - function setIpAssetOrg(uint256 ipAssetId_, address ipAssetOrg_) public { - ipAssets[ipAssetId_].ipAssetOrg = ipAssetOrg_; - emit OrgTransferred(ipAssetId_, ipAssetOrg_); + /// @notice Gets the status for a specific IP Asset. + /// @param ipAssetId_ The id of the IP Asset being queried. + function status(uint256 ipAssetId_) public view returns (uint8) { + return _ipAssets[ipAssetId_].status; } /// @notice Gets the IP Asset Org that administers a specific IP Asset. - /// @param ipAssetId_ The id of the IP Asset being queried. - function ipAssetOrg(uint256 ipAssetId_) public returns (address) { - return ipAssets[ipAssetId_].ipAssetOrg; + /// @param ipAssetId_ The id of the IP asset being queried. + function ipAssetOrg(uint256 ipAssetId_) public view returns (address) { + return _ipAssets[ipAssetId_].ipOrg; } - /// @notice Gets the owner of a specific IP Asset. - /// @param ipAssetId_ The id of the IP Asset being queried. - function ipAssetOwner(uint256 ipAssetId_) public returns (address) { - return ipAssets[ipAssetId_].owner; + /// @notice Returns the current owner of an IP asset. + /// @param ipAssetId_ The id of the IP asset being queried. + function ipAssetOwner(uint256 ipAssetId_) public view returns (address) { + address registrationModule = address(MODULE_REGISTRY.protocolModule(REGISTRATION_MODULE_KEY)); + return IRegistrationModule(registrationModule).ownerOf(ipAssetId_); } + /// @notice Returns all attributes related to an IP asset. + /// @param ipAssetId_ The id of the IP asset being queried for. + function ipAsset(uint256 ipAssetId_) public view returns (IPA memory) { + return _ipAssets[ipAssetId_]; + } } diff --git a/contracts/StoryProtocol.sol b/contracts/StoryProtocol.sol new file mode 100644 index 00000000..bcb13262 --- /dev/null +++ b/contracts/StoryProtocol.sol @@ -0,0 +1,255 @@ +// SPDX-License-Identifier: UNLICENSED +// See https://github.com/storyprotocol/protocol-contracts/blob/main/StoryProtocol-AlphaTestingAgreement-17942166.3.pdf +pragma solidity ^0.8.19; + +import { Multicall } from "@openzeppelin/contracts/utils/Multicall.sol"; + +import { IIPOrgController } from "contracts/interfaces/ip-org/IIPOrgController.sol"; +import { IIPOrg } from "contracts/interfaces/ip-org/IIPOrg.sol"; + +import { Errors } from "contracts/lib/Errors.sol"; +import { LibRelationship } from "contracts/lib/modules/LibRelationship.sol"; +import { Licensing } from "contracts/lib/modules/Licensing.sol"; +import { ModuleRegistry } from "contracts/modules/ModuleRegistry.sol"; +import { Registration } from "contracts/lib/modules/Registration.sol"; +import { RELATIONSHIP_MODULE, LICENSING_MODULE, REGISTRATION_MODULE } from "contracts/lib/modules/Module.sol"; + +/// @title Story Protocol Gateway Contract +/// @notice The Story Protocol contract acts as a global gateway for calling +/// protocol-standardized IP actions (based on their enrolled modules). +/// Most functions can be solely executed through this contract, as it will +/// be actively maintained and upgraded to support all standardized modules. +/// In the future, for more customized logic, IP Orgs may choose to create +/// their own frontend contracts (gateways) for IP interaction. +contract StoryProtocol is Multicall { + /// @notice The IP Org Controller administers creation of new IP Orgs. + IIPOrgController public immutable IP_ORG_CONTROLLER; + + /// @notice The module registry is used to authorize calls to modules. + ModuleRegistry public immutable MODULE_REGISTRY; + + /// @notice Initializes a new Story Protocol gateway contract. + /// @param ipOrgController_ IP Org Controller contract, used for IP Org creation. + /// @param moduleRegistry_ Protocol-wide module registry used for module bookkeeping. + constructor(IIPOrgController ipOrgController_, ModuleRegistry moduleRegistry_) { + if (address(ipOrgController_) == address(0) || address(moduleRegistry_) == address(0)) { + revert Errors.ZeroAddress(); + } + IP_ORG_CONTROLLER = ipOrgController_; + MODULE_REGISTRY = moduleRegistry_; + } + + //////////////////////////////////////////////////////////////////////////// + // IPOrg // + //////////////////////////////////////////////////////////////////////////// + + /// @notice Sets the metadata for an IP Org. + /// @param ipOrg_ The address of the IP Org being configured. + /// @param baseURI_ The base token metadata URI for the IP Org. + /// @param contractURI_ The contract URI associated with the IP Org. + function setMetadata(address ipOrg_, string calldata baseURI_, string calldata contractURI_) public { + bytes memory encodedParams = abi.encode(Registration.SET_IP_ORG_METADATA, abi.encode(baseURI_, contractURI_)); + MODULE_REGISTRY.configure(IIPOrg(ipOrg_), msg.sender, REGISTRATION_MODULE, encodedParams); + } + + /// @notice Adds additional IP asset types for an IP Org. + /// @param ipOrg_ The address of the IP Org being configured. + /// @param ipAssetTypes_ The IP asset type descriptors to add for the IPOrg. + function addIPAssetTypes(address ipOrg_, string[] calldata ipAssetTypes_) public { + bytes memory encodedParams = abi.encode(Registration.SET_IP_ORG_ASSET_TYPES, abi.encode(ipAssetTypes_)); + MODULE_REGISTRY.configure(IIPOrg(ipOrg_), msg.sender, REGISTRATION_MODULE, encodedParams); + } + + /// @notice Registers a new IP Org + /// @param owner_ The address of the IP Org to be registered. + /// @param name_ A name to associate with the IP Org. + /// @param symbol_ A symbol to associate with the IP Org. + function registerIpOrg( + address owner_, + string calldata name_, + string calldata symbol_, + string[] calldata ipAssetTypes_ + ) external returns (address ipOrg_) { + return IP_ORG_CONTROLLER.registerIpOrg(owner_, name_, symbol_, ipAssetTypes_); + } + + /// @notice Registers an IP Asset. + /// @param ipOrg_ The governing IP Org under which the IP asset is registered. + /// @param params_ The registration params, including owner, name, hash. + /// @param licenseId_ Optional: The license id to associate with the IP asset, 0 if none. + /// @param preHooksData_ Hooks to embed with the registration pre-call. + /// @param postHooksData_ Hooks to embed with the registration post-call. + /// @return The global IP asset and local IP Org asset id. + function registerIPAsset( + address ipOrg_, + Registration.RegisterIPAssetParams calldata params_, + uint256 licenseId_, + bytes[] calldata preHooksData_, + bytes[] calldata postHooksData_ + ) public returns (uint256, uint256) { + bytes memory encodedParams = abi.encode(Registration.REGISTER_IP_ASSET, abi.encode(params_)); + bytes memory result = MODULE_REGISTRY.execute( + IIPOrg(ipOrg_), + msg.sender, + REGISTRATION_MODULE, + encodedParams, + preHooksData_, + postHooksData_ + ); + // An empty result indicates that an async hook call is pending execution. + if (result.length == 0) { + return (0, 0); + } + (uint256 globalId, uint256 localId) = abi.decode(result, (uint256, uint256)); + if (licenseId_ != 0) { + _linkLnftToIpa(ipOrg_, licenseId_, globalId, msg.sender); + } + return (globalId, localId); + } + + /// @notice Transfers an IP asset to another owner. + /// @param ipOrg_ The IP Org which the IP asset is associated with. + /// @param from_ The address of the current owner of the IP asset. + /// @param to_ The address of the new owner of the IP asset. + /// @param ipAssetId_ The global id of the IP asset being transferred. + function transferIPAsset( + address ipOrg_, + address from_, + address to_, + uint256 ipAssetId_, + bytes[] calldata preHooksData_, + bytes[] calldata postHooksData_ + ) public { + bytes memory encodedParams = abi.encode(Registration.TRANSFER_IP_ASSET, abi.encode(from_, to_, ipAssetId_)); + MODULE_REGISTRY.execute( + IIPOrg(ipOrg_), + msg.sender, + REGISTRATION_MODULE, + encodedParams, + preHooksData_, + postHooksData_ + ); + } + + //////////////////////////////////////////////////////////////////////////// + // Relationships // + //////////////////////////////////////////////////////////////////////////// + + /// @notice Adds a new custom relationship type for an IP Org. + /// @param params_ Relationship configs including sources, destinations, and relationship type. + function addRelationshipType(LibRelationship.AddRelationshipTypeParams calldata params_) external { + MODULE_REGISTRY.configure( + IIPOrg(params_.ipOrg), + msg.sender, + RELATIONSHIP_MODULE, + abi.encode(LibRelationship.ADD_REL_TYPE_CONFIG, abi.encode(params_)) + ); + } + + /// @notice Removes a relationship type for an IP Org. + /// @param ipOrg_ The IP Org under which the relationship type is defined. + /// @param relType_ The relationship type being removed from the IP Org. + function removeRelationshipType(address ipOrg_, string calldata relType_) external { + MODULE_REGISTRY.configure( + IIPOrg(ipOrg_), + msg.sender, + RELATIONSHIP_MODULE, + abi.encode(LibRelationship.REMOVE_REL_TYPE_CONFIG, abi.encode(relType_)) + ); + } + + /// @notice Creates a new relationship for an IP Org. + /// @param ipOrg_ The address of the IP Org creating the relationship. + /// @param params_ Params for relationship creation, including type, source, and destination. + /// @param preHooksData_ Data to be processed by any enrolled pre-hook actions. + /// @param postHooksData_ Data to be processed by any enrolled post-hook actions. + function createRelationship( + address ipOrg_, + LibRelationship.CreateRelationshipParams calldata params_, + bytes[] calldata preHooksData_, + bytes[] calldata postHooksData_ + ) external returns (uint256 relId) { + bytes memory result = MODULE_REGISTRY.execute( + IIPOrg(ipOrg_), + msg.sender, + RELATIONSHIP_MODULE, + abi.encode(params_), + preHooksData_, + postHooksData_ + ); + return abi.decode(result, (uint256)); + } + + //////////////////////////////////////////////////////////////////////////// + // Licensing // + //////////////////////////////////////////////////////////////////////////// + + /// @notice Configures a licensing framework for an IP Org, including licensing terms. + /// @param ipOrg_ The address of the IP Org configuring the licensing. + /// @param config_ Licensing configuration, including framework and licensor. + function configureIpOrgLicensing(address ipOrg_, Licensing.LicensingConfig calldata config_) external { + MODULE_REGISTRY.configure( + IIPOrg(ipOrg_), + msg.sender, + LICENSING_MODULE, + abi.encode(Licensing.LICENSING_FRAMEWORK_CONFIG, abi.encode(config_)) + ); + } + + /// Creates a tradeable License NFT in the License Registry. + /// @param ipOrg_ The address of the IP Org creating the license. + /// @param params_ Params around licensing creation, including IP asset id and terms. + /// @param preHooksData_ Data to be processed by any enrolled pre-hook actions. + /// @param postHooksData_ Data to be processed by any enrolled post-hook actions. + /// @return The id of the created license. + function createLicense( + address ipOrg_, + Licensing.LicenseCreation calldata params_, + bytes[] calldata preHooksData_, + bytes[] calldata postHooksData_ + ) external returns (uint256) { + bytes memory params = abi.encode(params_); + bytes memory result = MODULE_REGISTRY.execute( + IIPOrg(ipOrg_), + msg.sender, + LICENSING_MODULE, + abi.encode(Licensing.CREATE_LICENSE, params), + preHooksData_, + postHooksData_ + ); + return abi.decode(result, (uint256)); + } + + /// Activates a license that is pending approval + /// @param ipOrg_ Address of the IP Org under which the license is contained. + /// @param licenseId_ The identifier of the license. + function activateLicense(address ipOrg_, uint256 licenseId_) external { + MODULE_REGISTRY.execute( + IIPOrg(ipOrg_), + msg.sender, + LICENSING_MODULE, + abi.encode(Licensing.ACTIVATE_LICENSE, abi.encode(licenseId_)), + new bytes[](0), + new bytes[](0) + ); + } + + /// Associates a license with an IPA + /// @param ipOrg_ the ipOrg address + /// @param licenseId_ the license id + /// @param ipaId_ the ipa id + function linkLnftToIpa(address ipOrg_, uint256 licenseId_, uint256 ipaId_) public { + _linkLnftToIpa(ipOrg_, licenseId_, ipaId_, msg.sender); + } + + function _linkLnftToIpa(address ipOrg_, uint256 licenseId_, uint256 ipaId_, address caller_) private { + MODULE_REGISTRY.execute( + IIPOrg(ipOrg_), + caller_, + LICENSING_MODULE, + abi.encode(Licensing.LINK_LNFT_TO_IPA, abi.encode(licenseId_, ipaId_)), + new bytes[](0), + new bytes[](0) + ); + } +} diff --git a/contracts/access-control/AccessControlSingleton.sol b/contracts/access-control/AccessControlSingleton.sol index 21a14743..43267897 100644 --- a/contracts/access-control/AccessControlSingleton.sol +++ b/contracts/access-control/AccessControlSingleton.sol @@ -1,28 +1,22 @@ -// SPDX-License-Identifier: BUSL-1.1 +// SPDX-License-Identifier: UNLICENSED +// See https://github.com/storyprotocol/protocol-contracts/blob/main/StoryProtocol-AlphaTestingAgreement-17942166.3.pdf +pragma solidity ^0.8.19; -pragma solidity ^0.8.13; - -import { Errors } from "contracts/lib/Errors.sol"; -import { AccessControl } from "contracts/lib/AccessControl.sol"; -import { IVersioned } from "contracts/interfaces/utils/IVersioned.sol"; -import { Multicall } from "@openzeppelin/contracts/utils/Multicall.sol"; import { AccessControlUpgradeable } from "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol"; +import { Multicall } from "@openzeppelin/contracts/utils/Multicall.sol"; import { UUPSUpgradeable } from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol"; -/// @notice AccessControlSingleton contract. Manages protocol admin keys. Other contracts might inherit -/// AccessControlled or its upgradeable version to use the onlyRole modifier. -/// TODO: Evaluate making this contract AccessControlEnumerableUpgradeable so it could enforce unique roles -/// (as in only 1 address can have a role at a time) -contract AccessControlSingleton is - AccessControlUpgradeable, - UUPSUpgradeable, - Multicall, - IVersioned -{ - string public constant version = "0.1.0"; +import { AccessControl } from "contracts/lib/AccessControl.sol"; +import { Errors } from "contracts/lib/Errors.sol"; - /// @notice Initializer method, access point to initialize inheritance tree. - /// @param admin_ address to be the PROTOCOL_ADMIN_ROLE. +/// @title Access Control Singleton +/// @notice This contract serves as the global source of truth for role-based authorization. +/// Contracts that inherit the AccessControlled contract or its upgradable variant +/// are may be granted granular access to certain roles by utilizing the `onlyRole` +/// modifier with the required role input as a parameter. +contract AccessControlSingleton is AccessControlUpgradeable, UUPSUpgradeable, Multicall { + /// @notice Initialize the Access Control Singleton contract. + /// @param admin_ address to inherit the PROTOCOL_ADMIN_ROLE. function initialize(address admin_) external initializer { if (admin_ == address(0)) revert Errors.ZeroAddress(); __AccessControl_init(); @@ -30,19 +24,13 @@ contract AccessControlSingleton is _grantRole(AccessControl.PROTOCOL_ADMIN_ROLE, admin_); } - /// @notice Method for PROTOCOL_ADMIN_ROLE to create new roles, and define their role admin. - /// @param role_ id of the new role. Should be keccak256(""). - /// @param admin_ role id that will be the role admin for the new role. - function setRoleAdmin( - bytes32 role_, - bytes32 admin_ - ) external onlyRole(AccessControl.PROTOCOL_ADMIN_ROLE) { + /// @notice Defines the admin role associated for a given protocol role. + /// @param role_ The id of the new role, given by keccak256(""). + /// @param admin_ The id of the admin role provisioned for the provided role. + function setRoleAdmin(bytes32 role_, bytes32 admin_) external onlyRole(AccessControl.PROTOCOL_ADMIN_ROLE) { _setRoleAdmin(role_, admin_); } - /// @notice Access control for the upgrade process (UPGRADER_ROLE) - /// @param newImplementation_ address of the new deployed implementation. - function _authorizeUpgrade( - address newImplementation_ - ) internal virtual override onlyRole(AccessControl.UPGRADER_ROLE) {} + /// @notice Authorizes an upgrade for the contract. + function _authorizeUpgrade(address) internal virtual override onlyRole(AccessControl.UPGRADER_ROLE) {} } diff --git a/contracts/access-control/AccessControlled.sol b/contracts/access-control/AccessControlled.sol index a8d4f903..5066fe8a 100644 --- a/contracts/access-control/AccessControlled.sol +++ b/contracts/access-control/AccessControlled.sol @@ -1,29 +1,36 @@ -// SPDX-License-Identifier: BUSL-1.1 +// SPDX-License-Identifier: UNLICENSED +// See https://github.com/storyprotocol/protocol-contracts/blob/main/StoryProtocol-AlphaTestingAgreement-17942166.3.pdf +pragma solidity ^0.8.19; -pragma solidity ^0.8.9; +// solhint-disable-next-line max-line-length +import { ERC165CheckerUpgradeable } from "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165CheckerUpgradeable.sol"; +import { IAccessControl } from "@openzeppelin/contracts/access/IAccessControl.sol"; import { AccessControl } from "contracts/lib/AccessControl.sol"; -import { Errors } from "contracts/lib/Errors.sol"; import { IAccessControlled } from "contracts/interfaces/access-control/IAccessControlled.sol"; -import { IAccessControl } from "@openzeppelin/contracts/access/IAccessControl.sol"; -// solhint-disable-next-line max-line-length -import { ERC165CheckerUpgradeable } from "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165CheckerUpgradeable.sol"; -import { UnsupportedInterface } from "../errors/General.sol"; +import { Errors } from "contracts/lib/Errors.sol"; +/// @title Access Controlled Contract +/// @notice This contract is to be inherited by any protocol components that require granular +/// roles for execution, as defined by the Access Control Singleton contract. Later on, +/// this contract will be deprecated in favor of authorization through te module registry. abstract contract AccessControlled is IAccessControlled { using ERC165CheckerUpgradeable for address; + /// @notice Pointer to the global Access Control Singleton for protocol auth. IAccessControl private _accessControl; - /// @notice Checks if msg.sender has `role`, reverts if not. - /// @param role_ the role to be tested, defined in Roles.sol and set in AccessManager instance. + /// @notice Checks if msg.sender has role `role`, reverts otherwise. + /// @param role_ The role being checked for, set by the Access Control Singleton. modifier onlyRole(bytes32 role_) { - if (!hasRole(role_, msg.sender)) { + if (!_hasRole(role_, msg.sender)) { revert Errors.MissingRole(role_, msg.sender); } _; } + /// @notice Instantiates a new Access Controlled contract. + /// @param accessControl_ The global Access Control Singleton contract address. constructor(address accessControl_) { if (!accessControl_.supportsInterface(type(IAccessControl).interfaceId)) revert Errors.UnsupportedInterface("IAccessControl"); @@ -31,25 +38,20 @@ abstract contract AccessControlled is IAccessControlled { emit AccessControlUpdated(accessControl_); } - /// @notice Sets AccessManager instance. Restricted to PROTOCOL_ADMIN_ROLE - /// @param accessControl_ address of the new instance of AccessControlSingleton. - function setAccessControl( - address accessControl_ - ) public onlyRole(AccessControl.PROTOCOL_ADMIN_ROLE) { + /// @notice Sets the Access Control Singleton used for authorization. + /// @param accessControl_ The address of the new Access Control Singleton. + function setAccessControl(address accessControl_) public onlyRole(AccessControl.PROTOCOL_ADMIN_ROLE) { if (!accessControl_.supportsInterface(type(IAccessControl).interfaceId)) revert Errors.UnsupportedInterface("IAccessControl"); _accessControl = IAccessControl(accessControl_); emit AccessControlUpdated(accessControl_); } - /// @notice Checks if `account has `role` assigned. - /// @param role_ the role to be tested, defined in Roles.sol and set in AccessManager instance. - /// @param account_ the address to be tested for the role. - /// @return return true if account has role, false otherwise. - function hasRole( - bytes32 role_, - address account_ - ) internal view returns (bool) { + /// @dev Checks if an account `account_` has role `role_` assigned. + /// @param role_ The role being checked for as defined by the Access Control Singlton. + /// @param account_ The address whose role permissions are being checked for. + /// @return return True if the account has the role, False otherwise. + function _hasRole(bytes32 role_, address account_) internal view returns (bool) { return _accessControl.hasRole(role_, account_); } } diff --git a/contracts/access-control/AccessControlledUpgradeable.sol b/contracts/access-control/AccessControlledUpgradeable.sol index 5be70d73..fb35b560 100644 --- a/contracts/access-control/AccessControlledUpgradeable.sol +++ b/contracts/access-control/AccessControlledUpgradeable.sol @@ -1,14 +1,19 @@ -// SPDX-License-Identifier: BUSL-1.1 +// SPDX-License-Identifier: UNLICENSED +// See https://github.com/storyprotocol/protocol-contracts/blob/main/StoryProtocol-AlphaTestingAgreement-17942166.3.pdf pragma solidity ^0.8.19; -import { IAccessControl } from "@openzeppelin/contracts/access/IAccessControl.sol"; -import { UUPSUpgradeable } from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol"; // solhint-disable-next-line max-line-length import { ERC165CheckerUpgradeable } from "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165CheckerUpgradeable.sol"; +import { IAccessControl } from "@openzeppelin/contracts/access/IAccessControl.sol"; +import { UUPSUpgradeable } from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol"; + import { AccessControl } from "contracts/lib/AccessControl.sol"; -import { IAccessControlled } from "contracts/interfaces/access-control/IAccessControlled.sol"; import { Errors } from "contracts/lib/Errors.sol"; +import { IAccessControlled } from "contracts/interfaces/access-control/IAccessControlled.sol"; +/// @title Upgradeable Access Controlled Contract +/// @notice This contract is to be inherited by any upgradeable protocol components that require +/// granular roles for execution, as defined by the Access Control Singleton contract. abstract contract AccessControlledUpgradeable is UUPSUpgradeable, IAccessControlled { using ERC165CheckerUpgradeable for address; @@ -18,23 +23,20 @@ abstract contract AccessControlledUpgradeable is UUPSUpgradeable, IAccessControl } // keccak256(bytes.concat(bytes32(uint256(keccak256("story-protocol.access-controlled-upgradeable.storage")) - 1))) - bytes32 private constant _STORAGE_LOCATION = - 0x06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b6; + bytes32 private constant _STORAGE_LOCATION = 0x06c308ca3b780cede1217f5877d0c7fbf50796d93f836cb3b60e6457b0cf03b6; - /// @notice Checks if msg.sender has `role`, reverts if not. - /// @param role_ the role to be tested, defined in Roles.sol and set in AccessManager instance. + /// @notice Checks if msg.sender has role `role`, reverts otherwise. + /// @param role_ The role being checked for, set by the Access Control Singleton. modifier onlyRole(bytes32 role_) { - if (!hasRole(role_, msg.sender)) { + if (!_hasRole(role_, msg.sender)) { revert Errors.MissingRole(role_, msg.sender); } _; } - /// @notice Sets AccessManager instance. Restricted to PROTOCOL_ADMIN_ROLE - /// @param accessControl_ address of the new instance of AccessControlSingleton. - function setAccessControl( - address accessControl_ - ) public onlyRole(AccessControl.PROTOCOL_ADMIN_ROLE) { + /// @notice Sets the Access Control Singleton used for authorization. + /// @param accessControl_ The address of the new Access Control Singleton. + function setAccessControl(address accessControl_) public onlyRole(AccessControl.PROTOCOL_ADMIN_ROLE) { if (!accessControl_.supportsInterface(type(IAccessControl).interfaceId)) revert Errors.UnsupportedInterface("IAccessControl"); AccessControlledStorage storage $ = _getAccessControlledUpgradeable(); @@ -42,16 +44,16 @@ abstract contract AccessControlledUpgradeable is UUPSUpgradeable, IAccessControl emit AccessControlUpdated(accessControl_); } + /// @notice Gets the global Access Control Singleton configured for the protocol. function getAccessControl() public view returns (address) { AccessControlledStorage storage $ = _getAccessControlledUpgradeable(); return address($.accessControl); } - /// @notice Initializer method, access point to initialize inheritance tree. - /// @param accessControl_ address of AccessManager. - function __AccessControlledUpgradeable_init( - address accessControl_ - ) internal initializer { + /// @dev Initializer function called during contract initialization. + /// @param accessControl_ Address of the protocol-wide Access Control Singleton. + // solhint-disable-next-line func-name-mixedcase + function __AccessControlledUpgradeable_init(address accessControl_) internal initializer { if (!accessControl_.supportsInterface(type(IAccessControl).interfaceId)) revert Errors.UnsupportedInterface("IAccessControl"); AccessControlledStorage storage $ = _getAccessControlledUpgradeable(); @@ -59,23 +61,17 @@ abstract contract AccessControlledUpgradeable is UUPSUpgradeable, IAccessControl emit AccessControlUpdated(accessControl_); } - /// @notice Checks if `account has `role` assigned. - /// @param role_ the role to be tested, defined in Roles.sol and set in AccessManager instance. - /// @param account_ the address to be tested for the role. - /// @return return true if account has role, false otherwise. - function hasRole( - bytes32 role_, - address account_ - ) internal view returns (bool) { + /// @notice Checks if account `account_` has `role` assigned. + /// @param role_ The role being checked for as defined by the Access Control Singlton. + /// @param account_ The address whose role permissions are being checked for. + /// @return return True if the account has the role, False otherwise. + function _hasRole(bytes32 role_, address account_) internal view returns (bool) { AccessControlledStorage storage $ = _getAccessControlledUpgradeable(); return $.accessControl.hasRole(role_, account_); } - function _getAccessControlledUpgradeable() - private - pure - returns (AccessControlledStorage storage $) - { + /// @dev Helper function to get the EIP-7201 storage slot for the contract. + function _getAccessControlledUpgradeable() private pure returns (AccessControlledStorage storage $) { assembly { $.slot := _STORAGE_LOCATION } diff --git a/contracts/errors/General.sol b/contracts/errors/General.sol deleted file mode 100644 index a20ef42c..00000000 --- a/contracts/errors/General.sol +++ /dev/null @@ -1,11 +0,0 @@ -// SPDX-License-Identifier: BUSL-1.1 - -pragma solidity ^0.8.13; - -error ZeroAddress(); -error ZeroAmount(); -error UnsupportedInterface(string name); -error Unauthorized(); -error NonExistentID(uint256 id); -error EmptyArray(); -error LengthMismatch(); diff --git a/contracts/hooks/PolygonTokenHook.sol b/contracts/hooks/PolygonTokenHook.sol new file mode 100644 index 00000000..36ec82ef --- /dev/null +++ b/contracts/hooks/PolygonTokenHook.sol @@ -0,0 +1,120 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.19; + +import { AsyncBaseHook } from "contracts/hooks/base/AsyncBaseHook.sol"; +import { Errors } from "contracts/lib/Errors.sol"; +import { IPolygonTokenClient } from "contracts/interfaces/utils/IPolygonTokenClient.sol"; +import { PolygonToken } from "contracts/lib/hooks/PolygonToken.sol"; + +/// @title Polygon Token Hooks Contract +/// @notice Asynchronous hook used for verifying token balances on Polygon. +contract PolygonTokenHook is AsyncBaseHook { + /// @notice The address that is allowed to call the callback function. + address private immutable CALLBACK_CALLER; + + /// @notice The address of the Polygon client used for call fulfillment. + address public immutable ORACLE_CLIENT; + + /// @notice A counter used to generate unique request IDs for each token request. + uint256 private nonce; + + /// @notice A mapping that links each request ID to a PolygonTokenRequest struct. + mapping(bytes32 => PolygonTokenRequest) private requestIdToRequest; + + /// @notice Stores information rlated to a async Polygon token balance request. + struct PolygonTokenRequest { + address requester; // Address of the requestor. + address tokenAddress; // Address of the Polygon token whose balance is being queried for. + address tokenOwnerAddress; // Address of the owner of the Polygon token. + uint256 balanceThreshold; // The target token balance necessary for successful fulfillment. + bool isRequestCompleted; // Whether the request was completed or not. + bool exists; // Whether the request exists. + } + + /// @notice Initializes the Polygon Token Hook contract. + /// @param accessControl_ The address of the contract used for authorization. + /// @param oracleClient_ The address of the oracle client querying for Polygon Token info. + /// @param callbackCaller_ The address of the callback caller contract. + constructor(address accessControl_, address oracleClient_, address callbackCaller_) AsyncBaseHook(accessControl_) { + if (callbackCaller_ == address(0)) revert Errors.ZeroAddress(); + if (oracleClient_ == address(0)) revert Errors.ZeroAddress(); + CALLBACK_CALLER = callbackCaller_; + ORACLE_CLIENT = oracleClient_; + } + + /// @notice Handles the callback of a token request. + /// @param requestId The unique ID of the request. + /// @param balance The balance of the token. + /// @dev This function checks if the request exists and verifies th token balance against the configured balance + /// threshold. If the balance is less than the threshold, an error message is set. Otherwise, the callback + /// is marked as successful via `isPassed=true`, and the request is deleted, after which the `handleCallback` + /// function is called with the encoding `abi.encode(isPassed, errorMessage)`. + function handleCallback(bytes32 requestId, uint256 balance) external { + bool isPassed = false; + string memory errorMessage = ""; + if (!requestIdToRequest[requestId].exists) { + revert Errors.Hook_RequestedNotFound(); + } + if (balance < requestIdToRequest[requestId].balanceThreshold) { + errorMessage = "Balance of Token is not enough"; + } else { + isPassed = true; + } + delete requestIdToRequest[requestId]; + _handleCallback(requestId, abi.encode(isPassed, errorMessage)); + } + + /// @notice Validates the configuration for the async hook. + /// @dev Validates whether the configured token address and balance threshold are valid. + /// This function reverts when a zero token address or a zero balance threshold is configured. + /// @param hookConfig_ The configuration data for the hook, encoded as a bytes array. + function _validateConfig(bytes memory hookConfig_) internal pure override { + PolygonToken.Config memory config = abi.decode(hookConfig_, (PolygonToken.Config)); + if (config.tokenAddress == address(0)) { + revert Errors.Hook_InvalidHookConfig("tokenAddress is 0"); + } + if (config.balanceThreshold == 0) { + revert Errors.Hook_InvalidHookConfig("balanceThreshold is 0"); + } + } + + /// @dev Internal function for requesting an async call meant for implementations + /// to override. This function should revert in case of any errors. + /// @param hookConfig_ The configuration of the hook. + /// @param hookParams_ The parameters for the hook. + /// @return hookData The data returned by the hook. + /// @return requestId The id of the request. + function _requestAsyncCall( + bytes memory hookConfig_, + bytes memory hookParams_ + ) internal override returns (bytes memory hookData, bytes32 requestId) { + PolygonToken.Config memory config = abi.decode(hookConfig_, (PolygonToken.Config)); + PolygonToken.Params memory params = abi.decode(hookParams_, (PolygonToken.Params)); + requestId = keccak256(abi.encodePacked(this, nonce++)); + hookData = ""; + + requestIdToRequest[requestId] = PolygonTokenRequest({ + requester: msg.sender, + tokenAddress: config.tokenAddress, + tokenOwnerAddress: params.tokenOwnerAddress, + balanceThreshold: config.balanceThreshold, + isRequestCompleted: false, + exists: true + }); + + IPolygonTokenClient(ORACLE_CLIENT).sendRequest( + requestId, + msg.sender, + config.tokenAddress, + params.tokenOwnerAddress, + address(this), + this.handleCallback.selector + ); + } + + /// @notice Returns the address of the callback caller. + /// @return The address of the caller of the callback. + function _callbackCaller(bytes32) internal view override returns (address) { + return CALLBACK_CALLER; + } +} diff --git a/contracts/hooks/TokenGatedHook.sol b/contracts/hooks/TokenGatedHook.sol new file mode 100644 index 00000000..7bc13ef0 --- /dev/null +++ b/contracts/hooks/TokenGatedHook.sol @@ -0,0 +1,57 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.19; + +import { ERC165Checker } from "@openzeppelin/contracts/utils/introspection/ERC165Checker.sol"; +import { IERC721 } from "@openzeppelin/contracts/token/ERC721/IERC721.sol"; + +import { Errors } from "contracts/lib/Errors.sol"; +import { SyncBaseHook } from "contracts/hooks/base/SyncBaseHook.sol"; +import { TokenGated } from "contracts/lib/hooks/TokenGated.sol"; + +/// @title Token Gated Hook. +/// @notice Synchronous hook for ensursing a user is the owner of an NFT token. +contract TokenGatedHook is SyncBaseHook { + using ERC165Checker for address; + + /// @notice Constructs the Token Gated Hook contract. + /// @param accessControl_ The address of the global access control contract. + constructor(address accessControl_) SyncBaseHook(accessControl_) {} + + /// @notice Validates the configuration for the token gated hook. + /// @dev This function checks if the tokenAddress is a valid ERC721 contract. + /// @param hookConfig_ The configuration data for the hook. + function _validateConfig(bytes memory hookConfig_) internal view override { + TokenGated.Config memory config = abi.decode(hookConfig_, (TokenGated.Config)); + address tokenAddress = config.tokenAddress; + if (tokenAddress == address(0)) { + revert Errors.ZeroAddress(); + } + // Check if the configured token address is a valid ERC 721 contract. + if (!tokenAddress.supportsInterface(type(IERC721).interfaceId)) { + revert Errors.UnsupportedInterface("IERC721"); + } + } + + /// @notice Executes a token gated check in a synchronous manner. + /// @dev This function checks if the "tokenOwner" owns a token of the specified ERC721 token contract. + /// @param hookConfig_ The configuration of the hook. + /// @param hookParams_ The parameters for the hook. + /// @return An empty bytes object, as no data is retured from this hook. + function _executeSyncCall( + bytes memory hookConfig_, + bytes memory hookParams_ + ) internal virtual override returns (bytes memory) { + TokenGated.Config memory config = abi.decode(hookConfig_, (TokenGated.Config)); + TokenGated.Params memory params = abi.decode(hookParams_, (TokenGated.Params)); + + if (params.tokenOwner == address(0)) { + revert Errors.ZeroAddress(); + } + // check if tokenOwner own any required token + if (IERC721(config.tokenAddress).balanceOf(params.tokenOwner) == 0) { + revert Errors.TokenGatedHook_NotTokenOwner(config.tokenAddress, params.tokenOwner); + } + + return ""; + } +} diff --git a/contracts/hooks/base/AsyncBaseHook.sol b/contracts/hooks/base/AsyncBaseHook.sol new file mode 100644 index 00000000..6c90bab4 --- /dev/null +++ b/contracts/hooks/base/AsyncBaseHook.sol @@ -0,0 +1,126 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.19; + +import { ERC165Checker } from "@openzeppelin/contracts/utils/introspection/ERC165Checker.sol"; + +import { AccessControl } from "contracts/lib/AccessControl.sol"; +import { BaseHook } from "contracts/hooks/base/BaseHook.sol"; +import { Errors } from "contracts/lib/Errors.sol"; +import { Hook } from "contracts/lib/hooks/Hook.sol"; +import { HookResult } from "contracts/interfaces/hooks/base/IHook.sol"; +import { ICallbackHandler } from "contracts/interfaces/hooks/base/ICallbackHandler.sol"; + +/// @title Asynchronous Base Hook +/// @notice This contract serves as the base functionality for all asynchronous hooks. +abstract contract AsyncBaseHook is BaseHook { + using ERC165Checker for address; + + /// @dev Maps async hook request ids to callback handlers. + mapping(bytes32 => ICallbackHandler) public callbackHandlers; + + /// @notice This event emits when an async hook is executed. + /// @param hookAddress Address of the executed hook. + /// @param callbackHandler The address of the handler of the callback. + /// @param result State of the hook (either pending or complete). + /// @param contextData Additional contextual data related to the execution. + /// @param returnData Data returned by the hook. + event AsyncHookExecuted( + address indexed hookAddress, + address indexed callbackHandler, + HookResult indexed result, + bytes32 requestId, + bytes contextData, + bytes returnData + ); + + /// @dev Emitted when an asynchronous hook is called back from external service. + event AsyncHookCalledBack( + address indexed hookAddress, + address indexed callbackHandler, + bytes32 requestId, + bytes callbackData + ); + + /// @notice Constructs the AsyncBaseHook contract. + /// @param accessControl_ The address of the access control contract. + constructor(address accessControl_) BaseHook(accessControl_) {} + + /// @notice Executes an asynchronous hook. + /// @dev Modules utilize this function to make asynchronous calls. + /// Only callers with the HOOK_CALLER_ROLE can call this function. + /// @param hookContext_ The context associated with hook execution. + /// @param callbackHandler_ The address of the callback handler. + /// @return result The result of the hook execution. + /// @return hookData The data returned by the hook. + /// @return requestId The id of the async request. + function executeAsync( + bytes calldata hookContext_, + address callbackHandler_ + ) + external + virtual + override + onlyRole(AccessControl.HOOK_CALLER_ROLE) + returns (HookResult result, bytes memory hookData, bytes32 requestId) + { + if (callbackHandler_ == address(0)) { + revert Errors.ZeroAddress(); + } + // Check if the callback handler supports the ICallbackHandler interface + if (!callbackHandler_.supportsInterface(type(ICallbackHandler).interfaceId)) { + revert Errors.UnsupportedInterface("ICallbackHandler"); + } + + Hook.ExecutionContext memory context = abi.decode(hookContext_, (Hook.ExecutionContext)); + _validateConfig(context.config); + + // Request an asynchronous call + (hookData, requestId) = _requestAsyncCall(context.config, context.params); + // Store the callback handler for the request + callbackHandlers[requestId] = ICallbackHandler(callbackHandler_); + // Set the result to Pending as the Hook is still running + result = HookResult.Pending; + // Emit the AsyncHookExecuted event + emit AsyncHookExecuted(address(this), callbackHandler_, result, requestId, hookContext_, hookData); + } + + /// @dev Internal function to request an asynchronous call, intended to be overridden + /// by implementations. This function should revert in case of any errors. + /// @param hookConfig_ The configuration of the hook. + /// @param hookParams_ The parameters for the hook. + /// @return hookData The data returned by the hook. + /// @return requestId The id of the request. + function _requestAsyncCall( + bytes memory hookConfig_, + bytes memory hookParams_ + ) internal virtual returns (bytes memory hookData, bytes32 requestId); + + /// @dev Internal function to get the address of the callback caller. + /// @param requestId_ The id of the request. + /// @return The address of the callback caller. + function _callbackCaller(bytes32 requestId_) internal view virtual returns (address); + + /// @dev Internal function to handle a callback from an asynchronous call. + /// @param requestId_ The id of the request. + /// @param callbackData_ The data returned by the callback. + function _handleCallback(bytes32 requestId_, bytes memory callbackData_) internal virtual { + // Only designated callback caller can make a callback + address caller = _callbackCaller(requestId_); + if (msg.sender != caller) { + revert Errors.Hook_OnlyCallbackCallerCanCallback(msg.sender, caller); + } + + // Check if a callback handler exists for the given request id + if (address(callbackHandlers[requestId_]) == address(0)) { + revert Errors.Hook_InvalidAsyncRequestId(requestId_); + } + + // Emit an event to signal that an async hook has been called back + emit AsyncHookCalledBack(address(this), address(callbackHandlers[requestId_]), requestId_, callbackData_); + + // Invokethe callback handler to process the returned data + callbackHandlers[requestId_].handleHookCallback(requestId_, callbackData_); + // Clean up the callback handler mapping to free up storage + delete callbackHandlers[requestId_]; + } +} diff --git a/contracts/hooks/base/BaseHook.sol b/contracts/hooks/base/BaseHook.sol new file mode 100644 index 00000000..8c622724 --- /dev/null +++ b/contracts/hooks/base/BaseHook.sol @@ -0,0 +1,51 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.19; + +import { AccessControl } from "contracts/lib/AccessControl.sol"; +import { AccessControlled } from "contracts/access-control/AccessControlled.sol"; +import { Errors } from "contracts/lib/Errors.sol"; +import { IHook, HookResult } from "contracts/interfaces/hooks/base/IHook.sol"; + +/// @title Base Hook +/// @notice This contract serves as the foundation for all hook contracts. +/// @dev This contract provides authorization checks shared by all hooks, and is inherited +/// by the AsyncBaseHook and SyncBaseHook, which hook implementations should extend from. +abstract contract BaseHook is IHook, AccessControlled { + /// @notice Creates the Base Hook contract. + /// @param accessControl_ The address of the contract used for authorization. + constructor(address accessControl_) AccessControlled(accessControl_) {} + + /// @notice Executes a synchronous hook. + /// @dev By default, synchronous execution is disabled and this function reverts. + /// Subclasses can enable synchronous execution by overriding this function. + /// Only a caller with the HOOK_CALLER_ROLE can call this function. + function executeSync( + bytes calldata + ) external virtual override onlyRole(AccessControl.HOOK_CALLER_ROLE) returns (HookResult, bytes memory) { + revert Errors.Hook_UnsupportedSyncOperation(); + } + + /// @notice Executes an asynchronous hook. + /// @dev By default, asynchronous execution is disabled and this function reverts. + /// Subclasses can enable asynchronous execution by overriding this function. + /// Only a caller with the HOOK_CALLER_ROLE can call this function. + function executeAsync( + bytes calldata, + address + ) external virtual override onlyRole(AccessControl.HOOK_CALLER_ROLE) returns (HookResult, bytes memory, bytes32) { + revert Errors.Hook_UnsupportedAsyncOperation(); + } + + /// @notice Validates the configuration for the hook. + /// @dev If validation fails, this function will throw. + /// @param hookConfig_ The configuration data for the hook. + function validateConfig(bytes calldata hookConfig_) external view override { + _validateConfig(hookConfig_); + } + + /// @notice Validates the configuration for the hook. + /// @dev This function is intended to be overridden by hook implementations to provide + /// specialized validation logic. If validation fails, this function should throw. + /// @param hookConfig_ The configuration data for the hook. + function _validateConfig(bytes memory hookConfig_) internal view virtual; +} diff --git a/contracts/hooks/base/SyncBaseHook.sol b/contracts/hooks/base/SyncBaseHook.sol new file mode 100644 index 00000000..c3073b42 --- /dev/null +++ b/contracts/hooks/base/SyncBaseHook.sol @@ -0,0 +1,43 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.19; + +import { AccessControl } from "contracts/lib/AccessControl.sol"; +import { BaseHook } from "contracts/hooks/base/BaseHook.sol"; +import { Hook } from "contracts/lib/hooks/Hook.sol"; +import { HookResult } from "contracts/interfaces/hooks/base/IHook.sol"; + +/// @title Synchronous Base Hook +/// @notice This contract serves as the base for all synchronous hooks. +abstract contract SyncBaseHook is BaseHook { + /// @dev Emits when a synchronous hook is executed. + event SyncHookExecuted(address indexed hookAddress, HookResult indexed result, bytes contextData, bytes returnData); + + /// @notice Constructs the Sync Base Hook contract. + /// @param accessControl_ The address of the access control contract. + constructor(address accessControl_) BaseHook(accessControl_) {} + + /// @notice Executes a synchronous hook. + /// @dev Modules utilize this function to make a synchronous call. + /// Only callers with the HOOK_CALLER_ROLE can call this function. + /// @param hookContext_ The context associated with hook execution. + /// @return result The result of the hook execution. + /// @return hookData The data returned by the hook. + function executeSync( + bytes calldata hookContext_ + ) external override onlyRole(AccessControl.HOOK_CALLER_ROLE) returns (HookResult result, bytes memory hookData) { + Hook.ExecutionContext memory context = abi.decode(hookContext_, (Hook.ExecutionContext)); + _validateConfig(context.config); + hookData = _executeSyncCall(context.config, context.params); + result = HookResult.Completed; + emit SyncHookExecuted(address(this), result, hookContext_, hookData); + } + + /// @dev Executes a synchronous call. This reverts in case of any errors. + /// @param hookConfig_ The configuration of the hook. + /// @param hookParams_ The parameters for the hook. + /// @return hookData The data returned by the hook. + function _executeSyncCall( + bytes memory hookConfig_, + bytes memory hookParams_ + ) internal virtual returns (bytes memory); +} diff --git a/contracts/interfaces/IIPAssetOrgFactory.sol b/contracts/interfaces/IIPAssetOrgFactory.sol deleted file mode 100644 index 4a736923..00000000 --- a/contracts/interfaces/IIPAssetOrgFactory.sol +++ /dev/null @@ -1,20 +0,0 @@ -// SPDX-License-Identifier: BUSL-1.1 -pragma solidity ^0.8.19; - -import { IVersioned } from "./utils/IVersioned.sol"; -import { IPAsset } from "contracts/lib/IPAsset.sol"; - -interface IIPAssetOrgFactory is IVersioned { - - event IPAssetOrgRegistered( - address owner_, - address ipAssetOrg_, - string name_, - string symbol_, - string tokenURI_ - ); - - function registerIPAssetOrg(IPAsset.RegisterIPAssetOrgParams calldata params_) external returns(address); - - function isIpAssetOrg(address ipAssetOrg_) external view returns (bool); -} diff --git a/contracts/interfaces/IIPAssetRegistry.sol b/contracts/interfaces/IIPAssetRegistry.sol index ad252d7f..2c12f4c7 100644 --- a/contracts/interfaces/IIPAssetRegistry.sol +++ b/contracts/interfaces/IIPAssetRegistry.sol @@ -1,24 +1,31 @@ -import { IPAsset } from "contracts/lib/IPAsset.sol"; - -// SPDX-License-Identifier: BUSL-1.1 +// SPDX-License-Identifier: MIT pragma solidity ^0.8.19; +/// @title Global IP Asset Registry Interface interface IIPAssetRegistry { - - event IPAssetRegistered( + /// @notice Emits when a new IP asset is registered. + /// @param ipAssetId_ The global IP asset identifier. + /// @param name_ The assigned name for the IP asset. + /// @param ipOrg_ The registering governing body for the IP asset. + /// @param registrant_ The initial individual registrant of the IP asset. + /// @param hash_ The content hash associated with the IP asset. + event Registered( uint256 ipAssetId_, - address owner_, - address ipAssetOrg_ + string name_, + address indexed ipOrg_, + address indexed registrant_, + bytes32 hash_ ); - event OrgTransferred( - uint256 indexed ipAssetId_, - address indexed owner_ - ); - - event OwnerTransferred( - uint256 indexed ipAssetId_, - address indexed owner_ - ); + /// @notice Emits when an IP asset is transferred to a new IP Org. + /// @param ipAssetId_ The identifier of the IP asset being transferred. + /// @param oldIPOrg_ The original administering IP Org of the IP asset. + /// @param newIPOrg_ The new administering IP Org of the IP asset. + event IPOrgTransferred(uint256 indexed ipAssetId_, address indexed oldIPOrg_, address indexed newIPOrg_); + /// @notice Emits when an IP asset has its status changed. + /// @param ipAssetId_ The identifier of the IP asset whose status changed. + /// @param oldStatus_ The original status associated with the IP asset. + /// @param newStatus_ The new status associated with the IP asset. + event StatusChanged(uint256 indexed ipAssetId_, uint8 oldStatus_, uint8 newStatus_); } diff --git a/contracts/interfaces/access-control/IAccessControlled.sol b/contracts/interfaces/access-control/IAccessControlled.sol index d748dfd1..4f90f216 100644 --- a/contracts/interfaces/access-control/IAccessControlled.sol +++ b/contracts/interfaces/access-control/IAccessControlled.sol @@ -1,9 +1,17 @@ -// SPDX-License-Identifier: BUSL-1.1 +// SPDX-License-Identifier: MIT pragma solidity ^0.8.19; /// @title Access Controlled Interface +/// @notice This interface must be implemented by all protocol components that require +/// to be authorized via the global Access Control Singleton contract. This +/// initially includes all modules and hooks contracts, but will later be +/// sunset in favor of central authorization via the module registry. interface IAccessControlled { - + /// @notice Emits when the global Access Control Singleton contract is updated. + /// @param accessControl Address of the protocol-wide Access Control singleton contract. event AccessControlUpdated(address indexed accessControl); + /// @notice Sets the Access Control Singleton instance. + /// @param accessControl_ address of the new instance of the Access Control Singleton. + function setAccessControl(address accessControl_) external; } diff --git a/contracts/interfaces/hooks/base/ICallbackHandler.sol b/contracts/interfaces/hooks/base/ICallbackHandler.sol new file mode 100644 index 00000000..94aca590 --- /dev/null +++ b/contracts/interfaces/hooks/base/ICallbackHandler.sol @@ -0,0 +1,14 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.19; + +import { IERC165 } from "@openzeppelin/contracts/utils/introspection/IERC165.sol"; + +/// @title Callback Handler Interface +/// @notice This interface defines the method for handling hook callbacks. +/// @dev Modules that call AsyncHooks should implement this interface. +interface ICallbackHandler is IERC165 { + /// @notice Handles a callback from an asynchronous call. + /// @param requestId_ The id of the request. + /// @param callbackData_ The data returned by the callback. + function handleHookCallback(bytes32 requestId_, bytes calldata callbackData_) external; +} diff --git a/contracts/interfaces/hooks/base/IHook.sol b/contracts/interfaces/hooks/base/IHook.sol new file mode 100644 index 00000000..07780423 --- /dev/null +++ b/contracts/interfaces/hooks/base/IHook.sol @@ -0,0 +1,35 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.19; + +/// @notice Enum for representing various states of an async hook. +enum HookResult { + Pending, // Indicates the hook is ongoing execution. + Completed // Indicates the hook has successfully completed. +} + +/// @title Hook Interface. +/// @notice This interface defines methods for synchronous and asynchronous hooks. +/// @dev Hooks are used to execute custom logic in response to certain events or conditions. +interface IHook { + /// @notice Executes a synchronous hook. + /// @param hookContext_ The context of an executing hook. It is an encoded version of Hook.ExecutionContext + /// @return result The result of the hook execution. + /// @return hookData The data returned by the hook. + function executeSync(bytes calldata hookContext_) external returns (HookResult result, bytes memory hookData); + + /// @notice Executes an asynchronous hook. + /// @param hookContext_ The context of an executing hook. It is an encoded version of Hook.ExecutionContext + /// @param callbackHandler_ The address of the callback handler. + /// @return result The result of the hook execution. + /// @return hookData The data returned by the hook. + /// @return requestId The id of the request. + function executeAsync( + bytes calldata hookContext_, + address callbackHandler_ + ) external returns (HookResult result, bytes memory hookData, bytes32 requestId); + + /// @notice Validates the configuration for the hook. + /// @dev This should be overridden by hook implementations to provide custom validation logic. + /// @param hookConfig_ The configuration data for the hook. + function validateConfig(bytes calldata hookConfig_) external view; +} diff --git a/contracts/interfaces/ip-assets/IIPAssetOrg.sol b/contracts/interfaces/ip-assets/IIPAssetOrg.sol deleted file mode 100644 index 72de8c2c..00000000 --- a/contracts/interfaces/ip-assets/IIPAssetOrg.sol +++ /dev/null @@ -1,30 +0,0 @@ -// SPDX-License-Identifier: BUSL-1.1 -pragma solidity ^0.8.13; - -import { IVersioned } from "../utils/IVersioned.sol"; -import { IIPAssetOrgDataManager } from "./storage/IIPAssetOrgDataManager.sol"; -import { IERC165Upgradeable } from "@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol"; -import { IERC721 } from "@openzeppelin/contracts/token/ERC721/IERC721.sol"; -import { IERC5218 } from "../modules/licensing/IERC5218.sol"; -import { IPAsset } from "contracts/lib/IPAsset.sol"; - -interface IIPAssetOrg is - IVersioned, - IERC165Upgradeable, - IERC5218, - IIPAssetOrgDataManager -{ - - function owner() external returns (address); - - function franchiseId() external view returns (uint256); - - function createIpAsset( - IPAsset.IPAssetType ipAsset_, - string calldata name_, - string calldata description_, - string calldata mediaUrl_, - address to_, - uint256 parentIpAssetId_ - ) external returns (uint256); -} diff --git a/contracts/interfaces/ip-assets/events/IIPAssetEventEmitter.sol b/contracts/interfaces/ip-assets/events/IIPAssetEventEmitter.sol deleted file mode 100644 index 177dfc74..00000000 --- a/contracts/interfaces/ip-assets/events/IIPAssetEventEmitter.sol +++ /dev/null @@ -1,17 +0,0 @@ -// SPDX-License-Identifier: BUSL-1.1 -pragma solidity ^0.8.19; - -import { IPAsset } from "contracts/lib/IPAsset.sol"; - -interface IIPAssetEventEmitter { - - event IPAssetCreated( - uint256 indexed franchiseId, - address indexed ipAssetOrg, - uint256 ipAssetId, - IPAsset.IPAssetType ipAssetType - ); - - function emitIpAssetCreation(uint256 franchiseId_, uint256 ipAssetId_) external; - -} diff --git a/contracts/interfaces/ip-assets/storage/IIPAssetOrgDataManager.sol b/contracts/interfaces/ip-assets/storage/IIPAssetOrgDataManager.sol deleted file mode 100644 index 9a41ae24..00000000 --- a/contracts/interfaces/ip-assets/storage/IIPAssetOrgDataManager.sol +++ /dev/null @@ -1,27 +0,0 @@ -// SPDX-License-Identifier: BUSL-1.1 -pragma solidity ^0.8.19; - -import { IPAsset } from "contracts/lib/IPAsset.sol"; - -interface IIPAssetOrgDataManager { - - event IPAssetWritten( - uint256 indexed ipAssetId, - uint256 indexed ipAssetOrgId, - IPAsset.IPAssetType indexed blockType, - string name, - string description, - string mediaUrl - ); - - struct IPAssetData { - string name; - string description; - string mediaUrl; - uint256 ipAssetId; - IPAsset.IPAssetType blockType; - } - - function readIPAsset(uint256 ipAssetId_) external view returns (IPAssetData memory); - -} diff --git a/contracts/interfaces/ip-org/IIPOrg.sol b/contracts/interfaces/ip-org/IIPOrg.sol new file mode 100644 index 00000000..08967045 --- /dev/null +++ b/contracts/interfaces/ip-org/IIPOrg.sol @@ -0,0 +1,44 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.19; + +/// @notice IP Org Interface +interface IIPOrg { + /// @notice Returns the current owner of the IP asset within the IP Org. + /// @return The address of the owner of the IP asset. + function ownerOf(uint256 id) external view returns (address); + + /// @notice Transfers ownership of the IP asset wrapper within an IP Org. + /// @param from The previous owner of the wrapped IP asset. + /// @param to The new owner of the wrapped IP asset. + /// @param id The identifier of the IP Org asset. + function transferFrom(address from, address to, uint256 id) external; + + /// @notice Burns an IP asset wrapper within the IP Org. + /// @dev This function is only callable by the IP Org registration module. + /// @param id The local identifier of the IP asset within the IP Org. + function burn(uint256 id) external; + + /// @notice Mints an IP Asset wrapper for the IP Org. + /// @dev This function is only callable by the IP Org registration module. + /// @param owner Address of the current owner of the local IP Org asset. + /// @param assetType The IP Org asset type. + /// @return id The local identifier of the minted IP Org wrapped asset. + function mint(address owner, uint8 assetType) external returns (uint256 id); + + /// @notice Gets the current owner of the IP Org. + /// @return The address of the IP Org owner. + function owner() external view returns (address); + + /// @notice Returns contract-level metadata for the IP Org. + /// @return The contract-wide URI associated with the IP Org. + function contractURI() external view returns (string memory); + + /// @notice Returns the IP Org asset type for a given IP Org asset. + /// @return The id associated with the IP Org asset type. + function ipOrgAssetType(uint256 id_) external view returns (uint8); + + /// @notice Gets the global IP asset id associated with this IP Org asset. + /// @param id_ The local id of the IP Org wrapped IP asset. + /// @return The global identifier of the IP asset. + function ipAssetId(uint256 id_) external returns (uint256); +} diff --git a/contracts/interfaces/ip-org/IIPOrgController.sol b/contracts/interfaces/ip-org/IIPOrgController.sol new file mode 100644 index 00000000..a4ef8ec2 --- /dev/null +++ b/contracts/interfaces/ip-org/IIPOrgController.sol @@ -0,0 +1,39 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.19; + +/// @notice IP Org Controller Interface +interface IIPOrgController { + /// @notice Emits when a new IP Org is registered. + /// @param owner The address of the IP Org owner. + /// @param ipAssetOrg The address of the new IP Org contract. + /// @param name Descriptive name for the new IP Org contract. + /// @param symbol A describe symbol for the new IP Org contract. + /// @param ipAssetTypes String descriptors of the IP asset types available. + event IPOrgRegistered(address owner, address ipAssetOrg, string name, string symbol, string[] ipAssetTypes); + + /// @notice Emits when an IP Org is transferred to a new owner. + /// @param ipOrg The address of the IP Org. + /// @param prevOwner The address of the previous owner of the IP Org. + /// @param newOwner The address of the new owner of the IP Org. + event IPOrgTransferred(address ipOrg, address prevOwner, address newOwner); + + /// @notice Emits when an ownership transfer is initialized for a new owner. + /// @param ipOrg The address of the IP Org. + /// @param pendingOwner The pending owner to set for the IP Org. + event IPOrgPendingOwnerSet(address ipOrg, address pendingOwner); + + /// @notice Registers a new IP Org. + /// @param owner_ The address of the IP Org owner. + /// @param name_ Metadata name to attach to the IP Org. + /// @param symbol_ Metadata symbol to attach to the IP Org. + /// @param ipAssetTypes_ String descriptors of the IP asset types available. + function registerIpOrg( + address owner_, + string calldata name_, + string calldata symbol_, + string[] calldata ipAssetTypes_ + ) external returns (address); + + /// @notice Checks whether an IP Org exists. + function isIpOrg(address ipOrg_) external view returns (bool); +} diff --git a/contracts/interfaces/modules/IGateway.sol b/contracts/interfaces/modules/IGateway.sol new file mode 100644 index 00000000..69f55264 --- /dev/null +++ b/contracts/interfaces/modules/IGateway.sol @@ -0,0 +1,19 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.19; + +import { ModuleDependencies } from "contracts/lib/modules/Module.sol"; + +/// @title Module Gateway Interface +/// @notice Interface for a Story Protocol module gateway, which is a contract +/// that may be granted access by the module registry to call module +/// functions declared by the gateway's module dependency set. +interface IGateway { + /// @notice Synchronizes all downstream dependencies via the module registry. + /// @dev This function may only be called by the module registry. + /// @return dependencies The freshly updated dependencies needed by the gateway. + function updateDependencies() external returns (ModuleDependencies memory dependencies); + + /// @notice Fetches all module dependencies required by the gateway contract. + /// @return dependencies The dependencies that the gateway requires from the protocol. + function getDependencies() external view returns (ModuleDependencies memory dependencies); +} diff --git a/contracts/interfaces/modules/IModuleRegistry.sol b/contracts/interfaces/modules/IModuleRegistry.sol new file mode 100644 index 00000000..a15e6fa4 --- /dev/null +++ b/contracts/interfaces/modules/IModuleRegistry.sol @@ -0,0 +1,69 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.19; + +import { ModuleKey } from "contracts/lib/modules/Module.sol"; +import { IGateway } from "contracts/interfaces/modules/IGateway.sol"; +import { IModule } from "contracts/interfaces/modules/base/IModule.sol"; + +/// @title IModuleRegistry +/// @notice Module Registry Interface +interface IModuleRegistry { + /// @notice Emits when a gateway was successfully registered by the protocol + /// for a specific dependency (module type + module function). + /// @param key The identifier of the dependent module type. + /// @param fn The function identifier of the dependent module type. + /// @param gateway The gateway address granted permission to use the dependency. + /// @param grant Whether the gateway was authorized to use the dependency. + event ModuleAuthorizationGranted(ModuleKey indexed key, bytes4 fn, address indexed gateway, bool grant); + + /// @notice Emits when a brand new module is enrolled to the protocol. + /// @param ipOrg The IP Org to which the module belongs. + /// @param moduleKey The string identifier of the module type that was added. + /// @param module The address of the module. + event ModuleAdded(address indexed ipOrg, string moduleKey, address indexed module); + + /// @notice Emits when the protocol module for a module type is removed. + /// @param key The identifier of the module type that was added. + /// @param module The address of the removed module + event ModuleRemoved(ModuleKey indexed key, address indexed module); + + /// @notice Emits when a module is executed for an IP Org. + event ModuleExecuted( + address indexed ipOrg, + string moduleKey, + address indexed caller, + bytes selfParams, + bytes[] preHookParams, + bytes[] postHookParams + ); + + /// @notice Emits when a module is configured for an IP Org. + event ModuleConfigured(address indexed ipOrg, string moduleKey, address indexed caller, bytes params); + + /// @notice Emits when a new hook is added for a specific IP Org. + event HookAdded(address indexed ipOrg, string hookKey, address indexed hook); + + /// @notice Emits when a hook is removed for an IP Org. + event HookRemoved(address indexed ipOrg, string hookKey, address indexed hook); + + /// @notice Registers a new module of a provided type to Story Protocol. + /// @param key_ The bytes32 type of the module being registered. + /// @param module_ The actual module being registered. + function registerProtocolModule(ModuleKey key_, IModule module_) external; + + /// @notice Fetches the protocol module by its string identifier. + /// @param key_ The string module type. + /// @return The module associated with the module key. + function protocolModule(string calldata key_) external view returns (address); + + /// @notice Fetches the protocol module bound to a module type. + /// @param key_ The bytes32 module type. + /// @return The module associated with the module key. + function protocolModule(ModuleKey key_) external view returns (address); + + /// @notice Checks whether a gateway has permission to call a module function. + /// @param key_ The module type. + /// @param gateway_ The gateway which has the module as a dependency. + /// @param fn_ The module function whose access is being checked for. + function isAuthorized(ModuleKey key_, IGateway gateway_, bytes4 fn_) external view returns (bool); +} diff --git a/contracts/interfaces/modules/base/IModule.sol b/contracts/interfaces/modules/base/IModule.sol index 7664f3eb..2e4b9788 100644 --- a/contracts/interfaces/modules/base/IModule.sol +++ b/contracts/interfaces/modules/base/IModule.sol @@ -1,14 +1,49 @@ -// SPDX-License-Identifier: BUSL-1.1 -pragma solidity ^0.8.13; +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.19; -import { IModule } from "./IModule.sol"; +import { IIPOrg } from "contracts/interfaces/ip-org/IIPOrg.sol"; +import { ModuleKey } from "contracts/lib/modules/Module.sol"; +/// @title Story Protocol Module Interface. +/// @notice This interface must be implemented by all protocol modules in Story Protocol, +/// providing the base functionality needed for authorization and execution +/// logic centered around IP assets. interface IModule { - + /// The execution of the module is pending, and will need to be executed again. event RequestPending(address indexed sender); + /// Module execution completed successfully. event RequestCompleted(address indexed sender); + /// Module execution failed. + event RequestFailed(address indexed sender, string reason); + + /// @notice Gets the protocol-wide key associated with the module. + /// @return The bytes32 identifier of the module. + function moduleKey() external pure returns (ModuleKey); - function execute(address caller, bytes calldata selfParams, bytes[] calldata preHooksParams, bytes[] calldata postHooksParams) external; - function configure(address caller_, bytes calldata params_) external; + /// @notice Main execution entrypoint. + /// @dev This function verifies encoded module params, executes any pre-action hooks, + /// performs the main module logic, and then executes any post-action hooks. + /// Modules must decide themselves how parameters are encoded and decoded. + /// @param ipOrg_ Address of the IP Org or the zero address (for protocol-wide modules). + /// @param caller_ Address of the caller. + /// @param moduleParams_ Encoded params to be decoded for module execution. + /// @param preHookParams_ Encoded params used for pre-hook execution logic. + /// @param postHookParams_ Encoded params used for post-hook execution logic. + /// @return result of the module action + function execute( + IIPOrg ipOrg_, + address caller_, + bytes calldata moduleParams_, + bytes[] calldata preHookParams_, + bytes[] calldata postHookParams_ + ) external returns (bytes memory result); -} \ No newline at end of file + /// @notice Module configuration entrypoint. + /// @dev Note that it is up to the module on how the parameters should be + /// encoded, unpacked, and used for configuration. + /// @param ipOrg_ Address of the IP Org or the zero address (for protocol-wide modules). + /// @param caller_ Address of configuration caller. + /// @param params_ ABI-encoded parameters used for module configuration. + /// @return result Result of the module configuration expressed as a bytes array. + function configure(IIPOrg ipOrg_, address caller_, bytes calldata params_) external returns (bytes memory result); +} diff --git a/contracts/interfaces/modules/licensing/IERC5218.sol b/contracts/interfaces/modules/licensing/IERC5218.sol deleted file mode 100644 index dd8b3416..00000000 --- a/contracts/interfaces/modules/licensing/IERC5218.sol +++ /dev/null @@ -1,150 +0,0 @@ -// SPDX-License-Identifier: BUSL-1.1 -pragma solidity ^0.8.0; - -import { IERC721Upgradeable } from "@openzeppelin/contracts-upgradeable/token/ERC721/IERC721Upgradeable.sol"; -import { ITermsProcessor } from "./terms/ITermsProcessor.sol"; -import { Licensing } from "contracts/lib/modules/Licensing.sol"; - -/// @title ERC-5218: NFT Rights Management -interface IERC5218 is IERC721Upgradeable { - /// @dev This emits when a new license is created by any mechanism. - event CreateLicense( - uint256 _licenseId, - uint256 _tokenId, - uint256 _parentLicenseId, - address _licenseHolder, - string _uri, - address _revoker - ); - - // NOTE: MODIFIED ERC-5218, this may be refactored into ILicenseTermsExecutor - /// @dev emits when license terms are executed to activate a license - event ExecuteTerms(uint256 _licenseId, bytes _data); - /// @dev This emits when the terms of a license are updated, after executing a processor - event TermsUpdated(uint256 indexed licenseId, address processor, bytes termsData); - - /// @dev This emits when a license is revoked. Note that under some - /// license terms, the sublicenses may be `implicitly` revoked following the - /// revocation of some ancestral license. In that case, your smart contract - /// may only emit this event once for the ancestral license, and the revocation - /// of all its sublicenses can be implied without consuming additional gas. - event RevokeLicense(uint256 _licenseId); - - /// @dev This emits when the a license is transferred to a new holder. The - /// root license of an NFT should be transferred with the NFT in an ERC721 - /// `transfer` function call. - event TransferLicense(uint256 _licenseId, address _licenseHolder); - - - /// @notice Create a new license. - /// @dev Throws unless the NFT `_tokenId` exists. Throws unless the parent - /// license `_parentLicenseId` is active, or `_parentLicenseId` is a special - /// identifier not referring to any license (such as 0) and the NFT - /// `_tokenId` doesn't have a root license tethered to it. Throws unless the - /// message sender is eligible to create the license, i.e., either the - /// license to be created is a root license and `msg.sender` is the NFT owner, - /// or the license to be created is a sublicense and `msg.sender` is the holder - /// of the parent license. - /// @param _tokenId The identifier for the NFT the license is issued upon - /// @param _parentLicenseId The identifier for the parent license - /// @param _licenseHolder The address of the license holder - /// @param _uri The URI of the license terms - /// @param _revoker The revoker address - /// @param _commercial Whether the license granted is commercial or non commercial - /// @param _canSublicense Whether the license holder can sublicense the license - /// @param _terms The license terms - /// @return The identifier of the created license - function createLicense( - uint256 _tokenId, - uint256 _parentLicenseId, - address _licenseHolder, - string memory _uri, - address _revoker, - bool _commercial, // NOTE: MODIFIED ERC-5218 - bool _canSublicense, // NOTE: MODIFIED ERC-5218 - Licensing.TermsProcessorConfig memory _terms // NOTE: MODIFIED ERC-5218 - ) external returns (uint256); - - /// @notice Revoke a license. - /// @dev Throws unless the license is active and the message sender is the - /// eligible revoker. This function should be used for revoking both root - /// licenses and sublicenses. Note that if a root license is revoked, the - /// NFT should be transferred back to its creator. - /// @param _licenseId The identifier for the queried license - function revokeLicense(uint256 _licenseId) external; - - /// @notice Transfer a sublicense. - /// @dev Throws unless the sublicense is active and `msg.sender` is the license - /// holder. Note that the root license of an NFT should be tethered to and - /// transferred with the NFT. Whenever an NFT is transferred by calling the - /// ERC721 `transfer` function, the holder of the root license should be - /// changed to the new NFT owner. - /// @param _licenseId The identifier for the queried license - /// @param _licenseHolder The new license holder - function transferSublicense( - uint256 _licenseId, - address _licenseHolder - ) external; - - /// @notice Check if a license is active. - /// @dev A non-existing or revoked license is inactive and this function must - /// return `false` upon it. Under some license terms, a license may become - /// inactive because some ancestral license has been revoked. In that case, - /// this function should return `false`. - /// @param _licenseId The identifier for the queried license - /// @return Whether the queried license is active - function isLicenseActive(uint256 _licenseId) external view returns (bool); - - /// @notice Retrieve the token identifier a license was issued upon. - /// @dev Throws unless the license is active. - /// @param _licenseId The identifier for the queried license - /// @return The token identifier the queried license was issued upon - function getLicenseTokenId( - uint256 _licenseId - ) external view returns (uint256); - - /// @notice Retrieve the parent license identifier of a license. - /// @dev Throws unless the license is active. If a license doesn't have a - /// parent license, return a special identifier not referring to any license - /// (such as 0). - /// @param _licenseId The identifier for the queried license - /// @return The parent license identifier of the queried license - function getParentLicenseId( - uint256 _licenseId - ) external view returns (uint256); - - /// @notice Retrieve the holder of a license. - /// @dev Throws unless the license is active. - /// @param _licenseId The identifier for the queried license - /// @return The holder address of the queried license - function getLicenseHolder( - uint256 _licenseId - ) external view returns (address); - - /// @notice Retrieve the URI of a license. - /// @dev Throws unless the license is active. - /// @param _licenseId The identifier for the queried license - /// @return The URI of the queried license - function getLicenseURI( - uint256 _licenseId - ) external view returns (string memory); - - /// @notice Retrieve the revoker address of a license. - /// @dev Throws unless the license is active. - /// @param _licenseId The identifier for the queried license - /// @return The revoker address of the queried license - function getLicenseRevoker( - uint256 _licenseId - ) external view returns (address); - - /// @notice Retrieve the root license identifier of an NFT. - /// @dev Throws unless the queried NFT exists. If the NFT doesn't have a root - /// license tethered to it, return a special identifier not referring to any - /// license (such as 0). - /// @param _tokenId The identifier for the queried NFT - /// @return The root license identifier of the queried NFT - function getLicenseIdByTokenId( // NOTE: This will not work for sublicenses that have a tokenId associated. Rename to getRootLicenseIdByTokenId?? - uint256 _tokenId, - bool _commercial // NOTE: MODIFIED ERC-5218 - ) external view returns (uint256); -} diff --git a/contracts/interfaces/modules/licensing/ILicenseRegistry.sol b/contracts/interfaces/modules/licensing/ILicenseRegistry.sol deleted file mode 100644 index 5d0703f0..00000000 --- a/contracts/interfaces/modules/licensing/ILicenseRegistry.sol +++ /dev/null @@ -1,18 +0,0 @@ -// SPDX-License-Identifier: BUSL-1.1 -pragma solidity ^0.8.13; -import { IERC721 } from "@openzeppelin/contracts/token/ERC721/IERC721.sol"; - - - -/// @title ILicenseRegistry -/// @author Raul Martinez -/// @notice Interface for NFT tracking the ownership of tradeable Licenses emitted by a RightsManager. -interface ILicenseRegistry is IERC721 { - - function mint(address to_, uint256 tokenId_) external; - function exists(uint256 tokenId_) external view returns (bool); - function name() external view returns (string memory); - function symbol() external view returns (string memory); - function getRightsManager() external view returns (address); - -} \ No newline at end of file diff --git a/contracts/interfaces/modules/licensing/ILicensingModule.sol b/contracts/interfaces/modules/licensing/ILicensingModule.sol index 955698cc..5d6a7e99 100644 --- a/contracts/interfaces/modules/licensing/ILicensingModule.sol +++ b/contracts/interfaces/modules/licensing/ILicensingModule.sol @@ -1,23 +1,32 @@ -// SPDX-License-Identifier: BUSL-1.1 -pragma solidity ^0.8.13; -import { ZeroAddress, Unauthorized } from "contracts/errors/General.sol"; -import { IPAssetOrgFactory } from "contracts/IPAssetOrgFactory.sol"; -import { UUPSUpgradeable } from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol"; -import { AccessControlledUpgradeable } from "contracts/access-control/AccessControlledUpgradeable.sol"; -import { ITermsProcessor } from "./terms/ITermsProcessor.sol"; -import { Licensing } from "contracts/lib/modules/Licensing.sol"; -import { IERC5218 } from "./IERC5218.sol"; - -interface ILicensingModule { - - event NonCommercialLicenseUriSet(string uri); +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.19; - event IPAssetOrgConfigSet(address ipAssetOrg, Licensing.IPAssetOrgConfig config); - - function configureIpAssetOrgLicensing(address ipAssetOrg_, Licensing.IPAssetOrgConfig memory config_) external; +import { IModule } from "contracts/interfaces/modules/base/IModule.sol"; +import { Licensing } from "contracts/lib/modules/Licensing.sol"; - function getIpAssetOrgConfig(address ipAssetOrg_) external view returns (Licensing.IPAssetOrgConfig memory); +/// @title Licensing Module Interface +interface ILicensingModule is IModule { + /// Emits when an IP org picks a licensing framework and sets its configuration. + /// @param ipOrg Address of the IP org whose license framework is being set. + /// @param frameworkId The uint256 id of the set licensing framework. + /// @param url A string URL which points to the associated legal document. + /// @param licensorConfig Configuration associated with the framework's licensor. + /// @param values A list of terms describing the licensing framework. + event IpOrgLicensingFrameworkSet( + address indexed ipOrg, + string frameworkId, + string url, + Licensing.LicensorConfig licensorConfig, + Licensing.ParamValue[] values + ); - function getNonCommercialLicenseURI() external view returns (string memory); + /// @notice Gets the licensing framework for an IP org. + /// @param ipOrg_ The address of the selected IP Org. + function getIpOrgLicensorConfig(address ipOrg_) external view returns (Licensing.LicensorConfig); + /// Gets the value set by an IP org for a parameter of a licensing framework. + /// If no value is set (bytes.length==0), licensors will be able to set their value. + /// @param ipOrg_ address of the IP org + /// @param paramTag_ string tag of the parameter + function getIpOrgValueForParam(address ipOrg_, string calldata paramTag_) external view returns (bytes memory); } diff --git a/contracts/interfaces/modules/licensing/terms/ITermsProcessor.sol b/contracts/interfaces/modules/licensing/terms/ITermsProcessor.sol deleted file mode 100644 index 9804d740..00000000 --- a/contracts/interfaces/modules/licensing/terms/ITermsProcessor.sol +++ /dev/null @@ -1,21 +0,0 @@ -// SPDX-License-Identifier: BUSL-1.1 -pragma solidity ^0.8.19; -import { IERC165 } from "@openzeppelin/contracts/utils/introspection/IERC165.sol"; - - -/// @title ITermsProcessor -/// @author Raul Martinez -/// @notice Interface for licensing terms processors, which encode, decode and execute the terms set on an IERC5218 license parameters, -/// in particular the TermsProcessorConfig struct for the terms parameter in createLicense() -interface ITermsProcessor is IERC165 { - - - /// @notice Executes the terms set on a license on creation. - /// This should be called after decodeTerms() - /// @return newData the new data to be set on the license - function executeTerms(bytes calldata data_) external returns(bytes memory newData); - - /// returns true if the terms have been executed successfully or they don't need to be executed, false otherwise - function termsExecutedSuccessfully(bytes calldata data_) external view returns(bool); - -} \ No newline at end of file diff --git a/contracts/interfaces/modules/registration/IRegistrationModule.sol b/contracts/interfaces/modules/registration/IRegistrationModule.sol new file mode 100644 index 00000000..4d94471f --- /dev/null +++ b/contracts/interfaces/modules/registration/IRegistrationModule.sol @@ -0,0 +1,78 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.19; + +import { IModule } from "contracts/interfaces/modules/base/IModule.sol"; + +/// @title IRegistrationModule +interface IRegistrationModule is IModule { + /// @notice Emits when an IPOrg updates metadata associated with its IPA. + /// @param ipOrg The address of the IP Org whose metadata was updated. + /// @param baseURI The base token URI to be used for token metadata. + /// @param contractURI The contract URI to be used for contract metadata. + event MetadataUpdated(address indexed ipOrg, string baseURI, string contractURI); + + /// @notice Emits when a new IP asset is registered. + /// @param ipAssetId The identifier of the newly registered IP asset. + /// @param ipOrg The address of the IP Org of the IP asset. + /// @param ipOrgAssetId The IP Org localized id of the IP asset. + /// @param owner The address of the new IP asset owner. + /// @param name The name of the IP asset being registered. + /// @param ipOrgAssetType The numerical id of the IP asset type. + /// @param hash The content hash of the registered IP asset. + /// @param mediaUrl The media URL of the registered IP asset. + event IPAssetRegistered( + uint256 ipAssetId, + address indexed ipOrg, + uint256 ipOrgAssetId, + address indexed owner, + string name, + uint8 indexed ipOrgAssetType, + bytes32 hash, + string mediaUrl + ); + + /// @notice Emits when an IP asset is transferred to a new owner. + /// @param ipAssetId The identifier of the IP asset being transferred. + /// @param ipOrg The address of the IP Org which administers the IP asset. + /// @param ipOrgAssetId The local id of the wrapped IP within the IP Org. + /// @param prevOwner The address of the previous owner of the IP asset. + /// @param newOwner The address of the new owner of the IP asset. + event IPAssetTransferred( + uint256 indexed ipAssetId, + address indexed ipOrg, + uint256 ipOrgAssetId, + address prevOwner, + address newOwner + ); + + /// @notice Returns the current owner of an IP asset. + /// @param ipAssetId_ The global identifier of the IP asset within the GIPR. + function ownerOf(uint256 ipAssetId_) external view returns (address); + + /// @notice Gets the IP asset id associated with an IP Org asset. + /// @param ipOrg_ The address of the governing IP asset IP Org. + /// @param ipOrgAssetId_ The localized id of the IP asset within the IP Org. + function ipAssetId(address ipOrg_, uint256 ipOrgAssetId_) external returns (uint256); + + /// @notice Renders metadata of an IP Asset localized for an IP Org. + /// @param ipOrg_ The address of the IP Org of the IP asset. + /// @param ipOrgAssetId_ The local id of the IP asset within the IP Org. + /// @param ipOrgAssetType_ The IP Org asset type. + /// @return The token URI associated with the IP Org. + function tokenURI( + address ipOrg_, + uint256 ipOrgAssetId_, + uint8 ipOrgAssetType_ + ) external view returns (string memory); + + /// @notice Gets the contract URI for an IP Org. + /// @param ipOrg_ The address of the IP Org. + /// @return The contract URI associated with the IP Org. + function contractURI(address ipOrg_) external view returns (string memory); + + /// @notice get the ip Asset types of an ipOrg + function getIpOrgAssetTypes(address ipOrg_) external view returns (string[] memory); + + /// @notice Returns true if the index for an IP Org asset type is supported. + function isValidIpOrgAssetType(address ipOrg_, uint8 index) external view returns (bool); +} diff --git a/contracts/interfaces/modules/relationships/IRelationshipModule.sol b/contracts/interfaces/modules/relationships/IRelationshipModule.sol index 6a740c82..383da3a6 100644 --- a/contracts/interfaces/modules/relationships/IRelationshipModule.sol +++ b/contracts/interfaces/modules/relationships/IRelationshipModule.sol @@ -1,56 +1,72 @@ -// SPDX-License-Identifier: BUSL-1.1 -pragma solidity ^0.8.13; - -import { IRelationshipProcessor } from "./processors/IRelationshipProcessor.sol"; -import { IPAsset } from "contracts/lib/IPAsset.sol"; -import { Relationship } from "contracts/lib/modules/Relationship.sol"; - -interface IRelationshipModule { - - event RelationSet( - address sourceContract, - uint256 sourceId, - address destContract, - uint256 destId, - bytes32 indexed relationshipId, - uint256 endTime - ); - event RelationUnset( - address sourceContract, - uint256 sourceId, - address destContract, - uint256 destId, - bytes32 indexed relationshipId +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.19; + +import { LibRelationship } from "contracts/lib/modules/LibRelationship.sol"; +import { IModule } from "contracts/interfaces/modules/base/IModule.sol"; + +/// @title IRelationshipModule +/// @notice Interface for the RelationshipModule. +interface IRelationshipModule is IModule { + /// Emitted with a new Relationship Type definitions is created + event RelationshipTypeSet( + // Short string naming the type + string relType, + // Zero for protocol-wide, or address of the IPOrg + address indexed ipOrg, + // Allowed src address, zero address if empty, all F for all addresses are OK + address src, + // Allowed items for src + LibRelationship.Relatables srcRelatable, + // Mask of allowed subtypes for src (see BitMask) + uint256 srcSubtypesMask, + // Allowed dst address, zero address if empty, all F for all addresses are OK + address dst, + // Allowed items for dst + LibRelationship.Relatables dstRelatable, + // Mask of allowed subtypes for dst (see BitMask) + uint256 dstSubtypesMask ); - event RelationPendingProcessor( - address sourceContract, - uint256 sourceId, - address destContract, - uint256 destId, - bytes32 indexed relationshipId + + /// Emitted when a Relationship Type definition is removed + event RelationshipTypeUnset( + // Short string naming the type + string relType, + // Zero for protocol-wide, or address of the IPOrg + address ipOrg ); - event RelationshipConfigSet( - string name, - bytes32 indexed relationshipId, - uint256 sourceIpAssetTypeMask, - uint256 destIpAssetTypeMask, - bool onlySameIPAssetOrg, - address processor, - uint256 maxTtl, - uint256 minTtl, - bool renewable + /// Emitted when a Relationship is created, linking 2 elements + event RelationshipCreated( + // Sequential Relationship ID + uint256 indexed relationshipId, + // Short string naming the type + string relType, + // Source contract or EOA + address srcAddress, + // Source item ID + uint256 srcId, + // Destination contract or EOA + address dstAddress, + // Destination item ID + uint256 dstId ); - event RelationshipConfigUnset(bytes32 indexed relationshipId); - - function relate(Relationship.RelationshipParams calldata params_, bytes calldata data_) external; - function unrelate(Relationship.RelationshipParams calldata params_) external; - function areTheyRelated(Relationship.RelationshipParams calldata params_) external view returns (bool); - function isRelationshipExpired(Relationship.RelationshipParams calldata params_) external view returns (bool); - function setRelationshipConfig(string calldata name_, Relationship.SetRelationshipConfigParams calldata params_) external returns(bytes32 relationshipId); - function getRelationshipId(string calldata name_) external view returns (bytes32); - function unsetRelationshipConfig(bytes32 relationshipId_) external; - function getRelationshipConfig(bytes32 relationshipId_) external view returns (Relationship.RelationshipConfig memory); - function getRelationshipConfigDecoded(bytes32 relationshipId_) external view returns (Relationship.SetRelationshipConfigParams memory); + /// Gets relationship type definition for a given relationship type name + /// Will revert if no relationship type is found + /// @param ipOrg_ IP Org address or zero address for protocol level relationships + /// @param relType_ the name of the relationship type + /// @return result the relationship type definition + function getRelationshipType( + address ipOrg_, + string memory relType_ + ) external view returns (LibRelationship.RelationshipType memory); + + /// Gets relationship definition for a given relationship id + function getRelationship(uint256 relationshipId_) external view returns (LibRelationship.Relationship memory); + + /// Gets relationship id for a given relationship + function getRelationshipId(LibRelationship.Relationship calldata rel_) external view returns (uint256); + + /// Checks if a relationship has been set + function relationshipExists(LibRelationship.Relationship calldata rel_) external view returns (bool); } diff --git a/contracts/interfaces/modules/relationships/processors/IRelationshipProcessor.sol b/contracts/interfaces/modules/relationships/processors/IRelationshipProcessor.sol deleted file mode 100644 index 2c3f593c..00000000 --- a/contracts/interfaces/modules/relationships/processors/IRelationshipProcessor.sol +++ /dev/null @@ -1,20 +0,0 @@ -// SPDX-License-Identifier: BUSL-1.1 -pragma solidity ^0.8.13; - -import { Relationship } from "contracts/lib/modules/Relationship.sol"; - -/// @title IRelationshipProcessor -/// @dev Interface for relationship processors. -/// Relationship processors are used to process relationships between IP Assets before they are set. -/// They are set per relationship config in a IRelationshipModule -interface IRelationshipProcessor { - - - /// @dev Processes a relationship between two IP Assets before it is set. This can be use for validity checks, actions, etc. It must: - /// - revert if the relationship is invalid - /// - return true if the relationship is valid and the relationship should be set immediately in the relationship module. - /// - return false if the relationship is valid but there is need for further processing. - /// In this case, the relationship module will emit a RelationPendingProcessor event. - /// This can be leveraged for multi-step relationship setting, e.g. for a relationship that requires approval from the destination IP Asset owner. - function processRelationship(Relationship.RelationshipParams memory params_, bytes calldata data_, address caller_) external returns(bool); -} diff --git a/contracts/interfaces/utils/IPolygonTokenClient.sol b/contracts/interfaces/utils/IPolygonTokenClient.sol new file mode 100644 index 00000000..1e8d9cf5 --- /dev/null +++ b/contracts/interfaces/utils/IPolygonTokenClient.sol @@ -0,0 +1,14 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.19; + +/// @notice Interface for processing token requests via clients on Polygon. +interface IPolygonTokenClient { + function sendRequest( + bytes32 requestId, + address requester, + address tokenAddress, + address tokenOwnerAddress, + address callbackAddr, + bytes4 callbackFunctionSignature + ) external; +} diff --git a/contracts/interfaces/utils/IVersioned.sol b/contracts/interfaces/utils/IVersioned.sol deleted file mode 100644 index 8585b248..00000000 --- a/contracts/interfaces/utils/IVersioned.sol +++ /dev/null @@ -1,7 +0,0 @@ -// SPDX-License-Identifier: BUSL-1.1 - -pragma solidity ^0.8.13; - -interface IVersioned { - function version() external pure returns (string memory); -} diff --git a/contracts/ip-assets/IPAssetOrg.sol b/contracts/ip-assets/IPAssetOrg.sol deleted file mode 100644 index 2e3674fb..00000000 --- a/contracts/ip-assets/IPAssetOrg.sol +++ /dev/null @@ -1,130 +0,0 @@ -// SPDX-License-Identifier: BUSL-1.1 -pragma solidity ^0.8.13; - -import { OwnableUpgradeable } from "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol"; -import { IIPAssetOrg } from "contracts/interfaces/ip-assets/IIPAssetOrg.sol"; -import { ICollectModule } from "contracts/interfaces/modules/collect/ICollectModule.sol"; -import { IPAsset } from "contracts/lib/IPAsset.sol"; -import { IPAssetOrgDataManager } from "./storage/IPAssetOrgDataManager.sol"; -import { ERC721Upgradeable } from "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol"; -import { IERC165Upgradeable } from "@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol"; -import { MulticallUpgradeable } from "@openzeppelin/contracts-upgradeable/utils/MulticallUpgradeable.sol"; -import { IPAssetRegistry } from "contracts/IPAssetRegistry.sol"; -import { ILicensingModule } from "contracts/interfaces/modules/licensing/ILicensingModule.sol"; -import { Collect } from "contracts/lib/modules/Collect.sol"; -import { Errors } from "contracts/lib/Errors.sol"; -import { Licensing } from "contracts/lib/modules/Licensing.sol"; - -/// @notice IP Asset Organization -contract IPAssetOrg is - ERC721Upgradeable, - IPAssetOrgDataManager, - MulticallUpgradeable, - OwnableUpgradeable -{ - - /// @custom:storage-location erc7201:story-protocol.ip-asset-org.storage - // TODO: Refactor IP asset types to be specified through the IP Asset Registry or one of its modules. - struct IPAssetOrgStorage { - /// @dev ipAssetId => id counter - mapping(IPAsset.IPAssetType => uint256) idsByType; - } - - IPAssetRegistry public REGISTRY; - - // keccak256(bytes.concat(bytes32(uint256(keccak256("story-protocol.ip-assets-registry.storage")) - 1))) - bytes32 private constant _STORAGE_LOCATION = 0x1a0b8fa444ff575656111a4368b8e6a743b70cbf31ffb9ee2c7afe1983f0e378; - string private constant _VERSION = "0.1.0"; - - // TODO(ramarti): Refactor to configure IP Asset types via registry modules. - uint256 private constant _ROOT_IP_ASSET = 0; - - /// @notice Returns the current version of the IP asset org contract. - function version() external pure virtual returns (string memory) { - return _VERSION; - } - - - function initialize(IPAsset.InitIPAssetOrgParams memory params_) public initializer { - - // TODO(ramarti) Decouple IPAssetOrg from the RightsManager and make sure to move `__ERC721_init` here. - __ERC721_init(params_.name, params_.symbol); - - __Multicall_init(); - __Ownable_init(); - // TODO: Weird bug does not allow OZ to specify owner in init... - _transferOwnership(params_.owner); - - - if (params_.registry == address(0)) revert Errors.ZeroAddress(); - REGISTRY = IPAssetRegistry(params_.registry); - } - - /// Creates a new IPAsset, and assigns licenses (rights) to it, according to the IPAssetOrg - /// config in LicensingModule. - /// A Non commercial license is always assigned, and if the IPAsset is a root IPAsset, - /// a commercial license may also be assigned. - /// @dev reverts if LicensingModule is not configured for the IPAssetOrg. - /// @param params_ The parameters used for IP Asset creation. - /// @return the created IP Asset id (and IP Asset org id). - /// TODO(ramarti): Refactor licensing configuration to use registry asset ids instead of ip asset org ids. - /// TODO(leeren): Deprecate returning of internal IP Asset org id once existing dependencies to it are removed. - function createIpAsset(IPAsset.CreateIpAssetParams calldata params_) public returns (uint256, uint256) { - if (params_.ipAssetType == IPAsset.IPAssetType.UNDEFINED) revert Errors.IPAsset_InvalidType(IPAsset.IPAssetType.UNDEFINED); - // TODO: Add module and other relevant configuration for registration. - uint256 ipAssetId = REGISTRY.register(msg.sender, address(this)); - uint256 ipAssetOrgId = _mintBlock(params_.to, params_.ipAssetType); - _writeIPAsset(ipAssetId, ipAssetOrgId, params_.name, params_.description, params_.mediaUrl); - IPAssetOrgStorage storage $ = _getIPAssetOrgStorage(); - - return (ipAssetId, ipAssetOrgId); - } - - /// @notice Retrieves the token URI for an IP Asset within the IP Asset Org. - /// @param tokenId_ The id of the IP Asset within the IP Asset Org. - function tokenURI( - uint256 tokenId_ - ) public view override returns (string memory) { - // TODO: should this reference the license too? - return readIPAsset(tokenId_).mediaUrl; - } - - /// @notice Mints a new IP asset localized for the IP Asset Org. - /// @param to_ Address of the owner of the IP Asset. - /// @param ipAssetType_ Type of the IP Asset. - /// TODO: Deprecate use of IP Asset types in the IP Asset Org contract. - function _mintBlock( - address to_, - IPAsset.IPAssetType ipAssetType_ - ) private returns (uint256) { - uint256 nextId = currentIdFor(ipAssetType_) + 1; - if (nextId > IPAsset._lastId(ipAssetType_)) revert Errors.IPAssetOrg_IdOverBounds(); - IPAssetOrgStorage storage $ = _getIPAssetOrgStorage(); - $.idsByType[ipAssetType_] = nextId; - _safeMint(to_, nextId); - return nextId; - } - - /// @notice Gets the next id that a newly minted IP Asset corresponds to. - /// @param ipAssetType_ The type of the IP Asset being queried. - function currentIdFor(IPAsset.IPAssetType ipAssetType_) public view returns (uint256) { - IPAssetOrgStorage storage $ = _getIPAssetOrgStorage(); - uint256 currentId = $.idsByType[ipAssetType_]; - if (currentId == 0) { - return IPAsset._zeroId(ipAssetType_); - } else { - return currentId; - } - } - - /// @dev Gets the storage associated with the IPAssetOrg contract. - function _getIPAssetOrgStorage() - private - pure - returns (IPAssetOrgStorage storage $) - { - assembly { - $.slot := _STORAGE_LOCATION - } - } -} diff --git a/contracts/ip-assets/storage/IPAssetOrgDataManager.sol b/contracts/ip-assets/storage/IPAssetOrgDataManager.sol deleted file mode 100644 index c07f2401..00000000 --- a/contracts/ip-assets/storage/IPAssetOrgDataManager.sol +++ /dev/null @@ -1,53 +0,0 @@ -// SPDX-License-Identifier: BUSL-1.1 -pragma solidity ^0.8.19; - -import { IPAsset } from "contracts/lib/IPAsset.sol"; -import { Unauthorized, NonExistentID, ZeroAddress } from "contracts/errors/General.sol"; -import { IIPAssetOrgDataManager } from "contracts/interfaces/ip-assets/storage/IIPAssetOrgDataManager.sol"; -import { Initializable } from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol"; -import { IPAsset } from "contracts/lib/IPAsset.sol"; - -abstract contract IPAssetOrgDataManager is Initializable, IIPAssetOrgDataManager { - - /// @custom:storage-location erc7201:story-protocol.ip-asset-data.storage - struct IPAssetDataStorage { - mapping(uint256 => IPAssetData) ipAssetsData; - } - - // keccak256(bytes.concat(bytes32(uint256(keccak256("story-protocol.ip-asset-data.storage")) - 1))) - bytes32 private constant _STORAGE_LOCATION = 0x9d56f7e7ee381479643316c052563e5824551ecde3f8bff0aa320131666f6879; - - function __IPAssetData_init() public initializer {} - - function readIPAsset(uint256 ipAssetOrgId_) public view returns (IPAssetData memory) { - IPAssetDataStorage storage $ = _getIPAssetDataStorage(); - return $.ipAssetsData[ipAssetOrgId_]; - } - - function _writeIPAsset( - uint256 ipAssetId_, - uint256 ipAssetOrgId_, - string calldata name_, - string calldata description_, - string calldata mediaUrl_ - ) internal returns (IPAsset.IPAssetType) { - IPAssetDataStorage storage $ = _getIPAssetDataStorage(); - IPAssetData storage ipAssetData = $.ipAssetsData[ipAssetOrgId_]; - if (ipAssetData.blockType == IPAsset.IPAssetType.UNDEFINED) { - ipAssetData.blockType = IPAsset._ipAssetTypeFor(ipAssetOrgId_); - } - ipAssetData.name = name_; - ipAssetData.description = description_; - ipAssetData.mediaUrl = mediaUrl_; - ipAssetData.ipAssetId = ipAssetId_; - emit IPAssetWritten(ipAssetId_, ipAssetOrgId_, ipAssetData.blockType, name_, description_, mediaUrl_); - return ipAssetData.blockType; - } - - function _getIPAssetDataStorage() private pure returns (IPAssetDataStorage storage $) { - assembly { - $.slot := _STORAGE_LOCATION - } - } - -} diff --git a/contracts/ip-org/IPOrg.sol b/contracts/ip-org/IPOrg.sol new file mode 100644 index 00000000..8ecbcf45 --- /dev/null +++ b/contracts/ip-org/IPOrg.sol @@ -0,0 +1,128 @@ +// SPDX-License-Identifier: UNLICENSED +// See https://github.com/storyprotocol/protocol-contracts/blob/main/StoryProtocol-AlphaTestingAgreement-17942166.3.pdf +pragma solidity ^0.8.19; + +import { IPOrgController } from "contracts/ip-org/IPOrgController.sol"; +import { IIPOrg } from "contracts/interfaces/ip-org/IIPOrg.sol"; +import { IModuleRegistry } from "contracts/interfaces/modules/IModuleRegistry.sol"; +import { IRegistrationModule } from "contracts/interfaces/modules/registration/IRegistrationModule.sol"; +import { ERC721Upgradeable } from "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol"; +import { REGISTRATION_MODULE_KEY } from "contracts/lib/modules/Module.sol"; +import { Errors } from "contracts/lib/Errors.sol"; + +/// @title IP Organization Contract +/// @notice An IP Org represents a collection of IP Assets governed under a single +/// administrative entity. It serves both as an org-branded NFT wrapper of +/// the IP Asset group and as a conduit used by the IP registration module +/// for transferring IP ownership and configuring its IP-related metadata. +/// Crations of new IP Orgs happen through the IP Org Controller contract. +contract IPOrg is IIPOrg, ERC721Upgradeable { + /// @notice Tracks the last index of the IP asset wrapper. + uint256 public lastIndex; + + /// @notice Tracks the total number of IP Assets owned by the IP org. + uint256 public totalSupply; + + // Address of the module registry. + IModuleRegistry public immutable MODULE_REGISTRY; + + // Address of the IP Org Controller. + address public immutable CONTROLLER; + + /// @notice Tracks the IP asset types associated with the each IP asset wrapper. + mapping(uint256 => uint8) private _ipOrgAssetTypes; + + /// @notice Restricts calls to being through the registration module. + modifier onlyRegistrationModule() { + if (address(MODULE_REGISTRY.protocolModule(REGISTRATION_MODULE_KEY)) != msg.sender) { + revert Errors.Unauthorized(); + } + _; + } + + /// @notice Creates the IP Org implementation contract. + /// @param controller_ Address of the IP Org controller. + /// @param moduleRegistry_ Address of the IP asset module registry. + constructor(address controller_, address moduleRegistry_) initializer { + CONTROLLER = controller_; + MODULE_REGISTRY = IModuleRegistry(moduleRegistry_); + } + + /// @notice Retrieves the current owner of the IP Org. + function owner() external view returns (address) { + return IPOrgController(CONTROLLER).ownerOf(address(this)); + } + + /// @notice Gets the current owner of an IP asset within the IP Org. + function ownerOf(uint256 id) public view override(IIPOrg, ERC721Upgradeable) returns (address) { + return super.ownerOf(id); + } + + /// @notice Retrieves the token URI for an IP Asset within the IP Asset Org. + /// @param tokenId_ The id of the IP Asset within the IP Asset Org. + function tokenURI(uint256 tokenId_) public view override returns (string memory) { + address registrationModule = address(IModuleRegistry(MODULE_REGISTRY).protocolModule(REGISTRATION_MODULE_KEY)); + return IRegistrationModule(registrationModule).tokenURI(address(this), tokenId_, ipOrgAssetType(tokenId_)); + } + + /// @notice Retrieves the contract URI for the IP Org collection. + function contractURI() public view override returns (string memory) { + address registrationModule = address(IModuleRegistry(MODULE_REGISTRY).protocolModule(REGISTRATION_MODULE_KEY)); + return IRegistrationModule(registrationModule).contractURI(address(this)); + } + + /// @notice Gets the global IP asset id associated with this IP Org asset. + /// @param id_ The local id of the IP Org wrapped IP asset. + /// @return The global identifier of the IP asset. + function ipAssetId(uint256 id_) public returns (uint256) { + address registrationModule = address(MODULE_REGISTRY.protocolModule(REGISTRATION_MODULE_KEY)); + return IRegistrationModule(registrationModule).ipAssetId(address(this), id_); + } + + /// @notice Initializes an IP Org. + /// @param name_ Name to assign to the IP Org. + /// @param symbol_ Symbol to assign to the IP Org. + function initialize(string calldata name_, string calldata symbol_) public initializer { + if (msg.sender != CONTROLLER) { + revert Errors.Unauthorized(); + } + + __ERC721_init(name_, symbol_); + } + + /// @notice Registers a new IP Asset wrapper for the IP Org. + function mint(address owner_, uint8 assetType_) public onlyRegistrationModule returns (uint256 id) { + totalSupply++; + id = ++lastIndex; + _ipOrgAssetTypes[id] = assetType_; + _mint(owner_, id); + } + + /// @notice Burns an IP Asset wrapper of the IP Org. + /// @param id The identifier of the IP asset wrapper being burned. + function burn(uint256 id) public onlyRegistrationModule { + totalSupply--; + _burn(id); + } + + /// @notice Transfers ownership of an IP Asset within an Org to a new owner. + /// @param from_ The original owner of the IP asset in the IP Org. + /// @param to_ The new owner of the IP asset in the IP Org. + /// @param id_ The identifier of the IP asset within the IP Org. + function transferFrom( + address from_, + address to_, + uint256 id_ + ) public override(IIPOrg, ERC721Upgradeable) onlyRegistrationModule { + _transfer(from_, to_, id_); + } + + /// @notice Returns the IP Org asset type for a given IP Org asset. + /// @param id_ The identifier of the IP asset within the IP Org. + function ipOrgAssetType(uint256 id_) public view returns (uint8) { + if (!_exists(id_)) { + revert Errors.IPOrg_IdDoesNotExist(); + } + return _ipOrgAssetTypes[id_]; + } +} diff --git a/contracts/ip-org/IPOrgController.sol b/contracts/ip-org/IPOrgController.sol new file mode 100644 index 00000000..a4214ccd --- /dev/null +++ b/contracts/ip-org/IPOrgController.sol @@ -0,0 +1,192 @@ +// SPDX-License-Identifier: UNLICENSED +// See https://github.com/storyprotocol/protocol-contracts/blob/main/StoryProtocol-AlphaTestingAgreement-17942166.3.pdf +pragma solidity ^0.8.19; + +import { Clones } from "@openzeppelin/contracts/proxy/Clones.sol"; +import { UUPSUpgradeable } from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol"; + +import { AccessControlledUpgradeable } from "contracts/access-control/AccessControlledUpgradeable.sol"; +import { ModuleRegistry } from "contracts/modules/ModuleRegistry.sol"; +import { Errors } from "contracts/lib/Errors.sol"; +import { Registration } from "contracts/lib/modules/Registration.sol"; +import { IIPOrgController } from "contracts/interfaces/ip-org/IIPOrgController.sol"; +import { IIPOrg } from "contracts/interfaces/ip-org/IIPOrg.sol"; +import { IPOrg } from "contracts/ip-org/IPOrg.sol"; +import { AccessControl } from "contracts/lib/AccessControl.sol"; +import { REGISTRATION_MODULE } from "contracts/lib/modules/Module.sol"; + +/// @title IP Org Controller Contract +/// @notice The IP Org Controller is the protocol-wide factory contract for creating +/// and tracking IP Orgs. On top of this, it acts as the ownership controller +/// for IP Orgs, allowing orgs to transfer ownership through a 2-step process. +contract IPOrgController is UUPSUpgradeable, AccessControlledUpgradeable, IIPOrgController { + /// @notice Tracks ownership and registration of IPOrgs. + struct IPOrgRecord { + bool registered; + address owner; + address pendingOwner; + } + + /// @custom:storage-location erc7201:story-protocol.ip-org-factory.storage + struct IPOrgControllerStorage { + /// @dev Tracks registered IP Orgs through records of ownership. + mapping(address => IPOrgRecord) ipOrgs; + /// @dev Tracks owner of the IP Org Controller. + address owner; + } + + bytes32 private constant _STORAGE_LOCATION = + bytes32(uint256(keccak256("story-protocol.ip-org-factory.storage")) - 1); + + /// @notice The IP asset module registry. + address public immutable MODULE_REGISTRY; + + /// @notice The IP Org implementation address. + address public ipOrgImpl; + + /// @notice Creates the IP Org Controller contract. + /// @param moduleRegistry_ Address of the IP asset module registry. + constructor(address moduleRegistry_) { + MODULE_REGISTRY = moduleRegistry_; + } + + /// @notice Initializes the IP Org Controller + /// @param accessControl_ Address of the contract responsible for access control. + /// TODO(leeren): Deprecate this function in favor of an immutable factory. + function initialize(address accessControl_) public initializer { + ipOrgImpl = address(new IPOrg(address(this), MODULE_REGISTRY)); + __UUPSUpgradeable_init(); + __AccessControlledUpgradeable_init(accessControl_); + } + + /// @notice Retrieves the current owner of an IP Org. + /// @param ipOrg_ The address of the IP Org being queried. + function ownerOf(address ipOrg_) external view returns (address) { + IPOrgRecord storage record = _ipOrgRecord(ipOrg_); + return record.owner; + } + + /// @notice Returns whether an IP Org has been officially registered. + /// @param ipOrg_ The address of the IP Org being queried. + function isIpOrg(address ipOrg_) external view returns (bool) { + IPOrgControllerStorage storage $ = _getIpOrgControllerStorage(); + return $.ipOrgs[ipOrg_].registered; + } + + /// @notice Retrieves the pending owner of an IP Org. + /// @dev A zero return address implies no ownership transfer is in process. + /// @param ipOrg_ The address of the IP Org being queried. + function pendingOwnerOf(address ipOrg_) external view returns (address pendingOwner) { + IPOrgRecord storage record = _ipOrgRecord(ipOrg_); + return record.pendingOwner; + } + + /// @notice Initiates transfer of ownership for an IP Org. + /// @param ipOrg_ The address of the IP Org transferring ownership. + /// @param newOwner_ The address of the new IP Org owner. + function transferOwner(address ipOrg_, address newOwner_) external { + IPOrgRecord storage record = _ipOrgRecord(ipOrg_); + + // Ensure the current IP Org owner is initiating the transfer. + if (record.owner != msg.sender) { + revert Errors.IPOrgController_InvalidIPOrgOwner(); + } + + // Ensure the proposed new owner is not the zero address. + if (newOwner_ == address(0)) { + revert Errors.IPOrgController_InvalidNewIPOrgOwner(); + } + + record.pendingOwner = newOwner_; + emit IPOrgPendingOwnerSet(ipOrg_, newOwner_); + } + + /// @notice Cancels the transferring of ownership of an IP Org. + /// @param ipOrg_ The address of the IP Org transferring ownership. + function cancelOwnerTransfer(address ipOrg_) external { + IPOrgRecord storage record = _ipOrgRecord(ipOrg_); + + // Ensure the current IP Org owner is canceling the transfer. + if (record.owner != msg.sender) { + revert Errors.IPOrgController_InvalidIPOrgOwner(); + } + + // Ensure an ongoing ownership transfer has actually initiated. + if (record.pendingOwner == address(0)) { + revert Errors.IPOrgController_OwnerTransferUninitialized(); + } + + delete record.pendingOwner; + emit IPOrgPendingOwnerSet(ipOrg_, address(0)); + } + + /// @notice Accepts the transferring of ownership of an IP Org. + /// @param ipOrg_ The address of the IP Org being transferred. + function acceptOwnerTransfer(address ipOrg_) external { + IPOrgRecord storage record = _ipOrgRecord(ipOrg_); + + // Ensure the pending IP Org owner is accepting the ownership transfer. + if (record.pendingOwner != msg.sender) { + revert Errors.IPOrgController_InvalidIPOrgOwner(); + } + + // Reset the pending owner. + address prevOwner = record.owner; + delete record.pendingOwner; + record.owner = msg.sender; + + emit IPOrgPendingOwnerSet(ipOrg_, address(0)); + emit IPOrgTransferred(ipOrg_, prevOwner, msg.sender); + } + + /// @notice Registers a new IP Org. + /// @param owner_ The address of the IP Org to be registered. + /// @param name_ The name to associated with the new IP Org. + /// @param symbol_ The symbol to associate with the new IP Org. + /// TODO: Add module configurations to the IP Org registration process. + /// TODO: Add authorization for IP Org registration. + function registerIpOrg( + address owner_, + string calldata name_, + string calldata symbol_, + string[] calldata ipAssetTypes_ + ) public returns (address ipOrg_) { + // Check that the owner is a non-zero address. + if (owner_ == address(0)) { + revert Errors.ZeroAddress(); + } + + ipOrg_ = Clones.clone(ipOrgImpl); + IPOrg(ipOrg_).initialize(name_, symbol_); + + // Set the registration status of the IP Asset Org to be true. + IPOrgControllerStorage storage $ = _getIpOrgControllerStorage(); + $.ipOrgs[ipOrg_] = IPOrgRecord({ registered: true, owner: owner_, pendingOwner: address(0) }); + + bytes memory encodedParams = abi.encode(Registration.SET_IP_ORG_ASSET_TYPES, abi.encode(ipAssetTypes_)); + ModuleRegistry(MODULE_REGISTRY).configure(IIPOrg(ipOrg_), address(this), REGISTRATION_MODULE, encodedParams); + + emit IPOrgRegistered(owner_, ipOrg_, name_, symbol_, ipAssetTypes_); + } + + /// @dev Gets the ownership record of an IP Org. + /// @param ipOrg_ The address of the IP Org being queried. + function _ipOrgRecord(address ipOrg_) internal view returns (IPOrgRecord storage record) { + IPOrgControllerStorage storage $ = _getIpOrgControllerStorage(); + record = $.ipOrgs[ipOrg_]; + if (!$.ipOrgs[ipOrg_].registered) { + revert Errors.IPOrgController_IPOrgNonExistent(); + } + } + + /// @dev Authorizes upgrade to a new contract address via UUPS. + function _authorizeUpgrade(address) internal virtual override onlyRole(AccessControl.UPGRADER_ROLE) {} + + /// @dev Retrieves the ERC-1967 storage slot for the IP Org Controller. + function _getIpOrgControllerStorage() private pure returns (IPOrgControllerStorage storage $) { + bytes32 storageLocation = _STORAGE_LOCATION; + assembly { + $.slot := storageLocation + } + } +} diff --git a/contracts/lib/AccessControl.sol b/contracts/lib/AccessControl.sol index 3f642604..f5de07a1 100644 --- a/contracts/lib/AccessControl.sol +++ b/contracts/lib/AccessControl.sol @@ -1,21 +1,35 @@ -// SPDX-License-Identifier: BUSL-1.1 +// SPDX-License-Identifier: UNLICENSED +// See https://github.com/storyprotocol/protocol-contracts/blob/main/StoryProtocol-AlphaTestingAgreement-17942166.3.pdf pragma solidity ^0.8.19; /// @title Access Control Library /// @notice Library for access control helpers and protocol role definitions. /// These roles are used by the AccessControlSingleton, accessed by AccessControlled contracts. library AccessControl { - // Default admin role as per OZ AccessControl system. All other roles stem from this. - bytes32 constant PROTOCOL_ADMIN_ROLE = bytes32(0); + bytes32 public constant PROTOCOL_ADMIN_ROLE = bytes32(0); // Role that can upgrade UUPS contracts or Beacon Proxies - bytes32 constant UPGRADER_ROLE = keccak256("UPGRADER_ROLE"); + bytes32 public constant UPGRADER_ROLE = keccak256("UPGRADER_ROLE"); - // Role that can perform admin tasks on the Protocol Relationship Module contract (e.g. adding new protocol-wide links) - bytes32 constant RELATIONSHIP_MANAGER_ROLE = keccak256( "RELATIONSHIP_MANAGER_ROLE"); + // Role for managing protocol-wide and IP Org localized relationships. + bytes32 public constant RELATIONSHIP_MANAGER_ROLE = keccak256("RELATIONSHIP_MANAGER_ROLE"); // Role that can perform admin tasks on the Licensing Module contracts (setNonCommercialLicenseURI) - bytes32 constant LICENSING_MANAGER_ROLE = keccak256("LICENSING_MANAGER_ROLE"); + bytes32 public constant LICENSING_MANAGER_ROLE = keccak256("LICENSING_MANAGER_ROLE"); + + // Role that can call createIPOrg in the IPOrg Factory + bytes32 public constant IPORG_CREATOR_ROLE = keccak256("IPORG_CREATOR_ROLE"); + + // Role that can add new modules to the Module Registry + bytes32 public constant MODULE_REGISTRAR_ROLE = keccak256("MODULE_REGISTRAR_ROLE"); + + // Role that can execute modules + bytes32 public constant MODULE_EXECUTOR_ROLE = keccak256("MODULE_EXECUTOR_ROLE"); + + // Role that can execute Hooks + bytes32 public constant HOOK_CALLER_ROLE = keccak256("HOOK_CALLER_ROLE"); + // Role to set legal terms in TermsRepository + bytes32 public constant LICENSING_MANAGER = keccak256("LICENSING_MANAGER"); } diff --git a/contracts/lib/BitMask.sol b/contracts/lib/BitMask.sol new file mode 100644 index 00000000..9291a083 --- /dev/null +++ b/contracts/lib/BitMask.sol @@ -0,0 +1,68 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.19; + +/** + * @notice Based on OpenZeppelin's BitMap, this library is used to encode a set of indexes in a compact way. + * Instead of using a storage type like OZ, where they use a mapping(uint256 => uint256) for large numbers of values, + * this library limts it to a 256 values in a single uint256. + */ +library BitMask { + /// Returns whether the bit at `index` is set. + function _isSet(uint256 mask_, uint8 index_) internal pure returns (bool) { + uint256 indexMask = 1 << (index_ & 0xff); + return mask_ & indexMask != 0; + } + + /// Sets the bit at `index` to the boolean `value`. + function _setTo(uint256 mask_, uint256 index_, bool value_) internal pure returns (uint256) { + if (value_) { + return _set(mask_, index_); + } else { + return _unset(mask_, index_); + } + } + + /// Sets the bit at `index`. + function _set(uint256 mask_, uint256 index_) internal pure returns (uint256) { + uint256 indexMask = 1 << (index_ & 0xff); + return mask_ |= indexMask; + } + + /// Unsets the bit at `index`. + function _unset(uint256 mask_, uint256 index_) internal pure returns (uint256) { + uint256 indexMask = 1 << (index_ & 0xff); + return mask_ &= ~indexMask; + } + + /// Gets the indexes of the set bits in the mask as an array + function _getSetIndexes(uint256 mask_) internal pure returns (uint8[] memory) { + // Count the number of set bits to allocate the array size + uint256 count; + for (uint8 i = 0; i < 255; ++i) { + if (_isSet(mask_, i)) { + ++count; + } + } + uint8[] memory setBitIndexes = new uint8[](count); + // Fill the array with indices of set bits + uint256 index = 0; + for (uint8 i = 0; i < 255; ++i) { + if (_isSet(mask_, i)) { + setBitIndexes[index] = i; + ++index; + } + } + return setBitIndexes; + } + + function _convertToMask(uint8[] memory indexes_) internal pure returns (uint256) { + uint256 mask = 0; + for (uint256 i = 0; i < indexes_.length; ) { + mask |= 1 << (uint256(indexes_[i]) & 0xff); + unchecked { + i++; + } + } + return mask; + } +} diff --git a/contracts/lib/Errors.sol b/contracts/lib/Errors.sol index 4a7c2873..881f486d 100644 --- a/contracts/lib/Errors.sol +++ b/contracts/lib/Errors.sol @@ -1,10 +1,9 @@ -// SPDX-License-Identifier: BUSL-1.1 +// SPDX-License-Identifier: UNLICENSED +// See https://github.com/storyprotocol/protocol-contracts/blob/main/StoryProtocol-AlphaTestingAgreement-17942166.3.pdf pragma solidity ^0.8.19; -import { IPAsset } from "contracts/lib/IPAsset.sol"; - -/// @title Errors -/// @notice Library for all contract errors, including a set of global errors. +/// @title Errors Library +/// @notice Library for all Story Protocol contract errors. library Errors { //////////////////////////////////////////////////////////////////////////// // Globals // @@ -19,9 +18,6 @@ library Errors { /// @notice The provided role does not exist for the given account. error MissingRole(bytes32 role, address account); - /// @notice The provided identifier does not exist. - error NonExistentID(uint256 id); - /// @notice The caller is not authorized to perform the call. error Unauthorized(); @@ -40,7 +36,11 @@ library Errors { error BaseModule_HooksParamsLengthMismatch(uint8 hookType); error BaseModule_ZeroIpaRegistry(); - error BaseModule_ZeroModuleRegistry(); + error BaseModule_ZeroLicenseRegistry(); + error BaseModule_OnlyModuleRegistry(); + + /// @notice The caller is not authorized to perform this operation. + error BaseModule_Unauthorized(); //////////////////////////////////////////////////////////////////////////// // HookRegistry // @@ -48,17 +48,66 @@ library Errors { /// @notice The hook is already registered. error HookRegistry_RegisteringDuplicatedHook(); + + /// @notice This error is thrown when trying to register a hook with the address 0. error HookRegistry_RegisteringZeroAddressHook(); - error HookRegistry_CallerNotAdmin(); + + /// @notice This error is thrown when the caller is not IP Org owner. + error HookRegistry_CallerNotIPOrgOwner(); + + /// @notice This error is thrown when trying to register more than the maximum allowed number of hooks. error HookRegistry_MaxHooksExceeded(); + /// @notice Hooks configuration array length does not match that of the hooks array. + error HookRegistry_HooksConfigLengthMismatch(); + + /// @notice This error is thrown when the provided index is out of bounds of the hooks array. + error HookRegistry_IndexOutOfBounds(uint256 hooksIndex); + + /// @notice The module may not be the zero address. + error HookRegistry_ZeroModuleRegistry(); + + /// @notice The provided hook has not been whitelisted. + error HookRegistry_RegisteringNonWhitelistedHook(address hookAddress); + //////////////////////////////////////////////////////////////////////////// - // BaseRelationshipProcessor // + // BaseRelationshipProcessor // //////////////////////////////////////////////////////////////////////////// /// @notice Call may only be processed by the relationship module. error BaseRelationshipProcessor_OnlyRelationshipModule(); + //////////////////////////////////////////////////////////////////////////// + // ModuleRegistry // + //////////////////////////////////////////////////////////////////////////// + + /// @notice The selected module has yet to been registered. + error ModuleRegistry_ModuleNotYetRegistered(); + + /// @notice The module depenedency has not yet been registered for the gatway. + error ModuleRegistry_DependencyNotYetRegistered(); + + /// @notice The module depenedency was already registered for the gateway. + error ModuleRegistry_DependencyAlreadyRegistered(); + + /// @notice The caller is not the org owner. + error ModuleRegistry_CallerNotOrgOwner(); + + /// @notice Hook has yet to be registered. + error ModuleRegistry_HookNotRegistered(string hookKey); + + /// @notice The selected module was already registered. + error ModuleRegistry_ModuleAlreadyRegistered(); + + /// @notice The key of the targeted module does not match the provided key. + error ModuleRegistry_ModuleKeyMismatch(); + + /// @notice The caller is not authorized to call the module dependency. + error ModuleRegistry_Unauthorized(); + + /// @notice The gateway is not valid for registration. + error ModuleRegistry_InvalidGateway(); + //////////////////////////////////////////////////////////////////////////// // CollectModule // //////////////////////////////////////////////////////////////////////////// @@ -79,7 +128,7 @@ library Errors { error CollectModule_IPAssetNonExistent(); /// @notice Collect module provided IP asset registry does not exist. - error CollectModule_IPAssetOrgNonExistent(); + error CollectModule_IPOrgNonExistent(); //////////////////////////////////////////////////////////////////////////// // CollectPaymentModule // @@ -171,24 +220,42 @@ library Errors { error IPAccountRegistry_InitializationFailed(); //////////////////////////////////////////////////////////////////////////// - // IPAsset // + // UintArrayMask // //////////////////////////////////////////////////////////////////////////// - /// @notice IP asset array is invalid. - error IPAsset_InvalidIPAssetArray(); - - /// @notice IP asset is invalid. - error IPAsset_InvalidType(IPAsset.IPAssetType ipAsset); + error UintArrayMask_EmptyArray(); //////////////////////////////////////////////////////////////////////////// - // IPAssetOrg // + // IPOrg // //////////////////////////////////////////////////////////////////////////// /// @notice IP identifier is over bounds. - error IPAssetOrg_IdOverBounds(); + error IPOrg_IdOverBounds(); /// @notice Licensing is not configured. - error IPAssetOrg_LicensingNotConfigured(); + error IPOrg_LicensingNotConfigured(); + + /// @notice IP Org wrapper id does not exist. + error IPOrg_IdDoesNotExist(); + + //////////////////////////////////////////////////////////////////////////// + // IPOrgController // + //////////////////////////////////////////////////////////////////////////// + + /// @notice The caller is not the owner of the IP Org Controller. + error IPOrgController_InvalidOwner(); + + /// @notice IP Org does not exist. + error IPOrgController_IPOrgNonExistent(); + + /// @notice The caller is not the authorized IP Org owner. + error IPOrgController_InvalidIPOrgOwner(); + + /// @notice The new owner for an IP Org may not be the zero address. + error IPOrgController_InvalidNewIPOrgOwner(); + + /// @notice The owner transfer has not yet been initialized. + error IPOrgController_OwnerTransferUninitialized(); //////////////////////////////////////////////////////////////////////////// // LibDuration // @@ -205,73 +272,99 @@ library Errors { /// @notice A zero TTL may not be used for configuration. error LibDuration_ZeroTTL(); - - //////////////////////////////////////////////////////////////////////////// - // LicensingModule // - //////////////////////////////////////////////////////////////////////////// - - /// @notice The franchise does not exist. - error LicensingModule_NonExistentIPAssetOrg(); - - /// @notice The root license is not active - error LicensingModule_RootLicenseNotActive(uint256 rootLicenseId); - - /// @notice The revoker may not be a zero address. - error LicensingModule_ZeroRevokerAddress(); //////////////////////////////////////////////////////////////////////////// - // RightsManager // + // LicensingFrameworkRepo // //////////////////////////////////////////////////////////////////////////// - - /// @notice Root license is already configured. - error RightsManager_AlreadyHasRootLicense(); - - /// @notice License cannot be sublicensed. - error RightsManager_CannotSublicense(); - - /// @notice Commercial terms do not match. - error RightsManager_CommercialTermsMismatch(); - - /// @notice License is inactive. - error RightsManager_InactiveLicense(); - - /// @notice Parent license is inactive. - error RightsManager_InactiveParentLicense(); - - /// @notice The license registry is not configured. - error RightsManager_LicenseRegistryNotConfigured(); - - /// @notice NFT is not associated with a license. - error RightsManager_NFTHasNoAssociatedLicense(); - - /// @notice Caller is not owner of parent license. - error RightsManager_NotOwnerOfParentLicense(); - - /// @notice The targeted license is not a sublicense. - error RightsManager_NotSublicense(); - - /// @notice Sender is not the license revoker. - error RightsManager_SenderNotRevoker(); - - /// @notice A create franchise root license must be used. - error RightsManager_UseCreateIPAssetOrgRootLicenseInstead(); - - /// @notice The revoker may not be the zero address. - error RightsManager_ZeroRevokerAddress(); + error LicensingFrameworkRepo_FrameworkAlreadyAdded(); + error LicensingFrameworkRepo_DuplicateParamType(); + error LicensingFrameworkRepo_TooManyParams(); //////////////////////////////////////////////////////////////////////////// - // MultiTermsProcessor // + // LicensingModule // //////////////////////////////////////////////////////////////////////////// - /// @notice Too many terms were selected. - error MultiTermsProcessor_TooManyTermsProcessors(); + /// @notice The franchise does not exist. + error LicensingModule_CallerNotIpOrgOwner(); + error LicensingModule_InvalidConfigType(); + error LicensingModule_InvalidTermCommercialStatus(); + error LicensingModule_IpOrgFrameworkAlreadySet(); + error LicensingModule_DuplicateTermId(); + error LicensingModule_CommercialLicenseNotAllowed(); + error LicensingModule_NonCommercialTermsRequired(); + error LicensingModule_IpOrgNotConfigured(); + error LicensingModule_IpOrgAlreadyConfigured(); + error LicensingModule_ipOrgTermNotFound(); + error LicensingModule_ShareAlikeDisabled(); + error LicensingModule_InvalidAction(); + error LicensingModule_CallerNotLicensor(); + error LicensingModule_ParentLicenseNotActive(); + error LicensingModule_DerivativeNotAllowed(); + error LicensingModule_InvalidIpa(); + error LicensingModule_CallerNotLicenseOwner(); + error LicensingModule_CantFindParentLicenseOrRelatedIpa(); + error LicensingModule_InvalidLicenseeType(); + error LicensingModule_InvalidLicensorType(); + error LicensingModule_InvalidLicensorConfig(); + error LicensingModule_InvalidParamValue(); + error LicensingModule_InvalidParamsLength(); + error LicensingModule_DuplicateParam(); + error LicensingModule_ReciprocalCannotSetParams(); + error LicensingModule_ParamSetByIpOrg(); + error LicensingModule_InvalidInputValue(); + error LicensingModule_IpOrgFrameworkNotSet(); + + //////////////////////////////////////////////////////////////////////////// + // LicenseRegistry // + //////////////////////////////////////////////////////////////////////////// + + error LicenseRegistry_UnknownLicenseId(); + error LicenseRegistry_CallerNotLicensingModule(); + error LicenseRegistry_CallerNotRevoker(); + error LicenseRegistry_CallerNotLicensingModuleOrLicensee(); + error LicenseRegistry_CallerNotLicensor(); + error LicenseRegistry_LicenseNotPendingApproval(); + error LicenseRegistry_InvalidLicenseStatus(); + error LicenseRegistry_ParentLicenseNotActive(); + error LicenseRegistry_IPANotActive(); + error LicenseRegistry_LicenseNotActive(); + error LicenseRegistry_LicenseAlreadyLinkedToIpa(); + + //////////////////////////////////////////////////////////////////////////// + // RegistrationModule // + //////////////////////////////////////////////////////////////////////////// + + /// @notice The caller is not authorized to perform registration. + error RegistrationModule_CallerNotAuthorized(); + + /// @notice The configured caller is invalid. + error RegistrationModule_InvalidCaller(); + + /// @notice The IP asset does not exist. + error RegistrationModule_IPAssetNonExistent(); + + /// @notice The registration module for the IP Org was not yet configured. + error RegistrationModule_IPOrgNotConfigured(); + + /// @notice The registration configuration action is not valid. + error RegistrationModule_InvalidConfigOperation(); + + /// @notice The registration execution action is not valid. + error RegistrationModule_InvalidExecutionOperation(); + + /// @notice IP asset type is not in the list of supported types for + /// the IP Org. + error RegistrationModule_InvalidIPAssetType(); + + /// @notice IPAsset types provided are more than the maximum allowed. + error RegistrationModule_TooManyAssetTypes(); //////////////////////////////////////////////////////////////////////////// // RelationshipModule // //////////////////////////////////////////////////////////////////////////// /// @notice Unable to relate to another franchise. - error RelationshipModule_CannotRelateToOtherIPAssetOrg(); + error RelationshipModule_CannotRelateToOtherIPOrg(); /// @notice The intent has already been registered. error RelationshipModule_IntentAlreadyRegistered(); @@ -291,16 +384,81 @@ library Errors { /// @notice The relationship destination IP type is not supported. error RelationshipModule_UnsupportedRelationshipDst(); + /// @notice Trying an unsupported config action + error RelationshipModule_InvalidConfigOperation(); + + /// @notice Unauthorized caller + error RelationshipModule_CallerNotIpOrgOwner(); + + /// @notice Value not on Relatable enum + error RelationshipModule_InvalidRelatable(); + + /// @notice Getting an invalid relationship type + error RelationshipModule_RelTypeNotSet(string relType); + + /// @notice Relating invalid src addresss + error RelationshipModule_InvalidSrcAddress(); + + /// @notice Relating invalid dst addresss + error RelationshipModule_InvalidDstAddress(); + + /// @notice Relating unsupported src ipOrg asset type + error RelationshipModule_InvalidSrcId(); + + /// @notice Relating unsupported dst ipOrg asset type + error RelationshipModule_InvalidDstId(); + + /// @notice For IPORG_ENTRY - IPORG_ENTRY relationships, + /// ipOrg address must be set + error RelationshipModule_IpOrgRelatableCannotBeProtocolLevel(); + + /// @notice Index is not found for the asset types of that IP Org. + error RelationshipModule_UnsupportedIpOrgIndexType(); + //////////////////////////////////////////////////////////////////////////// // RoyaltyNFT // //////////////////////////////////////////////////////////////////////////// /// @notice Mismatch between parity of accounts and their respective allocations. - error RoyaltyNFT_AccountsAndAllocationsMismatch( - uint256 accountsLength, - uint256 allocationsLength - ); + error RoyaltyNFT_AccountsAndAllocationsMismatch(uint256 accountsLength, uint256 allocationsLength); /// @notice Invalid summation for royalty NFT allocations. error RoyaltyNFT_InvalidAllocationsSum(uint32 allocationsSum); + + //////////////////////////////////////////////////////////////////////////// + // Hook // + //////////////////////////////////////////////////////////////////////////// + + /// @notice The hook request was not found. + error Hook_RequestedNotFound(); + + /// @notice The sync operation is not supported in Async hooks. + error Hook_UnsupportedSyncOperation(); + + /// @notice The async operation is not supported in Sync hooks. + error Hook_UnsupportedAsyncOperation(); + + /// @notice The callback function can only called by designated callback caller. + error Hook_OnlyCallbackCallerCanCallback(address current, address expected); + + /// @notice Invalid async request ID. + error Hook_InvalidAsyncRequestId(bytes32 invalidRequestId); + + /// @notice The address is not the owner of the token. + error TokenGatedHook_NotTokenOwner(address tokenAddress, address ownerAddress); + + error Hook_AsyncHookError(bytes32 requestId, string reason); + + /// @notice Invalid Hook configuration. + error Hook_InvalidHookConfig(string reason); + + //////////////////////////////////////////////////////////////////////////// + // LicensorApprovalHook // + //////////////////////////////////////////////////////////////////////////// + + error LicensorApprovalHook_ApprovalAlreadyRequested(); + error LicensorApprovalHook_InvalidLicensor(); + error LicensorApprovalHook_InvalidLicenseId(); + error LicensorApprovalHook_NoApprovalRequested(); + error LicensorApprovalHook_InvalidResponseStatus(); } diff --git a/contracts/lib/IPAsset.sol b/contracts/lib/IPAsset.sol index 5b50c51b..2f79da18 100644 --- a/contracts/lib/IPAsset.sol +++ b/contracts/lib/IPAsset.sol @@ -1,68 +1,26 @@ -// SPDX-License-Identifier: BUSL-1.1 +// SPDX-License-Identifier: UNLICENSED +// See https://github.com/storyprotocol/protocol-contracts/blob/main/StoryProtocol-AlphaTestingAgreement-17942166.3.pdf pragma solidity ^0.8.19; -import { IPAsset } from "contracts/lib/IPAsset.sol"; -import { Errors } from "./Errors.sol"; - /// @title IP Asset Library /// @notice Library for constants, structs, and helper functions for IP assets. library IPAsset { - - uint8 constant EXTERNAL_ASSET = type(uint8).max; - - uint256 private constant _ID_RANGE = 10 ** 12; - - enum IPAssetType { - UNDEFINED, - STORY, - CHARACTER, - ART, - GROUP, - LOCATION, - ITEM + /// @notice Core attributes that make up an IP Asset. + struct IPA { + string name; // Human-readable identifier for the IP asset. + address registrant; // Address of the initial registrant of the IP asset. + uint8 status; // Current status of the IP asset (e.g. active, expired, etc.) + address ipOrg; // Address of the governing entity of the IP asset. + bytes32 hash; // A unique content hash of the IP asset for preserving integrity. + uint64 registrationDate; // Timestamp for which the IP asset was first registered. } - struct CreateIpAssetParams { - IPAsset.IPAssetType ipAssetType; + /// @notice Struct for packing parameters related to IP asset registration. + struct RegisterIpAssetParams { string name; - string description; - string mediaUrl; - address to; - uint256 parentIpAssetOrgId; - bytes collectData; - } - - struct RegisterIPAssetOrgParams { - address registry; - string name; - string symbol; - string description; - string tokenURI; - } - - struct InitIPAssetOrgParams { - address registry; + uint8 ipOrgAssetType; address owner; - string name; - string symbol; - string description; - } - - function _zeroId(IPAssetType ipAsset_) internal pure returns (uint256) { - if (ipAsset_ == IPAssetType.UNDEFINED) revert Errors.IPAsset_InvalidType(ipAsset_); - return _ID_RANGE * (uint256(ipAsset_) - 1); - } - - function _lastId(IPAssetType ipAsset_) internal pure returns (uint256) { - if (ipAsset_ == IPAssetType.UNDEFINED) revert Errors.IPAsset_InvalidType(ipAsset_); - return (_ID_RANGE * uint256(ipAsset_)) - 1; - } - - function _ipAssetTypeFor(uint256 id_) internal pure returns (IPAssetType) { - // End of _ID_RANGE is zero (undefined) for each IPAsset - // Also, we don't support ids higher than the last IPAsset enum item - if (id_ % _ID_RANGE == 0 || id_ > _ID_RANGE * (uint256(IPAssetType.ITEM))) - return IPAssetType.UNDEFINED; - return IPAsset.IPAssetType((id_ / _ID_RANGE) + 1); + bytes32 hash; + string mediaUrl; } } diff --git a/contracts/lib/IPOrgParams.sol b/contracts/lib/IPOrgParams.sol new file mode 100644 index 00000000..77a5a6f3 --- /dev/null +++ b/contracts/lib/IPOrgParams.sol @@ -0,0 +1,22 @@ +// SPDX-License-Identifier: UNLICENSED +// See https://github.com/storyprotocol/protocol-contracts/blob/main/StoryProtocol-AlphaTestingAgreement-17942166.3.pdf +pragma solidity ^0.8.19; + +/// @title IP Org Params Library +/// @notice Library for constants, structs, and helper functions for IP Orgs. +library IPOrgParams { + struct RegisterIPOrgParams { + address registry; + string name; + string symbol; + string description; + string metadataUrl; + } + + struct InitIPOrgParams { + address registry; + address owner; + string name; + string symbol; + } +} diff --git a/contracts/lib/hooks/Hook.sol b/contracts/lib/hooks/Hook.sol new file mode 100644 index 00000000..e1366e6a --- /dev/null +++ b/contracts/lib/hooks/Hook.sol @@ -0,0 +1,42 @@ +// SPDX-License-Identifier: UNLICENSED +// See https://github.com/storyprotocol/protocol-contracts/blob/main/StoryProtocol-AlphaTestingAgreement-17942166.3.pdf +pragma solidity ^0.8.19; + +import { IHook } from "contracts/interfaces/hooks/base/IHook.sol"; + +/// @title Hooks Library +/// @notice This library defines the ExecutionContext struct used when executing hooks. +/// @dev The ExecutionContext struct contains two fields: config and params, both of type bytes. +library Hook { + uint256 internal constant SYNC_FLAG = 1 << 159; + uint256 internal constant ASYNC_FLAG = 1 << 158; + /// @notice Defines the execution context for a hook. + /// @dev The ExecutionContext struct is used as a parameter when executing hooks. + struct ExecutionContext { + /// @notice The configuration data for the hook, encoded as bytes. + /// @dev This data is used to configure the hook before execution. + /// The configuration is stored in the Module. + bytes config; + /// @notice The parameters for the hook, encoded as bytes. + /// @dev These parameters are passed from the external caller when executing modules. + bytes params; + } + + /// @notice Checks if the hook can support synchronous calls. + /// @dev This function checks if the first bit of the hook address is set to 1, + /// indicating that the hook can support synchronous calls. + /// @param self_ The hook to check. + /// @return A boolean indicating if the hook can support synchronous calls. + function canSupportSyncCall(IHook self_) internal pure returns (bool) { + return uint256(uint160(address(self_))) & SYNC_FLAG != 0; + } + + /// @notice Checks if the hook can support asynchronous calls. + /// @dev This function checks if the second bit of the hook address is set to 1, + /// indicating that the hook can support asynchronous calls. + /// @param self_ The hook to check. + /// @return A boolean indicating if the hook can support asynchronous calls. + function canSupportAsyncCall(IHook self_) internal pure returns (bool) { + return uint256(uint160(address(self_))) & ASYNC_FLAG != 0; + } +} diff --git a/contracts/lib/hooks/PolygonToken.sol b/contracts/lib/hooks/PolygonToken.sol new file mode 100644 index 00000000..1ca68d8b --- /dev/null +++ b/contracts/lib/hooks/PolygonToken.sol @@ -0,0 +1,24 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.19; + +/** + * @title PolygonToken + * @dev This library is used for managing Polygon tokens. + */ +library PolygonToken { + /// @notice This is the configuration for the Polygon token. + /// @dev It includes the token address and the balance threshold. + struct Config { + /// @notice The address of the Polygon token. + address tokenAddress; + /// @notice The balance threshold for the Polygon token. + uint256 balanceThreshold; + } + + /// @notice This is the parameters for the Polygon token. + /// @dev It includes the token owner address. + struct Params { + /// @notice The address of the Polygon token owner. + address tokenOwnerAddress; + } +} diff --git a/contracts/lib/hooks/TokenGated.sol b/contracts/lib/hooks/TokenGated.sol new file mode 100644 index 00000000..67b02d41 --- /dev/null +++ b/contracts/lib/hooks/TokenGated.sol @@ -0,0 +1,23 @@ +// SPDX-License-Identifier: BUSL-1.1 +pragma solidity ^0.8.19; + +/// @title TokenGated +/// @notice This library defines the Config and Params structs used in the TokenGatedHook. +/// @dev The Config struct contains the tokenAddress field, and the Params struct contains the tokenOwner field. +library TokenGated { + /// @notice Defines the required configuration information for the TokenGatedHook. + /// @dev The Config struct contains a single field: tokenAddress. + struct Config { + /// @notice The address of the ERC721 token contract. + /// @dev This address is used to check if the tokenOwner owns a token of the specified ERC721 token contract. + address tokenAddress; + } + + /// @notice Defines the required parameter information for executing the TokenGatedHook. + /// @dev The Params struct contains a single field: tokenOwner. + struct Params { + /// @notice The address of the token owner. + /// @dev This address is checked against the tokenAddress in the Config struct to ensure the owner has a token. + address tokenOwner; + } +} diff --git a/contracts/lib/modules/Collect.sol b/contracts/lib/modules/Collect.sol deleted file mode 100644 index c780e68e..00000000 --- a/contracts/lib/modules/Collect.sol +++ /dev/null @@ -1,70 +0,0 @@ -// SPDX-License-Identifier: BUSL-1.1 -pragma solidity ^0.8.19; - -/// @title Collect Module Library -library Collect { - - //////////////////////////////////////////////////////////////////////////// - // CollectModule // - //////////////////////////////////////////////////////////////////////////// - - /// @notice Parameters passed to initialize a collect module for an IP asset. - struct InitCollectParams { - uint256 ipAssetId; // The id of the IP asset under the franchise. - address collectNftImpl; // The address of the collect NFT impl to use. - bytes data; // Additional data to be used for initialization. - } - - /// @notice Parameters passed for collect processing for an IP asset. - struct CollectParams { - uint256 ipAssetId; // The id of the IP asset being collected. - address collector; // The address designated for NFT collection. - bytes collectData; // Additional data passed for module collection. - bytes collectNftInitData; // Additional data passed for NFT initialization. - bytes collectNftData; // Additional data passed for NFT collection. - } - - /// @notice Collect module settings saved for a franchise IP asset. - /// @dev A zero address `collectNftImpl` means to use a module default NFT impl. - struct CollectInfo { - bool initialized; // Whether the collect module was initialized. - address collectNft; // The collect NFT that an IP asset is bound to. - address collectNftImpl; // The collect NFT impl address being used. - } - - /// @notice Identifies the collect payment type configured for an IP asset. - /// TODO: Add ERC-721 and ERC-1155 as configurable payment types. - enum PaymentType { - NATIVE, // Utilize the native token (e.g. ETH on Ethereum or OP on Optimism) - ERC20 // Utilize an ERC-20 token - } - - /// @notice Payment collect module settings saved for a franchise IP asset. - struct CollectPaymentInfo { - address paymentToken; // The payment token address (if not native). - PaymentType paymentType; // The type of payment being made. - uint256 paymentAmount; // The required amount of the payment token. - address payable paymentRecipient; // Payment receipient address. - } - - /// @notice Parameters passed for collect payment processing for an IP asset. - /// TODO: Add a signature field to accept signature-relayed collects. - struct CollectPaymentParams { - address paymentToken; // The payment token address (if not native). - PaymentType paymentType; // The type of payment being made. - uint256 paymentAmount; // The required amount of the payment token. - } - - //////////////////////////////////////////////////////////////////////////// - // CollectNFT // - //////////////////////////////////////////////////////////////////////////// - - /// @notice Parameters passed to initialize a collect NFT. - struct InitCollectNFTParams { - address registry; // Address of the registry - address ipAssetOrg; // Address of the IP asset collection tied to the collect module. - uint256 ipAssetId; // The id of the IP asset bound to the collect NFT. - bytes data; // Additional data used for NFT initialization. - } - -} diff --git a/contracts/lib/modules/LibRelationship.sol b/contracts/lib/modules/LibRelationship.sol new file mode 100644 index 00000000..bcba5950 --- /dev/null +++ b/contracts/lib/modules/LibRelationship.sol @@ -0,0 +1,57 @@ +// SPDX-License-Identifier: UNLICENSED +// See https://github.com/storyprotocol/protocol-contracts/blob/main/StoryProtocol-AlphaTestingAgreement-17942166.3.pdf +pragma solidity ^0.8.19; + +/// @title Relationship Module Library +library LibRelationship { + enum Relatables { + UNDEFINED, + IPA, + IPORG_ENTRY, + LICENSE, + ADDRESS, + EXTERNAL_NFT + } + + struct RelatedElements { + Relatables src; + Relatables dst; + } + + struct Relationship { + string relType; + address srcAddress; + address dstAddress; + uint256 srcId; + uint256 dstId; + } + + struct AddRelationshipTypeParams { + string relType; + address ipOrg; + RelatedElements allowedElements; + uint8[] allowedSrcs; + uint8[] allowedDsts; + } + + struct RelationshipType { + address src; + uint256 srcSubtypesMask; + address dst; + uint256 dstSubtypesMask; + } + + struct CreateRelationshipParams { + string relType; + address srcAddress; + uint256 srcId; + address dstAddress; + uint256 dstId; + } + + address public constant PROTOCOL_LEVEL_RELATIONSHIP = address(0); + address public constant NO_ADDRESS_RESTRICTIONS = 0xFFfFfFffFFfffFFfFFfFFFFFffFFFffffFfFFFfF; + + bytes32 public constant ADD_REL_TYPE_CONFIG = keccak256("ADD_REL_TYPE"); + bytes32 public constant REMOVE_REL_TYPE_CONFIG = keccak256("REMOVE_REL_TYPE"); +} diff --git a/contracts/lib/modules/Licensing.sol b/contracts/lib/modules/Licensing.sol index 83f59864..8a289967 100644 --- a/contracts/lib/modules/Licensing.sol +++ b/contracts/lib/modules/Licensing.sol @@ -1,49 +1,274 @@ -// SPDX-License-Identifier: BUSL-1.1 +// SPDX-License-Identifier: UNLICENSED +// See https://github.com/storyprotocol/protocol-contracts/blob/main/StoryProtocol-AlphaTestingAgreement-17942166.3.pdf pragma solidity ^0.8.19; -import { ITermsProcessor } from "contracts/interfaces/modules/licensing/terms/ITermsProcessor.sol"; +import { BitMask } from "contracts/lib/BitMask.sol"; +import { Strings } from "@openzeppelin/contracts/utils/Strings.sol"; +import { ShortStrings, ShortString } from "@openzeppelin/contracts/utils/ShortStrings.sol"; /// @title Licensing Module Library library Licensing { + using ShortStrings for *; + /// @notice Enum for the status of a license. + enum LicenseStatus { + /// No status has been set. + Unset, + /// The license is active. It can be linked with IPAs. + Active, + /// The license is pending licensor approval. It can't be linked with IPAs until approved + /// by the licensor using the LicensingModule (activateLicense) + PendingLicensorApproval, + /// The license has been revoked. It can't be linked with IPAs or sublicensed. + /// Sub-licenses will be considered non active. + Revoked + } - /// @notice Configuration for terms processing. - struct TermsProcessorConfig { - ITermsProcessor processor; - bytes data; + /// @notice Defines the types to encode/decode the parameters of a licensing framework. + enum ParameterType { + /// Boolean value + Bool, + /// Number value (18 decimals) + Number, + /// Address value + Address, + /// String value + String, + /// Array of ShortString values + ShortStringArray, + // uint256 bitmask representing indexes in choices array. ParamDefinition will have the available choices array. + MultipleChoice } - /// @notice IP asset configuration for IP licensing. - struct IpAssetConfig { - bool canSublicense; // If false, this IPAsset cannot be parentLicenseId of any other IPAsset - uint256 ipAssetOrgRootLicenseId; // If set, root IPAsset licenses will have this as their parentLicenseId - // TODO: allowed license terms? processors? - // TODO: limit medium of sublicenses? As in, you can only license prose to prose? something like LibIPAssetMask? - // TODO: limit who you can sublicense to? + /// @notice Defines the configuration of the licensor for an IP org. + enum LicensorConfig { + /// Null value. + Unset, + /// Licensor is the IP org owner, for all licenses. + IpOrgOwnerAlways, + /// Licensor will be: + /// - If parentLicense is provided, the licensee of the parent license. + /// - If parentLicense is not provided, the Owner of the linked IPA. + /// - If no parentLicense and no linked IPA, the IP org owner. + Source } - /// @notice IPAssetOrg configuration for IP licensing. - struct IPAssetOrgConfig { - IpAssetConfig nonCommercialConfig; - TermsProcessorConfig nonCommercialTerms; - IpAssetConfig commercialConfig; - TermsProcessorConfig commercialTerms; - bool rootIpAssetHasCommercialRights; + /// @notice Data struct representing a license agreement minted according to an IP Org Licensing Framework + struct LicenseData { + /// License status. + LicenseStatus status; + /// If true, other licenses can set this one as parent license, false will prevent it. + bool derivativesAllowed; + /// If true, sublicenses can be created by anyone, and the terms of this license will be + /// applied to the sublicenses. If false, sublicenses can only be created by the licensor. + bool isReciprocal; + /// If true, sublicenses will be minted with LicenseStatus.PendingLicensorApproval. + bool derivativeNeedsApproval; + /// Address with permission to revoke the license. address revoker; - string commercialLicenseUri; + /// address granting the license + address licensor; + /// address of the ip org that produced the terms + address ipOrg; + /// The id of the license framework used to mint this license + ShortString frameworkId; + /// If the licensee is linked to an IPA, this is the IPA id. 0 otherwise + uint256 ipaId; + /// The id of the parent license, if any. 0 otherwise + uint256 parentLicenseId; } - - /// @notice Core licensing structure. - struct License { - bool active; - bool canSublicense; - bool commercial; + /// @notice Parameters to mint a license + struct LicenseCreation { + /// Array of (tag, value) pairs for the parameters, corresponding to the tags in the + /// licensing framework. + ParamValue[] params; + /// Parent license id, if any. 0 otherwise. uint256 parentLicenseId; - uint256 tokenId; - address revoker; - string uri; // NOTE: should we merge this with IPAssetOrg tokenURI for Licenses who are rights? - ITermsProcessor termsProcessor; - bytes termsData; + /// Linked IPA id, if any. 0 otherwise. + uint256 ipaId; } + /// @notice Corresponds to a parameter (licensing term) of a licensing framework. + struct ParamDefinition { + /// The parameter id, used to identify the parameter in the license agreement text. + ShortString tag; + /// The type of the parameter, used to encode/decode the value + ParameterType paramType; + /// Encoded according to paramType, might be empty. + bytes defaultValue; + /// If MultipleChoice, String[] of the available choices. Empty bytes otherwise. + bytes availableChoices; + } + + /// @notice Corresponds to a value for parameter (licensing term) of a licensing framework. + struct ParamValue { + /// The parameter id, used to identify the parameter in the license agreement text. + ShortString tag; + /// Encoded according to paramType, might be empty. + bytes value; + } + + /// @notice Parameters to set a licensing framework in LicensingFrameworkRepo + struct SetFramework { + /// The id of the licensing framework. + string id; + /// The URL to the license agreement text. + string textUrl; + /// Array of parameter definitions, corresponding to the parameters in + /// the license agreement text. + ParamDefinition[] paramDefs; + } + + /// @notice Parameters to set a licensing framework in an IP org + struct LicensingConfig { + /// The id of the licensing framework. + string frameworkId; + /// Array of (tag, value) pairs for the parameters, corresponding to the tags in the + /// licensing framework. + ParamValue[] params; + /// Enum with the rules to determine the licensor for this IP org's licenses + LicensorConfig licensor; + } + + /// @notice Maximum number of parameters allowed in a licensing framework. + uint256 public constant MAX_PARAM_TAGS = 255; + + /// Input for IpOrg legal terms configuration in LicensingModule (for now, the only option) + bytes32 public constant LICENSING_FRAMEWORK_CONFIG = keccak256("LICENSING_FRAMEWORK_CONFIG"); + /// Create license action in LicensingModule + bytes32 public constant CREATE_LICENSE = keccak256("CREATE_LICENSE"); + /// Activate license action in LicensingModule + bytes32 public constant ACTIVATE_LICENSE = keccak256("ACTIVATE_LICENSE"); + /// Revoke license action in LicensingModule + bytes32 public constant LINK_LNFT_TO_IPA = keccak256("LINK_LNFT_TO_IPA"); + + /// @notice Returns the string representation of a license status. + function _statusToString(LicenseStatus status_) internal pure returns (string memory) { + if (status_ == LicenseStatus.Unset) { + return "Unset"; + } else if (status_ == LicenseStatus.Active) { + return "Active"; + } else if (status_ == LicenseStatus.PendingLicensorApproval) { + return "Pending Licensor Approval"; + } else if (status_ == LicenseStatus.Revoked) { + return "Revoked"; + } + return "Unknown"; + } + + /// @notice decodes value from a MultipleChoice parameter into the corresponding ShortString[] + /// with the choices + /// @param value the encoded value + /// @param availableChoices the encoded available choices for the parameter, defined in parameter + /// definition + function _decodeMultipleChoice( + bytes memory value, + bytes memory availableChoices + ) internal pure returns (ShortString[] memory) { + uint256 mask = abi.decode(value, (uint256)); + uint8[] memory indexes = BitMask._getSetIndexes(mask); + ShortString[] memory choices = abi.decode(availableChoices, (ShortString[])); + ShortString[] memory result = new ShortString[](indexes.length); + for (uint256 i = 0; i < indexes.length; i++) { + result[i] = choices[indexes[i]]; + } + return result; + } + + /// @notice Sets the indexes for the chosen options in a MultipleChoice parameter, + /// and encodes it into bytes + /// @param choiceIndexes_ the indexes of the chosen options + /// @return value the encoded value + function _encodeMultipleChoice(uint8[] memory choiceIndexes_) internal pure returns (bytes memory value) { + uint256 mask = BitMask._convertToMask(choiceIndexes_); + return abi.encode(mask); + } + + /// @notice Validates the value for a parameter, according to its type, meaning it will + /// decode the value and try to revert if it's not valid. + /// @dev WARNING: Some validations are not possible to do on chain (like string validation), + /// so they should be done off chain. Also, Boolean decoded as a Number will be valid. + /// @param paramDef_ the parameter definition + /// @param value_ the encoded value + function _validateParamValue(ParamDefinition memory paramDef_, bytes memory value_) internal pure returns (bool) { + // An empty value signals the parameter is untagged, to trigger default values in the + // license agreement text, but that's valid + if (keccak256(value_) == keccak256("")) { + return true; + } + if (paramDef_.paramType == Licensing.ParameterType.Bool) { + abi.decode(value_, (bool)); + return true; + } else if (paramDef_.paramType == Licensing.ParameterType.Number && abi.decode(value_, (uint256)) == 0) { + return false; + } else if ( + paramDef_.paramType == Licensing.ParameterType.Address && + // Not supporting address(0) as a valid value + abi.decode(value_, (address)) == address(0) + ) { + return false; + } else if ( + paramDef_.paramType == Licensing.ParameterType.String && + (keccak256(abi.encodePacked(abi.decode(value_, (string)))) == keccak256(abi.encode(" ")) || + keccak256(abi.encodePacked(abi.decode(value_, (string)))) == keccak256(abi.encode(""))) + ) { + return false; + } else if ( + paramDef_.paramType == Licensing.ParameterType.ShortStringArray && + abi.decode(value_, (ShortString[])).length == 0 + ) { + return false; + } else if ( + paramDef_.paramType == Licensing.ParameterType.MultipleChoice && + abi.decode(paramDef_.availableChoices, (ShortString[])).length == 0 + ) { + return false; + } + return true; + } + + /// @notice converts a ShortString[] to a string representation of a JSON array. Used for LicenseRegistry + /// metadata rendering. + /// @param ss the ShortString[] + /// @return the string representation of a JSON array + function _shortStringArrayToJsonArray(ShortString[] memory ss) internal pure returns (string memory) { + string memory result = "["; + uint256 len = ss.length; + for (uint256 i = 0; i < len; i++) { + ShortString s = ss[i]; + result = string(abi.encodePacked(result, "\"", s.toString(), "\"")); // solhint-disable-line + if (i != len - 1) { + result = string(abi.encodePacked(result, ",")); + } + } + return string(abi.encodePacked(result, "]")); + } + + /// @notice decodes value from a parameter into a string representation that can be used + /// in LicenseRegistry metadata rendering. + /// @param paramDef_ the parameter definition + /// @param value_ the encoded value + /// @return the string representation of the value + function _getDecodedParamString( + Licensing.ParamDefinition memory paramDef_, + bytes memory value_ + ) internal pure returns (string memory) { + if (paramDef_.paramType == Licensing.ParameterType.Bool) { + return abi.decode(value_, (bool)) ? "true" : "false"; + } else if (paramDef_.paramType == Licensing.ParameterType.Number) { + return Strings.toString(abi.decode(value_, (uint256))); + } else if (paramDef_.paramType == Licensing.ParameterType.String) { + return abi.decode(value_, (string)); + } else if (paramDef_.paramType == Licensing.ParameterType.Address) { + address addr = abi.decode(value_, (address)); + return Strings.toHexString(uint160(addr), 20); + } else if (paramDef_.paramType == Licensing.ParameterType.ShortStringArray) { + ShortString[] memory choices = abi.decode(value_, (ShortString[])); + return _shortStringArrayToJsonArray(choices); + } else if (paramDef_.paramType == Licensing.ParameterType.MultipleChoice) { + ShortString[] memory choices = _decodeMultipleChoice(value_, paramDef_.availableChoices); + return _shortStringArrayToJsonArray(choices); + } + return ""; + } } diff --git a/contracts/lib/modules/Module.sol b/contracts/lib/modules/Module.sol new file mode 100644 index 00000000..6c6fe5ef --- /dev/null +++ b/contracts/lib/modules/Module.sol @@ -0,0 +1,42 @@ +// SPDX-License-Identifier: BUSL-1.1 +pragma solidity ^0.8.19; + +// This file contains module structures and constants used throughout Story Protocol. + +// A module key is identified by its keccak-256 encoded string identifier. +type ModuleKey is bytes32; + +using { moduleKeyEquals as == } for ModuleKey global; +using { moduleKeyNotEquals as != } for ModuleKey global; + +// A gateway's module dependencies are composed of a list of module keys +// and a list of function selectors dependend on for each of these modules. +struct ModuleDependencies { + ModuleKey[] keys; + bytes4[][] fns; +} + +// Helper function for comparing equality between two keys. +function moduleKeyEquals(ModuleKey k1, ModuleKey k2) pure returns (bool) { + return ModuleKey.unwrap(k1) == ModuleKey.unwrap(k2); +} + +// Helper function for comparing inequality between two keys. +function moduleKeyNotEquals(ModuleKey k1, ModuleKey k2) pure returns (bool) { + return ModuleKey.unwrap(k1) != ModuleKey.unwrap(k2); +} + +// Transforms a string to its designated module key. +function toModuleKey(string calldata moduleKey_) pure returns (ModuleKey) { + return ModuleKey.wrap(keccak256(abi.encodePacked(moduleKey_))); +} + +// String values for core protocol modules. +string constant RELATIONSHIP_MODULE = "RELATIONSHIP_MODULE"; +string constant LICENSING_MODULE = "LICENSING_MODULE"; +string constant REGISTRATION_MODULE = "REGISTRATION_MODULE"; + +// Module key values for core protocol modules. +ModuleKey constant RELATIONSHIP_MODULE_KEY = ModuleKey.wrap(keccak256(abi.encodePacked(RELATIONSHIP_MODULE))); +ModuleKey constant LICENSING_MODULE_KEY = ModuleKey.wrap(keccak256(abi.encodePacked(LICENSING_MODULE))); +ModuleKey constant REGISTRATION_MODULE_KEY = ModuleKey.wrap(keccak256(abi.encodePacked(REGISTRATION_MODULE))); diff --git a/contracts/lib/modules/ModuleRegistryKeys.sol b/contracts/lib/modules/ModuleRegistryKeys.sol new file mode 100644 index 00000000..4cc2cab6 --- /dev/null +++ b/contracts/lib/modules/ModuleRegistryKeys.sol @@ -0,0 +1,9 @@ +// SPDX-License-Identifier: UNLICENSED +// See https://github.com/storyprotocol/protocol-contracts/blob/main/StoryProtocol-AlphaTestingAgreement-17942166.3.pdf +pragma solidity ^0.8.19; + +library ModuleRegistryKeys { + string public constant RELATIONSHIP_MODULE = "RELATIONSHIP_MODULE"; + string public constant LICENSING_MODULE = "LICENSING_MODULE"; + string public constant REGISTRATION_MODULE = "REGISTRATION_MODULE"; +} diff --git a/contracts/lib/modules/Registration.sol b/contracts/lib/modules/Registration.sol new file mode 100644 index 00000000..515d7257 --- /dev/null +++ b/contracts/lib/modules/Registration.sol @@ -0,0 +1,32 @@ +// SPDX-License-Identifier: UNLICENSED +// See https://github.com/storyprotocol/protocol-contracts/blob/main/StoryProtocol-AlphaTestingAgreement-17942166.3.pdf +pragma solidity ^0.8.19; + +/// @title Relationship Module Library +library Registration { + /// @notice IPOrg configuration settings. + struct IPOrgConfig { + string baseURI; + string contractURI; + string[] assetTypes; + } + + /// @notice Struct used for IP asset registration. + struct RegisterIPAssetParams { + address owner; + uint8 ipOrgAssetType; + string name; + bytes32 hash; + string mediaUrl; + } + + // TODO(leeren): Change in favor of granular function-selector based auth. + + // Constants used for determining module configuration logic. + bytes32 public constant SET_IP_ORG_METADATA = keccak256("SET_IP_ORG_METADATA"); + bytes32 public constant SET_IP_ORG_ASSET_TYPES = keccak256("SET_IP_ORG_ASSET_TYPES"); + + // Constants used for determining module execution logic. + bytes32 public constant REGISTER_IP_ASSET = keccak256("REGISTER_IP_ASSET"); + bytes32 public constant TRANSFER_IP_ASSET = keccak256("TRANSFER_IP_ASSET"); +} diff --git a/contracts/lib/modules/Relationship.sol b/contracts/lib/modules/Relationship.sol deleted file mode 100644 index aec25362..00000000 --- a/contracts/lib/modules/Relationship.sol +++ /dev/null @@ -1,49 +0,0 @@ -// SPDX-License-Identifier: BUSL-1.1 -pragma solidity ^0.8.19; - -import { IPAsset } from "contracts/lib/IPAsset.sol"; -import { IRelationshipProcessor } from "contracts/interfaces/modules/relationships/processors/IRelationshipProcessor.sol"; - -/// @title Relationship Module Library -library Relationship { - - /// @notice Configures relationship TTLs and renewals. - struct TimeConfig { - uint112 maxTtl; - uint112 minTtl; - bool renewable; - } - - /// @notice Core relationship module configuration. - struct RelationshipConfig { - uint256 sourceIpAssetTypeMask; - uint256 destIpAssetTypeMask; - bool onlySameIPAssetOrg; - IRelationshipProcessor processor; - address disputer; - TimeConfig timeConfig; - } - - /// @notice Core relationship module setter configuration. - struct SetRelationshipConfigParams { - IPAsset.IPAssetType[] sourceIpAssets; - bool allowedExternalSource; - IPAsset.IPAssetType[] destIpAssets; - bool allowedExternalDest; - bool onlySameIPAssetOrg; - address processor; - address disputer; - TimeConfig timeConfig; - } - - /// @notice Core relationship parameters. - struct RelationshipParams { - address sourceContract; - uint256 sourceId; - address destContract; - uint256 destId; - bytes32 relationshipId; - uint256 ttl; - } - -} diff --git a/contracts/lib/modules/Royalties.sol b/contracts/lib/modules/Royalties.sol index dd4d9d3f..b82aa8d9 100644 --- a/contracts/lib/modules/Royalties.sol +++ b/contracts/lib/modules/Royalties.sol @@ -1,13 +1,12 @@ -// SPDX-License-Identifier: BUSL-1.1 +// SPDX-License-Identifier: UNLICENSED +// See https://github.com/storyprotocol/protocol-contracts/blob/main/StoryProtocol-AlphaTestingAgreement-17942166.3.pdf pragma solidity ^0.8.19; /// @title Royalties Module Library library Royalties { - - /// @notice Struct for configuring royalty allocations. + /// @notice Struct for configuring royalty allocations. struct ProportionData { address[] accounts; uint32[] percentAllocations; } - } diff --git a/contracts/lib/modules/SPUMLParams.sol b/contracts/lib/modules/SPUMLParams.sol new file mode 100644 index 00000000..1e945117 --- /dev/null +++ b/contracts/lib/modules/SPUMLParams.sol @@ -0,0 +1,91 @@ +// SPDX-License-Identifier: UNLICENSED +// See https://github.com/storyprotocol/protocol-contracts/blob/main/StoryProtocol-AlphaTestingAgreement-17942166.3.pdf +pragma solidity ^0.8.19; + +import { Licensing } from "contracts/lib/modules/Licensing.sol"; +import { ShortString, ShortStrings } from "@openzeppelin/contracts/utils/ShortStrings.sol"; + +/// List of Protocol Term Ids (meaning the Licensing Module will have specific instructions +/// for these terms without the need of a decoder) +/// @dev must be < 32 bytes long, or they will blow up at some point +/// see https://docs.openzeppelin.com/contracts/4.x/api/utils#ShortStrings +library SPUMLParams { + using ShortStrings for *; + + string public constant FRAMEWORK_ID = "SPUML-1.0"; + //////////////////////////////////////////////////////////////////////////// + // Parameters // + //////////////////////////////////////////////////////////////////////////// + string public constant CHANNELS_OF_DISTRIBUTION = "Channels-Of-Distribution"; + string public constant ATTRIBUTION = "Attribution"; + string public constant DERIVATIVES_ALLOWED = "Derivatives-Allowed"; + string public constant DERIVATIVES_ALLOWED_OPTIONS = "Derivatives-Allowed-Options"; + + //////////////////////////////////////////////////////////////////////////// + // Derivative Options // + //////////////////////////////////////////////////////////////////////////// + string public constant ALLOWED_WITH_APPROVAL = "Allowed-With-Approval"; + uint8 public constant ALLOWED_WITH_APPROVAL_INDEX = 0; + string public constant ALLOWED_WITH_RECIPROCAL_LICENSE = "Allowed-Reciprocal-License"; + uint8 public constant ALLOWED_WITH_RECIPROCAL_LICENSE_INDEX = 1; + string public constant ALLOWED_WITH_ATTRIBUTION = "Allowed-With-Attribution"; + uint8 public constant ALLOWED_WITH_ATTRIBUTION_INDEX = 2; + + // On beta version + // Parameters: + // string constant CONTENT_STANDARDS = "Content-Standards"; + // string constant DERIVATIVES = "Derivatives"; + // string constant TERRITORY = "Territory"; + // string constant REVOCABLE = "Revocable"; + // string constant COMMERCIAL_USE = "Commercial-Use"; + // string constant GROSS_REVENUES = "Gross-Revenues"; + // string constant LICENSE_FEE = "License-Fee"; + // string constant SUBLICENSABLE = "Sublicensable"; + // string constant TRANSFERABLE = "Transferable"; + // string constant CURRENCY = "Currency"; + // string constant PAYMENT_ADDRESS = "Payment-Address"; + // string constant GOVERNING_LAW = "Governing-Law"; + // string constant EXPIRATION = "Expiration"; + // string constant ALTERNATIVE_DISPUTE_RESOLUTION = + // "Alternative-Dispute-Resolution"; + // Derivative options: + // string constant ALLOWED_WITH_REVENUE_SHARE = "Allowed-With-Revenue-Share"; + // string constant ALLOWED_WITH_REVENUE_CEILING = "Allowed-With-Revenue-Ceiling"; + // string constant DERIVATIVES_ALLOWED_TAG_AMOUNT = "Derivatives-Allowed-Tag-Amount"; + + function _getDerivativeChoices() internal pure returns (ShortString[] memory) { + ShortString[] memory choices = new ShortString[](3); + choices[0] = ALLOWED_WITH_APPROVAL.toShortString(); + choices[1] = ALLOWED_WITH_RECIPROCAL_LICENSE.toShortString(); + choices[2] = ALLOWED_WITH_ATTRIBUTION.toShortString(); + return choices; + } + + function _getParamDefs() internal pure returns (Licensing.ParamDefinition[] memory paramDefs) { + paramDefs = new Licensing.ParamDefinition[](4); + paramDefs[0] = Licensing.ParamDefinition( + CHANNELS_OF_DISTRIBUTION.toShortString(), + Licensing.ParameterType.ShortStringArray, + "", + "" + ); + paramDefs[1] = Licensing.ParamDefinition( + ATTRIBUTION.toShortString(), + Licensing.ParameterType.Bool, + abi.encode(false), + "" + ); + paramDefs[2] = Licensing.ParamDefinition( + DERIVATIVES_ALLOWED.toShortString(), + Licensing.ParameterType.Bool, + abi.encode(false), + "" + ); + paramDefs[3] = Licensing.ParamDefinition( + DERIVATIVES_ALLOWED_OPTIONS.toShortString(), + Licensing.ParameterType.MultipleChoice, + "", // Since this is dependent on the above, default is unset + abi.encode(_getDerivativeChoices()) + ); + } +} diff --git a/contracts/modules/Gateway.sol b/contracts/modules/Gateway.sol new file mode 100644 index 00000000..ea019ab5 --- /dev/null +++ b/contracts/modules/Gateway.sol @@ -0,0 +1,36 @@ +// SPDX-License-Identifier: BUSL-1.1 +pragma solidity ^0.8.19; + +import { Errors } from "contracts/lib/Errors.sol"; +import { IGateway } from "contracts/interfaces/modules/IGateway.sol"; +import { ModuleDependencies } from "contracts/lib/modules/Module.sol"; +import { ModuleRegistry } from "contracts/modules/ModuleRegistry.sol"; + +/// @title Module Gateway +/// @notice This contract serves as the base layer all module "frontends" must +/// extend. Protocol admins enroll gateways through the module registry, +/// which give them access to call all module functions listed as part +/// of their dependency set. +abstract contract Gateway is IGateway { + bool public registered; + + ModuleRegistry public immutable MODULE_REGISTRY; + + /// @notice Modifier that restricts the caller to only the module registry. + modifier onlyModuleRegistry() { + if (msg.sender != address(MODULE_REGISTRY)) { + revert Errors.BaseModule_OnlyModuleRegistry(); + } + _; + } + + constructor(ModuleRegistry moduleRegistry_) { + MODULE_REGISTRY = moduleRegistry_; + } + + /// @notice Synchronizes all downstream dependencies via the module registry. + function updateDependencies() external virtual override returns (ModuleDependencies memory dependencies); + + /// @notice Fetches all module dependencies required by the gateway contract. + function getDependencies() external view virtual override returns (ModuleDependencies memory dependencies); +} diff --git a/contracts/modules/ModuleRegistry.sol b/contracts/modules/ModuleRegistry.sol new file mode 100644 index 00000000..8cf1d555 --- /dev/null +++ b/contracts/modules/ModuleRegistry.sol @@ -0,0 +1,300 @@ +// SPDX-License-Identifier: UNLICENSED +// See https://github.com/storyprotocol/protocol-contracts/blob/main/StoryProtocol-AlphaTestingAgreement-17942166.3.pdf +pragma solidity ^0.8.19; + +import { IModuleRegistry } from "contracts/interfaces/modules/IModuleRegistry.sol"; +import { AccessControlled } from "contracts/access-control/AccessControlled.sol"; +import { AccessControl } from "contracts/lib/AccessControl.sol"; +import { IModule } from "contracts/interfaces/modules/base/IModule.sol"; +import { IGateway } from "contracts/interfaces/modules/IGateway.sol"; +import { Errors } from "contracts/lib/Errors.sol"; +import { IIPOrg } from "contracts/interfaces/ip-org/IIPOrg.sol"; +import { Multicall } from "@openzeppelin/contracts/utils/Multicall.sol"; +import { IHook } from "contracts/interfaces/hooks/base/IHook.sol"; +import { ModuleKey, ModuleDependencies, toModuleKey } from "contracts/lib/modules/Module.sol"; + +/// @title ModuleRegistry +/// @notice The module registry serves as the global repository for all modules +/// registered under Story Protocol, and acts as the central authorization +/// mechanism for configuring which frontends may call which modules. +contract ModuleRegistry is IModuleRegistry, AccessControlled, Multicall { + /// @notice Identifying protocol-wide modules (opposed to those bound to specific IP Orgs). + address public constant PROTOCOL_LEVEL = address(0); + + /// @dev Maps protocol hook string keys to their respective hooks. + mapping(string => IHook) internal _protocolHooks; + + /// @dev Maps hook contracts to their respective hook key names. + mapping(IHook => string) internal _hookKeys; + + /// @notice Maps module keys to their respective modules. + mapping(ModuleKey => address) internal _modules; + + /// @notice Tracks whether a gateway can call a specific module function. + mapping(ModuleKey => mapping(IGateway => mapping(bytes4 => bool))) internal _isAuthorized; + + constructor(address accessControl_) AccessControlled(accessControl_) {} + + /// @notice Gets the protocol-wide module associated with a module key. + /// @param key_ The unique module key used to identify the module. + function protocolModule(string calldata key_) public view returns (address) { + return _modules[toModuleKey(key_)]; + } + + /// @notice Gets the protocol-wide module associated with a module key. + /// @param key_ The unique module key used to identify the module. + function protocolModule(ModuleKey key_) public view returns (address) { + return _modules[key_]; + } + + /// @notice Checks whether a gateway is authorized to call a module function. + /// @param key_ The type of the module being checked. + /// @param gateway_ The gateway which has the module function as a dependency. + /// @param fn_ The module function whose access is being checked for. + function isAuthorized(ModuleKey key_, IGateway gateway_, bytes4 fn_) public view returns (bool) { + if (_modules[key_] == address(0)) { + revert Errors.ModuleRegistry_ModuleNotYetRegistered(); + } + return _isAuthorized[key_][gateway_][fn_]; + } + + /// @notice Registers a new gateway to the protocol with its declared dependencies. + /// @dev This is only callable by entities with the MODULE_REGISTRAR_ROLE role. + /// @param gateway_ The gateway being registered into the protocol. + function registerProtocolGateway(IGateway gateway_) external onlyRole(AccessControl.MODULE_REGISTRAR_ROLE) { + ModuleDependencies memory dependencies = gateway_.updateDependencies(); + uint256 numModules = dependencies.keys.length; + if (numModules != dependencies.fns.length) { + revert Errors.ModuleRegistry_InvalidGateway(); + } + + for (uint256 i = 0; i < numModules; ++i) { + ModuleKey moduleKey = dependencies.keys[i]; + bytes4[] memory fns = dependencies.fns[i]; + + if (_modules[moduleKey] == address(0)) { + revert Errors.ModuleRegistry_ModuleNotYetRegistered(); + } + + // Authorize all module function dependencies for the gateway. + for (uint256 j = 0; j < fns.length; j++) { + if (_isAuthorized[moduleKey][gateway_][fns[j]]) { + revert Errors.ModuleRegistry_DependencyAlreadyRegistered(); + } + _isAuthorized[moduleKey][gateway_][fns[j]] = true; + emit ModuleAuthorizationGranted(moduleKey, fns[j], address(gateway_), true); + } + } + } + + /// @notice Removes a gatway as an authorized caller of the protocol. + /// @dev This is only callable by entities with the MODULE_REGISTRAR_ROLE role. + /// @param gateway_ The gateway being removed from the protocol. + function removeProtocolGateway(IGateway gateway_) external onlyRole(AccessControl.MODULE_REGISTRAR_ROLE) { + ModuleDependencies memory dependencies = gateway_.getDependencies(); + uint256 numModules = dependencies.keys.length; + if (numModules != dependencies.fns.length) { + revert Errors.ModuleRegistry_InvalidGateway(); + } + + for (uint256 i = 0; i < numModules; ++i) { + ModuleKey moduleKey = dependencies.keys[i]; + bytes4[] memory fns = dependencies.fns[i]; + + // Revoke authorizations made previously. + // TODO: Change logic to track dependencies through the registry itself. + for (uint256 j = 0; j < fns.length; j++) { + if (!_isAuthorized[moduleKey][gateway_][fns[j]]) { + revert Errors.ModuleRegistry_DependencyNotYetRegistered(); + } + _isAuthorized[moduleKey][gateway_][fns[j]] = false; + emit ModuleAuthorizationGranted(moduleKey, fns[j], address(gateway_), false); + } + } + } + + /// @notice Adds a new module to the protocol. + /// @dev This is only callable by entities with the MODULE_REGISTRAR_ROLE role. + /// @param key_ The identifier for the type of module being enrolled. + /// @param module_ The module that will be registered into the protocol. + function registerProtocolModule( + ModuleKey key_, + IModule module_ + ) external onlyRole(AccessControl.MODULE_REGISTRAR_ROLE) { + if (address(module_) == address(0)) { + revert Errors.ZeroAddress(); + } + + if (_modules[key_] != address(0)) { + revert Errors.ModuleRegistry_ModuleAlreadyRegistered(); + } + + if (module_.moduleKey() != key_) { + revert Errors.ModuleRegistry_ModuleKeyMismatch(); + } + + _modules[key_] = address(module_); + + emit ModuleAdded(PROTOCOL_LEVEL, string(abi.encodePacked(key_)), address(module_)); + } + + /// @notice Registers a new protocol hook. + /// @param hookKey The unique identifier for the hook. + /// @param hookAddress The address of the hook contract. + /// @dev This function can only be called by an account with the MODULE_REGISTRAR_ROLE. + function registerProtocolHook( + string calldata hookKey, + IHook hookAddress + ) external onlyRole(AccessControl.MODULE_REGISTRAR_ROLE) { + if (address(hookAddress) == address(0)) { + revert Errors.ZeroAddress(); + } + _protocolHooks[hookKey] = hookAddress; + _hookKeys[hookAddress] = hookKey; + emit HookAdded(PROTOCOL_LEVEL, hookKey, address(hookAddress)); + } + + /// @notice Removes a protocol hook. + /// @param hookKey The unique identifier for the hook. + /// @dev This function can only be called by an account with the MODULE_REGISTRAR_ROLE. + /// If the hook is not registered, it reverts with an error. + function removeProtocolHook(string calldata hookKey) external onlyRole(AccessControl.MODULE_REGISTRAR_ROLE) { + if (address(_protocolHooks[hookKey]) == address(0)) { + revert Errors.ModuleRegistry_HookNotRegistered(hookKey); + } + IHook hookAddress = _protocolHooks[hookKey]; + delete _protocolHooks[hookKey]; + delete _hookKeys[hookAddress]; + emit HookRemoved(PROTOCOL_LEVEL, hookKey, address(hookAddress)); + } + + /// Removes the current module configured for a module key. + /// This is only callable by MODULE_REGISTRAR_ROLE holders. + /// @param key_ The identifier for the type of module being removed. + function removeProtocolModule(ModuleKey key_) external onlyRole(AccessControl.MODULE_REGISTRAR_ROLE) { + if (_modules[key_] == address(0)) { + revert Errors.ModuleRegistry_ModuleNotYetRegistered(); + } + + address removedModule = _modules[key_]; + delete _modules[key_]; + + emit ModuleRemoved(key_, removedModule); + } + + /// @notice Returns the protocol hook associated with a given hook key. + /// @param hookKey The unique identifier for the hook. + /// @return The protocol hook associated with the given hook key. + function hookForKey(string calldata hookKey) external view returns (IHook) { + return _protocolHooks[hookKey]; + } + + /// @notice Checks if a hook is registered in the protocol. + /// @param hook_ The hook to check. + /// @return True if the hook is registered, false otherwise. + function isRegisteredHook(IHook hook_) external view returns (bool) { + return address(_protocolHooks[_hookKeys[hook_]]) == address(hook_); + } + + /// Execution entrypoint, callable by any address on its own behalf. + /// @param ipOrg_ address of the IPOrg, or address(0) for protocol-level stuff + /// @param moduleKey_ short module descriptor + /// @param moduleParams_ encoded params for module action + /// @param preHookParams_ encoded params for pre action hooks + /// @param postHookParams_ encoded params for post action hooks + /// @return encoded result of the module execution + function execute( + IIPOrg ipOrg_, + string calldata moduleKey_, + bytes memory moduleParams_, + bytes[] memory preHookParams_, + bytes[] memory postHookParams_ + ) external returns (bytes memory) { + return _execute(ipOrg_, msg.sender, moduleKey_, moduleParams_, preHookParams_, postHookParams_); + } + + /// Execution entrypoint, callable by any MODULE_EXECUTOR_ROLE holder on behalf of any address. + /// @param ipOrg_ address of the IPOrg, or address(0) for protocol-level stuff + /// @param caller_ address requesting the execution + /// @param moduleKey_ short module descriptor + /// @param moduleParams_ encoded params for module action + /// @param preHookParams_ encoded params for pre action hooks + /// @param postHookParams_ encoded params for post action hooks + /// @return encoded result of the module execution + function execute( + IIPOrg ipOrg_, + address caller_, + string calldata moduleKey_, + bytes calldata moduleParams_, + bytes[] calldata preHookParams_, + bytes[] calldata postHookParams_ + ) external onlyRole(AccessControl.MODULE_EXECUTOR_ROLE) returns (bytes memory) { + return _execute(ipOrg_, caller_, moduleKey_, moduleParams_, preHookParams_, postHookParams_); + } + + /// Configuration entrypoint, callable by any address on its own behalf. + /// @param ipOrg_ address of the IPOrg, or address(0) for protocol-level stuff + /// @param moduleKey_ short module descriptor + /// @param params_ encoded params for module configuration + function configure(IIPOrg ipOrg_, string calldata moduleKey_, bytes calldata params_) external { + _configure(ipOrg_, msg.sender, moduleKey_, params_); + } + + /// Configuration entrypoint, callable by any MODULE_EXECUTOR_ROLE holder on behalf of any address. + /// @param ipOrg_ address of the IPOrg, or address(0) for protocol-level stuff + /// @param caller_ address requesting the execution + /// @param moduleKey_ short module descriptor + /// @param params_ encoded params for module configuration + function configure( + IIPOrg ipOrg_, + address caller_, + string calldata moduleKey_, + bytes calldata params_ + ) external onlyRole(AccessControl.MODULE_EXECUTOR_ROLE) returns (bytes memory) { + return _configure(ipOrg_, caller_, moduleKey_, params_); + } + + /// @dev Executes an action for a specific module. + /// @param ipOrg_ The IP Org under which the execution is performed. + /// @param caller_ The address of the original calling entity. + /// @param moduleKey_ The identifier of the module being executed. + /// @param moduleParams_ Encoded data to be passed to the module. + /// @param preHookParams_ Set of data to be used for any registered pre-hooks. + /// @param postHookParams_ Set of data to be used for any registered post-hooks. + function _execute( + IIPOrg ipOrg_, + address caller_, + string calldata moduleKey_, + bytes memory moduleParams_, + bytes[] memory preHookParams_, + bytes[] memory postHookParams_ + ) private returns (bytes memory result) { + IModule module = IModule(_modules[toModuleKey(moduleKey_)]); + if (address(module) == address(0)) { + revert Errors.ModuleRegistry_ModuleNotYetRegistered(); + } + result = module.execute(ipOrg_, caller_, moduleParams_, preHookParams_, postHookParams_); + emit ModuleExecuted(address(ipOrg_), moduleKey_, caller_, moduleParams_, preHookParams_, postHookParams_); + return result; + } + + /// @dev Configures a specific module for an IP Org. + /// @param ipOrg_ The IP Org making the relevant configurations. + /// @param caller_ The address of the calling entity performing the configuration. + /// @param moduleKey_ The identifier for the module being configured. + /// @param params_ Module-specific data used for the configuration. + function _configure( + IIPOrg ipOrg_, + address caller_, + string calldata moduleKey_, + bytes calldata params_ + ) private returns (bytes memory result) { + IModule module = IModule(_modules[toModuleKey(moduleKey_)]); + if (address(module) == address(0)) { + revert Errors.ModuleRegistry_ModuleNotYetRegistered(); + } + result = module.configure(ipOrg_, caller_, params_); + emit ModuleConfigured(address(ipOrg_), moduleKey_, caller_, params_); + return result; + } +} diff --git a/contracts/modules/base/BaseModule.sol b/contracts/modules/base/BaseModule.sol index 884e4403..b6bbd83d 100644 --- a/contracts/modules/base/BaseModule.sol +++ b/contracts/modules/base/BaseModule.sol @@ -1,69 +1,238 @@ -// SPDX-License-Identifier: BUSL-1.1 -pragma solidity ^0.8.13; +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.19; import { IModule } from "contracts/interfaces/modules/base/IModule.sol"; -import { IERC721 } from "@openzeppelin/contracts/token/ERC721/IERC721.sol"; +import { IHook, HookResult } from "contracts/interfaces/hooks/base/IHook.sol"; +import { Hook } from "contracts/lib/hooks/Hook.sol"; import { HookRegistry } from "./HookRegistry.sol"; import { Errors } from "contracts/lib/Errors.sol"; +import { IIPOrg } from "contracts/interfaces/ip-org/IIPOrg.sol"; +import { IPOrgController } from "contracts/ip-org/IPOrgController.sol"; +import { ModuleRegistry } from "contracts/modules/ModuleRegistry.sol"; +import { Gateway } from "contracts/modules/Gateway.sol"; +import { IPAssetRegistry } from "contracts/IPAssetRegistry.sol"; +import { LicenseRegistry } from "contracts/modules/licensing/LicenseRegistry.sol"; +import { ICallbackHandler } from "contracts/interfaces/hooks/base/ICallbackHandler.sol"; +import { IERC165, ERC165 } from "@openzeppelin/contracts/utils/introspection/ERC165.sol"; +import { ModuleKey } from "contracts/lib/modules/Module.sol"; -abstract contract BaseModule is IModule, HookRegistry { +/// @title BaseModule +/// @notice Base implementation for all modules in Story Protocol. This is meant to ensure +/// that all modules follow the same execution flow and have access to hooks. +/// It's up to the module how to perform the actions, verifications and authorizations. +/// @dev This contract should NOT have state in storage, in order to have upgradeable or non-upgradeable +/// modules. +abstract contract BaseModule is ERC165, IModule, ICallbackHandler, HookRegistry { + using Hook for IHook; struct ModuleConstruction { - address ipaRegistry; - address moduleRegistry; + IPAssetRegistry ipaRegistry; + ModuleRegistry moduleRegistry; + LicenseRegistry licenseRegistry; + IPOrgController ipOrgController; } - address public immutable IPA_REGISTRY; - address public immutable MODULE_REGISTRY; + struct ModuleExecutionContext { + IIPOrg ipOrg; + address caller; + bytes moduleParams; + bytes[] preHookParams; + bytes[] postHookParams; + bytes32 hookRegistryKey; + HookType executionHookType; + uint256 hookPosition; + } + + IPAssetRegistry public immutable IPA_REGISTRY; + LicenseRegistry public immutable LICENSE_REGISTRY; + IPOrgController public immutable IP_ORG_CONTROLLER; + + /// @notice used to store the context of an async hook execution. + /// @dev The execution of the module is pending, and will need to be executed again. + mapping(bytes32 => ModuleExecutionContext) private _asyncContexts; + + /// @notice Modifier for authorizing the calling entity. + modifier onlyAuthorized() { + _authenticate(); + _; + } + + modifier onlyModuleRegistry() { + if (msg.sender != address(MODULE_REGISTRY)) { + revert Errors.BaseModule_OnlyModuleRegistry(); + } + _; + } - constructor(ModuleConstruction memory params_) { - if (params_.ipaRegistry == address(0)) { + constructor(ModuleConstruction memory params_) HookRegistry(params_.moduleRegistry) { + if (address(params_.ipaRegistry) == address(0)) { revert Errors.BaseModule_ZeroIpaRegistry(); } IPA_REGISTRY = params_.ipaRegistry; - if (params_.moduleRegistry == address(0)) { - revert Errors.BaseModule_ZeroModuleRegistry(); + if (address(params_.licenseRegistry) == address(0)) { + revert Errors.BaseModule_ZeroLicenseRegistry(); } - MODULE_REGISTRY = params_.moduleRegistry; + LICENSE_REGISTRY = params_.licenseRegistry; + IP_ORG_CONTROLLER = params_.ipOrgController; } - // TODO access control on sender + /// @notice Gets the protocol-wide key associated with the module. + /// @return The string identifier of the module. + function moduleKey() public pure virtual override returns (ModuleKey); + + /// Main execution entrypoint. It will verify params, execute pre action hooks, perform the action, + /// execute post action hooks and emit the RequestCompleted event, plus returning the result. + /// It's up to the module to decode and encode params appropriately. + /// @param ipOrg_ address of the IPOrg or zero address + /// @param caller_ address requesting the execution + /// @param moduleParams_ encoded params for module action + /// @param preHookParams_ encoded params for pre action hooks + /// @param postHookParams_ encoded params for post action hooks function execute( + IIPOrg ipOrg_, address caller_, - bytes calldata selfParams_, + bytes calldata moduleParams_, bytes[] calldata preHookParams_, bytes[] calldata postHookParams_ - ) external { - _verifyExecution(caller_, selfParams_); - if (!_executeHooks(preHookParams_, HookType.PreAction)) { - emit RequestPending(caller_); - return; + ) external onlyModuleRegistry returns (bytes memory result) { + _verifyExecution(ipOrg_, caller_, moduleParams_); + bytes32 registryKey = _hookRegistryKey(ipOrg_, caller_, moduleParams_); + ModuleExecutionContext memory context = ModuleExecutionContext({ + ipOrg: ipOrg_, + caller: caller_, + moduleParams: moduleParams_, + preHookParams: preHookParams_, + postHookParams: postHookParams_, + hookRegistryKey: registryKey, + executionHookType: HookType.PreAction, + hookPosition: 0 + }); + return _execute(context); + } + + function supportsInterface(bytes4 interfaceId) public view virtual override(ERC165, IERC165) returns (bool) { + return + interfaceId == type(ICallbackHandler).interfaceId || + interfaceId == type(IModule).interfaceId || + super.supportsInterface(interfaceId); + } + + /// @notice Executes the module with the provided parameters. + /// @dev This function handles the execution logic for the module. + /// It also will be used by ayhnc hooks to continue the execution of the module. + /// @param context_ The execution context which includes all the parameters for the module execution. + /// @return result The result of the execution in bytes format. + function _execute(ModuleExecutionContext memory context_) internal returns (bytes memory result) { + if (context_.executionHookType == HookType.PreAction && !_executeHooks(context_)) { + emit RequestPending(context_.caller); + return ""; } - _performAction(caller_, selfParams_); - _executeHooks(postHookParams_, HookType.PostAction); - emit RequestCompleted(caller_); + result = _performAction(context_.ipOrg, context_.caller, context_.moduleParams); + context_.executionHookType = HookType.PostAction; + context_.hookPosition = 0; + _executeHooks(context_); + emit RequestCompleted(context_.caller); + return result; } - // TODO access control on sender - function configure(address caller_, bytes calldata params_) external { - _configure(caller_, params_); + /// Configuration entrypoint. It's up to the module to decode params appropriately. + /// @param ipOrg_ address of the IPOrg or zero address + /// @param caller_ address requesting the execution + /// @param params_ encoded configuration params + function configure( + IIPOrg ipOrg_, + address caller_, + bytes calldata params_ + ) external onlyModuleRegistry returns (bytes memory) { + return _configure(ipOrg_, caller_, params_); } - function _executeHooks(bytes[] calldata params_, HookRegistry.HookType hType_) virtual internal returns (bool) { - address[] memory hooks = _hooksForType(hType_); + function _executeHooks(ModuleExecutionContext memory context_) internal virtual returns (bool) { + address[] memory hooks = _hooksForType(context_.executionHookType, context_.hookRegistryKey); + bytes[] memory hooksConfig = _hooksConfigForType(context_.executionHookType, context_.hookRegistryKey); uint256 hooksLength = hooks.length; - if (params_.length != hooksLength) { - revert Errors.BaseModule_HooksParamsLengthMismatch(uint8(hType_)); + bytes[] memory hookParams = context_.executionHookType == HookType.PreAction + ? context_.preHookParams + : context_.postHookParams; + if (hookParams.length != hooksLength) { + revert Errors.BaseModule_HooksParamsLengthMismatch(uint8(context_.executionHookType)); } - for (uint256 i = 0; i < hooksLength; i++) { - // TODO: hook execution and return false if a hook returns false + // Continue to execute each hook from the current executing position in the hook list. + for (uint256 i = context_.hookPosition; i < hooksLength; i++) { + // make sure the hook executing postion is updated in the context + context_.hookPosition = i; + Hook.ExecutionContext memory hookContext = Hook.ExecutionContext({ + config: hooksConfig[i], + params: hookParams[i] + }); + // check hook type, if async, call executeAsync, otherwise call executeSync + HookResult result; + if (IHook(hooks[i]).canSupportSyncCall()) { + (result, ) = IHook(hooks[i]).executeSync(abi.encode(hookContext)); + } else { + result = _executeAsyncHook(hooks[i], hookContext, context_); + } + // means the hook execution is pending + if (result != HookResult.Completed) return false; } return true; } - function _hookRegistryAdmin() virtual override internal view returns (address); - function _configure(address caller_, bytes calldata params_) virtual internal; - function _verifyExecution(address caller_, bytes calldata params_) virtual internal {} - function _performAction(address caller_, bytes calldata params_) virtual internal {} + function _configure(IIPOrg ipOrg_, address caller_, bytes calldata params_) internal virtual returns (bytes memory); -} \ No newline at end of file + function _verifyExecution(IIPOrg ipOrg_, address caller_, bytes calldata params_) internal virtual {} + + function _performAction( + IIPOrg ipOrg_, + address caller_, + bytes memory params_ + ) internal virtual returns (bytes memory result) {} + + /// @notice Authenticates the caller entity through the module registry. + function _authenticate() internal view { + if (!MODULE_REGISTRY.isAuthorized(moduleKey(), Gateway(msg.sender), msg.sig)) { + revert Errors.BaseModule_Unauthorized(); + } + } + + /// @dev Generates a registry key based on module execution parameters. + /// This function should be overridden in derived contracts to provide actual logic for generating the registry key. + /// @param ipOrg_ The address of the IPOrg. + /// @param caller_ The address requesting the execution. + /// @param params_ The encoded parameters for module action. + /// @return The generated registry key. + function _hookRegistryKey( + IIPOrg ipOrg_, + address caller_, + bytes calldata params_ + ) internal view virtual returns (bytes32); + + function _executeAsyncHook( + address hook_, + Hook.ExecutionContext memory hookContext_, + ModuleExecutionContext memory moduleContext_ + ) internal virtual returns (HookResult) { + (HookResult result, , bytes32 requestId) = IHook(hook_).executeAsync(abi.encode(hookContext_), address(this)); + // only store the context if the hook is async + if (result == HookResult.Pending) { + _asyncContexts[requestId] = moduleContext_; + } + return result; + } + + /// @notice Handles the callback from the asynchronous hook. + /// @dev This function is called by the external service when the asynchronous hook is completed. + /// @param requestId_ The ID of the request. + /// @param callbackData_ The data returned by the callback. + function handleHookCallback(bytes32 requestId_, bytes calldata callbackData_) external virtual override { + (bool isPass, string memory errorMsg) = abi.decode(callbackData_, (bool, string)); + + if (isPass) { + _asyncContexts[requestId_].hookPosition++; + _execute(_asyncContexts[requestId_]); + } else { + emit RequestFailed(_asyncContexts[requestId_].caller, errorMsg); + } + delete _asyncContexts[requestId_]; + } +} diff --git a/contracts/modules/base/HookRegistry.sol b/contracts/modules/base/HookRegistry.sol index f663477f..3a7031f1 100644 --- a/contracts/modules/base/HookRegistry.sol +++ b/contracts/modules/base/HookRegistry.sol @@ -1,96 +1,204 @@ -// SPDX-License-Identifier: BUSL-1.1 -pragma solidity ^0.8.13; +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.19; import { Errors } from "contracts/lib/Errors.sol"; +import { IHook } from "contracts/interfaces/hooks/base/IHook.sol"; +import { IIPOrg } from "contracts/interfaces/ip-org/IIPOrg.sol"; +import { ModuleRegistry } from "contracts/modules/ModuleRegistry.sol"; +/// @title HookRegistry +/// @notice This contract is an abstract contract that manages the registration of hooks. +/// Hooks are small pieces of code that are called before and after certain operations in the protocol. +/// @dev Each module that inherits from HookRegistry has its own local hook registry. +/// The HookRegistry supports multiple hook arrays, each associated with differentconfigs separated by a `registryKey` +/// Each module can define its own approach to generate its unique registryKey. abstract contract HookRegistry { + ModuleRegistry public immutable MODULE_REGISTRY; + enum HookType { PreAction, PostAction } - address[] private _preActionHooks; - address[] private _postActionHooks; + mapping(bytes32 => address[]) private _preActionHooks; + mapping(bytes32 => address[]) private _postActionHooks; + + mapping(bytes32 => bytes[]) private _preActionHooksConfig; + mapping(bytes32 => bytes[]) private _postActionHooksConfig; uint256 public constant INDEX_NOT_FOUND = type(uint256).max; uint256 public constant MAX_HOOKS = 10; - event HooksRegistered(HookType indexed hType, address[] indexed hook); - event HooksCleared(HookType indexed hType); - - modifier onlyHookRegistryAdmin() { - if (msg.sender != _hookRegistryAdmin()) - revert Errors.HookRegistry_CallerNotAdmin(); + event HooksRegistered(HookType indexed hType, bytes32 indexed registryKey, address[] hooks); + event HooksCleared(HookType indexed hType, bytes32 indexed registryKey); + + /// @dev Modifier to check if the caller is the IPOrg owner. + /// Reverts if the caller is not the IP Org owner. + modifier onlyIpOrgOwner(IIPOrg ipOrg_) { + if (address(ipOrg_) == address(0)) { + revert Errors.ZeroAddress(); + } + + if (msg.sender != ipOrg_.owner()) revert Errors.HookRegistry_CallerNotIPOrgOwner(); _; } + constructor(ModuleRegistry moduleRegistry_) { + if (address(moduleRegistry_) == address(0)) { + revert Errors.HookRegistry_ZeroModuleRegistry(); + } + MODULE_REGISTRY = moduleRegistry_; + } + + /// @dev Registers hooks for a specific type and registry key. + /// Clears any existing hooks for the same type and registry key. + /// Emits a HooksRegistered event. + /// Can only be called by the IP Org owner. + /// @param hookType_ The type of the hooks to register. + /// @param registryKey_ The registry key for the hooks. + /// @param hooks_ The addresses of the hooks to register. + /// @param hooksConfig_ The configurations for the hooks. function registerHooks( - HookType hType_, - address[] calldata hooks_ - ) external onlyHookRegistryAdmin { - clearHooks(hType_); - _registerHooks(_hooksForType(hType_), hooks_); - emit HooksRegistered(hType_, hooks_); + HookType hookType_, + IIPOrg ipOrg_, + bytes32 registryKey_, + address[] calldata hooks_, + bytes[] calldata hooksConfig_ + ) public onlyIpOrgOwner(ipOrg_) { + clearHooks(hookType_, ipOrg_, registryKey_); + _registerHooks( + _hooksForType(hookType_, registryKey_), + _hooksConfigForType(hookType_, registryKey_), + hooks_, + hooksConfig_ + ); + emit HooksRegistered(hookType_, registryKey_, hooks_); + } + + /// @dev Checks if a hook is registered for a specific type and registry key. + /// @param hookType_ The type of the hook. + /// @param registryKey_ The registry key for the hook. + /// @param hook_ The address of the hook. + /// @return True if the hook is registered, false otherwise. + function isRegistered(HookType hookType_, bytes32 registryKey_, address hook_) external view returns (bool) { + return hookIndex(hookType_, registryKey_, hook_) != INDEX_NOT_FOUND; } - function isRegistered( - HookType hType_, - address hook_ - ) external view returns (bool) { - return hookIndex(hType_, hook_) != INDEX_NOT_FOUND; + /// @dev Returns the hook at a specific index for a specific type and registry key. + /// Reverts if the index is out of bounds. + /// @param hookType_ The type of the hook. + /// @param registryKey_ The registry key for the hook. + /// @param index_ The index of the hook. + /// @return The address of the hook. + function hookAt(HookType hookType_, bytes32 registryKey_, uint256 index_) external view returns (address) { + address[] memory hooks = _hooksForType(hookType_, registryKey_); + if (index_ >= hooks.length) { + revert Errors.HookRegistry_IndexOutOfBounds(index_); + } + return _hooksForType(hookType_, registryKey_)[index_]; } - function hookAt( - HookType hType_, + /// @dev Returns the hook configuration at a specific index for a specific type and registry key. + /// Reverts if the index is out of bounds. + /// @param hookType_ The type of the hook. + /// @param registryKey_ The registry key for the hook. + /// @param index_ The index of the hook. + /// @return The configuration of the hook. + function hookConfigAt( + HookType hookType_, + bytes32 registryKey_, uint256 index_ - ) external view returns (address) { - return _hooksForType(hType_)[index_]; + ) external view returns (bytes memory) { + bytes[] memory hooksConfig = _hooksConfigForType(hookType_, registryKey_); + if (index_ >= hooksConfig.length) { + revert Errors.HookRegistry_IndexOutOfBounds(index_); + } + return _hooksConfigForType(hookType_, registryKey_)[index_]; } - function totalHooks( - HookType hType_ - ) external view returns (uint256) { - return _hooksForType(hType_).length; + /// @dev Returns the total number of hooks for a specific type and registry key. + /// @param hookType_ The type of the hooks. + /// @param registryKey_ The registry key for the hooks. + /// @return The total number of hooks. + function totalHooks(HookType hookType_, bytes32 registryKey_) external view returns (uint256) { + return _hooksForType(hookType_, registryKey_).length; } - - function clearHooks( - HookType hType_ - ) public onlyHookRegistryAdmin { - if (hType_ == HookType.PreAction && _preActionHooks.length > 0) { - delete _preActionHooks; - } else if (_postActionHooks.length > 0) { - delete _postActionHooks; + + /// @dev Returns the total number of hook configurations for a specific type and registry key. + /// @param hookType_ The type of the hooks. + /// @param registryKey_ The registry key for the hooks. + /// @return The total number of hook configurations. + function totalHooksConfig(HookType hookType_, bytes32 registryKey_) external view returns (uint256) { + return _hooksConfigForType(hookType_, registryKey_).length; + } + + /// @dev Clears all hooks for a specific type and registry key. + /// Emits a HooksCleared event. + /// Can only be called by the IP Org owner. + /// @param hookType_ The type of the hooks to clear. + /// @param registryKey_ The registry key for the hooks. + function clearHooks(HookType hookType_, IIPOrg ipOrg_, bytes32 registryKey_) public onlyIpOrgOwner(ipOrg_) { + if (hookType_ == HookType.PreAction && _preActionHooks[registryKey_].length > 0) { + delete _preActionHooks[registryKey_]; + delete _preActionHooksConfig[registryKey_]; + } else if (_postActionHooks[registryKey_].length > 0) { + delete _postActionHooks[registryKey_]; + delete _postActionHooksConfig[registryKey_]; } - emit HooksCleared(hType_); + emit HooksCleared(hookType_, registryKey_); } - function hookIndex( - HookType hType_, - address hook_ - ) public view returns (uint256) { - return _hookIndex(_hooksForType(hType_), hook_); + /// @dev Returns the index of a hook for a specific type and registry key. + /// @param hookType_ The type of the hook. + /// @param registryKey_ The registry key for the hook. + /// @param hook_ The address of the hook. + /// @return The index of the hook. Returns INDEX_NOT_FOUND if the hook is not registered. + function hookIndex(HookType hookType_, bytes32 registryKey_, address hook_) public view returns (uint256) { + return _hookIndex(_hooksForType(hookType_, registryKey_), hook_); } - function _hookRegistryAdmin() internal view virtual returns (address); + /// @dev Returns the hooks for a specific type and registry key. + /// @param hookType_ The type of the hooks. + /// @param registryKey_ The registry key for the hooks. + /// @return The array of hooks. + function _hooksForType(HookType hookType_, bytes32 registryKey_) internal view returns (address[] storage) { + if (hookType_ == HookType.PreAction) { + return _preActionHooks[registryKey_]; + } else { + return _postActionHooks[registryKey_]; + } + } - function _hooksForType( - HookType hType_ - ) internal view returns (address[] storage) { - if (hType_ == HookType.PreAction) { - return _preActionHooks; + /// @dev Returns the hook configurations for a specific type and registry key. + /// @param hookType_ The type of the hooks. + /// @param registryKey_ The registry key for the hooks. + /// @return The array of hook configurations. + function _hooksConfigForType(HookType hookType_, bytes32 registryKey_) internal view returns (bytes[] storage) { + if (hookType_ == HookType.PreAction) { + return _preActionHooksConfig[registryKey_]; } else { - return _postActionHooks; + return _postActionHooksConfig[registryKey_]; } } + /// @dev Registers new hooks and their configurations. + /// @param hooks_ The array of hooks to register. + /// @param hooksConfig_ The array of hook configurations to register. + /// @param newHooks_ The array of new hooks to register. + /// @param newHooksConfig_ The array of new hook configurations to register. function _registerHooks( address[] storage hooks_, - address[] memory newHooks_ + bytes[] storage hooksConfig_, + address[] memory newHooks_, + bytes[] memory newHooksConfig_ ) private { uint256 newLength = newHooks_.length; if (newLength > MAX_HOOKS) { revert Errors.HookRegistry_MaxHooksExceeded(); } + if (newHooksConfig_.length != newLength) { + revert Errors.HookRegistry_HooksConfigLengthMismatch(); + } unchecked { for (uint256 i = 0; i < newLength; i++) { if (newHooks_[i] == address(0)) { @@ -99,15 +207,22 @@ abstract contract HookRegistry { if (i > 0 && newHooks_[i] == newHooks_[i - 1]) { revert Errors.HookRegistry_RegisteringDuplicatedHook(); } + // only whitelisted hooks can be registered + if (!MODULE_REGISTRY.isRegisteredHook(IHook(newHooks_[i]))) { + revert Errors.HookRegistry_RegisteringNonWhitelistedHook(newHooks_[i]); + } + IHook(newHooks_[i]).validateConfig(newHooksConfig_[i]); hooks_.push(newHooks_[i]); + hooksConfig_.push(newHooksConfig_[i]); } } } - function _hookIndex( - address[] storage hooks, - address hook_ - ) private view returns (uint256) { + /// @dev Returns the index of a hook in the array of hooks. + /// @param hooks The array of hooks. + /// @param hook_ The hook to find. + /// @return The index of the hook. Returns INDEX_NOT_FOUND if the hook is not found. + function _hookIndex(address[] storage hooks, address hook_) private view returns (uint256) { uint256 length = hooks.length; for (uint256 i = 0; i < length; ) { if (hooks[i] == hook_) { diff --git a/contracts/modules/licensing/LicenseRegistry.sol b/contracts/modules/licensing/LicenseRegistry.sol index fc656ca0..f2ac65a7 100644 --- a/contracts/modules/licensing/LicenseRegistry.sol +++ b/contracts/modules/licensing/LicenseRegistry.sol @@ -1,64 +1,372 @@ -// SPDX-License-Identifier: BUSL-1.1 -pragma solidity ^0.8.13; -import { ERC721 } from "@openzeppelin/contracts/token/ERC721/ERC721.sol"; -import { ZeroAddress, Unauthorized } from "contracts/errors/General.sol"; -import { IERC5218 } from "contracts/interfaces/modules/licensing/IERC5218.sol"; -import { ILicenseRegistry } from "contracts/interfaces/modules/licensing/ILicenseRegistry.sol"; -import { Errors } from "contracts/lib/Errors.sol"; +// SPDX-License-Identifier: UNLICENSED +// See https://github.com/storyprotocol/protocol-contracts/blob/main/StoryProtocol-AlphaTestingAgreement-17942166.3.pdf +pragma solidity ^0.8.19; +import { Licensing } from "contracts/lib/modules/Licensing.sol"; +import { IPAssetRegistry } from "contracts/IPAssetRegistry.sol"; +import { Errors } from "contracts/lib/Errors.sol"; +import { ModuleRegistry } from "contracts/modules/ModuleRegistry.sol"; +import { LicensingFrameworkRepo } from "contracts/modules/licensing/LicensingFrameworkRepo.sol"; +import { ERC721 } from "@openzeppelin/contracts/token/ERC721/ERC721.sol"; +import { Strings } from "@openzeppelin/contracts/utils/Strings.sol"; +import { ShortStrings } from "@openzeppelin/contracts/utils/ShortStrings.sol"; +import { Base64 } from "@openzeppelin/contracts/utils/Base64.sol"; +import { LICENSING_MODULE_KEY } from "contracts/lib/modules/Module.sol"; /// @title LicenseRegistry -/// @author Raul Martinez -/// @notice Simple NFT tracking the ownership of tradeable Licenses emitted by a RightsManager. -contract LicenseRegistry is ILicenseRegistry, ERC721 { - - IERC5218 private immutable _RIGHTS_MANAGER; - - constructor(address rightsManager_, string memory name_, string memory symbol_) ERC721(name_, symbol_) { - if (rightsManager_ == address(0)) { - revert Errors.ZeroAddress(); +/// @notice This contract is the source of truth for all licenses that are registered in the protocol. +/// It will only be written by licensing modules. +/// It should not be upgradeable, so once a license is registered, it will be there forever regardless of +/// the ipOrg potentially chaning the licensing framework or Story Protocol doing upgrades. +/// Licenses can be made invalid by the revoker, according to the terms of the license. +contract LicenseRegistry is ERC721 { + using ShortStrings for *; + + // TODO: Figure out data needed for indexing + event LicenseRegistered(uint256 indexed id, Licensing.LicenseData licenseData); + event LicenseNftLinkedToIpa(uint256 indexed licenseId, uint256 indexed ipAssetId); + event LicenseActivated(uint256 indexed licenseId); + event LicenseRevoked(uint256 indexed licenseId); + + /// license Id => LicenseData + mapping(uint256 => Licensing.LicenseData) private _licenses; + + mapping(uint256 => Licensing.ParamValue[]) private _licenseParams; + /// counter for license Ids + uint256 private _licenseCount; + + IPAssetRegistry public immutable IPA_REGISTRY; + ModuleRegistry public immutable MODULE_REGISTRY; + LicensingFrameworkRepo public immutable LICENSING_FRAMEWORK_REPO; + + modifier onlyLicensingModule() { + address licensingModule = address(MODULE_REGISTRY.protocolModule(LICENSING_MODULE_KEY)); + if (licensingModule != msg.sender) { + revert Errors.LicenseRegistry_CallerNotLicensingModule(); } - _RIGHTS_MANAGER = IERC5218(rightsManager_); + _; } - modifier onlyRightsManager() { - if (msg.sender != address(_RIGHTS_MANAGER)) revert Errors.Unauthorized(); + modifier onlyLicensingModuleOrLicensee(uint256 licenseId_) { + address licensingModule = address(MODULE_REGISTRY.protocolModule(LICENSING_MODULE_KEY)); + if (licensingModule != msg.sender && msg.sender != ownerOf(licenseId_)) { + revert Errors.LicenseRegistry_CallerNotLicensingModuleOrLicensee(); + } _; } - - /// @notice Mint a License to the given address. Only caller allowed is the RightsManager. - /// @param to_ The address to mint the License to. - /// @param tokenId_ The ID of the License to mint. - function mint(address to_, uint256 tokenId_) external onlyRightsManager { - _mint(to_, tokenId_); + + modifier onlyActiveOrPending(Licensing.LicenseStatus status_) { + if (status_ != Licensing.LicenseStatus.Active && status_ != Licensing.LicenseStatus.PendingLicensorApproval) { + revert Errors.LicenseRegistry_InvalidLicenseStatus(); + } + _; + } + + modifier onlyActive(uint256 licenseId_) { + if (!isLicenseActive(licenseId_)) { + revert Errors.LicenseRegistry_LicenseNotActive(); + } + _; + } + + constructor( + address ipaRegistry_, + address moduleRegistry_, + address licensingFrameworkRepo_ + ) ERC721("Story Protocol License NFT", "LNFT") { + if (ipaRegistry_ == address(0)) { + revert Errors.ZeroAddress(); + } + IPA_REGISTRY = IPAssetRegistry(ipaRegistry_); + if (moduleRegistry_ == address(0)) { + revert Errors.ZeroAddress(); + } + MODULE_REGISTRY = ModuleRegistry(moduleRegistry_); + if (licensingFrameworkRepo_ == address(0)) { + revert Errors.ZeroAddress(); + } + LICENSING_FRAMEWORK_REPO = LicensingFrameworkRepo(licensingFrameworkRepo_); + } + + /// Creates a tradeable License NFT. + /// @param newLicense_ LicenseData params + /// @param licensee_ address of the licensee + /// @param values_ array of ParamValue structs + /// @return licenseId_ id of the license NFT + function addLicense( + Licensing.LicenseData memory newLicense_, + address licensee_, + Licensing.ParamValue[] memory values_ + ) external onlyLicensingModule onlyActiveOrPending(newLicense_.status) returns (uint256) { + // NOTE: check for parent ipa validity is done in + // the licensing module + uint256 licenseId = ++_licenseCount; + _licenses[licenseId] = newLicense_; + emit LicenseRegistered(licenseId, newLicense_); + _mint(licensee_, licenseId); + uint256 length = values_.length; + Licensing.ParamValue[] storage params = _licenseParams[licenseId]; + for (uint256 i; i < length; i++) { + params.push(values_[i]); + } + return licenseId; + } + + /// Create a Derivate License that is reciprocal (all params are inherited + /// from parent license) + /// @param parentLicenseId_ id of the parent license + /// @param licensor_ address of the licensor + /// @param licensee_ address of the licensee + /// @param ipaId_ id of the IPA + /// @return licenseId_ id of the license NFT + function addReciprocalLicense( + uint256 parentLicenseId_, + address licensor_, + address licensee_, + uint256 ipaId_ + ) external onlyLicensingModule returns (uint256) { + if (!isLicenseActive(parentLicenseId_)) { + revert Errors.LicenseRegistry_ParentLicenseNotActive(); + } + Licensing.LicenseData memory clone = _licenses[parentLicenseId_]; + uint256 licenseId = ++_licenseCount; + clone.parentLicenseId = parentLicenseId_; + clone.licensor = licensor_; + clone.ipaId = ipaId_; + if (clone.derivativeNeedsApproval) { + clone.status = Licensing.LicenseStatus.PendingLicensorApproval; + } + _licenseParams[licenseId] = _licenseParams[parentLicenseId_]; + _licenses[licenseId] = clone; + emit LicenseRegistered(licenseId, clone); + _mint(licensee_, licenseId); + return licenseId; + } + + /// Gets License struct for input id + function getLicenseData(uint256 id_) public view returns (Licensing.LicenseData memory) { + Licensing.LicenseData storage license = _licenses[id_]; + if (license.status == Licensing.LicenseStatus.Unset) { + revert Errors.LicenseRegistry_UnknownLicenseId(); + } + return license; + } + + /// Gets the address granting a license, by id + function getLicensor(uint256 id_) external view returns (address) { + return _licenses[id_].licensor; + } + + /// Gets the address a license is granted to + /// @param id_ of the license + /// @return licensee address, NFT owner if the license is tradeable, or IPA owner if bound to IPA + function getLicensee(uint256 id_) external view returns (address) { + return ownerOf(id_); + } + + function getRevoker(uint256 id_) external view returns (address) { + return _licenses[id_].revoker; + } + + function getIPOrg(uint256 id_) external view returns (address) { + return _licenses[id_].ipOrg; + } + + function getIpaId(uint256 id_) external view returns (uint256) { + return _licenses[id_].ipaId; } - function getRightsManager() external view override returns (address) { - return address(_RIGHTS_MANAGER); + function getParentLicenseId(uint256 id_) external view returns (uint256) { + return _licenses[id_].parentLicenseId; } - function exists(uint256 tokenId_) external view returns (bool) { - return _exists(tokenId_); + function isReciprocal(uint256 id_) external view returns (bool) { + return _licenses[id_].isReciprocal; } - function name() public view override(ERC721, ILicenseRegistry) returns (string memory) { - return super.name(); + function isDerivativeAllowed(uint256 id_) external view returns (bool) { + return _licenses[id_].derivativesAllowed; + } + + function derivativeNeedsApproval(uint256 id_) external view returns (bool) { + return _licenses[id_].derivativeNeedsApproval; + } + + function getParams(uint256 id_) external view returns (Licensing.ParamValue[] memory) { + return _licenseParams[id_]; + } + + /// Links the license to an IPA + /// @param licenseId_ id of the license NFT + /// @param ipaId_ id of the IPA + function linkLnftToIpa(uint256 licenseId_, uint256 ipaId_) public onlyLicensingModuleOrLicensee(licenseId_) { + _linkNftToIpa(licenseId_, ipaId_); + } + + /// Checks if a license is active. If an ancestor is not active, the license is not active + /// NOTE: this method is for alpha/illustration purposes. + // It's implementation will require a scalability solution + function isLicenseActive(uint256 licenseId_) public view returns (bool) { + if (licenseId_ == 0) return false; + while (licenseId_ != 0) { + if ( + _licenses[licenseId_].status == Licensing.LicenseStatus.PendingLicensorApproval || + _licenses[licenseId_].status == Licensing.LicenseStatus.Unset || + _licenses[licenseId_].status == Licensing.LicenseStatus.Revoked + ) return false; + licenseId_ = _licenses[licenseId_].parentLicenseId; + } + return true; } - function symbol() public view override(ERC721, ILicenseRegistry) returns (string memory) { - return super.symbol(); + /// Called by the licensing module to activate a license, after all the activation terms pass + /// @param licenseId_ id of the license + function activateLicense(uint256 licenseId_, address caller_) external onlyLicensingModule { + _activateLicense(licenseId_, caller_); } - function _beforeTokenTransfer( - address from_, - address to_, - uint256 firstTokenId_, - uint256 batchSize_ - ) internal virtual override { - // Minting has already been checked by the RightsManager, but transfers need to pass some checks. - if (from_ != address(0)) { - _RIGHTS_MANAGER.transferSublicense(firstTokenId_, to_); + function activateLicense(uint256 licenseId_) external { + _activateLicense(licenseId_, msg.sender); + } + + /// Revokes a license, making it incactive. Only the revoker can do this. + /// NOTE: revoking licenses in an already inactive chain should be incentivized, since it + /// reduces the while loop iterations. + function revokeLicense(uint256 licenseId_) external { + if (msg.sender != _licenses[licenseId_].revoker) { + revert Errors.LicenseRegistry_CallerNotRevoker(); + } + _licenses[licenseId_].status = Licensing.LicenseStatus.Revoked; + // TODO: change IPA status + emit LicenseRevoked(licenseId_); + } + + function tokenURI(uint256 tokenId) public view virtual override returns (string memory) { + Licensing.LicenseData memory license = getLicenseData(tokenId); + // Construct the base JSON metadata with custom name format + string memory baseJson = string( + /* solhint-disable */ + abi.encodePacked( + '{"name": "Story Protocol License NFT #', + Strings.toString(tokenId), + '", "description": "License agreement stating the terms of a Story Protocol IP Org", "attributes": [' + ) + /* solhint-enable */ + ); + + string memory licenseAttributes1 = string( + /* solhint-disable */ + abi.encodePacked( + '{"trait_type": "IP Org", "value": "', + Strings.toHexString(uint160(license.ipOrg), 20), + '"},', + '{"trait_type": "Framework ID", "value": "', + license.frameworkId.toString(), + '"},', + '{"trait_type": "Framework URL", "value": "', + LICENSING_FRAMEWORK_REPO.getLicenseTextUrl(license.frameworkId.toString()), + '"},', + '{"trait_type": "Status", "value": "', + Licensing._statusToString(license.status), + '"},' + ) + /* solhint-enable */ + ); + + string memory licenseAttributes2 = string( + /* solhint-disable */ + abi.encodePacked( + '{"trait_type": "Licensor", "value": "', + Strings.toHexString(uint160(license.licensor), 20), + '"},', + '{"trait_type": "Licensee", "value": "', + Strings.toHexString(uint160(_ownerOf(tokenId)), 20), + '"},', + '{"trait_type": "Revoker", "value": "', + Strings.toHexString(uint160(license.revoker), 20), + '"},', + '{"trait_type": "Parent License ID", "value": "', + Strings.toString(license.parentLicenseId), + '"},', + '{"trait_type": "Derivative IPA", "value": "', + Strings.toString(license.ipaId), + '"},' + ) + /* solhint-enable */ + ); + Licensing.ParamValue[] memory params = _licenseParams[tokenId]; + uint256 paramCount = params.length; + string memory paramAttributes; + for (uint256 i = 0; i < paramCount; i++) { + Licensing.ParamDefinition memory paramDef = LICENSING_FRAMEWORK_REPO.getParamDefinition( + license.frameworkId.toString(), + params[i].tag + ); + string memory value = Licensing._getDecodedParamString(paramDef, params[i].value); + + if ( + paramDef.paramType != Licensing.ParameterType.MultipleChoice && + paramDef.paramType != Licensing.ParameterType.ShortStringArray + ) { + value = string(abi.encodePacked('"', value, '"}')); // solhint-disable-line + } else { + value = string(abi.encodePacked(value, "}")); + } + paramAttributes = string( + abi.encodePacked( + paramAttributes, + '{"trait_type": "', // solhint-disable-line + params[i].tag.toString(), + '", "value": ', // solhint-disable-line + value + ) + ); + if (i != paramCount - 1) { + paramAttributes = string(abi.encodePacked(paramAttributes, ",")); + } else { + paramAttributes = string(abi.encodePacked(paramAttributes, "]")); + } + } + + return + string( + abi.encodePacked( + "data:application/json;base64,", + Base64.encode( + bytes( + string( + abi.encodePacked(baseJson, licenseAttributes1, licenseAttributes2, paramAttributes, "}") + ) + ) + ) + ) + ); + } + + function _linkNftToIpa(uint256 licenseId_, uint256 ipaId_) private onlyActive(licenseId_) { + if (IPA_REGISTRY.status(ipaId_) != 1) { + revert Errors.LicenseRegistry_IPANotActive(); + } + if (_licenses[licenseId_].ipaId != 0) { + revert Errors.LicenseRegistry_LicenseAlreadyLinkedToIpa(); + } + _licenses[licenseId_].ipaId = ipaId_; + emit LicenseNftLinkedToIpa(licenseId_, ipaId_); + } + + function _activateLicense(uint256 licenseId_, address caller_) private { + Licensing.LicenseData storage license = _licenses[licenseId_]; + if (caller_ != license.licensor) { + revert Errors.LicenseRegistry_CallerNotLicensor(); + } + if (license.status != Licensing.LicenseStatus.PendingLicensorApproval) { + revert Errors.LicenseRegistry_LicenseNotPendingApproval(); + } + if (!isLicenseActive(license.parentLicenseId)) { + revert Errors.LicenseRegistry_ParentLicenseNotActive(); } - super._beforeTokenTransfer(from_, to_, firstTokenId_, batchSize_); + license.status = Licensing.LicenseStatus.Active; + // TODO: change IPA status + emit LicenseActivated(licenseId_); } } diff --git a/contracts/modules/licensing/LicensingFrameworkRepo.sol b/contracts/modules/licensing/LicensingFrameworkRepo.sol new file mode 100644 index 00000000..2981d407 --- /dev/null +++ b/contracts/modules/licensing/LicensingFrameworkRepo.sol @@ -0,0 +1,126 @@ +// SPDX-License-Identifier: UNLICENSED +// See https://github.com/storyprotocol/protocol-contracts/blob/main/StoryProtocol-AlphaTestingAgreement-17942166.3.pdf +pragma solidity ^0.8.19; + +import { Licensing } from "contracts/lib/modules/Licensing.sol"; +import { ShortString, ShortStrings } from "@openzeppelin/contracts/utils/ShortStrings.sol"; +import { Multicall } from "@openzeppelin/contracts/utils/Multicall.sol"; +import { Errors } from "contracts/lib/Errors.sol"; +import { AccessControlled } from "contracts/access-control/AccessControlled.sol"; +import { AccessControl } from "contracts/lib/AccessControl.sol"; +import { FixedSet } from "contracts/utils/FixedSet.sol"; + +/// @title Licensing Framework Repo +/// @notice Stores licensing frameworks and their parameters. License Modules +/// can use this repo to fetch the parameters of a framework in order encode and decode +/// them when creating Licenses +contract LicensingFrameworkRepo is AccessControlled, Multicall { + using FixedSet for FixedSet.ShortStringSet; + using ShortStrings for *; + + /// @notice Struct for storing the parameters of a licensing framework + struct FrameworkStorage { + /// @notice URL to the legal document of the framework + string textUrl; + /// @notice The tags of the parameters of the framework. + FixedSet.ShortStringSet paramTags; + /// @notice The definitions of the parameters of the framework + Licensing.ParamDefinition[] paramDefs; + } + + /// Emits when a new licensing framework is added + event FrameworkAdded(string frameworkId, string textUrl); + + /// emits when a new parameter is added to a framework + event ParamDefinitionAdded(string frameworkId, ShortString tag, Licensing.ParamDefinition definition); + + /// frameworkId => FrameworkStorage + mapping(string => FrameworkStorage) private _frameworks; + /// Hash of (frameworkId, tag) => ParamDefinition + mapping(bytes32 => Licensing.ParamDefinition) private _frameworkDefs; + + /// @notice Constructor for the repo + /// @param accessControl_ the address of the access control singleton contract + constructor(address accessControl_) AccessControlled(accessControl_) {} + + /// @notice Adds a new licensing framework to the repo + /// @dev this is an admin only function, and can only be called by the + /// licensing manager role + /// @param input_ the input parameters for the framework + function addFramework(Licensing.SetFramework calldata input_) external onlyRole(AccessControl.LICENSING_MANAGER) { + FrameworkStorage storage framework = _frameworks[input_.id]; + if (framework.paramTags.length() > 0) { + revert Errors.LicensingFrameworkRepo_FrameworkAlreadyAdded(); + } + uint256 numParams = input_.paramDefs.length; + if (numParams > Licensing.MAX_PARAM_TAGS) { + revert Errors.LicensingFrameworkRepo_TooManyParams(); + } + for (uint256 i = 0; i < numParams; i++) { + _addParameter(input_.id, input_.paramDefs[i]); + } + framework.textUrl = input_.textUrl; + emit FrameworkAdded(input_.id, input_.textUrl); + } + + /// @notice Adds a new parameter to a licensing framework + /// @param frameworkId_ the ID of the framework + /// @param paramDef_ the definition of the parameter + function _addParameter(string calldata frameworkId_, Licensing.ParamDefinition calldata paramDef_) internal { + FrameworkStorage storage framework = _frameworks[frameworkId_]; + ShortString tag = paramDef_.tag; + if (framework.paramTags.contains(tag)) { + revert Errors.LicensingFrameworkRepo_DuplicateParamType(); + } + framework.paramTags.add(tag); + _frameworkDefs[keccak256(abi.encode(frameworkId_, tag))] = paramDef_; + framework.paramDefs.push(paramDef_); + emit ParamDefinitionAdded(frameworkId_, tag, paramDef_); + } + + /// Gets the URL to the legal document of a licensing framework + function getLicenseTextUrl(string calldata frameworkId_) external view returns (string memory) { + return _frameworks[frameworkId_].textUrl; + } + + /// Gets the definition of a parameter of a licensing framework at a + /// given index + /// @param frameworkId_ the ID of the framework + /// @param index the index of the parameter + /// @return the definition of the parameter + function getParamDefinitionAt( + string calldata frameworkId_, + uint256 index + ) external view returns (Licensing.ParamDefinition memory) { + FrameworkStorage storage framework = _frameworks[frameworkId_]; + return framework.paramDefs[index]; + } + + /// Gets the amount of parameters of a licensing framework + /// @param frameworkId_ the ID of the framework + /// @return the amount of parameters + function getTotalParameters(string calldata frameworkId_) external view returns (uint256) { + return _frameworks[frameworkId_].paramDefs.length; + } + + /// Gets the definition of a parameter of a licensing framework for a + /// given tag + /// @param frameworkId_ the ID of the framework + /// @param tag_ the tag of the parameter + /// @return the definition of the parameter + function getParamDefinition( + string calldata frameworkId_, + ShortString tag_ + ) external view returns (Licensing.ParamDefinition memory) { + return _frameworkDefs[keccak256(abi.encode(frameworkId_, tag_))]; + } + + /// Gets all the parameter definitions of a licensing framework + /// @dev Warning: this function can be expensive if the framework has + /// many parameters + /// @param frameworkId_ the ID of the framework + /// @return the definitions of the parameters + function getParameterDefs(string calldata frameworkId_) external view returns (Licensing.ParamDefinition[] memory) { + return _frameworks[frameworkId_].paramDefs; + } +} diff --git a/contracts/modules/licensing/LicensingModule.sol b/contracts/modules/licensing/LicensingModule.sol index 6630e0b7..3a8cf4b0 100644 --- a/contracts/modules/licensing/LicensingModule.sol +++ b/contracts/modules/licensing/LicensingModule.sol @@ -1,106 +1,452 @@ -// SPDX-License-Identifier: BUSL-1.1 -pragma solidity ^0.8.13; +// SPDX-License-Identifier: UNLICENSED +// See https://github.com/storyprotocol/protocol-contracts/blob/main/StoryProtocol-AlphaTestingAgreement-17942166.3.pdf +pragma solidity ^0.8.19; + +import { Licensing } from "contracts/lib/modules/Licensing.sol"; import { Errors } from "contracts/lib/Errors.sol"; -import { IPAssetOrgFactory } from "contracts/IPAssetOrgFactory.sol"; -import { UUPSUpgradeable } from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol"; -import { AccessControlledUpgradeable } from "contracts/access-control/AccessControlledUpgradeable.sol"; -import { AccessControl } from "contracts/lib/AccessControl.sol"; -import { ITermsProcessor } from "contracts/interfaces/modules/licensing/terms/ITermsProcessor.sol"; -import { IIPAssetOrg } from "contracts/interfaces/ip-assets/IIPAssetOrg.sol"; -import { IERC5218 } from "contracts/interfaces/modules/licensing/IERC5218.sol"; +import { BaseModule } from "contracts/modules/base/BaseModule.sol"; +import { IModule } from "contracts/interfaces/modules/base/IModule.sol"; +import { IIPOrg } from "contracts/interfaces/ip-org/IIPOrg.sol"; +import { LicensingFrameworkRepo } from "./LicensingFrameworkRepo.sol"; +import { ShortString, ShortStrings } from "@openzeppelin/contracts/utils/ShortStrings.sol"; +import { FixedSet } from "contracts/utils/FixedSet.sol"; +import { SPUMLParams } from "contracts/lib/modules/SPUMLParams.sol"; +import { ShortStringOps } from "contracts/utils/ShortStringOps.sol"; +import { BitMask } from "contracts/lib/BitMask.sol"; import { ILicensingModule } from "contracts/interfaces/modules/licensing/ILicensingModule.sol"; -import { Licensing } from "contracts/lib/modules/Licensing.sol"; +import { ShortStringOps } from "contracts/utils/ShortStringOps.sol"; +import { BitMask } from "contracts/lib/BitMask.sol"; +import { ModuleKey, LICENSING_MODULE_KEY } from "contracts/lib/modules/Module.sol"; + +/// @title Licensing module +/// @notice Story Protocol module that: +/// - Enables each IP Org to select a licensing framework fron LicensingFrameworkRepo +/// - Enables Other modules to mint License NFTs, and attach them to IPAs +/// - Enables license holders to create derivative licenses and sublicenses +/// @dev The alpha version of this module is hardcoded to use the SPUML framework +/// Thanks to the authors of ERC-5218 for the inspiration (see https://eips.ethereum.org/EIPS/eip-5218) +contract LicensingModule is BaseModule, ILicensingModule { + using ShortStrings for *; + using FixedSet for FixedSet.ShortStringSet; + /// @notice Holds the supported paramerter tags for each ipOrg, and the default values + /// ipOrg -> paramTag -> bytes + // TODO(ramarti): optimize for only 1 sload + mapping(address => mapping(ShortString => bytes)) private _ipOrgParamValues; + /// @notice Holds the licensor config for each ipOrg + mapping(address => Licensing.LicensorConfig) private _licensorConfig; + /// @notice Holds the licensing framework ID for each ipOrg + mapping(address => string) private _ipOrgFrameworkIds; -/// @title LicensingModule -/// @author Raul Martinez -/// @notice Contract for configuring and managing licensing for a IPAssetOrg. -/// A licensing framework may be definbed through a IPAssetOrgConfig, which is set by the IPAssetOrg owner. -/// The non commercial license URI is set by a protocol admin key, since it will be common for all Story Protocol -contract LicensingModule is ILicensingModule, AccessControlledUpgradeable { + /// The LicensingFrameworkRepo contract + LicensingFrameworkRepo public immutable LICENSING_FRAMEWORK_REPO; + /// The default revoker address + address public immutable DEFAULT_REVOKER; - struct LicensingModuleStorage { - /// ipAssetOrgId => IPAssetOrgConfig - mapping(address => Licensing.IPAssetOrgConfig) ipAssetOrgConfigs; - string nonCommercialLicenseURI; + /// Constructor for the licensing module + /// @param params_ the module construction parameters + /// @param licFrameworkRepo_ the address of the licensing framework repo + /// @param defaultRevoker_ the address of the default revoker for all licenses + constructor( + ModuleConstruction memory params_, + address licFrameworkRepo_, + address defaultRevoker_ + ) BaseModule(params_) { + if (licFrameworkRepo_ == address(0)) { + revert Errors.ZeroAddress(); + } + LICENSING_FRAMEWORK_REPO = LicensingFrameworkRepo(licFrameworkRepo_); + if (defaultRevoker_ == address(0)) { + revert Errors.ZeroAddress(); + } + DEFAULT_REVOKER = defaultRevoker_; } - // keccak256(bytes.concat(bytes32(uint256(keccak256("story-protocol.licensing-module.storage")) - 1))) - bytes32 private constant _STORAGE_LOCATION = 0x80b4ea8c21e869c68acfd93c8ef2c0d867835b92e2fded15a1d74d7e7ff3312d; + /// @notice Gets the protocol-wide module key for the licensing module. + function moduleKey() public pure override(BaseModule, IModule) returns (ModuleKey) { + return LICENSING_MODULE_KEY; + } - IPAssetOrgFactory public immutable IP_ASSET_ORG_FACTORY; + /// @notice Gets the licensing framework config of an IP org. + function getIpOrgLicensorConfig(address ipOrg_) external view returns (Licensing.LicensorConfig) { + return _licensorConfig[ipOrg_]; + } - constructor(address franchise_) { - if (franchise_ == address(0)) { - revert Errors.ZeroAddress(); - } - IP_ASSET_ORG_FACTORY = IPAssetOrgFactory(franchise_); - _disableInitializers(); + /// @notice Gets the value set by an IP org for a parameter of a licensing framework. + /// If no value is set (bytes.length==0), licensors will be able to set their value. + function getIpOrgValueForParam(address ipOrg_, string calldata paramTag_) external view returns (bytes memory) { + return _ipOrgParamValues[ipOrg_][paramTag_.toShortString()]; } - function initialize(address accessControl_, string calldata nonCommercialLicenseUri_) public initializer { - __AccessControlledUpgradeable_init(accessControl_); - _getLicensingModuleStorage().nonCommercialLicenseURI = nonCommercialLicenseUri_; + //////////////////////////////////////////////////////////////////////////// + // Create License // + //////////////////////////////////////////////////////////////////////////// + + /// Module entrypoing to verify execution call + function _verifyExecution(IIPOrg ipOrg_, address caller_, bytes calldata params_) internal virtual override { + // Verification done in _performAction for efficiency } - function _getLicensingModuleStorage() internal pure returns (LicensingModuleStorage storage $) { - bytes32 position = _STORAGE_LOCATION; - assembly { - $.slot := position + /// Module entrypoint to create licenses. Allows the execution of: + /// - Create license + /// - Activate license + /// - Link derivative license to derivative IPA + function _performAction( + IIPOrg ipOrg_, + address caller_, + bytes memory params_ + ) internal virtual override returns (bytes memory result) { + (bytes32 action, bytes memory actionParams) = abi.decode(params_, (bytes32, bytes)); + if (action == Licensing.CREATE_LICENSE) { + // Mint new license + return _createLicense(ipOrg_, caller_, actionParams); + } else if (action == Licensing.ACTIVATE_LICENSE) { + // Activate license pending licensor approval + uint256 licenseId = abi.decode(actionParams, (uint256)); + LICENSE_REGISTRY.activateLicense(licenseId, caller_); + return bytes(""); + } else if (action == Licensing.LINK_LNFT_TO_IPA) { + // Link derivative license to derivative IPA + (uint256 licenseId, uint256 ipaId) = abi.decode(actionParams, (uint256, uint256)); + LICENSE_REGISTRY.linkLnftToIpa(licenseId, ipaId); + return bytes(""); + } else { + revert Errors.LicensingModule_InvalidAction(); } } - function getNonCommercialLicenseURI() public view returns (string memory) { - return _getLicensingModuleStorage().nonCommercialLicenseURI; + /// @notice After verifying the action, this function gathers the parameters from + /// the input and creates a new license in the LicenseRegistry. + /// @param ipOrg_ the ipOrg contract interface + /// @param caller_ address requesting execution + /// @param params_ encoded LicensingLicenseCreation struct + function _createLicense( + IIPOrg ipOrg_, + address caller_, + bytes memory params_ + ) private returns (bytes memory result) { + Licensing.LicenseCreation memory input = abi.decode(params_, (Licensing.LicenseCreation)); + + address licensor = _getLicensor(address(ipOrg_), input.parentLicenseId, input.ipaId); + // ------ Derivative license checks ------ + if (input.parentLicenseId != 0) { + if (!LICENSE_REGISTRY.isLicenseActive(input.parentLicenseId)) { + revert Errors.LicensingModule_ParentLicenseNotActive(); + } + if (!LICENSE_REGISTRY.isDerivativeAllowed(input.parentLicenseId)) { + revert Errors.LicensingModule_DerivativeNotAllowed(); + } + } + // If this is a derivative and parent is reciprocal, license parameters + // cannot be changed in the new license + if (input.parentLicenseId != 0 && LICENSE_REGISTRY.isReciprocal(input.parentLicenseId)) { + if (input.params.length > 0) { + revert Errors.LicensingModule_ReciprocalCannotSetParams(); + } + return + abi.encode( + LICENSE_REGISTRY.addReciprocalLicense(input.parentLicenseId, licensor, caller_, input.ipaId) + ); + } else { + // If this is not a derivative, or parent is not reciprocal, caller must be the licensor + if (licensor != caller_) { + revert Errors.LicensingModule_CallerNotLicensor(); + } + // Parameters can be changed if IpOrg has not set them + return + abi.encode( + _addNonReciprocalLicense( + address(ipOrg_), + caller_, + licensor, + input, + _ipOrgFrameworkIds[address(ipOrg_)] + ) + ); + } } - - /// Set the URI for non-commercial licenses across Story Protocol. Setting this does NOT affect existing licenses, only new ones. - /// @param nonCommercialLicenseURI_ The URI to set for non-commercial licenses - function setNonCommercialLicenseURI(string calldata nonCommercialLicenseURI_) external onlyRole(AccessControl.LICENSING_MANAGER_ROLE) { - _getLicensingModuleStorage().nonCommercialLicenseURI = nonCommercialLicenseURI_; - emit NonCommercialLicenseUriSet(nonCommercialLicenseURI_); + /// @notice Creates a non-reciprocal license, meaning that the license parameters + /// do not come from the parent license, but from the ipOrg configuration. + /// This proccess serves for licenses without parent, or for derivatives + /// of non-reciprocal licenses. + /// Determining the license parameters is a 3-step process: + /// 1. Get the default values set by the ipOrg and the framework defaults + /// 2. Get the values set by the user + /// 3. Decide which value to use: + /// - If user has set it, but ipOrg has too, revert + /// - If user has set it and ipOrg has not, user value selected + /// - If user has not set it and ipOrg has, ipOrg value selected + /// - If user has not set it and ipOrg has not, default value selected + /// For the parameters related to derivatives, the process is the same, but + /// the values will be used to set the flags in the license to ease the + /// process of creating derivative licenses. + /// @dev This function is used by _createLicense + /// @param ipOrg_ the ipOrg contract interface + /// @param caller_ address requesting execution + /// @param licensor_ address of the licensor + /// @param input_ the input parameters for the license + /// @param frameworkId_ the ID of the licensing framework + /// @return the ID of the new license + function _addNonReciprocalLicense( + address ipOrg_, + address caller_, + address licensor_, + Licensing.LicenseCreation memory input_, + string memory frameworkId_ + ) private returns (uint256) { + // Get all param tags from framework + Licensing.ParamDefinition[] memory supportedParams = LICENSING_FRAMEWORK_REPO.getParameterDefs(frameworkId_); + // Parse license parameters + ( + Licensing.ParamValue[] memory licenseParams, + bool derivativesAllowed, + bool isReciprocal, + bool derivativeNeedsApproval + ) = _parseLicenseParameters(ipOrg_, input_.params, supportedParams); + + Licensing.LicenseStatus newLicenseStatus; + if (input_.parentLicenseId != 0 && LICENSE_REGISTRY.derivativeNeedsApproval(input_.parentLicenseId)) { + // If parent license ID has `derivativeNeedsApproval` = true, then new license is pending licensor approval. + // This condition is triggered when parent's `isReciprocal` = false but `derivativeNeedsApproval` = true. + newLicenseStatus = Licensing.LicenseStatus.PendingLicensorApproval; + } else { + newLicenseStatus = Licensing.LicenseStatus.Active; + } + + // Create license + Licensing.LicenseData memory newLicense = Licensing.LicenseData({ + status: newLicenseStatus, + derivativesAllowed: derivativesAllowed, + isReciprocal: isReciprocal, + derivativeNeedsApproval: derivativeNeedsApproval, + revoker: DEFAULT_REVOKER, + licensor: licensor_, + ipOrg: ipOrg_, + frameworkId: frameworkId_.toShortString(), + ipaId: input_.ipaId, + parentLicenseId: input_.parentLicenseId + }); + return LICENSE_REGISTRY.addLicense(newLicense, caller_, licenseParams); } - - /// Set the IPAssetOrgConfig for a IPAssetOrg, configuring its licensing framework. - /// @dev if setting root licenses, they should be active. A revoker address must be set, and it will be - /// common for all licenses in the IPAssetOrg. - /// @param ipAssetOrg_ The address of the IPAssetOrg to set the config for - /// @param config_ The IPAssetOrgConfig to set - function configureIpAssetOrgLicensing(address ipAssetOrg_, Licensing.IPAssetOrgConfig memory config_) external { - if (msg.sender != IIPAssetOrg(ipAssetOrg_).owner()) { - revert Errors.Unauthorized(); - } - _verifyRootLicense(ipAssetOrg_, config_.nonCommercialConfig.ipAssetOrgRootLicenseId); - _verifyRootLicense(ipAssetOrg_, config_.commercialConfig.ipAssetOrgRootLicenseId); - if (config_.revoker == address(0)) { - revert Errors.LicensingModule_ZeroRevokerAddress(); - } - LicensingModuleStorage storage $ = _getLicensingModuleStorage(); - $.ipAssetOrgConfigs[ipAssetOrg_] = config_; - emit IPAssetOrgConfigSet(ipAssetOrg_, config_); + /// Parses the license parameters from the input and the ipOrg configuration. + /// @dev This function is used by _addNonReciprocalLicense + /// @param ipOrg_ the ipOrg contract interface + /// @param inputParams_ the input parameters for the license + /// @param supportedParams_ the supported parameters for the license + /// @return licenseParams the parsed license parameters + /// @return derivativesAllowed whether derivatives are allowed + /// @return isReciprocal whether the license is reciprocal + /// @return derivativeNeedsApproval whether derivative licenses will need approval + /// (state of the license will be PendingLicensorApproval) + function _parseLicenseParameters( + address ipOrg_, + Licensing.ParamValue[] memory inputParams_, + Licensing.ParamDefinition[] memory supportedParams_ + ) + private + view + returns ( + Licensing.ParamValue[] memory licenseParams, + bool derivativesAllowed, + bool isReciprocal, + bool derivativeNeedsApproval + ) + { + uint256 inputLength_ = inputParams_.length; + mapping(ShortString => bytes) storage _ipOrgValues = _ipOrgParamValues[ipOrg_]; + uint256 supportedLength = supportedParams_.length; + licenseParams = new Licensing.ParamValue[](supportedLength); + + // First, get ipOrg defaults + for (uint256 i = 0; i < supportedLength; i++) { + // For every supported parameter + Licensing.ParamDefinition memory paramDef = supportedParams_[i]; + // Get the default value set by ipOrg + bytes memory ipOrgValue = _ipOrgValues[paramDef.tag]; + // Find if user has provided a value for this param + bytes memory inputValue; + for (uint256 j = 0; j < inputLength_; j++) { + Licensing.ParamValue memory inputParam = inputParams_[j]; + if (ShortStringOps._equal(inputParam.tag, paramDef.tag)) { + inputValue = inputParam.value; + break; + } + } + // Decide which value to use + bytes memory resultValue = _decideValueSource(inputValue, ipOrgValue, paramDef); + + // Set value in license params + licenseParams[i] = Licensing.ParamValue(paramDef.tag, resultValue); + if (keccak256(resultValue) == keccak256("")) { + continue; + } + // If param is not empty, check for Derivative license flags + if (ShortStringOps._equal(paramDef.tag, SPUMLParams.DERIVATIVES_ALLOWED)) { + derivativesAllowed = abi.decode(resultValue, (bool)); + } else if (ShortStringOps._equal(paramDef.tag, SPUMLParams.DERIVATIVES_ALLOWED_OPTIONS)) { + uint256 derivativeIndexMask = abi.decode(resultValue, (uint256)); + derivativeNeedsApproval = BitMask._isSet(derivativeIndexMask, SPUMLParams.ALLOWED_WITH_APPROVAL_INDEX); + isReciprocal = BitMask._isSet(derivativeIndexMask, SPUMLParams.ALLOWED_WITH_RECIPROCAL_LICENSE_INDEX); + } + } + // In case there is misconfiguration. + // TODO: Add relational structure to LicensingFramework so that this is not needed + if (!derivativesAllowed) { + derivativeNeedsApproval = false; + isReciprocal = false; + } } - function _verifyRootLicense(address ipAssetOrg_, uint256 rootLicenseId_) internal view { - if (rootLicenseId_ != 0) { - IERC5218 rightsManager = IERC5218(ipAssetOrg_); - if (address(rightsManager) == address(0)) { - // IP_ASSET_ORG_FACTORY.ownerOf(ipAssetOrgId) should take care of this, - // but leaving it in case IPAssetRegistration creation fails somewhow. - revert Errors.LicensingModule_NonExistentIPAssetOrg(); + /// Decides which value to use for a parameter in a non-reciprocal license. + /// @dev This function is used by _parseLicenseParameters + /// @param inputValue the value set by the user + /// @param ipOrgValue the value set by the ipOrg + /// @param paramDef the definition of the parameter + function _decideValueSource( + bytes memory inputValue, + bytes memory ipOrgValue, + Licensing.ParamDefinition memory paramDef + ) private pure returns (bytes memory) { + if (inputValue.length > 0) { + // If user has set it, but ipOrg has too, revert + if (ipOrgValue.length > 0) { + revert Errors.LicensingModule_ParamSetByIpOrg(); } - if (!rightsManager.isLicenseActive(rootLicenseId_)) { - revert Errors.LicensingModule_RootLicenseNotActive(rootLicenseId_); + // If user has set it and ipOrg has not, user value selected + if (!Licensing._validateParamValue(paramDef, inputValue)) { + // hoping to catch some bad encoding + revert Errors.LicensingModule_InvalidInputValue(); } + return inputValue; + } else if (ipOrgValue.length > 0) { + return ipOrgValue; + } else { + return paramDef.defaultValue; + } + } + + /// Gets the licensor address for this IPA. + /// @dev This function is used by _createLicense + /// @param ipOrg_ the ipOrg contract interface + /// @param parentLicenseId_ the ID of the parent license + /// @param ipaId_ the ID of the IPA + /// @return the licensor address + function _getLicensor(address ipOrg_, uint256 parentLicenseId_, uint256 ipaId_) private view returns (address) { + Licensing.LicensorConfig licensorConfig = _licensorConfig[ipOrg_]; + if (licensorConfig == Licensing.LicensorConfig.Unset) { + revert Errors.LicensingModule_IpOrgFrameworkNotSet(); + } + if (licensorConfig == Licensing.LicensorConfig.IpOrgOwnerAlways) { + return IIPOrg(ipOrg_).owner(); + } else if (licensorConfig == Licensing.LicensorConfig.Source) { + if (parentLicenseId_ != 0) { + return LICENSE_REGISTRY.ownerOf(parentLicenseId_); + } else if (ipaId_ != 0) { + return IPA_REGISTRY.ipAssetOwner(ipaId_); + } else { + return IIPOrg(ipOrg_).owner(); + } + } + + revert Errors.LicensingModule_InvalidLicensorConfig(); + } + + //////////////////////////////////////////////////////////////////////////// + // Config // + //////////////////////////////////////////////////////////////////////////// + + /// Module entrypoint for configuration. It allows an IPOrg to set licensing terms + /// that all the Licenses minted for its IPAs will follow. + /// @param ipOrg_ the ipOrg contract interface + /// @param caller_ address requesting execution + /// @param params_ encoded LicensingFrameworkConfig struct + function _configure( + IIPOrg ipOrg_, + address caller_, + bytes calldata params_ + ) internal virtual override returns (bytes memory) { + // TODO: Revert if terms already exist + (bytes32 configType, bytes memory configData) = abi.decode(params_, (bytes32, bytes)); + if (configType == Licensing.LICENSING_FRAMEWORK_CONFIG) { + return _setIpOrgFramework(ipOrg_, caller_, configData); + } else { + // TODO: We need to define if a license holder can modify the terms of a license } + revert Errors.LicensingModule_InvalidConfigType(); } - function getIpAssetOrgConfig(address ipAssetOrg_) public view returns (Licensing.IPAssetOrgConfig memory) { - return _getLicensingModuleStorage().ipAssetOrgConfigs[ipAssetOrg_]; + //////////////////////////////////////////////////////////////////////////// + // ipOrgConfig // + //////////////////////////////////////////////////////////////////////////// + + /// @notice Gets commercial and non-commercial terms, and checks for misconfigurations in them before + // setting them. + /// @dev This function is used by _configure + /// @param ipOrg_ the ipOrg contract interface + /// @param caller_ address requesting execution + /// @param params_ encoded Licensing.FrameworkConfig struct + function _setIpOrgFramework( + IIPOrg ipOrg_, + address caller_, + bytes memory params_ + ) internal virtual returns (bytes memory) { + // Validate parameters + if (ipOrg_.owner() != caller_) { + revert Errors.LicensingModule_CallerNotIpOrgOwner(); + } + Licensing.LicensingConfig memory config = abi.decode(params_, (Licensing.LicensingConfig)); + if (config.licensor == Licensing.LicensorConfig.Unset) { + revert Errors.LicensingModule_InvalidLicensorConfig(); + } + address ipOrgAddress = address(ipOrg_); + if (_licensorConfig[ipOrgAddress] != Licensing.LicensorConfig.Unset) { + revert Errors.LicensingModule_IpOrgFrameworkAlreadySet(); + } + Licensing.ParamValue[] memory configParams = config.params; + if (configParams.length > LICENSING_FRAMEWORK_REPO.getTotalParameters(config.frameworkId)) { + revert Errors.LicensingModule_InvalidParamsLength(); + } + + _licensorConfig[ipOrgAddress] = config.licensor; + _ipOrgFrameworkIds[ipOrgAddress] = config.frameworkId; + + mapping(ShortString => bytes) storage paramValues = _ipOrgParamValues[ipOrgAddress]; + uint256 numParams = configParams.length; + // Add the parameters to storage + for (uint256 i = 0; i < numParams; i++) { + Licensing.ParamValue memory param = configParams[i]; + if (paramValues[param.tag].length > 0) { + revert Errors.LicensingModule_DuplicateParam(); + } + Licensing.ParamDefinition memory paramDef = LICENSING_FRAMEWORK_REPO.getParamDefinition( + config.frameworkId, + param.tag + ); + if (!Licensing._validateParamValue(paramDef, param.value)) { + revert Errors.LicensingModule_InvalidParamValue(); + } + paramValues[param.tag] = param.value; + } + emit IpOrgLicensingFrameworkSet( + ipOrgAddress, + config.frameworkId, + LICENSING_FRAMEWORK_REPO.getLicenseTextUrl(config.frameworkId), + config.licensor, + configParams + ); + + return ""; } - function _authorizeUpgrade( - address newImplementation_ - ) internal virtual override onlyRole(AccessControl.UPGRADER_ROLE) {} + //////////////////////////////////////////////////////////////////////////// + // Hooks // + //////////////////////////////////////////////////////////////////////////// + + /// @notice Gets the registry key for the hook. + /// @dev this functionality is currently disabled. + function _hookRegistryKey(IIPOrg, address, bytes calldata) internal view virtual override returns (bytes32) { + return keccak256("TODO"); + } } diff --git a/contracts/modules/licensing/RightsManager.sol b/contracts/modules/licensing/RightsManager.sol deleted file mode 100644 index 00542e79..00000000 --- a/contracts/modules/licensing/RightsManager.sol +++ /dev/null @@ -1,403 +0,0 @@ -// SPDX-License-Identifier: BUSL-1.1 -pragma solidity ^0.8.13; -import { IERC721 } from "@openzeppelin/contracts/token/ERC721/IERC721.sol"; -import { ERC721Upgradeable } from "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol"; -import { LibDuration } from "../timing/LibDuration.sol"; -import { IERC5218 } from "contracts/interfaces/modules/licensing/IERC5218.sol"; -import { ILicenseRegistry } from "contracts/interfaces/modules/licensing/ILicenseRegistry.sol"; -import { IIPAssetOrg } from "contracts/interfaces/ip-assets/IIPAssetOrg.sol"; -import { ERC165CheckerUpgradeable } from "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165CheckerUpgradeable.sol"; -import { ERC165Upgradeable } from "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol"; -import { ITermsProcessor } from "contracts/interfaces/modules/licensing/terms/ITermsProcessor.sol"; -import { Errors } from "contracts/lib/Errors.sol"; -import { Licensing } from "contracts/lib/modules/Licensing.sol"; - -/// @title RightsManager -/// @author Raul Martinez -/// @notice IERC-5218 implementation. -/// Allows us to grant 2 type of licenses: -/// 1. Rights: Licenses tied to a tokenId (IPAsset id), in which the license holder is always the owner of the tokenId. Each tokenId can have commercial or non commercial license tied to it defining it. -/// 2. Tradeable Licenses): The license holder is the owner of the correspondent LicenseRegistry NFT. They are either: -/// 2.1 IPAssetOrg root license: LicenseRegistry enabled license minted by a IPAssetOrg owner to govern commercial or non commercial rights for all the IPAssetRegistries. -/// 2.2 Sublicense: a license coming from Rights or other Licenses, minted by the parent license owner. These would be the future "movie adaptation" type licenses that can be sold. -/// Allows license holders to execute terms to activate the license to activate them. -/// Tracks active licenses along the license trees. -abstract contract RightsManager is - ERC721Upgradeable, - IERC5218 -{ - using ERC165CheckerUpgradeable for address; - - struct RightsManagerStorage { - mapping(uint256 => Licensing.License) licenses; - // keccack256(commercial, tokenId) => licenseId - mapping(bytes32 => uint256) licensesForTokenId; - uint256 licenseCounter; - ILicenseRegistry licenseRegistry; - } - - // keccak256(bytes.concat(bytes32(uint256(keccak256("story-protocol.rights-manager.storage")) - 1))) - bytes32 private constant _STORAGE_LOCATION = 0x315576c20e31e03ef3e70482445a4c33e45baf13beff28e79f2adf6d06cc0bee; - - // TODO(ramarti): Refactor licensing ids to work via the registry modules. - uint256 private constant _UNSET_LICENSE_ID = 0; - uint256 public constant ROOT_LICENSE_ID = type(uint256).max; - - // TODO(ramarti): Separate IP Asset Org from the Rights Manager so that they are decoupled. - IIPAssetOrg public IP_ASSET_ORG; - - /// @dev Initialize the Rights Manager contract. - /// TODO(ramarti): Ensure the rights manager depends on the IP Asset Registry instead of an IP Asset Org. - function __RightsManager_init( - address ipAssetOrg_, - string memory name_, - string memory symbol_ - ) public { - if (ipAssetOrg_ == address(0)) { - revert Errors.ZeroAddress(); - } - IP_ASSET_ORG = IIPAssetOrg(ipAssetOrg_); - __ERC721_init(name_, symbol_); - } - - function setLicenseRegistry(address licenseRegistry_) external { - // NOTE: This assumes no need to change ILicenseRegistry implementation. - if (address(_getRightsManagerStorage().licenseRegistry) != address(0)) revert Errors.Unauthorized(); - if (licenseRegistry_ == address(0)) revert Errors.ZeroAddress(); - _getRightsManagerStorage().licenseRegistry = ILicenseRegistry(licenseRegistry_); - } - - function _getRightsManagerStorage() - private - pure - returns (RightsManagerStorage storage $) - { - assembly { - $.slot := _STORAGE_LOCATION - } - } - - - /// @notice Creates a tradeable sublicense. - /// @dev Throws if trying to create a franchise level or root license. - /// @param tokenId_ The tokenId of the specific IPAssetOrg to create the sublicense for. - /// @param parentLicenseId_ The parent license to create the sublicense from. - /// @param licenseHolder_ The address of the sublicense holder, will own the ILicenseRegistry NFT. - /// @param uri_ License terms URI. - /// @param revoker_ address that can revoke the license. - /// @param commercial_ if the license is commercial or not. - /// @param canSublicense_ if the license can be parentLicense of another one - /// @param terms_ the on chain terms of the license, via executor and data - /// @return licenseId - /// TODO(ramarti): Refactor license creation to use the IP Asset Registry id instead of IP Asset Org id. - function createLicense( - uint256 tokenId_, // Question: should sublicenses be created with a tokenId or just a parentLicenseId? - uint256 parentLicenseId_, - address licenseHolder_, - string memory uri_, - address revoker_, - bool commercial_, - bool canSublicense_, - Licensing.TermsProcessorConfig memory terms_ - ) external override returns (uint256) { - if (tokenId_ == ROOT_LICENSE_ID || parentLicenseId_ == _UNSET_LICENSE_ID) { - revert Errors.RightsManager_UseCreateIPAssetOrgRootLicenseInstead(); - } - if (msg.sender != getLicenseHolder(parentLicenseId_)) revert Errors.Unauthorized(); - return _createLicense( - tokenId_, - parentLicenseId_, - licenseHolder_, - uri_, - revoker_, - commercial_, - canSublicense_, - terms_, - true - ); - } - - - /// Creates the root licenses that all other licenses of a IPAssetOrg may be based on. - /// @dev Throws if caller not owner of the IPAssetOrgFactory NFt. - /// @param licenseHolder_ The address of the sublicense holder, will own the ILicenseRegistry NFT. - /// @param uri_ License terms URI. - /// @param revoker_ address that can revoke the license. - /// @param commercial_ if the license is commercial or not. - /// @param canSublicense_ if the license can be parentLicense of another one - /// @param terms_ the on chain terms of the license, via executor and data - /// @return licenseId - function createIPAssetOrgRootLicense( - address licenseHolder_, - string memory uri_, - address revoker_, - bool commercial_, - bool canSublicense_, - Licensing.TermsProcessorConfig memory terms_ - ) external returns (uint256) { - if (msg.sender != IP_ASSET_ORG.owner()) revert Errors.Unauthorized(); - return _createLicense( - ROOT_LICENSE_ID, - _UNSET_LICENSE_ID, - licenseHolder_, - uri_, - revoker_, - commercial_, - canSublicense_, - terms_, - true - ); - } - - function _createLicense( - uint256 tokenId_, - uint256 parentLicenseId_, - address licenseHolder_, - string memory uri_, - address revoker_, - bool commercial_, - bool canSublicense_, - Licensing.TermsProcessorConfig memory terms_, - bool inLicenseRegistry_ - ) internal returns (uint256) { - // TODO: should revoker come from allowed revoker list? - if (revoker_ == address(0)) revert Errors.RightsManager_ZeroRevokerAddress(); - RightsManagerStorage storage $ = _getRightsManagerStorage(); - // Only licenses minted to the IPAssetOrgFactory Owner as a root license should - // have tokenId = ROOT_LICENSE_ID, otherwise the tokenId should be a minted NFT (IPAsset.IPAssetType) - // Checks for the IPAssetOrgFactory Owner should be done in the calling function - if (tokenId_ != ROOT_LICENSE_ID) { - if (!_exists(tokenId_)) { - revert Errors.NonExistentID(tokenId_); - } - } - // If this is not a LicenseRegsitry license, check that the tokenId doesn't already have a root license - if (!inLicenseRegistry_) { - if ($.licensesForTokenId[keccak256(abi.encode(commercial_, tokenId_))] != _UNSET_LICENSE_ID) { - revert Errors.RightsManager_AlreadyHasRootLicense(); - } - } else { - if($.licenseRegistry == ILicenseRegistry(address(0))) revert Errors.RightsManager_LicenseRegistryNotConfigured(); - if(tokenId_ != ROOT_LICENSE_ID && parentLicenseId_ != _UNSET_LICENSE_ID) { - // If this is a sublicense, check that this is a valid sublicense - Licensing.License memory parentLicense = $.licenses[parentLicenseId_]; - if (!parentLicense.active) revert Errors.RightsManager_InactiveParentLicense(); - if (!parentLicense.canSublicense) revert Errors.RightsManager_CannotSublicense(); - if (parentLicense.commercial != commercial_) revert Errors.RightsManager_CommercialTermsMismatch(); - if (getLicenseHolder(parentLicenseId_) != licenseHolder_) revert Errors.RightsManager_NotOwnerOfParentLicense(); - } - } - // Check that the terms are valid - _verifyTerms(terms_); - - // Create the license and increment the licenseCounter - uint256 licenseId = ++$.licenseCounter; - $.licenses[licenseId] = Licensing.License({ - active: true, - canSublicense: canSublicense_, - commercial: commercial_, - parentLicenseId: parentLicenseId_, - tokenId: tokenId_, - revoker: revoker_, - uri: uri_, - termsProcessor: terms_.processor, - termsData: terms_.data - }); - - // Mint the license in the LicenseRegistry if requested. Should not do this for IPAsset Rights, but - // the checks on inLicenseRegistry should be done in the calling function - if (inLicenseRegistry_) { - $.licenseRegistry.mint(licenseHolder_, licenseId); - } else { - // Save tokenId => licenseId relationship IF this is a root license - $.licensesForTokenId[keccak256(abi.encode(commercial_, tokenId_))] = licenseId; - } - - // Emit events - emit CreateLicense( - licenseId, - tokenId_, - parentLicenseId_, - licenseHolder_, - uri_, - revoker_ - ); - emit TransferLicense(licenseId, licenseHolder_); - return licenseId; - } - - - function revokeLicense(uint256 licenseId_) external override { - if (!isLicenseSet(licenseId_)) revert Errors.NonExistentID(licenseId_); - RightsManagerStorage storage $ = _getRightsManagerStorage(); - Licensing.License storage license = $.licenses[licenseId_]; - if (msg.sender != license.revoker) revert Errors.RightsManager_SenderNotRevoker(); - license.active = false; - emit RevokeLicense(licenseId_); - // TODO: should we burn the license if it's from the LicenseRegistry? - // TODO: delete the rootLicenseForTokenId mapping for licenseId if root license - } - - - /// If set, runs the TermsExecutor with the terms data stored in the license. - /// If the terms execution returns different data, the license is updated with the new data. - /// @param licenseId_ The identifier for the queried license - function executeTerms(uint256 licenseId_) external { - RightsManagerStorage storage $ = _getRightsManagerStorage(); - if (msg.sender != $.licenseRegistry.ownerOf(licenseId_)) revert Errors.Unauthorized(); - Licensing.License storage license = $.licenses[licenseId_]; - if (license.termsProcessor != ITermsProcessor(address(0))) { - bytes memory newData = license.termsProcessor.executeTerms(license.termsData); - if (keccak256(license.termsData) != keccak256(newData)) { - license.termsData = newData; - emit TermsUpdated(licenseId_, address(license.termsProcessor), newData); - } - } - emit ExecuteTerms(licenseId_, license.termsData); - } - - /// returns true if the license is active (non revoked and terms returning true) and all its parent licenses are active, false otherwise - function isLicenseActive( - uint256 licenseId_ - ) public view virtual returns (bool) { - // TODO: limit to the tree depth - if (licenseId_ == 0) return false; - RightsManagerStorage storage $ = _getRightsManagerStorage(); - while (licenseId_ != 0) { - Licensing.License memory license = $.licenses[licenseId_]; - if (!_isActiveAndTermsOk(license)) return false; - licenseId_ = license.parentLicenseId; - } - return true; - } - - function _isActiveAndTermsOk(Licensing.License memory license_) view private returns (bool) { - if (address(license_.termsProcessor) == address(0)) return license_.active; - return license_.active && license_.termsProcessor.termsExecutedSuccessfully(license_.termsData); - } - - function getLicense(uint256 licenseId_) public view returns (Licensing.License memory, address holder) { - return ( - _getRightsManagerStorage().licenses[licenseId_], - getLicenseHolder(licenseId_) - ); - } - - function _beforeTokenTransfer( - address from_, - address to_, - uint256 firstTokenId_, - uint256 batchSize_ - ) internal virtual override { - if (from_ != address(0)) { - for (uint256 i = firstTokenId_; i < batchSize_;) { - _verifyRightsTransfer(from_, to_, i); - unchecked { - i++; - } - } - } - super._beforeTokenTransfer(from_, to_, firstTokenId_, batchSize_); - } - - function _verifyRightsTransfer( - address from_, - address to_, - uint256 tokenId_ - ) internal { - // TODO: trigger rights transfer check, check granting terms, banned marketplaces, etc. - RightsManagerStorage storage $ = _getRightsManagerStorage(); - // NOTE: We are assuming a revoked Non Commercial License impedes the transfer of the NFT. - // Should revoked commercial rights also impede the transfer? - uint256 licenseId = $.licensesForTokenId[keccak256(abi.encode(false, tokenId_))]; - if (licenseId != _UNSET_LICENSE_ID) revert Errors.RightsManager_NFTHasNoAssociatedLicense(); // This should not happen, if fired there is a bug somewhere - if (isLicenseActive(licenseId)) revert Errors.RightsManager_InactiveLicense(); // NOTE: Should we freeze invalid licenses? burn them? - emit TransferLicense(licenseId, to_); - } - - function _verifyTerms(Licensing.TermsProcessorConfig memory terms_) private view { - if (address(terms_.processor) != address(0) && - !terms_.processor.supportsInterface(type(ITermsProcessor).interfaceId)) { - revert Errors.UnsupportedInterface("ITermsProcessor"); - } - } - - function getLicenseTokenId( - uint256 licenseId_ - ) external view override returns (uint256) { - return _getRightsManagerStorage().licenses[licenseId_].tokenId; - } - - function getParentLicenseId( - uint256 licenseId_ - ) external view override returns (uint256) { - return _getRightsManagerStorage().licenses[licenseId_].parentLicenseId; - } - - - function getLicenseHolder( - uint256 licenseId_ - ) public view override returns (address) { - RightsManagerStorage storage $ = _getRightsManagerStorage(); - if ($.licenseRegistry.exists(licenseId_)) { - return $.licenseRegistry.ownerOf(licenseId_); - } else { - Licensing.License storage license = $.licenses[ - licenseId_ - ]; - return ownerOf(license.tokenId); - } - } - - function getLicenseURI( - uint256 licenseId_ - ) external view override returns (string memory) { - return _getRightsManagerStorage().licenses[licenseId_].uri; - } - - function getLicenseRevoker( - uint256 licenseId_ - ) external view override returns (address) { - return _getRightsManagerStorage().licenses[licenseId_].revoker; - } - - function getLicenseIdByTokenId( - uint256 tokenId_, - bool commercial_ - ) public view override returns (uint256) { - return - _getRightsManagerStorage().licensesForTokenId[ - keccak256(abi.encode(commercial_, tokenId_)) - ]; - } - - function getLicenseRegistry() external view returns (ILicenseRegistry) { - return _getRightsManagerStorage().licenseRegistry; - } - - function isRootLicense( - uint256 licenseId_ - ) public view returns (bool) { - return _getRightsManagerStorage().licenses[licenseId_].parentLicenseId == _UNSET_LICENSE_ID && isLicenseSet(licenseId_); - } - - function isLicenseSet(uint256 licenseId_) public view returns (bool) { - return _getRightsManagerStorage().licenses[licenseId_].revoker != address(0); - } - - - /// Since the LicenseRegistry tracks sublicense ownership, this method can only be called by the LicenseRegistry. - /// @dev Throws if the license is not active. Basically exists to not break ERC-5218. - /// @param licenseId_ the license to transfer - /// @param licenseHolder_ the new license holder - function transferSublicense( - uint256 licenseId_, - address licenseHolder_ - ) public virtual override(IERC5218) { - RightsManagerStorage storage $ = _getRightsManagerStorage(); - if (msg.sender != address($.licenseRegistry)) revert Errors.Unauthorized(); - if (!isLicenseActive(licenseId_)) revert Errors.RightsManager_InactiveLicense(); - emit TransferLicense(licenseId_, licenseHolder_); - } - -} diff --git a/contracts/modules/licensing/terms/BaseTermsProcessor.sol b/contracts/modules/licensing/terms/BaseTermsProcessor.sol deleted file mode 100644 index 2ff92edc..00000000 --- a/contracts/modules/licensing/terms/BaseTermsProcessor.sol +++ /dev/null @@ -1,46 +0,0 @@ -// SPDX-License-Identifier: BUSL-1.1 -pragma solidity ^0.8.19; - -import { ITermsProcessor } from "contracts/interfaces/modules/licensing/terms/ITermsProcessor.sol"; -import { Errors } from "contracts/lib/Errors.sol"; -import { IERC165 } from "@openzeppelin/contracts/utils/introspection/IERC165.sol"; -import { ERC165 } from "@openzeppelin/contracts/utils/introspection/ERC165.sol"; - -/// @title BaseTermsProcessor -/// @notice Base contract for licensing terms processors, which encode, decode and execute the terms set on an IERC5218 license parameters, -/// in particular the TermsProcessorConfig struct for the terms parameter in createLicense(). -/// TermsProcessors need to be deployed once per AUTHORIZED_EXECUTOR, which is usually each IPAssetOrg IPAssetOrg. -/// @dev TermsProcessor are intended to be reused accross the protocol, so they should be generic enough to be used by different modules. -/// Most will be stateless, and if a terms processor needs to update something license specific, -/// it should return the updated encoded data in executeTerms() so it is stored back on the license. -/// There could be cases where other methods or state is needed for more complicated flows. -abstract contract BaseTermsProcessor is ITermsProcessor, ERC165 { - - address public immutable AUTHORIZED_EXECUTOR; - - constructor(address authorizedExecutor_) { - if (authorizedExecutor_ == address(0)) { - revert Errors.ZeroAddress(); - } - AUTHORIZED_EXECUTOR = authorizedExecutor_; - } - - modifier onlyAuthorizedExecutor() { - if(msg.sender != AUTHORIZED_EXECUTOR) revert Errors.Unauthorized(); - _; - } - - /// @inheritdoc ITermsProcessor - function executeTerms(bytes calldata data_) onlyAuthorizedExecutor external returns(bytes memory newData) { - return _executeTerms(data_); - } - - function supportsInterface( - bytes4 interfaceId_ - ) public view virtual override(ERC165, IERC165) returns (bool) { - return interfaceId_ == type(ITermsProcessor).interfaceId || super.supportsInterface(interfaceId_); - } - - /// method defining the actual execution of the terms, with no access control for caller, to be implemented by the child contract - function _executeTerms(bytes calldata data_) internal virtual returns (bytes memory newData); -} diff --git a/contracts/modules/licensing/terms/MultiTermsProcessor.sol b/contracts/modules/licensing/terms/MultiTermsProcessor.sol deleted file mode 100644 index facdaafa..00000000 --- a/contracts/modules/licensing/terms/MultiTermsProcessor.sol +++ /dev/null @@ -1,85 +0,0 @@ -// SPDX-License-Identifier: BUSL-1.1 -pragma solidity ^0.8.19; - -import { ITermsProcessor } from "contracts/interfaces/modules/licensing/terms/ITermsProcessor.sol"; -import { BaseTermsProcessor } from "./BaseTermsProcessor.sol"; -import { Errors } from "contracts/lib/Errors.sol"; - -/// NOTE: this contract is not tested yet, do not use. -/// @title MultiTermsProcessor -/// @author Raul Martinez -/// @notice Contract that allow to compose multiple terms processors into one, to allow for complex license arrangements. -/// Either all processors are executed successfully, or none are. -contract MultiTermsProcessor is BaseTermsProcessor { - - event ProcessorsSet(ITermsProcessor[] processors); - - ITermsProcessor[] public processors; - - /// arbitrary limit to avoid gas limit issues. If the processors are complex, gas DOS might be reached anyway. - uint256 public constant MAX_PROCESSORS = 50; - - constructor(address authorizedExecutor_, ITermsProcessor[] memory processors_) BaseTermsProcessor(authorizedExecutor_) { - _setProcessors(processors_); - } - - /// Checks if all the terms are executed, in order. If one fails, it returns false. - function termsExecutedSuccessfully(bytes calldata data_) external view override returns (bool) { - uint256 length = processors.length; - bytes[] memory encodedTerms = new bytes[](length); - encodedTerms = abi.decode(data_, (bytes[])); - bool result = true; - for (uint256 i = 0; i < length;) { - result = result && processors[i].termsExecutedSuccessfully(encodedTerms[i]); - unchecked { - i++; - } - } - return result; - } - - /// ERC165 interface support, but for ITermsProcessor it only returns true if only all processors support the interface. - function supportsInterface( - bytes4 interfaceId_ - ) public view override returns (bool) { - bool supported = true; - if (interfaceId_ == type(ITermsProcessor).interfaceId) { - uint256 length = processors.length; - for (uint256 i = 0; i < length;) { - supported && processors[i].supportsInterface(interfaceId_); - unchecked { - i++; - } - } - return supported; - } - return super.supportsInterface(interfaceId_); - } - - /// Decode the data into an array of bytes with length == processors length, and execute each processor in order. - /// Encode the results into a new array of bytes and return it. - /// @param data_ must be decodable into an array of bytes with length == processors length. - /// @return newData the encoded bytes array with the results of each processor execution. - function _executeTerms(bytes calldata data_) internal override returns (bytes memory newData) { - uint256 length = processors.length; - bytes[] memory encodedTerms = new bytes[](length); - encodedTerms = abi.decode(data_, (bytes[])); - bytes[] memory newEncodedTerms = new bytes[](length); - for (uint256 i = 0; i < length;) { - newEncodedTerms[i] = processors[i].executeTerms(encodedTerms[i]); - unchecked { - i++; - } - } - return abi.encode(newEncodedTerms); - } - - /// Sets the processors to be executed in order. - function _setProcessors(ITermsProcessor[] memory processors_) private { - if (processors_.length == 0) revert Errors.EmptyArray(); - if (processors_.length > MAX_PROCESSORS) - revert Errors.MultiTermsProcessor_TooManyTermsProcessors(); - processors = processors_; - emit ProcessorsSet(processors_); - } -} diff --git a/contracts/modules/licensing/terms/TimeTermsProcessor.sol b/contracts/modules/licensing/terms/TimeTermsProcessor.sol deleted file mode 100644 index afd93b14..00000000 --- a/contracts/modules/licensing/terms/TimeTermsProcessor.sol +++ /dev/null @@ -1,36 +0,0 @@ -// SPDX-License-Identifier: BUSL-1.1 -pragma solidity ^0.8.19; - -import { BaseTermsProcessor } from "./BaseTermsProcessor.sol"; -import { LibDuration } from "../../timing/LibDuration.sol"; - - -/// @title TimeTermsProcessor -/// @author Raul Martinez -/// @notice Processor to set time limits to Licenses up to a Time To Live (TTL). It has 2 modes of operation: -/// 1- Timer starts on a specific date set on License creation, and ends after a certain amount of time. -/// To do this, set startTime to a timestemp when encoding the terms in createLicense(). -/// 2- Timer starts on License execution, and ends after a certain amount of time. -/// To do this, set startTime to LibDuration.START_TIME_NOT_SET (0) when encoding the terms in createLicense(). -/// The processor will set the startTime to the block.timestamp when the terms are executed. -/// Use case for this would be to indicate "this license is valid within 1 year after the first time it is used" -contract TimeTermsProcessor is BaseTermsProcessor { - using LibDuration for LibDuration.TimeConfig; - - constructor(address authorizedExecutor_) BaseTermsProcessor(authorizedExecutor_) {} - - /// returns true if the current block.timestamp is within the start and start + ttl, false otherwise - function termsExecutedSuccessfully(bytes calldata data_) external view override returns (bool) { - LibDuration.TimeConfig memory config = abi.decode(data_, (LibDuration.TimeConfig)); - return config.isActive(); - } - - /// If startTime is not set, set it to block.timestamp and return the new encoded data. If startTime is set, return the same data. - function _executeTerms(bytes calldata data_) internal virtual override returns (bytes memory newData) { - LibDuration.TimeConfig memory config = abi.decode(data_, (LibDuration.TimeConfig)); - if (config.startTime == LibDuration.START_TIME_NOT_SET) { - config.startTime = uint64(block.timestamp); - } - return abi.encode(config); - } -} diff --git a/contracts/modules/registration/RegistrationModule.sol b/contracts/modules/registration/RegistrationModule.sol new file mode 100644 index 00000000..3642089a --- /dev/null +++ b/contracts/modules/registration/RegistrationModule.sol @@ -0,0 +1,386 @@ +// SPDX-License-Identifier: UNLICENSED +// See https://github.com/storyprotocol/protocol-contracts/blob/main/StoryProtocol-AlphaTestingAgreement-17942166.3.pdf +pragma solidity ^0.8.19; + +import { Strings } from "@openzeppelin/contracts/utils/Strings.sol"; +import { Base64 } from "@openzeppelin/contracts/utils/Base64.sol"; +import { BaseModule } from "contracts/modules/base/BaseModule.sol"; +import { IPAssetRegistry } from "contracts/IPAssetRegistry.sol"; +import { IRegistrationModule } from "contracts/interfaces/modules/registration/IRegistrationModule.sol"; +import { IIPOrg } from "contracts/interfaces/ip-org/IIPOrg.sol"; +import { AccessControlled } from "contracts/access-control/AccessControlled.sol"; +import { IModule } from "contracts/interfaces/modules/base/IModule.sol"; +import { Registration } from "contracts/lib/modules/Registration.sol"; +import { Errors } from "contracts/lib/Errors.sol"; +import { ModuleKey, REGISTRATION_MODULE_KEY } from "contracts/lib/modules/Module.sol"; + +/// @title Registration Module +/// @notice The registration module is responsible for registration, transferring, and +/// metadata management of IP assets. During registration, this module will +/// register an IP asset in the global IP asset registry, and then wraps +/// it as a localized IP asset NFT under its governing IP Org. +contract RegistrationModule is BaseModule, IRegistrationModule, AccessControlled { + using Strings for uint256; + + /// @notice Representation of a wrapped IP asset within an IP Org. + struct IPOrgAsset { + address ipOrg; // The address of the governing IP Org. + uint256 ipOrgAssetId; // The localized if of the IP asset within the IP Org. + } + + /// @notice Maps global IP asset ids to IP Org wrapped assets. + mapping(uint256 => IPOrgAsset) public ipOrgAssets; + + /// @notice Maps IP Orgs to their IPA configuration settings. + mapping(address => Registration.IPOrgConfig) public ipOrgConfigs; + + /// @notice Reverse lookup from IP Org asset to global IP asset ids. + mapping(address => mapping(uint256 => uint256)) public ipAssetId; + + /// @notice Maps IP Org assets to their token URIs. + mapping(address => mapping(uint256 => string)) public tokenUris; + + /// @notice Maximum number of Ip Org asset types. + uint256 public constant MAX_IP_ORG_ASSET_TYPES = type(uint8).max; + + /// @notice Initializes the registration module. + /// @param params_ Params necessary for all protocol-wide modules. + /// @param accessControl_ Global access control singleton used for protocol authorization. + constructor( + BaseModule.ModuleConstruction memory params_, + address accessControl_ + ) BaseModule(params_) AccessControlled(accessControl_) {} + + /// @notice Gets the protocol-wide module key for the registration module. + /// @return The module key used for identifying the registration module. + function moduleKey() public pure override(BaseModule, IModule) returns (ModuleKey) { + return REGISTRATION_MODULE_KEY; + } + + /// @notice Registers hooks for a specific type and IP Org. + /// @dev This function can only be called by the IP Org owner. + /// @param hType_ The type of the hooks to register. + /// @param ipOrg_ The IP Org for which the hooks are being registered. + /// @param hooks_ The addresses of the hooks to register. + /// @param hooksConfig_ The configurations for the hooks. + /// @param registerParams_ The parameters for the registration. + function registerHooks( + HookType hType_, + IIPOrg ipOrg_, + address[] calldata hooks_, + bytes[] calldata hooksConfig_, + bytes calldata registerParams_ + ) external onlyIpOrgOwner(ipOrg_) { + bytes32 executionType_ = abi.decode(registerParams_, (bytes32)); + bytes32 registryKey = _generateRegistryKey(ipOrg_, executionType_); + registerHooks(hType_, ipOrg_, registryKey, hooks_, hooksConfig_); + } + + /// @notice Gets the contract URI for an IP Org. + /// @param ipOrg_ The address of the IP Org. + /// @return The contract URI identifying an IP Org contract. + function contractURI(address ipOrg_) public view returns (string memory) { + string memory uri = ipOrgConfigs[ipOrg_].contractURI; + if (bytes(uri).length == 0) { + revert Errors.RegistrationModule_IPOrgNotConfigured(); + } + return uri; + } + + /// @notice Renders metadata of an IP Asset localized for an IP Org. + /// @param ipOrg_ The address of the IP Org of the IP asset. + /// @param ipOrgAssetId_ The local id of the IP asset within the IP Org. + /// @param ipOrgAssetType_ The IP Org asset type. + /// @return The token URI associated with a specific IP Org localized IP asset. + function tokenURI( + address ipOrg_, + uint256 ipOrgAssetId_, + uint8 ipOrgAssetType_ + ) public view returns (string memory) { + uint256 id = ipAssetId[ipOrg_][ipOrgAssetId_]; + address owner = IIPOrg(ipOrg_).ownerOf(ipOrgAssetId_); + if (owner == address(0)) { + revert Errors.RegistrationModule_IPAssetNonExistent(); + } + + // If the token URI has been set to specific IP Org asset, return it. + // It overrides the base URI. + if (bytes(tokenUris[ipOrg_][ipOrgAssetId_]).length > 0) { + return tokenUris[ipOrg_][ipOrgAssetId_]; + } + + Registration.IPOrgConfig memory config = ipOrgConfigs[ipOrg_]; + if (bytes(config.baseURI).length != 0) { + return string(abi.encodePacked(config.baseURI, Strings.toString(id))); + } + + IPAssetRegistry.IPA memory ipAsset = IPA_REGISTRY.ipAsset(id); + + // Construct the base JSON metadata with custom name format + string memory baseJson = string( + /* solhint-disable */ + abi.encodePacked( + '{"name": "Global IP Asset #', + Strings.toString(id), + '", "description": "IP Org Asset Registration Details", "attributes": [', + '{"trait_type": "Name", "value": "', + ipAsset.name, + '"},' + ) + /* solhint-enable */ + ); + + string memory ipOrgAttributes = string( + /* solhint-disable */ + abi.encodePacked( + '{"trait_type": "IP Org", "value": "', + Strings.toHexString(uint160(ipAsset.ipOrg), 20), + '"},', + '{"trait_type": "Current IP Owner", "value": "', + Strings.toHexString(uint160(owner), 20), + '"},' + ) + /* solhint-enable */ + ); + + string memory ipAssetAttributes = string( + /* solhint-disable */ + abi.encodePacked( + '{"trait_type": "Initial Registrant", "value": "', + Strings.toHexString(uint160(ipAsset.registrant), 20), + '"},', + '{"trait_type": "IP Org Asset Type", "value": "', + config.assetTypes[ipOrgAssetType_], + '"},', + '{"trait_type": "Status", "value": "', + Strings.toString(ipAsset.status), + '"},', + '{"trait_type": "Hash", "value": "', + Strings.toHexString(uint256(ipAsset.hash), 32), + '"},', + '{"trait_type": "Registration Date", "value": "', + Strings.toString(ipAsset.registrationDate), + '"}' + ) + /* solhint-enable */ + ); + + return + string( + abi.encodePacked( + "data:application/json;base64,", + Base64.encode(bytes(string(abi.encodePacked(baseJson, ipOrgAttributes, ipAssetAttributes, "]}")))) + ) + ); + } + + /// @notice Gets the asset types of an IP Org. + /// @param ipOrg_ Address of the IP Org whose asset types are being queried for. + function getIpOrgAssetTypes(address ipOrg_) public view returns (string[] memory) { + return ipOrgConfigs[ipOrg_].assetTypes; + } + + /// @notice Checks whether an IP Org asset type is supported. + /// @param ipOrg_ Address of the IP Org to which the IP asset type belongs. + /// @param assetTypeIndex_ The index representing the targeted IP asset type. + function isValidIpOrgAssetType(address ipOrg_, uint8 assetTypeIndex_) public view returns (bool) { + return assetTypeIndex_ < ipOrgConfigs[ipOrg_].assetTypes.length; + } + + /// @notice Gets the current owner of an IP asset. + /// @param ipAssetId_ The global IP asset id being queried. + /// @return The address of the owner of the IP asset. + function ownerOf(uint256 ipAssetId_) public view returns (address) { + IPOrgAsset memory ipOrgAsset = ipOrgAssets[ipAssetId_]; + return IIPOrg(ipOrgAsset.ipOrg).ownerOf(ipOrgAsset.ipOrgAssetId); + } + + /// @dev Verifies if execution of an IP asset registration or transfer is successful. + /// @param ipOrg_ Address of the relevant IP Org (used only for registration). + /// @param params_ Encoded params used for registration processing (see Registration module). + function _verifyExecution(IIPOrg ipOrg_, address caller_, bytes calldata params_) internal virtual override { + (bytes32 executionType, bytes memory executionData) = abi.decode(params_, (bytes32, bytes)); + + if (executionType == Registration.TRANSFER_IP_ASSET) { + (address from, , uint256 id) = abi.decode(executionData, (address, address, uint256)); + if (caller_ != from || ownerOf(id) != caller_) { + revert Errors.RegistrationModule_InvalidCaller(); + } + } else if (executionType == Registration.REGISTER_IP_ASSET) { + Registration.RegisterIPAssetParams memory params = abi.decode( + executionData, + (Registration.RegisterIPAssetParams) + ); + if (params.owner != caller_) { + revert Errors.RegistrationModule_InvalidCaller(); + } + _verifyIpOrgAssetType(address(ipOrg_), params.ipOrgAssetType); + } else { + revert Errors.RegistrationModule_InvalidExecutionOperation(); + } + } + + /// @dev Configures the registration settings for a specific IP Org. + /// @param ipOrg_ The IP Org being configured. + /// @param caller_ The caller authorized to perform configuration. + /// @param params_ Parameters passed for registration configuration. + function _configure( + IIPOrg ipOrg_, + address caller_, + bytes calldata params_ + ) internal virtual override returns (bytes memory) { + _verifyConfigCaller(ipOrg_, caller_); + (bytes32 configType, bytes memory configData) = abi.decode(params_, (bytes32, bytes)); + if (configType == Registration.SET_IP_ORG_METADATA) { + (string memory baseURI, string memory contractUri) = abi.decode(configData, (string, string)); + _setMetadata(address(ipOrg_), baseURI, contractUri); + } else if (configType == Registration.SET_IP_ORG_ASSET_TYPES) { + string[] memory ipAssetTypes = abi.decode(configData, (string[])); + _addIPAssetTypes(address(ipOrg_), ipAssetTypes); + } else { + revert Errors.RegistrationModule_InvalidConfigOperation(); + } + return ""; + } + + /// @notice Registers an IP Asset. + /// @param params_ encoded RegisterIPAParams for module action + /// @return Encoded registry and IP Org id of the IP asset. + function _performAction( + IIPOrg ipOrg_, + address, + bytes memory params_ + ) internal virtual override returns (bytes memory) { + (bytes32 executionType, bytes memory executionData) = abi.decode(params_, (bytes32, bytes)); + if (executionType == Registration.TRANSFER_IP_ASSET) { + (address from, address to, uint256 id) = abi.decode(executionData, (address, address, uint256)); + _transferIPAsset(ipOrg_, id, from, to); + return ""; + } else if (executionType == Registration.REGISTER_IP_ASSET) { + Registration.RegisterIPAssetParams memory params = abi.decode( + executionData, + (Registration.RegisterIPAssetParams) + ); + (uint256 ipAsset, uint256 ipOrgAssetId) = _registerIPAsset( + ipOrg_, + params.owner, + params.name, + params.ipOrgAssetType, + params.hash, + params.mediaUrl + ); + return abi.encode(ipAsset, ipOrgAssetId); + } + return ""; + } + + /// @dev Registers a new IP asset and wraps it under the provided IP Org. + /// @param ipOrg_ The governing entity of the IP asset being registered. + /// @param owner_ The initial registrant and owner of the IP asset. + /// @param name_ A descriptive name for the IP asset being registered. + /// @param ipOrgAssetType_ A numerical identifier for the IP asset type. + /// @param hash_ The content hash of the IP asset being registered. + /// @param mediaUrl_ The media URL of the IP asset being registered. + function _registerIPAsset( + IIPOrg ipOrg_, + address owner_, + string memory name_, + uint8 ipOrgAssetType_, + bytes32 hash_, + string memory mediaUrl_ + ) internal returns (uint256 ipAssetId_, uint256 ipOrgAssetId_) { + ipAssetId_ = IPA_REGISTRY.register(address(ipOrg_), owner_, name_, hash_); + ipOrgAssetId_ = ipOrg_.mint(owner_, ipOrgAssetType_); + ipAssetId[address(ipOrg_)][ipOrgAssetId_] = ipAssetId_; + IPOrgAsset memory ipOrgAsset = IPOrgAsset(address(ipOrg_), ipOrgAssetId_); + ipOrgAssets[ipAssetId_] = ipOrgAsset; + if (bytes(mediaUrl_).length > 0) { + tokenUris[address(ipOrg_)][ipOrgAssetId_] = mediaUrl_; + } + emit IPAssetRegistered( + ipAssetId_, + address(ipOrg_), + ipOrgAssetId_, + owner_, + name_, + ipOrgAssetType_, + hash_, + mediaUrl_ + ); + } + + /// @dev Transfers ownership of an IP asset to a new owner. + /// @param ipOrg_ The address of the currently governing IP Org. + /// @param ipOrgAssetId_ The local id of the IP asset within the IP Org. + /// @param from_ The current owner of the IP asset within the IP Org. + /// @param to_ The new owner of the IP asset within the IP Org. + function _transferIPAsset(IIPOrg ipOrg_, uint256 ipOrgAssetId_, address from_, address to_) internal { + ipOrg_.transferFrom(from_, to_, ipOrgAssetId_); + uint256 id = ipAssetId[address(ipOrg_)][ipOrgAssetId_]; + emit IPAssetTransferred(id, address(ipOrg_), ipOrgAssetId_, from_, to_); + } + + /// @dev Adds new IP asset types to an IP Org. + /// @param ipOrg_ The address of the IP Org whose asset types we are adding. + /// @param ipOrgTypes_ String descriptors of the asset types being added. + /// TODO: Add ability to deprecate asset types. + function _addIPAssetTypes(address ipOrg_, string[] memory ipOrgTypes_) internal { + uint256 assetsLength = ipOrgTypes_.length; + if (assetsLength > MAX_IP_ORG_ASSET_TYPES) { + revert Errors.RegistrationModule_TooManyAssetTypes(); + } + Registration.IPOrgConfig storage ipOrg = ipOrgConfigs[ipOrg_]; + for (uint256 i = 0; i < assetsLength; i++) { + // TODO: this should be a set, and check empty strings + ipOrg.assetTypes.push(ipOrgTypes_[i]); + } + } + + /// @dev Sets the IPOrg token and contract metadata. + /// @param ipOrg_ The address of the IP Org whose metadata is changing. + /// @param baseURI_ The new base URI to assign for the IP Org. + /// @param contractURI_ The new base contract URI to assign for the IP Org. + function _setMetadata(address ipOrg_, string memory baseURI_, string memory contractURI_) internal { + Registration.IPOrgConfig storage config = ipOrgConfigs[ipOrg_]; + config.baseURI = baseURI_; + config.contractURI = contractURI_; + emit MetadataUpdated(ipOrg_, baseURI_, contractURI_); + } + + /// @dev Verifies the caller of a configuration action. + /// @param ipOrg_ The IP Org associated with the registration configuration. + /// @param caller_ The address of the calling entity performing configuration. + function _verifyConfigCaller(IIPOrg ipOrg_, address caller_) private view { + if (ipOrg_.owner() != caller_ && address(IP_ORG_CONTROLLER) != caller_) { + revert Errors.Unauthorized(); + } + } + + /// @dev Verifies whether an IP Org asset type is valid. + /// @param ipOrg_ Address of the IP Org under which the asset type lives. + /// @param ipOrgAssetType_ The index used for identifying the IP asset type. + function _verifyIpOrgAssetType(address ipOrg_, uint8 ipOrgAssetType_) private view { + uint8 length = uint8(ipOrgConfigs[ipOrg_].assetTypes.length); + if (ipOrgAssetType_ >= length) { + revert Errors.RegistrationModule_InvalidIPAssetType(); + } + } + + /// @dev Gets the hook registry key associated with an IP Org and execution type. + /// @param ipOrg_ Address of the IP Org under which the hook is registered. + /// @param moduleParams_ Registration config params from which the type is sourced. + function _hookRegistryKey( + IIPOrg ipOrg_, + address, + bytes calldata moduleParams_ + ) internal view virtual override returns (bytes32) { + (bytes32 executionType, ) = abi.decode(moduleParams_, (bytes32, bytes)); + return _generateRegistryKey(ipOrg_, executionType); + } + + /// @dev Creates a new hooks registration key for the registration module. + /// @param ipOrg_ The IP Org under which the key is associated. + function _generateRegistryKey(IIPOrg ipOrg_, bytes32 executionType_) private pure returns (bytes32) { + return keccak256(abi.encode(address(ipOrg_), executionType_, "REGISTRATION")); + } +} diff --git a/contracts/modules/relationships/LibIPAssetMask.sol b/contracts/modules/relationships/LibIPAssetMask.sol deleted file mode 100644 index d30aa017..00000000 --- a/contracts/modules/relationships/LibIPAssetMask.sol +++ /dev/null @@ -1,75 +0,0 @@ -// SPDX-License-Identifier: BUSL-1.1 -pragma solidity ^0.8.13; - -import { IERC721 } from "@openzeppelin/contracts/token/ERC721/IERC721.sol"; -import { IPAsset } from "contracts/lib/IPAsset.sol"; -import { IIPAssetOrg } from "contracts/interfaces/ip-assets/IIPAssetOrg.sol"; -import { Errors } from "contracts/lib/Errors.sol"; - -/// @title LibIPAssetMask -/// @dev Gives tools to check if the "endpoints" of a relationship are valid, according to the allowed asset types set in the relationship config. -library LibIPAssetMask { - - /// @dev converts an array of IPAssets types and the allows external flag to a mask, by setting the bits corresponding - /// to the uint8 equivalent of the IPAsset types to 1. - /// @param ipAssets_ The array of IPAsset types - /// @param allowsExternal_ Whether the relationship config allows external (non SP ERC721) assets - /// @return mask The mask representing the IPAsset types and the allows external flag - function _convertToMask(IPAsset.IPAssetType[] calldata ipAssets_, bool allowsExternal_) internal pure returns (uint256) { - if (ipAssets_.length == 0) revert Errors.IPAsset_InvalidIPAssetArray(); - uint256 mask = 0; - for (uint256 i = 0; i < ipAssets_.length;) { - if (ipAssets_[i] == IPAsset.IPAssetType.UNDEFINED) revert Errors.IPAsset_InvalidIPAssetArray(); - mask |= 1 << (uint256(ipAssets_[i]) & 0xff); - unchecked { - i++; - } - } - if (allowsExternal_) { - mask |= uint256(IPAsset.EXTERNAL_ASSET) << 248; - } - return mask; - } - - - /// @dev converts a mask to an array of IPAsset types and the allows external flag, by checking the bits corresponding - /// to the uint8 equivalent of the IPAsset types. - /// NOTE: Caller must ignore the array elements of value 0 - /// @param mask_ The mask representing the IPAsset types and the allows external flag - /// @return ipAssets The array of IPAsset types. NOTE: Ignore the array elements of value 0 - /// @return allowsExternal Whether the relationship config allows external (non SP ERC721) assets - function _convertFromMask(uint256 mask_) internal pure returns (IPAsset.IPAssetType[] memory ipAssets, bool allowsExternal) { - ipAssets = new IPAsset.IPAssetType[](8); - uint256 index = 0; - for (uint256 i = 1; i < 8; i++) { - if (mask_ & (1 << i) != 0) { - ipAssets[index] = IPAsset.IPAssetType(i); - index++; - } - } - allowsExternal = mask_ & (1 << 248) != 0; - return (ipAssets, allowsExternal); - } - - - /// returns true if the asset type is supported by the mask, false otherwise - function _supportsIPAssetType(uint256 mask_, uint8 assetType_) internal pure returns (bool) { - return mask_ & (1 << (uint256(assetType_) & 0xff)) != 0; - } - - - /// @dev checks if the asset type of the asset is supported by the mask - /// @param isAssetRegistry_ Whether the asset is an SP asset registry or an external asset - /// @param assetId_ The asset id - /// @param assetTypeMask_ The mask representing the IPAsset types and the allows external flag - /// @return result true if mask test passes, false otherwise - function _checkRelationshipNode(bool isAssetRegistry_, uint256 assetId_, uint256 assetTypeMask_) internal pure returns (bool result) { - if (isAssetRegistry_) { - result = LibIPAssetMask._supportsIPAssetType(assetTypeMask_, uint8(IPAsset._ipAssetTypeFor(assetId_))); - } else { - result = LibIPAssetMask._supportsIPAssetType(assetTypeMask_, IPAsset.EXTERNAL_ASSET); - } - return result; - } - -} diff --git a/contracts/modules/relationships/ProtocolRelationshipModule.sol b/contracts/modules/relationships/ProtocolRelationshipModule.sol deleted file mode 100644 index 8c928ab8..00000000 --- a/contracts/modules/relationships/ProtocolRelationshipModule.sol +++ /dev/null @@ -1,36 +0,0 @@ -// SPDX-License-Identifier: BUSL-1.1 -pragma solidity ^0.8.13; - -import { RelationshipModuleBase } from "./RelationshipModuleBase.sol"; -import { AccessControl } from "contracts/lib/AccessControl.sol"; -import { Relationship } from "contracts/lib/modules/Relationship.sol"; - -/// @title ProtocolRelationshipModule -/// @dev Implementation of RelationshipModuleBase that allows relationship configs that will be used protocol wide. -/// The meaning and parameters of the relationships are to be defined in Story Protocol Improvement Proposals. -/// Example: https://github.com/storyprotocol/protocol-contracts/issues/33 -/// The relationship configs are set by the RELATIONSHIP_MANAGER_ROLE. -/// Upgrades are done by the UPGRADER_ROLE. -contract ProtocolRelationshipModule is RelationshipModuleBase { - - constructor(address ipAssetOrgFactory_) RelationshipModuleBase(ipAssetOrgFactory_) {} - - function initialize(address accessControl_) public initializer { - __RelationshipModuleBase_init(accessControl_); - } - - /********* Setting Relationships *********/ - function setRelationshipConfig(string calldata name_, Relationship.SetRelationshipConfigParams calldata params_) external onlyRole(AccessControl.RELATIONSHIP_MANAGER_ROLE) returns (bytes32 relationshipId) { - return _setRelationshipConfig(name_, params_); - } - - function unsetRelationshipConfig(bytes32 relationshipId_) external onlyRole(AccessControl.RELATIONSHIP_MANAGER_ROLE) { - _unsetRelationshipConfig(relationshipId_); - } - - - function _authorizeUpgrade( - address newImplementation_ - ) internal virtual override onlyRole(AccessControl.UPGRADER_ROLE) {} - -} diff --git a/contracts/modules/relationships/RelationshipModule.sol b/contracts/modules/relationships/RelationshipModule.sol new file mode 100644 index 00000000..81c71431 --- /dev/null +++ b/contracts/modules/relationships/RelationshipModule.sol @@ -0,0 +1,342 @@ +// SPDX-License-Identifier: UNLICENSED +// See https://github.com/storyprotocol/protocol-contracts/blob/main/StoryProtocol-AlphaTestingAgreement-17942166.3.pdf +pragma solidity ^0.8.19; + +import { BaseModule } from "contracts/modules/base/BaseModule.sol"; +import { IRelationshipModule } from "contracts/interfaces/modules/relationships/IRelationshipModule.sol"; +import { Address } from "@openzeppelin/contracts/utils/Address.sol"; +import { IIPOrg } from "contracts/interfaces/ip-org/IIPOrg.sol"; +import { AccessControlled } from "contracts/access-control/AccessControlled.sol"; +import { AccessControl } from "contracts/lib/AccessControl.sol"; +import { LibRelationship } from "contracts/lib/modules/LibRelationship.sol"; +import { BitMask } from "contracts/lib/BitMask.sol"; +import { Errors } from "contracts/lib/Errors.sol"; +import { IRegistrationModule } from "contracts/interfaces/modules/registration/IRegistrationModule.sol"; +import { IModule } from "contracts/interfaces/modules/base/IModule.sol"; +import { ModuleKey, REGISTRATION_MODULE_KEY, RELATIONSHIP_MODULE_KEY } from "contracts/lib/modules/Module.sol"; + +/// @title Relationship Module +/// @notice Handles creation and management of relationships between IP entities. +/// Note that two types of relationships exist, those that are available across +/// all IP Orgs (protocol-wide), and those that are exclusive to IP Orgs. +/// Relationship types link different IP entities together, including: +/// - IPAs (Intellectual Property Assets) +/// - IPOrg Assets +/// - Licenses +/// - Addresses +/// - External NFTs +contract RelationshipModule is BaseModule, IRelationshipModule, AccessControlled { + using Address for address; + + /// @notice Maps protocol-wide relationship types to their definitions. + mapping(string => LibRelationship.RelationshipType) private _protocolRelTypes; + + /// @notice Maps IP Org relationship types to their definitions. + /// @dev The key is given by the keccak-256 hash of (string relName, address ipOrg). + mapping(bytes32 => LibRelationship.RelationshipType) private _ipOrgRelTypes; + + /// @dev Internal counter for tracking the current relationship id. + uint256 private _relationshipIdCounter; + + /// @dev Tracks relationship ids to their relationships. + mapping(uint256 => LibRelationship.Relationship) private _relationships; + + /// @dev Maps relationship hashes to their underlying ids. + mapping(bytes32 => uint256) private _relHashes; + + /// @notice Creates a new relationship module. + /// @param params_ Core attributes required by all protocol modules. + /// @param accessControl_ Global access singleton contract used for protocol authorization. + constructor( + BaseModule.ModuleConstruction memory params_, + address accessControl_ + ) BaseModule(params_) AccessControlled(accessControl_) {} + + /// @notice Gets the protocol-wide module key for the relationship module. + /// @return The protocol-wide key configured for the relationship module. + function moduleKey() public pure override(BaseModule, IModule) returns (ModuleKey) { + return RELATIONSHIP_MODULE_KEY; + } + + /// @notice Registers hooks on behalf of an IP Org for a specific hook and relationship type. + /// @dev This function can only be called by the IP Org owner. + /// @param hType_ The type of hooks to register. + /// @param ipOrg_ The IP Org for which the hooks are being registered for. + /// @param relType_ The relationship type he hooks are being registered under. + /// @param hooks_ The addresses of the hooks to register. + /// @param hooksConfig_ The associated configurations for the hooks. + function registerHooks( + HookType hType_, + IIPOrg ipOrg_, + string calldata relType_, + address[] calldata hooks_, + bytes[] calldata hooksConfig_ + ) external onlyIpOrgOwner(ipOrg_) { + bytes32 registryKey = _generateRegistryKey(ipOrg_, relType_); + registerHooks(hType_, ipOrg_, registryKey, hooks_, hooksConfig_); + } + + /// @notice Gets the type definition for a given relationship type name. + /// @dev This function Will revert if no relationship type is found. + /// @param ipOrg_ Address of the IP Org or zero address if it is a protocol-wide relationship. + /// @param relType_ the name of the relationship type. + /// @return result The relationship type definition. + function getRelationshipType( + address ipOrg_, + string memory relType_ + ) public view virtual override returns (LibRelationship.RelationshipType memory result) { + if (ipOrg_ == LibRelationship.PROTOCOL_LEVEL_RELATIONSHIP) { + result = _protocolRelTypes[relType_]; + } else { + result = _ipOrgRelTypes[keccak256(abi.encode(ipOrg_, relType_))]; + } + if (result.src == address(0) || result.dst == address(0)) { + revert Errors.RelationshipModule_RelTypeNotSet(relType_); + } + return result; + } + + /// @notice Gets the relationship definition for a given relationship id. + /// @param relationshipId_ The identifier for the relationship. + /// @return The underlying relationship. + function getRelationship(uint256 relationshipId_) external view returns (LibRelationship.Relationship memory) { + return _relationships[relationshipId_]; + } + + /// @notice Gets the relationship id for a given relationship. + /// @param rel_ The data structure of the relationship. + /// @return The id of the relationship. + function getRelationshipId( + LibRelationship.Relationship calldata rel_ + ) external view virtual override returns (uint256) { + return _relHashes[keccak256(abi.encode(rel_))]; + } + + /// @notice Checks whether a given relationship exists or not. + /// @param rel_ The relationship entity being checked for. + /// @return True if the relationship exists, False otherwise. + function relationshipExists( + LibRelationship.Relationship calldata rel_ + ) external view virtual override returns (bool) { + return _relHashes[keccak256(abi.encode(rel_))] != 0; + } + + /// @dev Configures a relationship, adding or removing new relationship types. + // @param ipOrg_ IP Org address or zero address if configuring across the protocol. + // @param params_ Encoded relationship data (see LibRelationship for details). + function _configure( + IIPOrg ipOrg_, + address caller_, + bytes calldata params_ + ) internal virtual override returns (bytes memory) { + _verifyConfigCaller(ipOrg_, caller_); + (bytes32 configType, bytes memory configData) = abi.decode(params_, (bytes32, bytes)); + if (configType == LibRelationship.ADD_REL_TYPE_CONFIG) { + _addRelationshipType(abi.decode(configData, (LibRelationship.AddRelationshipTypeParams))); + } else if (configType == LibRelationship.REMOVE_REL_TYPE_CONFIG) { + string memory relType = abi.decode(configData, (string)); + _removeRelationshipType(address(ipOrg_), relType); + } else { + revert Errors.RelationshipModule_InvalidConfigOperation(); + } + return ""; + } + + /// @dev Verifies whether configuration for a relationship is authorized. For + /// protocol-wide relationships, the caller must have the RELATIONSHIP_MANAGER_ROLE. + /// For IP Org relationships, the caller must be the owner of the IP Org. + /// @param ipOrg_ Addrss of the IP Org, or the zero address for protocol-wide relationships. + /// @param caller_ Address of the caller of the configuration setting. + function _verifyConfigCaller(IIPOrg ipOrg_, address caller_) private view { + if (address(ipOrg_) == LibRelationship.PROTOCOL_LEVEL_RELATIONSHIP) { + if (!_hasRole(AccessControl.RELATIONSHIP_MANAGER_ROLE, caller_)) { + revert Errors.MissingRole(AccessControl.RELATIONSHIP_MANAGER_ROLE, caller_); + } + } else { + if (ipOrg_.owner() != caller_) { + revert Errors.RelationshipModule_CallerNotIpOrgOwner(); + } + } + } + + /// @notice Gets the controlling address and subtype mask for setting relationship type definitions. + /// @param relatable_ The type of entity being set as part of a relationship. + /// @param ipOrg_ Address of the IP Org or the zero address (if protocol-wide). + /// @param allowedTypes_ The allowable set of IP Org relationship types. + /// @return The controlling address and subtype mask for applying the relationship typedefs. + function _addressConfigFor( + LibRelationship.Relatables relatable_, + address ipOrg_, + uint8[] memory allowedTypes_ + ) private view returns (address, uint256) { + if (relatable_ == LibRelationship.Relatables.IPA) { + return (address(IPA_REGISTRY), 0); + } else if (relatable_ == LibRelationship.Relatables.IPORG_ENTRY) { + if (ipOrg_ == address(0)) { + revert Errors.RelationshipModule_IpOrgRelatableCannotBeProtocolLevel(); + } + _verifySupportedIpOrgIndexType(ipOrg_, allowedTypes_); + if (allowedTypes_.length == 0) { + revert Errors.EmptyArray(); + } + return (ipOrg_, BitMask._convertToMask(allowedTypes_)); + } else if (relatable_ == LibRelationship.Relatables.LICENSE) { + return (address(LICENSE_REGISTRY), 0); + } else if (relatable_ == LibRelationship.Relatables.ADDRESS) { + return (LibRelationship.NO_ADDRESS_RESTRICTIONS, 0); + } else if (relatable_ == LibRelationship.Relatables.EXTERNAL_NFT) { + return (LibRelationship.NO_ADDRESS_RESTRICTIONS, 0); + } + revert Errors.RelationshipModule_InvalidRelatable(); + } + + /// @dev Checks whether provided relationship types are valid. + /// @param ipOrg_ Address of the IP Org or zero address (if protocol-wide). + /// @param allowedTypes_ The provided set of relationship types being checked for. + function _verifySupportedIpOrgIndexType(address ipOrg_, uint8[] memory allowedTypes_) private view { + IRegistrationModule regModule = IRegistrationModule( + address(MODULE_REGISTRY.protocolModule(REGISTRATION_MODULE_KEY)) + ); + uint256 length = allowedTypes_.length; + for (uint256 i = 0; i < length; i++) { + if (!regModule.isValidIpOrgAssetType(ipOrg_, allowedTypes_[i])) { + revert Errors.RelationshipModule_UnsupportedIpOrgIndexType(); + } + } + } + + /// @dev Configures a new protocol-wide or IP Org relationship type. + /// @param params_ Parameters associated with the relationship type creation. + function _addRelationshipType(LibRelationship.AddRelationshipTypeParams memory params_) private { + (address src, uint256 srcSubtypesMask) = _addressConfigFor( + params_.allowedElements.src, + params_.ipOrg, + params_.allowedSrcs + ); + (address dst, uint256 dstSubtypesMask) = _addressConfigFor( + params_.allowedElements.dst, + params_.ipOrg, + params_.allowedDsts + ); + LibRelationship.RelationshipType memory relDef = LibRelationship.RelationshipType({ + src: src, + srcSubtypesMask: srcSubtypesMask, + dst: dst, + dstSubtypesMask: dstSubtypesMask + }); + if (params_.ipOrg == LibRelationship.PROTOCOL_LEVEL_RELATIONSHIP) { + _protocolRelTypes[params_.relType] = relDef; + } else { + _ipOrgRelTypes[keccak256(abi.encode(params_.ipOrg, params_.relType))] = relDef; + } + emit RelationshipTypeSet( + params_.relType, + params_.ipOrg, + relDef.src, + params_.allowedElements.src, + relDef.srcSubtypesMask, + relDef.dst, + params_.allowedElements.dst, + relDef.dstSubtypesMask + ); + } + + /// @dev Removes a relationship type from an IP Org or across thep rotocol. + /// @param ipOrg_ Address of the IP Org or the zero address (if protocol-wide). + /// @param relType_ Name of the relationship type. + function _removeRelationshipType(address ipOrg_, string memory relType_) private { + if (ipOrg_ == address(0)) { + delete _protocolRelTypes[relType_]; + } else { + delete _ipOrgRelTypes[keccak256(abi.encode(ipOrg_, relType_))]; + } + emit RelationshipTypeUnset(relType_, ipOrg_); + } + + /// @dev Verifies that a relationship config is valid according to its typedef. + /// @param ipOrg_ Address of the IP Org or the zero address (if protocol-wide). + /// @param params_ Encoded parameters used for relationship processing (see LibRelationship). + function _verifyExecution(IIPOrg ipOrg_, address, bytes calldata params_) internal virtual override { + LibRelationship.CreateRelationshipParams memory createParams = abi.decode( + params_, + (LibRelationship.CreateRelationshipParams) + ); + LibRelationship.RelationshipType memory relType = getRelationshipType(address(ipOrg_), createParams.relType); + // Source checks + if (createParams.srcAddress == address(0)) { + revert Errors.RelationshipModule_InvalidSrcAddress(); + } + if (relType.src != LibRelationship.NO_ADDRESS_RESTRICTIONS && createParams.srcAddress != relType.src) { + revert Errors.RelationshipModule_InvalidSrcAddress(); + } + if ( + relType.srcSubtypesMask != 0 && + !BitMask._isSet(relType.srcSubtypesMask, ipOrg_.ipOrgAssetType(createParams.srcId)) + ) { + revert Errors.RelationshipModule_InvalidSrcId(); + } + // Destination checks + if (createParams.dstAddress == address(0)) { + revert Errors.RelationshipModule_InvalidDstAddress(); + } + if (relType.dst != LibRelationship.NO_ADDRESS_RESTRICTIONS && createParams.dstAddress != relType.dst) { + revert Errors.RelationshipModule_InvalidDstAddress(); + } + if ( + relType.dstSubtypesMask != 0 && + !BitMask._isSet(relType.dstSubtypesMask, ipOrg_.ipOrgAssetType(createParams.dstId)) + ) { + revert Errors.RelationshipModule_InvalidDstId(); + } + } + + /// @dev Processes the configuration of a new relationship. + /// @param params_ Encoded parameters used for relationship processing (see LibRelationship). + /// @return The encoded uint256 relationship identifier. + function _performAction(IIPOrg, address, bytes memory params_) internal virtual override returns (bytes memory) { + LibRelationship.CreateRelationshipParams memory createParams = abi.decode( + params_, + (LibRelationship.CreateRelationshipParams) + ); + uint256 relationshipId = ++_relationshipIdCounter; + LibRelationship.Relationship memory rel = LibRelationship.Relationship({ + relType: createParams.relType, + srcAddress: createParams.srcAddress, + dstAddress: createParams.dstAddress, + srcId: createParams.srcId, + dstId: createParams.dstId + }); + _relationships[relationshipId] = rel; + _relHashes[keccak256(abi.encode(rel))] = relationshipId; + emit RelationshipCreated( + relationshipId, + createParams.relType, + createParams.srcAddress, + createParams.srcId, + createParams.dstAddress, + createParams.dstId + ); + return abi.encode(relationshipId); + } + + /// @dev Gets the hook registry key associated with an IP Org and relationship type. + /// @param ipOrg_ Address of the IP Org under which the hook is registered. + /// @param params_ Relationship config params from which the type is sourced. + function _hookRegistryKey( + IIPOrg ipOrg_, + address, + bytes calldata params_ + ) internal view virtual override returns (bytes32) { + LibRelationship.CreateRelationshipParams memory createParams = abi.decode( + params_, + (LibRelationship.CreateRelationshipParams) + ); + return _generateRegistryKey(ipOrg_, createParams.relType); + } + + /// @dev Creates a new hooks registration key for the relationship module. + /// @param ipOrg_ The IP Org under which the key is associated. + function _generateRegistryKey(IIPOrg ipOrg_, string memory relType_) private pure returns (bytes32) { + return keccak256(abi.encode(address(ipOrg_), relType_)); + } +} diff --git a/contracts/modules/relationships/RelationshipModuleBase.sol b/contracts/modules/relationships/RelationshipModuleBase.sol deleted file mode 100644 index 866e6f81..00000000 --- a/contracts/modules/relationships/RelationshipModuleBase.sol +++ /dev/null @@ -1,294 +0,0 @@ -// SPDX-License-Identifier: BUSL-1.1 -pragma solidity ^0.8.13; - -import { IERC721 } from "@openzeppelin/contracts/token/ERC721/IERC721.sol"; -import { ERC165CheckerUpgradeable } from "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165CheckerUpgradeable.sol"; -import { Multicall } from "@openzeppelin/contracts/utils/Multicall.sol"; -import { AccessControlledUpgradeable } from "contracts/access-control/AccessControlledUpgradeable.sol"; -import { ZeroAddress, UnsupportedInterface, Unauthorized } from "contracts/errors/General.sol"; -import { IPAssetOrgFactory } from "contracts/IPAssetOrgFactory.sol"; -import { IIPAssetOrg } from "contracts/interfaces/ip-assets/IIPAssetOrg.sol"; -import { IPAsset } from "contracts/lib/IPAsset.sol"; -import { LibIPAssetMask } from "./LibIPAssetMask.sol"; -import { IRelationshipModule } from "contracts/interfaces/modules/relationships/IRelationshipModule.sol"; -import { IRelationshipProcessor } from "contracts/interfaces/modules/relationships/processors/IRelationshipProcessor.sol"; -import { Errors } from "contracts/lib/Errors.sol"; -import { Relationship } from "contracts/lib/modules/Relationship.sol"; - -/// @title RelationshipModuleBase -/// @author Raul Martinez -/// @notice The relationship module is responsible for managing relationships between IP assets, and/or between them and external ERC721 contracts. -/// Relationships are defined by a relationship ID, which is a bytes32 value that represents a relationship type, for example (APPEARS_IN, CONTINUES_STORY, etc). -/// The meaning of each relationship may have different side effects in Story Protocol, which could other modules could react on, and even legal implications if -/// especified by the IPAsset licenses. -/// To be able to relate two elements, a RelationshipConfig must be set for the relationship ID, which defines the following: -/// - The IPAsset types that can be related as source and destination. -/// - The processor that will be called when a relationship is set, which can be used to perform additional checks or actions (checking ownership, asking for fees...). -/// - The disputer, which is the address that can unset a relationship. -/// - The time config, which defines the maximum and minimum TTL (time to live) for the relationship, and if it can be renewed. (maxTtl = 0 means no expiration) -/// - If the relationship can only be set between IPAssets of the same franchise, or it could link to IPAssets of other franchises. -/// -/// It's up to subclasses to define which addresses can set relationship configs. -abstract contract RelationshipModuleBase is IRelationshipModule, AccessControlledUpgradeable, Multicall { - using ERC165CheckerUpgradeable for address; - - /// @custom:storage-location erc7201:story-protocol.relationship-module.storage - struct RelationshipModuleStorage { - mapping(bytes32 => bool) relationships; - mapping(bytes32 => uint256) relationshipExpirations; - mapping(bytes32 => Relationship.RelationshipConfig) relConfigs; - } - - // keccak256(bytes.concat(bytes32(uint256(keccak256("story-protocol.relationship-module.storage")) - 1))) - bytes32 private constant _STORAGE_LOCATION = 0xd16687d5cf786234491b4cc484b2a64f24855aadee9b1b73824db1ed2840fd0b; - IPAssetOrgFactory public immutable IP_ASSET_ORG_FACTORY; - - - /// reverts if the TTL is not well configured for the relationship. - /// @param params_ the relationship params - modifier onlyValidTTL(Relationship.RelationshipParams calldata params_) { - Relationship.RelationshipConfig storage relConfig = _getRelationshipModuleStorage().relConfigs[params_.relationshipId]; - if (relConfig.timeConfig.maxTtl != 0 && params_.ttl != 0) { - if (params_.ttl > relConfig.timeConfig.maxTtl || params_.ttl < relConfig.timeConfig.minTtl) revert Errors.RelationshipModule_InvalidEndTimestamp(); - } - _; - } - - constructor(address ipAssetOrgFactory_) { - if (ipAssetOrgFactory_ == address(0)) revert Errors.ZeroAddress(); - IP_ASSET_ORG_FACTORY = IPAssetOrgFactory(ipAssetOrgFactory_); - _disableInitializers(); - } - - /// @notice Relates two IPAssets or an IPAsset and an external ERC721 contract. - /// To not revert, the params must be valid according to the relationship config, and the processor must not revert. - /// Processor can be used to perform additional checks or actions (checking ownership, asking for fees...). - /// Processors returning false imply that the relationship is pending (multi step process), and the relationship will not be set yet. - /// @param params_ the relationship params - /// @param data_ optional data that will be passed to the processor - function relate(Relationship.RelationshipParams calldata params_, bytes calldata data_) external onlyValidTTL(params_) { - RelationshipModuleStorage storage $ = _getRelationshipModuleStorage(); - Relationship.RelationshipConfig storage relConfig = $.relConfigs[params_.relationshipId]; - _verifyRelationshipParams(params_, relConfig); - - if (!relConfig.processor.processRelationship(params_, data_, msg.sender)) { - emit RelationPendingProcessor(params_.sourceContract, params_.sourceId, params_.destContract, params_.destId, params_.relationshipId); - } else { - bytes32 relKey = getRelationshipKey(params_); - $.relationships[relKey] = true; - uint256 endTime = _updateEndTime(relKey, relConfig.timeConfig, params_.ttl); - emit RelationSet(params_.sourceContract, params_.sourceId, params_.destContract, params_.destId, params_.relationshipId, endTime); - } - } - - /// @notice Unrelates two IPAssets or an IPAsset and an external ERC721 contract. - /// Only callable by the disputer of the relationship, as defined in the relationship config. - /// @param params_ the relationship params - function unrelate(Relationship.RelationshipParams calldata params_) external { - RelationshipModuleStorage storage $ = _getRelationshipModuleStorage(); - if ($.relConfigs[params_.relationshipId].disputer != msg.sender) revert Errors.Unauthorized(); - bytes32 key = getRelationshipKey(params_); - if (!$.relationships[key]) revert Errors.RelationshipModule_NonExistingRelationship(); - delete $.relationships[key]; - emit RelationUnset(params_.sourceContract, params_.sourceId, params_.destContract, params_.destId, params_.relationshipId); - } - - - /// @notice Checks if two IPAssets or an IPAsset and an external ERC721 contract are related. - /// @param params_ the relationship params - /// @return true if they are related and the relationship has not expired, false otherwise - function areTheyRelated(Relationship.RelationshipParams calldata params_) external view returns (bool) { - RelationshipModuleStorage storage $ = _getRelationshipModuleStorage(); - return $.relationships[getRelationshipKey(params_)] && !isRelationshipExpired(params_); - } - - /// @dev convenience method to return a SetRelationshipConfigParams from a relationshipId, or an empty one if it doesn't exist - /// NOTE: Caller must ignore the array elements of value 0 in the IPAsset arrays - /// @param relationshipId_ the relationship ID - function getRelationshipConfigDecoded(bytes32 relationshipId_) external view returns(Relationship.SetRelationshipConfigParams memory) { - Relationship.RelationshipConfig memory relConfig = getRelationshipConfig(relationshipId_); - (IPAsset.IPAssetType[] memory sourceIpAssets, bool sourceSupportsExternal) = LibIPAssetMask._convertFromMask(relConfig.sourceIpAssetTypeMask); - (IPAsset.IPAssetType[] memory destIpAssets, bool destSupportsExternal) = LibIPAssetMask._convertFromMask(relConfig.destIpAssetTypeMask); - return Relationship.SetRelationshipConfigParams( - sourceIpAssets, - sourceSupportsExternal, - destIpAssets, - destSupportsExternal, - relConfig.onlySameIPAssetOrg, - address(relConfig.processor), - relConfig.disputer, - relConfig.timeConfig - ); - } - - /********* Mask Helpers *********/ - - /// @dev converts an array of IPAssets types and the allows external flag to a mask, by setting the bits corresponding - /// to the uint8 equivalent of the IPAsset types to 1. - /// @param ipAssets_ The array of IPAsset types - /// @param allowsExternal_ Whether the relationship config allows external (non SP ERC721) assets - /// @return mask The mask representing the IPAsset types and the allows external flag - function convertToMask(IPAsset.IPAssetType[] calldata ipAssets_, bool allowsExternal_) external pure returns (uint256) { - return LibIPAssetMask._convertToMask(ipAssets_, allowsExternal_); - } - - /// @dev converts a mask to an array of IPAsset types and the allows external flag, by checking the bits corresponding - /// to the uint8 equivalent of the IPAsset types. - /// @param mask_ The mask representing the IPAsset types and the allows external flag - /// @return ipAssets The array of IPAsset types - /// @return allowsExternal Whether the relationship config allows external (non SP ERC721) assets - function convertFromMask(uint256 mask_) external pure returns (IPAsset.IPAssetType[] memory ipAssets, bool allowsExternal) { - return LibIPAssetMask._convertFromMask(mask_); - } - - /// returns true if the asset type is supported by the mask, false otherwise - function supportsIPAssetType(uint256 mask_, uint8 assetType_) external pure returns (bool) { - return LibIPAssetMask._supportsIPAssetType(mask_, assetType_); - } - - function __RelationshipModuleBase_init(address accessControl_) public initializer { - __AccessControlledUpgradeable_init(accessControl_); - } - - /// @notice Checks if a relationship has expired. - /// @param params_ the relationship params - /// @return true if the relationship has expired, false if not expired or if it has no expiration - function isRelationshipExpired(Relationship.RelationshipParams calldata params_) public view returns (bool) { - RelationshipModuleStorage storage $ = _getRelationshipModuleStorage(); - uint256 endTime = $.relationshipExpirations[getRelationshipKey(params_)]; - return endTime != 0 && endTime < block.timestamp; - } - - /// returns a RelationshipConfig for the given relationshipId, or an empty one if it doesn't exist - function getRelationshipConfig(bytes32 relationshipId_) public view returns (Relationship.RelationshipConfig memory) { - RelationshipModuleStorage storage $ = _getRelationshipModuleStorage(); - return $.relConfigs[relationshipId_]; - } - - function getRelationshipId(string calldata name_) public pure returns (bytes32) { - return keccak256(abi.encode(name_)); - } - - /// calculates the relationship key by keccak256 hashing srcContract, srcId, dstContract, dstId and relationshipId - function getRelationshipKey(Relationship.RelationshipParams calldata params_) public pure returns (bytes32) { - return keccak256( - abi.encode( - params_.sourceContract, - params_.sourceId, - params_.destContract, - params_.destId, - params_.relationshipId - ) - ); - } - - /********* Setting Relationships *********/ - - - /// @notice Sets a relationship config for a relationship ID. - /// @param name_ the relationship name - /// @param params_ the relationship config params - function _setRelationshipConfig(string calldata name_, Relationship.SetRelationshipConfigParams calldata params_) internal returns(bytes32 relationshipId) { - relationshipId = getRelationshipId(name_); - Relationship.RelationshipConfig memory relConfig = _convertRelParams(params_); - RelationshipModuleStorage storage $ = _getRelationshipModuleStorage(); - $.relConfigs[relationshipId] = relConfig; - emit RelationshipConfigSet( - name_, - relationshipId, - relConfig.sourceIpAssetTypeMask, - relConfig.destIpAssetTypeMask, - relConfig.onlySameIPAssetOrg, - params_.processor, - relConfig.timeConfig.maxTtl, - relConfig.timeConfig.minTtl, - relConfig.timeConfig.renewable - ); - return relationshipId; - } - - /// @notice Unsets a relationship config for a relationship ID, reverts if it doesn't exist. - /// @param relationshipId_ the relationship ID - function _unsetRelationshipConfig(bytes32 relationshipId_) internal { - RelationshipModuleStorage storage $ = _getRelationshipModuleStorage(); - if ( - $.relConfigs[relationshipId_].sourceIpAssetTypeMask == 0 - ) revert Errors.RelationshipModule_NonExistingRelationship(); - delete $.relConfigs[relationshipId_]; - emit RelationshipConfigUnset(relationshipId_); - } - - /// @notice Updates the end time of a relationship, if TimeConfig allows it. - /// @param relKey_ the relationship key, given by getRelationshipKey(params) - /// @param timeConfig_ the relationship time config - /// @param ttl_ the new ttl - /// @return the new end time - function _updateEndTime(bytes32 relKey_, Relationship.TimeConfig memory timeConfig_, uint256 ttl_) private returns (uint256) { - RelationshipModuleStorage storage $ = _getRelationshipModuleStorage(); - if (timeConfig_.maxTtl != 0) { - uint256 endTime = $.relationshipExpirations[relKey_]; - if (endTime == 0 || timeConfig_.renewable) { - endTime = block.timestamp + ttl_; - $.relationshipExpirations[relKey_] = endTime; - return endTime; - } - } - return 0; - } - - /// @notice validates the relationship params according to the relationship config. - /// @param params_ the relationship params - /// @param relConfig_ the relationship config - function _verifyRelationshipParams(Relationship.RelationshipParams calldata params_, Relationship.RelationshipConfig memory relConfig_) private view { - if (relConfig_.sourceIpAssetTypeMask == 0) revert Errors.RelationshipModule_NonExistingRelationship(); - (bool sourceResult, bool sourceIsAssetRegistry) = _checkRelationshipNode(params_.sourceContract, params_.sourceId, relConfig_.sourceIpAssetTypeMask); - if (!sourceResult) revert Errors.RelationshipModule_UnsupportedRelationshipSrc(); - (bool destResult, bool destIsAssetRegistry) = _checkRelationshipNode(params_.destContract, params_.destId, relConfig_.destIpAssetTypeMask); - if (!destResult) revert Errors.RelationshipModule_UnsupportedRelationshipDst(); - if(sourceIsAssetRegistry && destIsAssetRegistry && params_.sourceContract != params_.destContract && relConfig_.onlySameIPAssetOrg) revert Errors.RelationshipModule_CannotRelateToOtherIPAssetOrg(); - } - - /// @dev Checks if the source or destination type of a relationship is allowed by the relationship config. - /// @param collection_ The address of the collection of the relationship endpoint - /// @param id_ The id of the relationship endpoint - /// @param assetTypeMask_ The asset type mask of the relationship config, which contains the allowed asset types and the external asset flag - /// @return result Whether the relationship endpoint is valid - /// @return isAssetRegistry Whether the relationship endpoint is a Story Protocol IP Asset Registry - function _checkRelationshipNode(address collection_, uint256 id_, uint256 assetTypeMask_) private view returns (bool result, bool isAssetRegistry) { - if (IERC721(collection_).ownerOf(id_) == address(0)) return (false, false); - isAssetRegistry = IP_ASSET_ORG_FACTORY.isIpAssetOrg(collection_); - return (LibIPAssetMask._checkRelationshipNode(isAssetRegistry, id_, assetTypeMask_), isAssetRegistry); - } - - /// @notice Converts the SetRelationshipConfigParams to a RelationshipConfig after validating them. - /// @dev reverts if - /// - the processor doesn't support IRelationshipProcessor interface - /// - the TTL is not well configured. - /// - the disputer is the zero address - /// - /// @param params_ the SetRelationshipConfigParams - /// @return the RelationshipConfig - function _convertRelParams(Relationship.SetRelationshipConfigParams calldata params_) private view returns(Relationship.RelationshipConfig memory) { - if (!params_.processor.supportsInterface(type(IRelationshipProcessor).interfaceId)) revert Errors.UnsupportedInterface("IRelationshipProcessor"); - if (params_.timeConfig.maxTtl < params_.timeConfig.minTtl) revert Errors.RelationshipModule_InvalidTTL(); - if (params_.disputer == address(0)) revert Errors.ZeroAddress(); - return Relationship.RelationshipConfig( - LibIPAssetMask._convertToMask(params_.sourceIpAssets, params_.allowedExternalSource), - LibIPAssetMask._convertToMask(params_.destIpAssets, params_.allowedExternalDest), - params_.onlySameIPAssetOrg, - IRelationshipProcessor(params_.processor), - params_.disputer, - params_.timeConfig - ); - } - - function _getRelationshipModuleStorage() - private - pure - returns (RelationshipModuleStorage storage $) - { - assembly { - $.slot := _STORAGE_LOCATION - } - } -} diff --git a/contracts/modules/relationships/processors/BaseRelationshipProcessor.sol b/contracts/modules/relationships/processors/BaseRelationshipProcessor.sol deleted file mode 100644 index 99935b7a..00000000 --- a/contracts/modules/relationships/processors/BaseRelationshipProcessor.sol +++ /dev/null @@ -1,42 +0,0 @@ -// SPDX-License-Identifier: BUSL-1.1 -pragma solidity ^0.8.13; - -import { ERC165 } from "@openzeppelin/contracts/utils/introspection/ERC165.sol"; -import { IRelationshipProcessor } from "contracts/interfaces/modules/relationships/processors/IRelationshipProcessor.sol"; -import { Errors } from "contracts/lib/Errors.sol"; -import { Relationship } from "contracts/lib/modules/Relationship.sol"; - - -/// @title BaseRelationshipProcessor -/// @dev Base contract for relationship processors. -/// Relationship processors are used to process relationships between IP Assets before they are set. -/// They are set per relationship config in a IRelationshipModule -/// This base contracts implements ERC165 and checks if the caller is the relationship module. -/// All relationship processors must inherit from this contract. -abstract contract BaseRelationshipProcessor is IRelationshipProcessor, ERC165 { - - address internal immutable _RELATIONSHIP_MODULE; - - constructor(address relationshipModule_) { - if(relationshipModule_ == address(0)) revert Errors.ZeroAddress(); - _RELATIONSHIP_MODULE = relationshipModule_; - } - - - /// @inheritdoc IRelationshipProcessor - /// @dev Checks if the caller is the relationship module and calls implementation. - function processRelationship(Relationship.RelationshipParams memory params_, bytes calldata data_, address caller_) external override returns(bool) { - if(msg.sender != _RELATIONSHIP_MODULE) revert Errors.BaseRelationshipProcessor_OnlyRelationshipModule(); - return _processRelationship(params_, data_, caller_); - } - - - function _processRelationship(Relationship.RelationshipParams memory params_, bytes calldata data_, address caller_) internal virtual returns(bool); - - function supportsInterface( - bytes4 interfaceId_ - ) public view override(ERC165) returns (bool) { - return super.supportsInterface(interfaceId_) || interfaceId_ == type(IRelationshipProcessor).interfaceId; - } - -} diff --git a/contracts/modules/relationships/processors/DstOwnerRelationshipProcessor.sol b/contracts/modules/relationships/processors/DstOwnerRelationshipProcessor.sol deleted file mode 100644 index 068a388e..00000000 --- a/contracts/modules/relationships/processors/DstOwnerRelationshipProcessor.sol +++ /dev/null @@ -1,25 +0,0 @@ -// SPDX-License-Identifier: BUSL-1.1 -pragma solidity ^0.8.13; - -import { BaseRelationshipProcessor } from "./BaseRelationshipProcessor.sol"; -import { IERC721 } from "@openzeppelin/contracts/token/ERC721/IERC721.sol"; -import { Relationship } from "contracts/lib/modules/Relationship.sol"; -import { Errors } from "contracts/lib/Errors.sol"; - - -/// @title DstOwnerRelationshipProcessor -/// @dev Relationship processor that checks if the caller (relationship setter) is the owner of the destination IP Asset. -contract DstOwnerRelationshipProcessor is BaseRelationshipProcessor { - - constructor(address relationshipModule_) BaseRelationshipProcessor(relationshipModule_) {} - - - /// Returns true if the caller is the owner of the destination IP Asset, reverts otherwise. - function _processRelationship(Relationship.RelationshipParams memory params_, bytes calldata, address caller_) internal view virtual override returns(bool) { - if (IERC721(params_.destContract).ownerOf(params_.destId) != caller_) { - revert Errors.Unauthorized(); - } - return true; - } - -} diff --git a/contracts/modules/relationships/processors/PermissionlessRelationshipProcessor.sol b/contracts/modules/relationships/processors/PermissionlessRelationshipProcessor.sol deleted file mode 100644 index 685a56b3..00000000 --- a/contracts/modules/relationships/processors/PermissionlessRelationshipProcessor.sol +++ /dev/null @@ -1,19 +0,0 @@ -// SPDX-License-Identifier: BUSL-1.1 -pragma solidity ^0.8.13; - -import { BaseRelationshipProcessor } from "./BaseRelationshipProcessor.sol"; -import { Relationship } from "contracts/lib/modules/Relationship.sol"; - - -/// @title PermissionlessRelationshipProcessor -/// @dev Relationship processor that always returns true. -contract PermissionlessRelationshipProcessor is BaseRelationshipProcessor { - - constructor(address relationshipModule_) BaseRelationshipProcessor(relationshipModule_) {} - - - /// Returns true. - function _processRelationship(Relationship.RelationshipParams memory, bytes calldata, address) internal virtual override returns(bool) { - return true; - } -} diff --git a/contracts/modules/relationships/processors/SrcDstOwnerRelationshipProcessor.sol b/contracts/modules/relationships/processors/SrcDstOwnerRelationshipProcessor.sol deleted file mode 100644 index 9530ced5..00000000 --- a/contracts/modules/relationships/processors/SrcDstOwnerRelationshipProcessor.sol +++ /dev/null @@ -1,27 +0,0 @@ -// SPDX-License-Identifier: BUSL-1.1 -pragma solidity ^0.8.13; - -import { BaseRelationshipProcessor } from "./BaseRelationshipProcessor.sol"; -import { IERC721 } from "@openzeppelin/contracts/token/ERC721/IERC721.sol"; -import { Relationship } from "contracts/lib/modules/Relationship.sol"; -import { Errors } from "contracts/lib/Errors.sol"; - - -/// @title SrcDstOwnerRelationshipProcessor -/// @dev Relationship processor that checks if the caller (relationship setter) is the owner of the source and destination IP Assets. -contract SrcDstOwnerRelationshipProcessor is BaseRelationshipProcessor { - - constructor(address relationshipModule_) BaseRelationshipProcessor(relationshipModule_) {} - - - /// Returns true if the caller is the owner of the source and destination IP Assets, reverts otherwise. - function _processRelationship(Relationship.RelationshipParams memory params_, bytes calldata, address caller_) internal view virtual override returns(bool) { - if ( - IERC721(params_.sourceContract).ownerOf(params_.sourceId) != caller_ || - IERC721(params_.destContract).ownerOf(params_.destId) != caller_) { - revert Errors.Unauthorized(); - } - return true; - } - -} diff --git a/contracts/modules/relationships/processors/SrcOwnerRelationshipProcessor.sol b/contracts/modules/relationships/processors/SrcOwnerRelationshipProcessor.sol deleted file mode 100644 index 4cee77e2..00000000 --- a/contracts/modules/relationships/processors/SrcOwnerRelationshipProcessor.sol +++ /dev/null @@ -1,25 +0,0 @@ -// SPDX-License-Identifier: BUSL-1.1 -pragma solidity ^0.8.13; - -import { BaseRelationshipProcessor } from "./BaseRelationshipProcessor.sol"; -import { IERC721 } from "@openzeppelin/contracts/token/ERC721/IERC721.sol"; -import { Relationship } from "contracts/lib/modules/Relationship.sol"; -import { Errors } from "contracts/lib/Errors.sol"; - - -/// @title SrcOwnerRelationshipProcessor -/// @dev Relationship processor that checks if the caller (relationship setter) is the owner of the source IP Asset. -contract SrcOwnerRelationshipProcessor is BaseRelationshipProcessor { - - constructor(address relationshipModule_) BaseRelationshipProcessor(relationshipModule_) {} - - - /// Returns true if the caller is the owner of the source IP Asset, reverts otherwise. - function _processRelationship(Relationship.RelationshipParams memory params_, bytes calldata, address caller_) internal view virtual override returns(bool) { - if (IERC721(params_.sourceContract).ownerOf(params_.sourceId) != caller_) { - revert Errors.Unauthorized(); - } - return true; - } - -} diff --git a/contracts/modules/relationships/processors/SrcRequestOrDstOwnerRelationshipProcessor.sol b/contracts/modules/relationships/processors/SrcRequestOrDstOwnerRelationshipProcessor.sol deleted file mode 100644 index 0d75addd..00000000 --- a/contracts/modules/relationships/processors/SrcRequestOrDstOwnerRelationshipProcessor.sol +++ /dev/null @@ -1,27 +0,0 @@ -// SPDX-License-Identifier: BUSL-1.1 -pragma solidity ^0.8.13; - -import { BaseRelationshipProcessor } from "./BaseRelationshipProcessor.sol"; -import { IERC721 } from "@openzeppelin/contracts/token/ERC721/IERC721.sol"; -import { Relationship } from "contracts/lib/modules/Relationship.sol"; -import { Errors } from "contracts/lib/Errors.sol"; - - -/// @title SrcRequestOrDstOwnerRelationshipProcessor -/// @dev Relationship processor that returns true if owner of destination, false if owner of source, reverts otherwise. -contract SrcRequestOrDstOwnerRelationshipProcessor is BaseRelationshipProcessor { - - constructor(address relationshipModule_) BaseRelationshipProcessor(relationshipModule_) {} - - /// Returns true if destination owner, false if source owner (to signal a link request), reverts otherwise. - function _processRelationship(Relationship.RelationshipParams memory params_, bytes calldata, address caller_) internal virtual override returns(bool) { - if (IERC721(params_.destContract).ownerOf(params_.destId) == caller_) { - return true; - } else if (IERC721(params_.sourceContract).ownerOf(params_.sourceId) == caller_) { - // Emits an event, which act as notification of pending relationship. - return false; - } else { - revert Errors.Unauthorized(); - } - } -} diff --git a/contracts/modules/timing/LibDuration.sol b/contracts/modules/timing/LibDuration.sol deleted file mode 100644 index 4746eac8..00000000 --- a/contracts/modules/timing/LibDuration.sol +++ /dev/null @@ -1,49 +0,0 @@ -// SPDX-License-Identifier: BUSL-1.1 -pragma solidity ^0.8.13; - -import { Errors } from "contracts/lib/Errors.sol"; - -library LibDuration { - - struct TimeConfig { - uint64 ttl; - uint64 startTime; - address renewer; - } - - uint64 public constant START_TIME_NOT_SET = uint64(0); - - function isActive(TimeConfig memory self_) internal view returns (bool) { - return self_.startTime != START_TIME_NOT_SET && block.timestamp >= self_.startTime && block.timestamp < self_.startTime + self_.ttl; - } - - function renew(TimeConfig memory self_, uint64 ttl_) view internal { - if (!isRenewable(self_)) revert Errors.LibDuration_NotRenewable(); - if (msg.sender != self_.renewer) revert Errors.LibDuration_CallerNotRenewer(); - if (ttl_ == 0) revert Errors.LibDuration_ZeroTTL(); - self_.ttl = ttl_; - self_.startTime = uint64(block.timestamp); - } - - function createRunningTimeConfig(uint64 ttl_, address renewer_) internal view returns (TimeConfig memory) { - if (ttl_ == 0) revert Errors.LibDuration_ZeroTTL(); - return TimeConfig({ - ttl: ttl_, - startTime: uint64(block.timestamp), - renewer: renewer_ - }); - } - - function isRenewable(TimeConfig memory self_) internal pure returns (bool) { - return self_.renewer != address(0); - } - - function createStoppedTimeConfig(uint64 ttl_, address renewer_) internal pure returns (TimeConfig memory) { - if (ttl_ == 0) revert Errors.LibDuration_ZeroTTL(); - return TimeConfig({ - ttl: ttl_, - startTime: 0, - renewer: renewer_ - }); - } -} diff --git a/contracts/utils/FixedSet.sol b/contracts/utils/FixedSet.sol new file mode 100644 index 00000000..7c3cc3a2 --- /dev/null +++ b/contracts/utils/FixedSet.sol @@ -0,0 +1,249 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.19; + +import { ShortString, ShortStrings } from "@openzeppelin/contracts/utils/ShortStrings.sol"; + +/// @title FixedSet Library +/// @notice Fork of OZ's set data structures library with the following changs: +/// - Values cannot be removed from the set for order preservation +/// - The library allows obtaining indexes of values +/// - Adds ShortString as a data type +library FixedSet { + using ShortStrings for *; + + uint256 internal constant INDEX_NOT_FOUND = type(uint256).max; + + /// @notice Data structure for composing a fixed set. + struct Set { + // Array for storing values within the fixed set. + bytes32[] _values; + // One-based index of the set value (0 is a sentinel valu). + mapping(bytes32 => uint256) _indexes; + } + + /// @dev Adds a value to a set. + function _add(Set storage set, bytes32 value) private returns (bool) { + if (!_contains(set, value)) { + set._values.push(value); + // Value is stored at values.length due to one-indexing. + set._indexes[value] = set._values.length; + return true; + } else { + return false; + } + } + + /// @dev Checks whether a value is contained in the set. + function _contains(Set storage set, bytes32 value) private view returns (bool) { + return set._indexes[value] != 0; + } + + /// @dev Returns the length of the set. + function _length(Set storage set) private view returns (uint256) { + return set._values.length; + } + + /// @dev Returns the index of a value within the set. + function _indexOf(Set storage set, bytes32 value) private view returns (uint256) { + uint256 index = set._indexes[value]; + return index == 0 ? INDEX_NOT_FOUND : index - 1; + } + + /// @dev Returns the value stored at the one-indexed positioned within the set. + function _at(Set storage set, uint256 index) private view returns (bytes32) { + return set._values[index]; + } + + /// @dev Returns the entire fixed set as a bytes32-array. + function _values(Set storage set) private view returns (bytes32[] memory) { + return set._values; + } + + //////////////////////////////////////////////////////////////////////////// + // Bytes32Set // + //////////////////////////////////////////////////////////////////////////// + + /// @notice Struct for composing fixed sets of bytes32 objects. + struct Bytes32Set { + Set _inner; + } + + /// @dev Adds a value to the bytes32 set. + function add(Bytes32Set storage set, bytes32 value) internal returns (bool) { + return _add(set._inner, value); + } + + /// @dev Checks whether a bytes32 set contains a value. + function contains(Bytes32Set storage set, bytes32 value) internal view returns (bool) { + return _contains(set._inner, value); + } + + /// @dev Gets the length of the bytes32 set. + function length(Bytes32Set storage set) internal view returns (uint256) { + return _length(set._inner); + } + + /// @dev Gets the value stored at the one-indexed position within the set. + function at(Bytes32Set storage set, uint256 index) internal view returns (bytes32) { + return _at(set._inner, index); + } + + /// @dev Returns the one-indexed position of the value within the set. + function indexOf(Bytes32Set storage set, bytes32 value) internal view returns (uint256) { + return _indexOf(set._inner, value); + } + + /// @dev Returns the entire set of bytes32 objects as an array. + function values(Bytes32Set storage set) internal view returns (bytes32[] memory) { + bytes32[] memory store = _values(set._inner); + bytes32[] memory result; + + /// @solidity memory-safe-assembly + assembly { + result := store + } + + return result; + } + + //////////////////////////////////////////////////////////////////////////// + // ShortStringSet // + //////////////////////////////////////////////////////////////////////////// + + /// @notice Fixed set data structure for representing SortStrings. + struct ShortStringSet { + Set _inner; + } + + /// @dev Adds a value to the ShortString data set. + function add(ShortStringSet storage set, ShortString value) internal returns (bool) { + return _add(set._inner, ShortString.unwrap(value)); + } + + /// @dev Checks whether a ShortString set contains a value. + function contains(ShortStringSet storage set, ShortString value) internal view returns (bool) { + return _contains(set._inner, ShortString.unwrap(value)); + } + + /// @dev Returns the length of the ShortString set. + function length(ShortStringSet storage set) internal view returns (uint256) { + return _length(set._inner); + } + + /// @dev Returns the value stored at the one-indexed position in the set. + function at(ShortStringSet storage set, uint256 index) internal view returns (ShortString) { + return ShortString.wrap(_at(set._inner, index)); + } + + /// @dev Returns the index of the value within the ShortString set. + function indexOf(ShortStringSet storage set, ShortString value) internal view returns (uint256) { + return _indexOf(set._inner, ShortString.unwrap(value)); + } + + /// @dev Returns the entire ShortString data set. + function values(ShortStringSet storage set) internal view returns (ShortString[] memory) { + bytes32[] memory store = _values(set._inner); + ShortString[] memory result; + + /// @solidity memory-safe-assembly + assembly { + result := store + } + + return result; + } + + //////////////////////////////////////////////////////////////////////////// + // AddressSet // + //////////////////////////////////////////////////////////////////////////// + + /// @notice Fixed set data structure for representing addresses. + struct AddressSet { + Set _inner; + } + + /// @dev Adds a value to the fixed address set. + function add(AddressSet storage set, address value) internal returns (bool) { + return _add(set._inner, bytes32(uint256(uint160(value)))); + } + + /// @dev Checks whether a fixed address set contains a value. + function contains(AddressSet storage set, address value) internal view returns (bool) { + return _contains(set._inner, bytes32(uint256(uint160(value)))); + } + + /// @dev Returns the length of the fixed address set. + function length(AddressSet storage set) internal view returns (uint256) { + return _length(set._inner); + } + + /// @dev Returns the value stored at the one-indexed position in the set. + function at(AddressSet storage set, uint256 index) internal view returns (address) { + return address(uint160(uint256(_at(set._inner, index)))); + } + + /// @dev Gets the index of an address within the fixed set. + function indexOf(AddressSet storage set, address value) internal view returns (uint256) { + return _indexOf(set._inner, bytes32(uint256(uint160(value)))); + } + + /// @dev Returns the entire suite of addresses stored in the set. + function values(AddressSet storage set) internal view returns (address[] memory) { + bytes32[] memory store = _values(set._inner); + address[] memory result; + + /// @solidity memory-safe-assembly + assembly { + result := store + } + + return result; + } + + //////////////////////////////////////////////////////////////////////////// + // UintSet // + //////////////////////////////////////////////////////////////////////////// + + /// @notice Fixed set data structure for storing uint256 numbers. + struct UintSet { + Set _inner; + } + + /// @dev Adds a uint256 value into the fixed set. + function add(UintSet storage set, uint256 value) internal returns (bool) { + return _add(set._inner, bytes32(value)); + } + + /// @dev Checks whether the fixed set contains a uint256 value. + function contains(UintSet storage set, uint256 value) internal view returns (bool) { + return _contains(set._inner, bytes32(value)); + } + + /// @dev Returns the length of the uint256 set. + function length(UintSet storage set) internal view returns (uint256) { + return _length(set._inner); + } + + /// @dev Returns the value stored at a one-indexed position within the set. + function at(UintSet storage set, uint256 index) internal view returns (uint256) { + return uint256(_at(set._inner, index)); + } + + /// @dev Returns the index of a uint256 value within the set. + function indexOf(UintSet storage set, uint256 value) internal view returns (uint256) { + return _indexOf(set._inner, bytes32(value)); + } + + /// @dev Returns the entire suite of uint256 values within the set. + function values(UintSet storage set) internal view returns (uint256[] memory) { + bytes32[] memory store = _values(set._inner); + uint256[] memory result; + + /// @solidity memory-safe-assembly + assembly { + result := store + } + + return result; + } +} diff --git a/contracts/utils/RevertingIPAssetGroup.sol b/contracts/utils/RevertingIPAssetGroup.sol deleted file mode 100644 index 06db0f7d..00000000 --- a/contracts/utils/RevertingIPAssetGroup.sol +++ /dev/null @@ -1,15 +0,0 @@ -// SPDX-License-Identifier: BUSL-1.1 - -pragma solidity ^0.8.13; - -/// @title RevertingIPAssetOrg -/// @author Raul Martinez -/// @notice Only used to initialize the beacon in IPAssetOrgFactor, -/// breaking a circular dependency on creation and keeping the beacon immutable -contract RevertingIPAssetOrg { - error DontUseThisContract(); - - function initialize() external pure { - revert DontUseThisContract(); - } -} diff --git a/contracts/utils/ShortStringOps.sol b/contracts/utils/ShortStringOps.sol new file mode 100644 index 00000000..2a86936e --- /dev/null +++ b/contracts/utils/ShortStringOps.sol @@ -0,0 +1,40 @@ +// SPDX-License-Identifier: UNLICENSED +// See https://github.com/storyprotocol/protocol-contracts/blob/main/StoryProtocol-AlphaTestingAgreement-17942166.3.pdf +pragma solidity ^0.8.19; + +import { ShortString, ShortStrings } from "@openzeppelin/contracts/utils/ShortStrings.sol"; + +/// @notice Library for working with Openzeppelin's ShortString data types. +library ShortStringOps { + using ShortStrings for *; + + /// @dev Compares whether two ShortStrings are equal. + function _equal(ShortString a, ShortString b) internal pure returns (bool) { + return ShortString.unwrap(a) == ShortString.unwrap(b); + } + + /// @dev Checks whether a ShortString and a regular string are equal. + function _equal(ShortString a, string memory b) internal pure returns (bool) { + return _equal(a, b.toShortString()); + } + + /// @dev Checks whether a regular string and a ShortString are equal. + function _equal(string memory a, ShortString b) internal pure returns (bool) { + return _equal(a.toShortString(), b); + } + + /// @dev Checks whether a bytes32 object and ShortString are equal. + function _equal(bytes32 a, ShortString b) internal pure returns (bool) { + return a == ShortString.unwrap(b); + } + + /// @dev Checks whether a string and bytes32 object are equal. + function _equal(string memory a, bytes32 b) internal pure returns (bool) { + return _equal(a, ShortString.wrap(b)); + } + + /// @dev Checks whether a bytes32 object and string are equal. + function _equal(bytes32 a, string memory b) internal pure returns (bool) { + return _equal(ShortString.wrap(a), b); + } +} diff --git a/deployment-11155111.json b/deployment-11155111.json new file mode 100644 index 00000000..2335350a --- /dev/null +++ b/deployment-11155111.json @@ -0,0 +1,19 @@ +{ + "main": { + "AccessControlSingleton-Impl": "0xFed3A979239654Bb89e335161307FAcC3E4a3217", + "AccessControlSingleton-Proxy": "0x86b1257fD39c95866b7d0283d2AA2585CFE3D2F3", + "IPAssetRegistry": "0x679863b64072b7562c0fc7d8d831a6047681986A", + "IPOrgController-Impl": "0x98c7ed972DA19A48c2Fb4aED4f4b04a163b34d59", + "IPOrgController-Proxy": "0x6Fb096d829304aCeC8922a10a8C2581E8E84695A", + "LicenseRegistry": "0xd6Ab11cE59Ab4F3fAc577A83d169A5666EaC329C", + "LicensingFrameworkRepo": "0xc6E5668aBF375fa32eF73370115e2860cd3cA518", + "LicensingModule": "0xF4aC0201654b417D8E87fD470846511bF9856AFD", + "MockERC721": "0x2e93CCEA2588a74c59626066c0F9640B97dA33C1", + "ModuleRegistry": "0x4Bf7387C9666F5A30604B3dcba1dC6edfC50d4A2", + "PolygonTokenHook": "0x492afDfC26F279adb1F2014318E5fF7445C03115", + "RegistrationModule": "0xEC2a3833f96c9e4492E2BC013CC2C6DF8583ceC9", + "RelationshipModule": "0x481972bA7702FA848cCd1Ee15eCD3eD6b059E2aa", + "StoryProtocol": "0x537fcCce413236A4E5f4f385e2edC861aEc622f0", + "TokenGatedHook": "0xaf1616E8fe0C9F18286bD73FC0314e7dC0dc90B4" + } +} \ No newline at end of file diff --git a/deployment-31337.json b/deployment-31337.json index f1c8cdb8..82b50adb 100644 --- a/deployment-31337.json +++ b/deployment-31337.json @@ -1,12 +1,20 @@ { "main": { - "AccessControlSingleton-Impl": "0x6E447CeC286dbaBe885fDbD9723DD63Cc2DE0Bd2", - "AccessControlSingleton-Proxy": "0xC06CBc0B7A136bda48865BE24228396Dea4094Ec", - "FranchiseRegistry-Impl": "0x446ce25bff9fe7049Aaf3339124F51F301e9c220", - "FranchiseRegistry-Proxy": "0x687E4e5a4471c259a8f56F1f06b0E5c5FEa808c8", - "IPAssetRegistryFactory": "0x7B4f9313d7a12aa902462860eeBD97ab2B68176F", - "ProtocolRelationshipModule-Impl": "0xa1833d78f09e2198774E612ca3d9879597ACc859", - "ProtocolRelationshipModule-Proxy": "0xd8562c2C2f7497D96C7Cf2f9E15392fe4c31c84f" + "AccessControlSingleton-Impl": "0x7B4f9313d7a12aa902462860eeBD97ab2B68176F", + "AccessControlSingleton-Proxy": "0x6E447CeC286dbaBe885fDbD9723DD63Cc2DE0Bd2", + "IPAssetRegistry": "0x687E4e5a4471c259a8f56F1f06b0E5c5FEa808c8", + "IPOrgController-Impl": "0xd8562c2C2f7497D96C7Cf2f9E15392fe4c31c84f", + "IPOrgController-Proxy": "0xB61c296B51f542EeD7B76022c736488A571ac05b", + "LicenseRegistry": "0xa1833d78f09e2198774E612ca3d9879597ACc859", + "LicensingFrameworkRepo": "0xC06CBc0B7A136bda48865BE24228396Dea4094Ec", + "LicensingModule": "0xb9162E7d63aDAC660f987755D45f55710EB5542a", + "MockERC721": "0x409c6194d48B0D78E59dE8923C0b55e31A6EaA5C", + "ModuleRegistry": "0x446ce25bff9fe7049Aaf3339124F51F301e9c220", + "PolygonTokenHook": "0x5f9eC9287D55a50B6C34e564272eD5F3e540A8b5", + "RegistrationModule": "0x812d70D430362c56E56F7Cfc73464FE2F1670ec9", + "RelationshipModule": "0x0e0C15Fe242628fce34A123A0317C97f1D3256c8", + "StoryProtocol": "0x869b721BbF176D0130d87E3aD2eEA02CEBB883eE", + "TokenGatedHook": "0xEbB09194fd2A6907E1C67DbBcb813F1a99D6B6d1" }, "relationship-processors": { "DstOwnerRelationshipProcessor": "0x6E447CeC286dbaBe885fDbD9723DD63Cc2DE0Bd2", diff --git a/hardhat.config.js b/hardhat.config.js index aa148f7b..72eea623 100644 --- a/hardhat.config.js +++ b/hardhat.config.js @@ -8,6 +8,7 @@ require("solidity-coverage"); require('@nomiclabs/hardhat-ethers'); require("@nomiclabs/hardhat-etherscan"); require('@openzeppelin/hardhat-upgrades'); +require('solidity-docgen'); const createFranchise = require("./script/hardhat/createFranchise.js"); const createIPAsset = require("./script/hardhat/createIPAsset.js"); @@ -126,5 +127,9 @@ module.exports = { }, mocha: { timeout: 20000 + }, + docgen: { + outputDir: "./docs", + pages: "files" } }; diff --git a/image.png b/image.png new file mode 100644 index 00000000..a84f22bb Binary files /dev/null and b/image.png differ diff --git a/lcov.info b/lcov.info deleted file mode 100644 index 55cb93fd..00000000 --- a/lcov.info +++ /dev/null @@ -1,1215 +0,0 @@ -TN: -SF:contracts/FranchiseRegistry.sol -FN:60,FranchiseRegistry.initialize -FN:66,FranchiseRegistry._getFranchiseStorage -FN:72,FranchiseRegistry.version -FN:76,FranchiseRegistry.registerFranchise -FN:95,FranchiseRegistry.ipAssetRegistryForId -FN:108,FranchiseRegistry.isIpAssetRegistry -FN:117,FranchiseRegistry.tokenURI -FN:123,FranchiseRegistry._authorizeUpgrade -FNDA:3,FranchiseRegistry.registerFranchise -FNDA:7466,FranchiseRegistry._getFranchiseStorage -FNDA:2,FranchiseRegistry.tokenURI -FNDA:1,FranchiseRegistry.version -FNDA:0,FranchiseRegistry.initialize -FNDA:0,FranchiseRegistry._authorizeUpgrade -FNDA:13,FranchiseRegistry.isIpAssetRegistry -FNDA:7451,FranchiseRegistry.ipAssetRegistryForId -FNF:8 -FNH:6 -DA:61,0 -DA:62,0 -DA:63,0 -DA:68,7466 -DA:73,1 -DA:77,3 -DA:78,3 -DA:79,3 -DA:85,3 -DA:86,3 -DA:87,3 -DA:90,3 -DA:92,3 -DA:98,7462 -DA:99,7462 -DA:109,13 -DA:118,2 -DA:119,1 -DA:120,1 -LF:19 -LH:16 -end_of_record -TN: -SF:contracts/access-control/AccessControlSingleton.sol -FN:22,AccessControlSingleton.initialize -FN:34,AccessControlSingleton.setRoleAdmin -FN:42,AccessControlSingleton._authorizeUpgrade -FNDA:256,AccessControlSingleton.setRoleAdmin -FNDA:257,AccessControlSingleton.initialize -FNDA:0,AccessControlSingleton._authorizeUpgrade -FNF:3 -FNH:2 -DA:23,257 -DA:24,257 -DA:25,257 -DA:26,257 -DA:35,256 -LF:5 -LH:5 -end_of_record -TN: -SF:contracts/access-control/AccessControlled.sol -FN:42,AccessControlled.hasRole -FN:50,AccessControlled.setAccessControl -FNDA:0,AccessControlled.hasRole -FNDA:0,AccessControlled.setAccessControl -FNF:2 -FNH:0 -DA:43,0 -DA:51,0 -DA:52,0 -DA:53,0 -LF:4 -LH:0 -end_of_record -TN: -SF:contracts/access-control/AccessControlledUpgradeable.sol -FN:41,AccessControlledUpgradeable.__AccessControlledUpgradeable_init -FN:48,AccessControlledUpgradeable._getAccessControlledUpgradeable -FN:60,AccessControlledUpgradeable.hasRole -FN:69,AccessControlledUpgradeable.setAccessControl -FN:76,AccessControlledUpgradeable.getAccessControl -FNDA:0,AccessControlledUpgradeable.getAccessControl -FNDA:4,AccessControlledUpgradeable._getAccessControlledUpgradeable -FNDA:4,AccessControlledUpgradeable.hasRole -FNDA:0,AccessControlledUpgradeable.setAccessControl -FNDA:0,AccessControlledUpgradeable.__AccessControlledUpgradeable_init -FNF:5 -FNH:2 -DA:42,0 -DA:43,0 -DA:44,0 -DA:45,0 -DA:50,4 -DA:61,4 -DA:62,4 -DA:70,0 -DA:71,0 -DA:72,0 -DA:73,0 -DA:77,0 -DA:78,0 -LF:13 -LH:3 -end_of_record -TN: -SF:contracts/ip-accounts/IPAccountImpl.sol -FN:34,IPAccountImpl.supportsInterface -FN:44,IPAccountImpl.token -FN:71,IPAccountImpl.isValidSignature -FN:87,IPAccountImpl.isValidSigner -FN:95,IPAccountImpl.owner -FN:101,IPAccountImpl._isValidSigner -FN:108,IPAccountImpl.safeTransferFrom -FN:115,IPAccountImpl.sendRoyaltyForDistribution -FN:122,IPAccountImpl.onERC721Received -FN:131,IPAccountImpl.onERC1155Received -FN:141,IPAccountImpl.onERC1155BatchReceived -FNDA:2,IPAccountImpl.safeTransferFrom -FNDA:2,IPAccountImpl.sendRoyaltyForDistribution -FNDA:0,IPAccountImpl.owner -FNDA:6,IPAccountImpl.onERC1155Received -FNDA:4,IPAccountImpl._isValidSigner -FNDA:0,IPAccountImpl.supportsInterface -FNDA:2,IPAccountImpl.isValidSigner -FNDA:0,IPAccountImpl.isValidSignature -FNDA:2,IPAccountImpl.onERC721Received -FNDA:0,IPAccountImpl.onERC1155BatchReceived -FNDA:2,IPAccountImpl.token -FNF:11 -FNH:7 -DA:35,0 -DA:54,6 -DA:68,6 -DA:76,0 -DA:77,0 -DA:78,0 -DA:81,0 -DA:88,2 -DA:89,2 -DA:92,0 -DA:96,4 -DA:97,4 -DA:98,4 -DA:102,4 -DA:109,2 -DA:110,1 -DA:111,1 -DA:116,2 -DA:128,2 -DA:138,6 -DA:148,0 -LF:21 -LH:14 -end_of_record -TN: -SF:contracts/ip-accounts/IPAccountRegistry.sol -FN:17,IPAccountRegistry.createAccount -FN:47,IPAccountRegistry.account -FN:66,IPAccountRegistry.getIPAccountImpl -FN:70,IPAccountRegistry._getCreationCode -FNDA:26,IPAccountRegistry.account -FNDA:41,IPAccountRegistry._getCreationCode -FNDA:0,IPAccountRegistry.getIPAccountImpl -FNDA:15,IPAccountRegistry.createAccount -FNF:4 -FNH:3 -DA:23,15 -DA:31,15 -DA:33,15 -DA:35,12 -DA:37,12 -DA:39,12 -DA:40,2 -DA:41,2 -DA:44,11 -DA:52,26 -DA:62,26 -DA:67,0 -DA:77,41 -DA:103,41 -LF:14 -LH:13 -end_of_record -TN: -SF:contracts/ip-assets/IPAssetRegistry.sol -FN:55,IPAssetRegistry.initialize -FN:69,IPAssetRegistry._getIPAssetRegistryStorage -FN:79,IPAssetRegistry.version -FN:96,IPAssetRegistry.createIPAsset -FN:145,IPAssetRegistry._setNonCommercialRights -FN:170,IPAssetRegistry._setCommercialRights -FN:190,IPAssetRegistry._mintBlock -FN:199,IPAssetRegistry.currentIdFor -FN:209,IPAssetRegistry.description -FN:214,IPAssetRegistry.franchiseId -FN:219,IPAssetRegistry.tokenURI -FN:226,IPAssetRegistry.supportsInterface -FNDA:4,IPAssetRegistry.supportsInterface -FNDA:2,IPAssetRegistry._setCommercialRights -FNDA:4,IPAssetRegistry.initialize -FNDA:1,IPAssetRegistry.tokenURI -FNDA:11,IPAssetRegistry.franchiseId -FNDA:15,IPAssetRegistry.currentIdFor -FNDA:1,IPAssetRegistry.description -FNDA:2850,IPAssetRegistry._mintBlock -FNDA:2850,IPAssetRegistry._setNonCommercialRights -FNDA:4,IPAssetRegistry.version -FNDA:8581,IPAssetRegistry._getIPAssetRegistryStorage -FNDA:2851,IPAssetRegistry.createIPAsset -FNF:12 -FNH:12 -DA:61,4 -DA:62,4 -DA:63,4 -DA:64,4 -DA:65,4 -DA:66,4 -DA:75,8581 -DA:80,4 -DA:107,2851 -DA:108,2850 -DA:109,2850 -DA:110,2850 -DA:111,2850 -DA:112,2850 -DA:115,2850 -DA:116,2850 -DA:118,2850 -DA:121,2850 -DA:123,2 -DA:126,2850 -DA:132,2850 -DA:146,2850 -DA:147,2850 -DA:171,2 -DA:172,2 -DA:191,2850 -DA:192,2850 -DA:193,2850 -DA:194,2850 -DA:195,2850 -DA:196,2850 -DA:200,2865 -DA:201,2865 -DA:202,2865 -DA:203,2843 -DA:205,22 -DA:210,1 -DA:211,1 -DA:215,11 -DA:216,11 -DA:223,1 -DA:235,4 -DA:236,4 -DA:237,3 -LF:44 -LH:44 -end_of_record -TN: -SF:contracts/ip-assets/IPAssetRegistryFactory.sol -FN:30,IPAssetRegistryFactory.createFranchiseIPAssets -FN:51,IPAssetRegistryFactory.upgradeFranchises -FNDA:4,IPAssetRegistryFactory.createFranchiseIPAssets -FNDA:2,IPAssetRegistryFactory.upgradeFranchises -FNF:2 -FNH:2 -DA:36,4 -DA:43,4 -DA:44,4 -DA:45,4 -DA:47,4 -DA:48,4 -DA:52,1 -DA:53,1 -DA:54,1 -LF:9 -LH:9 -end_of_record -TN: -SF:contracts/ip-assets/LibIPAssetId.sol -FN:12,LibIPAssetId._zeroId -FN:17,LibIPAssetId._lastId -FN:22,LibIPAssetId._ipAssetTypeFor -FNDA:2843,LibIPAssetId._zeroId -FNDA:2850,LibIPAssetId._lastId -FNDA:2850,LibIPAssetId._ipAssetTypeFor -FNF:3 -FNH:3 -DA:13,2843 -DA:14,2843 -DA:18,2850 -DA:19,2850 -DA:25,2850 -DA:26,2850 -LF:6 -LH:6 -end_of_record -TN: -SF:contracts/ip-assets/events/CommonIPAssetEventEmitter.sol -FN:18,CommonIPAssetEventEmitter.emitIPAssetCreation -FNDA:2828,CommonIPAssetEventEmitter.emitIPAssetCreation -FNF:1 -FNH:1 -DA:19,2828 -DA:20,2828 -LF:2 -LH:2 -end_of_record -TN: -SF:contracts/ip-assets/storage/IPAssetDataManager.sol -FN:22,IPAssetDataManager.__IPAssetData_init -FN:24,IPAssetDataManager._getIPAssetDataStorage -FN:30,IPAssetDataManager._writeIPAsset -FN:48,IPAssetDataManager.readIPAsset -FNDA:0,IPAssetDataManager.__IPAssetData_init -FNDA:2850,IPAssetDataManager._writeIPAsset -FNDA:2853,IPAssetDataManager._getIPAssetDataStorage -FNDA:2,IPAssetDataManager.readIPAsset -FNF:4 -FNH:3 -DA:26,2853 -DA:36,2850 -DA:37,2850 -DA:38,2850 -DA:39,2850 -DA:41,2850 -DA:42,2850 -DA:43,2850 -DA:44,2850 -DA:45,2850 -DA:49,3 -DA:50,3 -LF:12 -LH:12 -end_of_record -TN: -SF:contracts/modules/collect/CollectModuleBase.sol -FN:55,CollectModuleBase.getCollectNFT -FN:65,CollectModuleBase.initCollect -FN:101,CollectModuleBase.collect -FN:137,CollectModuleBase._initCollect -FN:142,CollectModuleBase._collect -FN:153,CollectModuleBase._getCollectNFT -FN:183,CollectModuleBase._getCollectModuleStorage -FNDA:512,CollectModuleBase._collect -FNDA:1536,CollectModuleBase.collect -FNDA:3362,CollectModuleBase.initCollect -FNDA:768,CollectModuleBase._getCollectNFT -FNDA:2850,CollectModuleBase._initCollect -FNDA:5154,CollectModuleBase._getCollectModuleStorage -FNDA:1280,CollectModuleBase.getCollectNFT -FNF:7 -FNH:7 -DA:56,1280 -DA:57,1280 -DA:68,3362 -DA:69,3362 -DA:72,3362 -DA:74,3362 -DA:75,256 -DA:79,3106 -DA:80,3106 -DA:81,256 -DA:85,2850 -DA:86,0 -DA:88,2850 -DA:91,2850 -DA:104,1536 -DA:105,1536 -DA:108,1536 -DA:109,256 -DA:113,1280 -DA:114,1280 -DA:115,256 -DA:117,1024 -DA:123,768 -DA:126,512 -DA:129,512 -DA:131,512 -DA:156,768 -DA:157,768 -DA:158,768 -DA:159,256 -DA:161,512 -DA:164,512 -DA:165,512 -DA:169,512 -DA:172,512 -DA:177,512 -DA:179,512 -DA:185,5154 -LF:38 -LH:37 -end_of_record -TN: -SF:contracts/modules/collect/SimpleCollectModule.sol -FN:19,MockCollectModule.initialize -FN:25,MockCollectModule._isCollectAuthorized -FN:31,MockCollectModule._authorizeUpgrade -FNDA:0,MockCollectModule._isCollectAuthorized -FNDA:0,MockCollectModule.initialize -FNDA:0,MockCollectModule._authorizeUpgrade -FNF:3 -FNH:0 -DA:20,0 -DA:21,0 -DA:26,0 -DA:27,0 -LF:4 -LH:0 -end_of_record -TN: -SF:contracts/modules/collect/nft/CollectNFTBase.sol -FN:47,CollectNFTBase.totalSupply -FN:54,CollectNFTBase.initialize -FN:80,CollectNFTBase.collect -FN:88,CollectNFTBase._initialize -FN:92,CollectNFTBase._collect -FNDA:1280,CollectNFTBase._collect -FNDA:1538,CollectNFTBase.initialize -FNDA:1536,CollectNFTBase.collect -FNDA:1280,CollectNFTBase._initialize -FNDA:512,CollectNFTBase.totalSupply -FNF:5 -FNH:5 -DA:48,512 -DA:57,1538 -DA:58,257 -DA:61,1281 -DA:62,1281 -DA:63,1281 -DA:64,1281 -DA:67,1281 -DA:73,1280 -DA:81,1280 -DA:82,1280 -DA:83,1280 -LF:12 -LH:12 -end_of_record -TN: -SF:contracts/modules/collect/nft/ERC721.sol -FN:43,ERC721.setApprovalForAll -FN:51,ERC721.approve -FN:93,ERC721.safeTransferFrom -FN:116,ERC721.transferFrom -FN:151,ERC721.supportsInterface -FN:159,ERC721._mint -FN:179,ERC721._burn -FNDA:1536,ERC721.transferFrom -FNDA:5120,ERC721.safeTransferFrom -FNDA:6400,ERC721._mint -FNDA:1280,ERC721._burn -FNDA:1024,ERC721.setApprovalForAll -FNDA:1792,ERC721.approve -FNDA:2,ERC721.supportsInterface -FNF:7 -FNH:7 -DA:44,1024 -DA:45,1024 -DA:52,1792 -DA:55,1792 -DA:56,256 -DA:59,1536 -DA:60,1536 -DA:76,2560 -DA:78,1792 -DA:79,1024 -DA:83,256 -DA:98,2560 -DA:100,1792 -DA:101,1024 -DA:105,256 -DA:121,6656 -DA:122,768 -DA:126,5888 -DA:127,2304 -DA:128,1536 -DA:130,768 -DA:133,5120 -DA:134,768 -DA:137,4352 -DA:140,4352 -DA:141,4352 -DA:144,4352 -DA:145,4352 -DA:152,2 -DA:153,1 -DA:160,6400 -DA:161,256 -DA:164,6144 -DA:165,256 -DA:169,5888 -DA:170,5888 -DA:173,5888 -DA:174,5888 -DA:180,1280 -DA:182,1280 -DA:183,512 -DA:187,768 -DA:188,768 -DA:191,768 -DA:192,768 -DA:193,768 -LF:46 -LH:46 -end_of_record -TN: -SF:contracts/modules/licensing/LicenseRegistry.sol -FN:34,LicenseRegistry.mint -FN:38,LicenseRegistry.exists -FN:42,LicenseRegistry._beforeTokenTransfer -FN:55,LicenseRegistry.getRightsManager -FN:59,LicenseRegistry.name -FN:63,LicenseRegistry.symbol -FNDA:10,LicenseRegistry.mint -FNDA:11,LicenseRegistry._beforeTokenTransfer -FNDA:2,LicenseRegistry.getRightsManager -FNDA:2,LicenseRegistry.name -FNDA:26,LicenseRegistry.exists -FNDA:2,LicenseRegistry.symbol -FNF:6 -FNH:6 -DA:35,9 -DA:39,26 -DA:49,11 -DA:50,2 -DA:52,10 -DA:56,2 -DA:60,2 -DA:64,2 -LF:8 -LH:8 -end_of_record -TN: -SF:contracts/modules/licensing/LicensingModule.sol -FN:46,LicensingModule.initialize -FN:51,LicensingModule._getLicensingModuleStorage -FN:58,LicensingModule.getNonCommercialLicenseURI -FN:66,LicensingModule.setNonCommercialLicenseURI -FN:78,LicensingModule.configureFranchiseLicensing -FN:92,LicensingModule._verifyRootLicense -FN:106,LicensingModule.getFranchiseConfig -FN:110,LicensingModule._authorizeUpgrade -FNDA:5663,LicensingModule._getLicensingModuleStorage -FNDA:2830,LicensingModule.getFranchiseConfig -FNDA:12,LicensingModule._verifyRootLicense -FNDA:0,LicensingModule.initialize -FNDA:0,LicensingModule._authorizeUpgrade -FNDA:2829,LicensingModule.getNonCommercialLicenseURI -FNDA:0,LicensingModule.setNonCommercialLicenseURI -FNDA:8,LicensingModule.configureFranchiseLicensing -FNF:8 -FNH:5 -DA:47,0 -DA:48,0 -DA:52,5663 -DA:54,5663 -DA:59,2829 -DA:67,0 -DA:68,0 -DA:79,8 -DA:80,1 -DA:82,6 -DA:83,6 -DA:84,5 -DA:85,1 -DA:87,4 -DA:88,4 -DA:89,4 -DA:93,12 -DA:94,2 -DA:95,2 -DA:98,0 -DA:100,2 -DA:101,1 -DA:107,2830 -LF:23 -LH:18 -end_of_record -TN: -SF:contracts/modules/licensing/RightsManager.sol -FN:79,RightsManager.__RightsManager_init -FN:87,RightsManager.setLicenseRegistry -FN:94,RightsManager._getRightsManagerStorage -FN:117,RightsManager.createLicense -FN:156,RightsManager.createFranchiseRootLicense -FN:180,RightsManager._createLicense -FN:258,RightsManager.revokeLicense -FN:274,RightsManager.executeTerms -FN:289,RightsManager.isLicenseActive -FN:303,RightsManager._isActiveAndTermsOk -FN:308,RightsManager.getLicense -FN:315,RightsManager._beforeTokenTransfer -FN:332,RightsManager._verifyRightsTransfer -FN:347,RightsManager._verifyTerms -FN:354,RightsManager.getLicenseTokenId -FN:360,RightsManager.getParentLicenseId -FN:367,RightsManager.getLicenseHolder -FN:381,RightsManager.getLicenseURI -FN:387,RightsManager.getLicenseRevoker -FN:393,RightsManager.getLicenseIdByTokenId -FN:403,RightsManager.getLicenseRegistry -FN:407,RightsManager.isRootLicense -FN:413,RightsManager.isLicenseSet -FN:423,RightsManager.transferSublicense -FNDA:8,RightsManager.createLicense -FNDA:13,RightsManager.getLicenseIdByTokenId -FNDA:2989,RightsManager._getRightsManagerStorage -FNDA:0,RightsManager.__RightsManager_init -FNDA:4,RightsManager.setLicenseRegistry -FNDA:2872,RightsManager._verifyTerms -FNDA:0,RightsManager.getLicenseHolder -FNDA:4,RightsManager.getLicenseRegistry -FNDA:13,RightsManager.getLicense -FNDA:2,RightsManager.revokeLicense -FNDA:0,RightsManager.isRootLicense -FNDA:2863,RightsManager._beforeTokenTransfer -FNDA:16,RightsManager.isLicenseActive -FNDA:0,RightsManager.getLicenseRevoker -FNDA:2,RightsManager.executeTerms -FNDA:9,RightsManager.getLicenseTokenId -FNDA:24,RightsManager._isActiveAndTermsOk -FNDA:4,RightsManager.createFranchiseRootLicense -FNDA:0,RightsManager.isLicenseSet -FNDA:4,RightsManager.getLicenseURI -FNDA:4,RightsManager.getParentLicenseId -FNDA:0,RightsManager._verifyRightsTransfer -FNDA:3,RightsManager.transferSublicense -FNDA:2881,RightsManager._createLicense -FNF:24 -FNH:18 -DA:83,4 -DA:89,4 -DA:90,4 -DA:91,4 -DA:100,2989 -DA:127,8 -DA:128,2 -DA:130,6 -DA:131,5 -DA:165,4 -DA:166,3 -DA:192,2881 -DA:193,2880 -DA:197,2880 -DA:198,2877 -DA:199,1 -DA:203,2879 -DA:204,2864 -DA:205,1 -DA:208,15 -DA:209,15 -DA:211,11 -DA:212,11 -DA:213,10 -DA:214,9 -DA:215,6 -DA:219,2872 -DA:222,2871 -DA:223,2871 -DA:237,2871 -DA:238,9 -DA:241,2862 -DA:245,2871 -DA:253,2871 -DA:254,2871 -DA:259,2 -DA:260,2 -DA:261,2 -DA:262,2 -DA:263,2 -DA:264,2 -DA:275,2 -DA:276,2 -DA:277,2 -DA:278,2 -DA:279,2 -DA:280,2 -DA:281,1 -DA:282,1 -DA:285,2 -DA:293,18 -DA:294,18 -DA:295,33 -DA:296,24 -DA:297,24 -DA:298,15 -DA:300,9 -DA:304,24 -DA:305,24 -DA:309,13 -DA:321,2863 -DA:322,0 -DA:323,0 -DA:325,0 -DA:329,2863 -DA:338,0 -DA:341,0 -DA:342,0 -DA:343,0 -DA:344,0 -DA:348,2872 -DA:349,2849 -DA:350,1 -DA:357,9 -DA:363,4 -DA:370,25 -DA:371,25 -DA:372,4 -DA:374,21 -DA:377,21 -DA:384,4 -DA:390,0 -DA:397,15 -DA:404,4 -DA:410,0 -DA:414,2 -DA:427,3 -DA:428,3 -DA:429,2 -DA:430,1 -LF:90 -LH:80 -end_of_record -TN: -SF:contracts/modules/licensing/terms/BaseTermsProcessor.sol -FN:37,BaseTermsProcessor.executeTerms -FN:45,BaseTermsProcessor.supportsInterface -FNDA:3,BaseTermsProcessor.supportsInterface -FNDA:4,BaseTermsProcessor.executeTerms -FNF:2 -FNH:2 -DA:38,2 -DA:48,3 -LF:2 -LH:2 -end_of_record -TN: -SF:contracts/modules/licensing/terms/MultiTermsProcessor.sol -FN:30,MultiTermsProcessor._setProcessors -FN:44,MultiTermsProcessor._executeTerms -FN:59,MultiTermsProcessor.supportsInterface -FN:77,MultiTermsProcessor.termsExecutedSuccessfully -FNDA:0,MultiTermsProcessor.supportsInterface -FNDA:0,MultiTermsProcessor._setProcessors -FNDA:0,MultiTermsProcessor._executeTerms -FNDA:0,MultiTermsProcessor.termsExecutedSuccessfully -FNF:4 -FNH:0 -DA:31,0 -DA:32,0 -DA:33,0 -DA:34,0 -DA:35,0 -DA:45,0 -DA:46,0 -DA:47,0 -DA:48,0 -DA:49,0 -DA:50,0 -DA:52,0 -DA:55,0 -DA:62,0 -DA:63,0 -DA:64,0 -DA:65,0 -DA:66,0 -DA:68,0 -DA:71,0 -DA:73,0 -DA:78,0 -DA:79,0 -DA:80,0 -DA:81,0 -DA:82,0 -DA:83,0 -DA:85,0 -DA:88,0 -LF:29 -LH:0 -end_of_record -TN: -SF:contracts/modules/licensing/terms/TimeTermsProcessor.sol -FN:24,TimeTermsProcessor._executeTerms -FN:33,TimeTermsProcessor.termsExecutedSuccessfully -FNDA:2,TimeTermsProcessor._executeTerms -FNDA:19,TimeTermsProcessor.termsExecutedSuccessfully -FNF:2 -FNH:2 -DA:25,2 -DA:26,2 -DA:27,1 -DA:29,2 -DA:34,19 -DA:35,19 -LF:6 -LH:6 -end_of_record -TN: -SF:contracts/modules/relationships/LibIPAssetMask.sol -FN:24,LibIPAssetMask._convertToMask -FN:48,LibIPAssetMask._convertFromMask -FN:63,LibIPAssetMask._supportsIPAssetType -FN:74,LibIPAssetMask._checkRelationshipNode -FNDA:9,LibIPAssetMask._convertFromMask -FNDA:14,LibIPAssetMask._checkRelationshipNode -FNDA:21,LibIPAssetMask._convertToMask -FNDA:28,LibIPAssetMask._supportsIPAssetType -FNF:4 -FNH:4 -DA:25,21 -DA:26,20 -DA:27,20 -DA:28,53 -DA:29,51 -DA:31,51 -DA:34,18 -DA:35,9 -DA:37,18 -DA:49,9 -DA:50,9 -DA:51,9 -DA:52,63 -DA:53,30 -DA:54,30 -DA:57,9 -DA:58,9 -DA:64,28 -DA:75,14 -DA:76,12 -DA:78,2 -DA:80,0 -LF:22 -LH:21 -end_of_record -TN: -SF:contracts/modules/relationships/ProtocolRelationshipModule.sol -FN:19,ProtocolRelationshipModule.initialize -FN:24,ProtocolRelationshipModule.setRelationshipConfig -FN:28,ProtocolRelationshipModule.unsetRelationshipConfig -FN:33,ProtocolRelationshipModule._authorizeUpgrade -FNDA:0,ProtocolRelationshipModule.initialize -FNDA:0,ProtocolRelationshipModule._authorizeUpgrade -FNDA:2,ProtocolRelationshipModule.setRelationshipConfig -FNDA:2,ProtocolRelationshipModule.unsetRelationshipConfig -FNF:4 -FNH:2 -DA:20,0 -DA:25,1 -DA:29,1 -LF:3 -LH:2 -end_of_record -TN: -SF:contracts/modules/relationships/RelationshipModuleBase.sol -FN:66,RelationshipModuleBase.__RelationshipModuleBase_init -FN:70,RelationshipModuleBase._getRelationshipModuleStorage -FN:88,RelationshipModuleBase.relate -FN:110,RelationshipModuleBase._updateEndTime -FN:128,RelationshipModuleBase.unrelate -FN:142,RelationshipModuleBase.areTheyRelated -FN:152,RelationshipModuleBase.isRelationshipExpired -FN:163,RelationshipModuleBase._verifyRelationshipParams -FN:181,RelationshipModuleBase._checkRelationshipNode -FN:188,RelationshipModuleBase.getRelationshipKey -FN:207,RelationshipModuleBase._setRelationshipConfig -FN:230,RelationshipModuleBase._unsetRelationshipConfig -FN:249,RelationshipModuleBase._convertRelParams -FN:264,RelationshipModuleBase.getRelationshipConfig -FN:275,RelationshipModuleBase.getRelationshipConfigDecoded -FN:291,RelationshipModuleBase.getRelationshipId -FN:304,RelationshipModuleBase.convertToMask -FN:315,RelationshipModuleBase.convertFromMask -FN:320,RelationshipModuleBase.supportsIPAssetType -FNDA:40,RelationshipModuleBase._getRelationshipModuleStorage -FNDA:5,RelationshipModuleBase.areTheyRelated -FNDA:1,RelationshipModuleBase.getRelationshipConfigDecoded -FNDA:9,RelationshipModuleBase._verifyRelationshipParams -FNDA:4,RelationshipModuleBase.getRelationshipConfig -FNDA:0,RelationshipModuleBase.isRelationshipExpired -FNDA:1,RelationshipModuleBase.getRelationshipId -FNDA:0,RelationshipModuleBase.convertFromMask -FNDA:3,RelationshipModuleBase._unsetRelationshipConfig -FNDA:4,RelationshipModuleBase._setRelationshipConfig -FNDA:4,RelationshipModuleBase._convertRelParams -FNDA:0,RelationshipModuleBase.__RelationshipModuleBase_init -FNDA:0,RelationshipModuleBase.getRelationshipKey -FNDA:0,RelationshipModuleBase.unrelate -FNDA:0,RelationshipModuleBase.supportsIPAssetType -FNDA:13,RelationshipModuleBase._checkRelationshipNode -FNDA:9,RelationshipModuleBase.relate -FNDA:0,RelationshipModuleBase.convertToMask -FNDA:3,RelationshipModuleBase._updateEndTime -FNF:19 -FNH:12 -DA:67,0 -DA:76,40 -DA:89,9 -DA:90,9 -DA:91,9 -DA:93,3 -DA:94,0 -DA:96,3 -DA:97,3 -DA:98,3 -DA:99,3 -DA:111,3 -DA:112,3 -DA:113,0 -DA:114,0 -DA:115,0 -DA:116,0 -DA:117,0 -DA:120,3 -DA:129,0 -DA:130,0 -DA:131,0 -DA:132,0 -DA:133,0 -DA:134,0 -DA:143,5 -DA:144,5 -DA:153,3 -DA:154,3 -DA:155,3 -DA:164,9 -DA:165,8 -DA:166,6 -DA:167,5 -DA:168,5 -DA:169,4 -DA:182,13 -DA:183,11 -DA:184,11 -DA:189,11 -DA:208,4 -DA:209,4 -DA:210,3 -DA:211,3 -DA:212,3 -DA:223,3 -DA:231,3 -DA:233,3 -DA:234,1 -DA:235,2 -DA:236,2 -DA:250,4 -DA:251,4 -DA:252,4 -DA:253,4 -DA:265,5 -DA:266,5 -DA:276,1 -DA:277,1 -DA:278,1 -DA:279,1 -DA:292,5 -DA:305,0 -DA:316,0 -DA:321,0 -LF:65 -LH:49 -end_of_record -TN: -SF:contracts/modules/relationships/processors/BaseRelationshipProcessor.sol -FN:31,BaseRelationshipProcessor.processRelationship -FN:39,BaseRelationshipProcessor.supportsInterface -FNDA:12,BaseRelationshipProcessor.supportsInterface -FNDA:3,BaseRelationshipProcessor.processRelationship -FNF:2 -FNH:2 -DA:32,3 -DA:33,3 -DA:42,12 -LF:3 -LH:3 -end_of_record -TN: -SF:contracts/modules/relationships/processors/DstOwnerRelationshipProcessor.sol -FN:20,DstOwnerRelationshipProcessor._processRelationship -FNDA:0,DstOwnerRelationshipProcessor._processRelationship -FNF:1 -FNH:0 -DA:21,0 -DA:22,0 -DA:24,0 -LF:3 -LH:0 -end_of_record -TN: -SF:contracts/modules/relationships/processors/PermissionlessRelationshipProcessor.sol -FN:18,PermissionlessRelationshipProcessor._processRelationship -FNDA:3,PermissionlessRelationshipProcessor._processRelationship -FNF:1 -FNH:1 -DA:19,3 -LF:1 -LH:1 -end_of_record -TN: -SF:contracts/modules/relationships/processors/SrcDstOwnerRelationshipProcessor.sol -FN:20,SrcDstOwnerRelationshipProcessor._processRelationship -FNDA:0,SrcDstOwnerRelationshipProcessor._processRelationship -FNF:1 -FNH:0 -DA:22,0 -DA:23,0 -DA:24,0 -DA:26,0 -LF:4 -LH:0 -end_of_record -TN: -SF:contracts/modules/relationships/processors/SrcOwnerRelationshipProcessor.sol -FN:20,SrcOwnerRelationshipProcessor._processRelationship -FNDA:0,SrcOwnerRelationshipProcessor._processRelationship -FNF:1 -FNH:0 -DA:21,0 -DA:22,0 -DA:24,0 -LF:3 -LH:0 -end_of_record -TN: -SF:contracts/modules/relationships/processors/SrcRequestOrDstOwnerRelationshipProcessor.sol -FN:18,SrcRequestOrDstOwnerRelationshipProcessor._processRelationship -FNDA:0,SrcRequestOrDstOwnerRelationshipProcessor._processRelationship -FNF:1 -FNH:0 -DA:19,0 -DA:20,0 -DA:21,0 -DA:23,0 -DA:25,0 -LF:5 -LH:0 -end_of_record -TN: -SF:contracts/modules/royalties/RoyaltyDistributor.sol -FN:25,RoyaltyDistributor.setRoyaltyPolicy -FN:36,RoyaltyDistributor.getRoyaltyPolicy -FN:44,RoyaltyDistributor.updateDistribution -FN:53,RoyaltyDistributor.distribute -FN:58,RoyaltyDistributor.claim -FN:62,RoyaltyDistributor.pause -FN:65,RoyaltyDistributor.unpause -FN:69,RoyaltyDistributor._ipAccount -FN:73,RoyaltyDistributor._authorizeUpgrade -FNDA:8,RoyaltyDistributor.updateDistribution -FNDA:0,RoyaltyDistributor._authorizeUpgrade -FNDA:2,RoyaltyDistributor.distribute -FNDA:0,RoyaltyDistributor.pause -FNDA:2,RoyaltyDistributor.claim -FNDA:0,RoyaltyDistributor.unpause -FNDA:8,RoyaltyDistributor.getRoyaltyPolicy -FNDA:18,RoyaltyDistributor._ipAccount -FNDA:8,RoyaltyDistributor.setRoyaltyPolicy -FNF:9 -FNH:6 -DA:31,8 -DA:32,8 -DA:33,8 -DA:40,8 -DA:41,8 -DA:49,8 -DA:50,8 -DA:54,2 -DA:55,2 -DA:59,2 -DA:63,0 -DA:66,0 -DA:70,18 -LF:13 -LH:11 -end_of_record -TN: -SF:contracts/modules/royalties/RoyaltyNFT.sol -FN:39,RoyaltyNFT.distributeFunds -FN:63,RoyaltyNFT.claim -FN:69,RoyaltyNFT.mint -FN:106,RoyaltyNFT._afterTokenTransfer -FN:128,RoyaltyNFT.uri -FN:145,RoyaltyNFT.percentage -FN:151,RoyaltyNFT.toTokenId -FN:155,RoyaltyNFT._getSum -FN:166,RoyaltyNFT.sort -FNDA:0,RoyaltyNFT.uri -FNDA:2,RoyaltyNFT.distributeFunds -FNDA:18,RoyaltyNFT._afterTokenTransfer -FNDA:6,RoyaltyNFT._getSum -FNDA:6,RoyaltyNFT.mint -FNDA:2,RoyaltyNFT.sort -FNDA:0,RoyaltyNFT.percentage -FNDA:14,RoyaltyNFT.toTokenId -FNDA:2,RoyaltyNFT.claim -FNF:9 -FNH:7 -DA:40,2 -DA:41,2 -DA:42,2 -DA:43,2 -DA:44,2 -DA:45,2 -DA:46,6 -DA:48,6 -DA:51,2 -DA:52,2 -DA:53,2 -DA:64,2 -DA:65,2 -DA:66,2 -DA:70,6 -DA:72,6 -DA:74,6 -DA:75,0 -DA:80,6 -DA:81,0 -DA:84,6 -DA:85,16 -DA:89,6 -DA:90,6 -DA:91,6 -DA:92,6 -DA:93,6 -DA:94,6 -DA:96,6 -DA:114,18 -DA:115,18 -DA:116,18 -DA:117,18 -DA:118,18 -DA:120,0 -DA:121,0 -DA:122,0 -DA:123,0 -DA:129,0 -DA:147,6 -DA:152,28 -DA:156,6 -DA:157,6 -DA:158,16 -DA:161,16 -DA:167,2 -DA:168,2 -DA:169,4 -DA:170,4 -DA:171,8 -DA:172,4 -DA:173,4 -DA:175,4 -LF:53 -LH:46 -end_of_record -TN: -SF:contracts/modules/royalties/RoyaltyNFTFactory.sol -FN:16,RoyaltyNFTFactory.createRoyaltyNft -FNDA:0,RoyaltyNFTFactory.createRoyaltyNft -FNF:1 -FNH:0 -DA:19,0 -DA:20,0 -LF:2 -LH:0 -end_of_record -TN: -SF:contracts/modules/royalties/policies/MutableRoyaltyProportionPolicy.sol -FN:15,MutableRoyaltyProportionPolicy.initPolicy -FN:17,MutableRoyaltyProportionPolicy.updateDistribution -FN:35,MutableRoyaltyProportionPolicy.distribute -FNDA:8,MutableRoyaltyProportionPolicy.updateDistribution -FNDA:8,MutableRoyaltyProportionPolicy.initPolicy -FNDA:2,MutableRoyaltyProportionPolicy.distribute -FNF:3 -FNH:3 -DA:18,8 -DA:19,8 -DA:20,8 -DA:21,6 -DA:23,2 -DA:24,2 -DA:36,2 -LF:7 -LH:7 -end_of_record -TN: -SF:contracts/modules/timing/LibDuration.sol -FN:19,LibDuration.isActive -FN:23,LibDuration.isRenewable -FN:27,LibDuration.renew -FN:35,LibDuration.createRunningTimeConfig -FN:44,LibDuration.createStoppedTimeConfig -FNDA:0,LibDuration.renew -FNDA:0,LibDuration.isRenewable -FNDA:0,LibDuration.createRunningTimeConfig -FNDA:0,LibDuration.createStoppedTimeConfig -FNDA:0,LibDuration.isActive -FNF:5 -FNH:0 -DA:20,0 -DA:24,0 -DA:28,0 -DA:29,0 -DA:30,0 -DA:31,0 -DA:32,0 -DA:36,0 -DA:37,0 -DA:45,0 -DA:46,0 -LF:11 -LH:0 -end_of_record diff --git a/contracts/interfaces/ip-accounts/IERC6551Account.sol b/legacy/contracts/interfaces/ip-accounts/IERC6551Account.sol similarity index 98% rename from contracts/interfaces/ip-accounts/IERC6551Account.sol rename to legacy/contracts/interfaces/ip-accounts/IERC6551Account.sol index 38d706bf..d902ddbd 100644 --- a/contracts/interfaces/ip-accounts/IERC6551Account.sol +++ b/legacy/contracts/interfaces/ip-accounts/IERC6551Account.sol @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: BUSL-1.1 +// SPDX-License-Identifier: MIT pragma solidity ^0.8.13; /// @dev the ERC-165 identifier for this interface is `0x6faff5f1` diff --git a/contracts/interfaces/ip-accounts/IIPAccount.sol b/legacy/contracts/interfaces/ip-accounts/IIPAccount.sol similarity index 94% rename from contracts/interfaces/ip-accounts/IIPAccount.sol rename to legacy/contracts/interfaces/ip-accounts/IIPAccount.sol index 2e00a2aa..7c43ca03 100644 --- a/contracts/interfaces/ip-accounts/IIPAccount.sol +++ b/legacy/contracts/interfaces/ip-accounts/IIPAccount.sol @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: BUSL-1.1 +// SPDX-License-Identifier: MIT pragma solidity ^0.8.13; import { IERC721Receiver } from "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol"; diff --git a/contracts/interfaces/ip-accounts/IIPAccountRegistry.sol b/legacy/contracts/interfaces/ip-accounts/IIPAccountRegistry.sol similarity index 95% rename from contracts/interfaces/ip-accounts/IIPAccountRegistry.sol rename to legacy/contracts/interfaces/ip-accounts/IIPAccountRegistry.sol index 0964fae3..205084b2 100644 --- a/contracts/interfaces/ip-accounts/IIPAccountRegistry.sol +++ b/legacy/contracts/interfaces/ip-accounts/IIPAccountRegistry.sol @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: BUSL-1.1 +// SPDX-License-Identifier: MIT pragma solidity ^0.8.13; interface IIPAccountRegistry { diff --git a/contracts/interfaces/modules/collect/ICollectModule.sol b/legacy/contracts/interfaces/modules/collect/ICollectModule.sol similarity index 95% rename from contracts/interfaces/modules/collect/ICollectModule.sol rename to legacy/contracts/interfaces/modules/collect/ICollectModule.sol index cea6b2af..5f6fc6eb 100644 --- a/contracts/interfaces/modules/collect/ICollectModule.sol +++ b/legacy/contracts/interfaces/modules/collect/ICollectModule.sol @@ -1,11 +1,11 @@ -// SPDX-License-Identifier: BUSL-1.1 +// SPDX-License-Identifier: MIT pragma solidity ^0.8.18; import { Collect } from "contracts/lib/modules/Collect.sol"; /// @title Collect Module Interface /// @notice The collect module enables IP assets to be minted as NFTs mirroring -/// their binding IP assets in a franchise-configurable format. +/// their linking IP assets in a franchise-configurable format. interface ICollectModule { /// @dev Emits when a Collect action is invoked. diff --git a/contracts/interfaces/modules/collect/ICollectNFT.sol b/legacy/contracts/interfaces/modules/collect/ICollectNFT.sol similarity index 97% rename from contracts/interfaces/modules/collect/ICollectNFT.sol rename to legacy/contracts/interfaces/modules/collect/ICollectNFT.sol index 162b9b0e..9771fa8a 100644 --- a/contracts/interfaces/modules/collect/ICollectNFT.sol +++ b/legacy/contracts/interfaces/modules/collect/ICollectNFT.sol @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: BUSL-1.1 +// SPDX-License-Identifier: MIT pragma solidity ^0.8.18; import { IERC721 } from "@openzeppelin/contracts/token/ERC721/IERC721.sol"; diff --git a/contracts/interfaces/modules/collect/ICollectPaymentModule.sol b/legacy/contracts/interfaces/modules/collect/ICollectPaymentModule.sol similarity index 97% rename from contracts/interfaces/modules/collect/ICollectPaymentModule.sol rename to legacy/contracts/interfaces/modules/collect/ICollectPaymentModule.sol index c05dd63f..847e2a76 100644 --- a/contracts/interfaces/modules/collect/ICollectPaymentModule.sol +++ b/legacy/contracts/interfaces/modules/collect/ICollectPaymentModule.sol @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: BUSL-1.1 +// SPDX-License-Identifier: MIT pragma solidity ^0.8.18; import { Collect } from "contracts/lib/modules/Collect.sol"; diff --git a/contracts/interfaces/modules/royalties/IRoyaltyDistributor.sol b/legacy/contracts/interfaces/modules/royalties/IRoyaltyDistributor.sol similarity index 98% rename from contracts/interfaces/modules/royalties/IRoyaltyDistributor.sol rename to legacy/contracts/interfaces/modules/royalties/IRoyaltyDistributor.sol index 847e0051..24d9ffb6 100644 --- a/contracts/interfaces/modules/royalties/IRoyaltyDistributor.sol +++ b/legacy/contracts/interfaces/modules/royalties/IRoyaltyDistributor.sol @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: BUSL-1.1 +// SPDX-License-Identifier: MIT pragma solidity ^0.8.19; /// @title Royalty Module Interface diff --git a/contracts/interfaces/modules/royalties/IRoyaltyPolicy.sol b/legacy/contracts/interfaces/modules/royalties/IRoyaltyPolicy.sol similarity index 96% rename from contracts/interfaces/modules/royalties/IRoyaltyPolicy.sol rename to legacy/contracts/interfaces/modules/royalties/IRoyaltyPolicy.sol index b561d843..77a0a0e9 100644 --- a/contracts/interfaces/modules/royalties/IRoyaltyPolicy.sol +++ b/legacy/contracts/interfaces/modules/royalties/IRoyaltyPolicy.sol @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: BUSL-1.1 +// SPDX-License-Identifier: MIT pragma solidity ^0.8.19; /// @title Royalty Policy Interface @@ -19,4 +19,4 @@ interface IRoyaltyPolicy { /// @param account_ IP Account associated with the policy. /// @param token_ The ERC20 token for royalty. function distribute(address account_, address token_) external; -} \ No newline at end of file +} diff --git a/contracts/interfaces/modules/royalties/ISplitMain.sol b/legacy/contracts/interfaces/modules/royalties/ISplitMain.sol similarity index 96% rename from contracts/interfaces/modules/royalties/ISplitMain.sol rename to legacy/contracts/interfaces/modules/royalties/ISplitMain.sol index 30f344b9..2f13e801 100644 --- a/contracts/interfaces/modules/royalties/ISplitMain.sol +++ b/legacy/contracts/interfaces/modules/royalties/ISplitMain.sol @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: BUSL-1.1 +// SPDX-License-Identifier: MIT pragma solidity ^0.8.17; import { ERC20 } from "solmate/src/tokens/ERC20.sol"; diff --git a/contracts/interfaces/modules/royalties/policies/IRoyaltyPolicy.sol b/legacy/contracts/interfaces/modules/royalties/policies/IRoyaltyPolicy.sol similarity index 96% rename from contracts/interfaces/modules/royalties/policies/IRoyaltyPolicy.sol rename to legacy/contracts/interfaces/modules/royalties/policies/IRoyaltyPolicy.sol index b561d843..77a0a0e9 100644 --- a/contracts/interfaces/modules/royalties/policies/IRoyaltyPolicy.sol +++ b/legacy/contracts/interfaces/modules/royalties/policies/IRoyaltyPolicy.sol @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: BUSL-1.1 +// SPDX-License-Identifier: MIT pragma solidity ^0.8.19; /// @title Royalty Policy Interface @@ -19,4 +19,4 @@ interface IRoyaltyPolicy { /// @param account_ IP Account associated with the policy. /// @param token_ The ERC20 token for royalty. function distribute(address account_, address token_) external; -} \ No newline at end of file +} diff --git a/contracts/ip-accounts/IPAccountImpl.sol b/legacy/contracts/ip-accounts/IPAccountImpl.sol similarity index 96% rename from contracts/ip-accounts/IPAccountImpl.sol rename to legacy/contracts/ip-accounts/IPAccountImpl.sol index d761c244..6c4e42b4 100644 --- a/contracts/ip-accounts/IPAccountImpl.sol +++ b/legacy/contracts/ip-accounts/IPAccountImpl.sol @@ -1,4 +1,5 @@ -// SPDX-License-Identifier: BUSL-1.1 +// SPDX-License-Identifier: UNLICENSED +// See Story Protocol Alpha Agreement: https://github.com/storyprotocol/protocol-contracts/blob/main/StoryProtocol-AlphaTestingAgreement-17942166.3.pdf pragma solidity ^0.8.13; import { IERC1271 } from "@openzeppelin/contracts/interfaces/IERC1271.sol"; diff --git a/contracts/ip-accounts/IPAccountRegistry.sol b/legacy/contracts/ip-accounts/IPAccountRegistry.sol similarity index 96% rename from contracts/ip-accounts/IPAccountRegistry.sol rename to legacy/contracts/ip-accounts/IPAccountRegistry.sol index 98e0c28e..d6a1a029 100644 --- a/contracts/ip-accounts/IPAccountRegistry.sol +++ b/legacy/contracts/ip-accounts/IPAccountRegistry.sol @@ -1,4 +1,5 @@ -// SPDX-License-Identifier: BUSL-1.1 +// SPDX-License-Identifier: UNLICENSED +// See Story Protocol Alpha Agreement: https://github.com/storyprotocol/protocol-contracts/blob/main/StoryProtocol-AlphaTestingAgreement-17942166.3.pdf pragma solidity ^0.8.13; import { Create2 } from "@openzeppelin/contracts/utils/Create2.sol"; diff --git a/contracts/modules/collect/CollectModuleBase.sol b/legacy/contracts/modules/collect/CollectModuleBase.sol similarity index 95% rename from contracts/modules/collect/CollectModuleBase.sol rename to legacy/contracts/modules/collect/CollectModuleBase.sol index d9ec55c3..3a7b306e 100644 --- a/contracts/modules/collect/CollectModuleBase.sol +++ b/legacy/contracts/modules/collect/CollectModuleBase.sol @@ -1,4 +1,5 @@ -// SPDX-License-Identifier: BUSL-1.1 +// SPDX-License-Identifier: UNLICENSED +// See Story Protocol Alpha Agreement: https://github.com/storyprotocol/protocol-contracts/blob/main/StoryProtocol-AlphaTestingAgreement-17942166.3.pdf pragma solidity ^0.8.18; import { Clones } from '@openzeppelin/contracts/proxy/Clones.sol'; @@ -11,15 +12,15 @@ import { ICollectNFT } from "contracts/interfaces/modules/collect/ICollectNFT.so import { AccessControlledUpgradeable } from "contracts/access-control/AccessControlledUpgradeable.sol"; import { Collect } from "contracts/lib/modules/Collect.sol"; import { Errors } from "contracts/lib/Errors.sol"; -import { IPAssetOrgFactory } from "contracts/IPAssetOrgFactory.sol"; -import { IIPAssetOrg } from "contracts/interfaces/ip-assets/IIPAssetOrg.sol"; +import { IPOrgController } from "contracts/ip-org/IPOrgController.sol"; +import { IIPOrg } from "contracts/interfaces/ip-org/IIPOrg.sol"; import { IPAssetRegistry } from "contracts/IPAssetRegistry.sol"; /// @title Collect Module Base Implementation /// @notice This is the Story Protocol base collect module that SHOULD be /// extended when creating collect modules for franchise IP assets. -/// A collect module allows users to bind enrolled IP assets to NFTs +/// A collect module allows users to link enrolled IP assets to NFTs /// that may be minted according to franchise configured collect rules. /// TODO: Add ipAssetOrg-wide module settings (currently it is granular at the individual IP asset level). abstract contract CollectModuleBase is AccessControlledUpgradeable, ICollectModule { diff --git a/contracts/modules/collect/CollectPaymentModuleBase.sol b/legacy/contracts/modules/collect/CollectPaymentModuleBase.sol similarity index 97% rename from contracts/modules/collect/CollectPaymentModuleBase.sol rename to legacy/contracts/modules/collect/CollectPaymentModuleBase.sol index 0e3c8e51..87cf3bf5 100644 --- a/contracts/modules/collect/CollectPaymentModuleBase.sol +++ b/legacy/contracts/modules/collect/CollectPaymentModuleBase.sol @@ -1,4 +1,5 @@ -// SPDX-License-Identifier: BUSL-1.1 +// SPDX-License-Identifier: UNLICENSED +// See Story Protocol Alpha Agreement: https://github.com/storyprotocol/protocol-contracts/blob/main/StoryProtocol-AlphaTestingAgreement-17942166.3.pdf pragma solidity ^0.8.18; import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; @@ -11,7 +12,7 @@ import { Errors } from "contracts/lib/Errors.sol"; /// @title Collect Payment Module Base /// @notice This is the Story Protocol base payment collect module, which allows -/// binding enrolled IP assets to NFTs that can be minted for a specific +/// linking enrolled IP assets to NFTs that can be minted for a specific /// fee according to registry configured payment rules. /// TODO: Add IP Asset Collection wide collect payment module settings. abstract contract CollectPaymentModuleBase is CollectModuleBase, ICollectPaymentModule { diff --git a/contracts/modules/collect/SimpleCollectModule.sol b/legacy/contracts/modules/collect/SimpleCollectModule.sol similarity index 79% rename from contracts/modules/collect/SimpleCollectModule.sol rename to legacy/contracts/modules/collect/SimpleCollectModule.sol index 4227eb6b..8611f27a 100644 --- a/contracts/modules/collect/SimpleCollectModule.sol +++ b/legacy/contracts/modules/collect/SimpleCollectModule.sol @@ -1,4 +1,5 @@ -// SPDX-License-Identifier: BUSL-1.1 +// SPDX-License-Identifier: UNLICENSED +// See Story Protocol Alpha Agreement: https://github.com/storyprotocol/protocol-contracts/blob/main/StoryProtocol-AlphaTestingAgreement-17942166.3.pdf pragma solidity ^0.8.18; import { IERC721 } from "@openzeppelin/contracts/token/ERC721/IERC721.sol"; @@ -6,7 +7,7 @@ import { AccessControl } from "contracts/lib/AccessControl.sol"; import { CollectModuleBase } from "contracts/modules/collect/CollectModuleBase.sol"; /// @title Simple Collect Module -/// @notice This simple collect module binds IP assets to mintable NFTs. +/// @notice This simple collect module links IP assets to mintable NFTs. contract SimpleCollectModule is CollectModuleBase { /// @notice Initializes a mock collect module. @@ -25,7 +26,7 @@ contract SimpleCollectModule is CollectModuleBase { function _authorizeUpgrade(address newImplementation_) internal override onlyRole(AccessControl.UPGRADER_ROLE) {} /// @dev Checks whether the collect action is authorized for an IP asset. - function _isCollectAuthorized(uint256 ipAssetId_) internal override returns (bool) { + function _isCollectAuthorized(uint256 ipAssetId_) internal view override returns (bool) { address ipAssetOrg = REGISTRY.ipAssetOrg(ipAssetId_); return msg.sender == ipAssetOrg; } diff --git a/contracts/modules/collect/nft/CollectNFTBase.sol b/legacy/contracts/modules/collect/nft/CollectNFTBase.sol similarity index 92% rename from contracts/modules/collect/nft/CollectNFTBase.sol rename to legacy/contracts/modules/collect/nft/CollectNFTBase.sol index 88ba3b69..dbe8e20c 100644 --- a/contracts/modules/collect/nft/CollectNFTBase.sol +++ b/legacy/contracts/modules/collect/nft/CollectNFTBase.sol @@ -1,9 +1,10 @@ -// SPDX-License-Identifier: BUSL-1.1 +// SPDX-License-Identifier: UNLICENSED +// See Story Protocol Alpha Agreement: https://github.com/storyprotocol/protocol-contracts/blob/main/StoryProtocol-AlphaTestingAgreement-17942166.3.pdf pragma solidity ^0.8.18; import { ICollectModule } from "contracts/interfaces/modules/collect/ICollectModule.sol"; import { ICollectNFT } from "contracts/interfaces/modules/collect/ICollectNFT.sol"; -import { IIPAssetOrg } from "contracts/interfaces/ip-assets/IIPAssetOrg.sol"; +import { IIPOrg } from "contracts/interfaces/ip-org/IIPOrg.sol"; import { IPAssetRegistry } from "contracts/IPAssetRegistry.sol"; import { Collect } from "contracts/lib/modules/Collect.sol"; @@ -21,7 +22,7 @@ abstract contract CollectNFTBase is ERC721, ICollectNFT { ICollectModule public collectModule; // The franchise registry that the IP asset is registered under. - IIPAssetOrg public ipAssetOrg; + IIPOrg public ipAssetOrg; // The registry of the IP Assets. IPAssetRegistry public registry; @@ -59,7 +60,7 @@ abstract contract CollectNFTBase is ERC721, ICollectNFT { _initialized = true; collectModule = ICollectModule(msg.sender); - ipAssetOrg = IIPAssetOrg(initParams_.ipAssetOrg); + ipAssetOrg = IIPOrg(initParams_.ipAssetOrg); ipAssetId = initParams_.ipAssetId; registry = IPAssetRegistry(initParams_.registry); diff --git a/contracts/modules/collect/nft/ERC721.sol b/legacy/contracts/modules/collect/nft/ERC721.sol similarity index 97% rename from contracts/modules/collect/nft/ERC721.sol rename to legacy/contracts/modules/collect/nft/ERC721.sol index edc0e838..173521cd 100644 --- a/contracts/modules/collect/nft/ERC721.sol +++ b/legacy/contracts/modules/collect/nft/ERC721.sol @@ -1,4 +1,5 @@ -// SPDX-License-Identifier: BUSL-1.1 +// SPDX-License-Identifier: UNLICENSED +// See Story Protocol Alpha Agreement: https://github.com/storyprotocol/protocol-contracts/blob/main/StoryProtocol-AlphaTestingAgreement-17942166.3.pdf pragma solidity ^0.8.18; import { IERC165 } from "@openzeppelin/contracts/utils/introspection/IERC165.sol"; diff --git a/contracts/modules/royalties/RoyaltyDistributor.sol b/legacy/contracts/modules/royalties/RoyaltyDistributor.sol similarity index 93% rename from contracts/modules/royalties/RoyaltyDistributor.sol rename to legacy/contracts/modules/royalties/RoyaltyDistributor.sol index 45ed7587..a5bd9043 100644 --- a/contracts/modules/royalties/RoyaltyDistributor.sol +++ b/legacy/contracts/modules/royalties/RoyaltyDistributor.sol @@ -1,4 +1,5 @@ -// SPDX-License-Identifier: BUSL-1.1 +// SPDX-License-Identifier: UNLICENSED +// See Story Protocol Alpha Agreement: https://github.com/storyprotocol/protocol-contracts/blob/main/StoryProtocol-AlphaTestingAgreement-17942166.3.pdf pragma solidity ^0.8.19; import { IRoyaltyDistributor } from "contracts/interfaces/modules/royalties/IRoyaltyDistributor.sol"; diff --git a/contracts/modules/royalties/RoyaltyNFT.sol b/legacy/contracts/modules/royalties/RoyaltyNFT.sol similarity index 97% rename from contracts/modules/royalties/RoyaltyNFT.sol rename to legacy/contracts/modules/royalties/RoyaltyNFT.sol index 295a5778..58fe6a92 100644 --- a/contracts/modules/royalties/RoyaltyNFT.sol +++ b/legacy/contracts/modules/royalties/RoyaltyNFT.sol @@ -1,4 +1,5 @@ -// SPDX-License-Identifier: BUSL-1.1 +// SPDX-License-Identifier: UNLICENSED +// See Story Protocol Alpha Agreement: https://github.com/storyprotocol/protocol-contracts/blob/main/StoryProtocol-AlphaTestingAgreement-17942166.3.pdf pragma solidity ^0.8.19; import { Strings } from "@openzeppelin/contracts/utils/Strings.sol"; diff --git a/contracts/modules/royalties/RoyaltyNFTFactory.sol b/legacy/contracts/modules/royalties/RoyaltyNFTFactory.sol similarity index 75% rename from contracts/modules/royalties/RoyaltyNFTFactory.sol rename to legacy/contracts/modules/royalties/RoyaltyNFTFactory.sol index 8d359e25..0a72a2e4 100644 --- a/contracts/modules/royalties/RoyaltyNFTFactory.sol +++ b/legacy/contracts/modules/royalties/RoyaltyNFTFactory.sol @@ -1,4 +1,5 @@ -// SPDX-License-Identifier: BUSL-1.1 +// SPDX-License-Identifier: UNLICENSED +// See Story Protocol Alpha Agreement: https://github.com/storyprotocol/protocol-contracts/blob/main/StoryProtocol-AlphaTestingAgreement-17942166.3.pdf pragma solidity ^0.8.19; import { RoyaltyNFT } from "./RoyaltyNFT.sol"; diff --git a/contracts/modules/royalties/policies/MutableRoyaltyProportionPolicy.sol b/legacy/contracts/modules/royalties/policies/MutableRoyaltyProportionPolicy.sol similarity index 88% rename from contracts/modules/royalties/policies/MutableRoyaltyProportionPolicy.sol rename to legacy/contracts/modules/royalties/policies/MutableRoyaltyProportionPolicy.sol index 402105ce..bd3623b7 100644 --- a/contracts/modules/royalties/policies/MutableRoyaltyProportionPolicy.sol +++ b/legacy/contracts/modules/royalties/policies/MutableRoyaltyProportionPolicy.sol @@ -1,4 +1,5 @@ -// SPDX-License-Identifier: BUSL-1.1 +// SPDX-License-Identifier: UNLICENSED +// See Story Protocol Alpha Agreement: https://github.com/storyprotocol/protocol-contracts/blob/main/StoryProtocol-AlphaTestingAgreement-17942166.3.pdf pragma solidity ^0.8.19; import { IRoyaltyPolicy } from "contracts/interfaces/modules/royalties/policies/IRoyaltyPolicy.sol"; diff --git a/test/foundry/IPAccount.t.sol b/legacy/test/foundry/IPAccount.t.sol similarity index 100% rename from test/foundry/IPAccount.t.sol rename to legacy/test/foundry/IPAccount.t.sol diff --git a/test/foundry/IPAccountRegistry.t.sol b/legacy/test/foundry/IPAccountRegistry.t.sol similarity index 97% rename from test/foundry/IPAccountRegistry.t.sol rename to legacy/test/foundry/IPAccountRegistry.t.sol index c773693a..a7f7e683 100644 --- a/test/foundry/IPAccountRegistry.t.sol +++ b/legacy/test/foundry/IPAccountRegistry.t.sol @@ -5,7 +5,7 @@ import "forge-std/Test.sol"; import { Errors } from "contracts/lib/Errors.sol"; import "contracts/ip-accounts/IPAccountRegistry.sol"; -import "test/foundry/mocks/MockIPAccount.sol"; +import "mvp/test/foundry/mocks/MockIPAccount.sol"; contract RegistryTest is Test { IPAccountRegistry public registry; diff --git a/test/foundry/RoyaltyDistributor.t.sol b/legacy/test/foundry/RoyaltyDistributor.t.sol similarity index 98% rename from test/foundry/RoyaltyDistributor.t.sol rename to legacy/test/foundry/RoyaltyDistributor.t.sol index d69170dc..988dc9e0 100644 --- a/test/foundry/RoyaltyDistributor.t.sol +++ b/legacy/test/foundry/RoyaltyDistributor.t.sol @@ -4,13 +4,13 @@ pragma solidity ^0.8.13; import "forge-std/Test.sol"; import "contracts/ip-accounts/IPAccountRegistry.sol"; -import "test/foundry/mocks/MockIPAccount.sol"; +import "mvp/test/foundry/mocks/MockIPAccount.sol"; import "contracts/modules/royalties/RoyaltyDistributor.sol"; import "contracts/modules/royalties/RoyaltyNFT.sol"; import "contracts/interfaces/modules/royalties/ISplitMain.sol"; import "./mocks/MockSplitMain.sol"; import "./mocks/MockERC20.sol"; -import "test/foundry/mocks/MockSplitMain.sol"; +import "./mocks/MockSplitMain.sol"; import "contracts/modules/royalties/policies/MutableRoyaltyProportionPolicy.sol"; import "contracts/modules/royalties/RoyaltyNFTFactory.sol"; diff --git a/test/foundry/RoyaltyDistributorFork.t.sol b/legacy/test/foundry/RoyaltyDistributorFork.t.sol similarity index 93% rename from test/foundry/RoyaltyDistributorFork.t.sol rename to legacy/test/foundry/RoyaltyDistributorFork.t.sol index 6ec2b6ad..546d9873 100644 --- a/test/foundry/RoyaltyDistributorFork.t.sol +++ b/legacy/test/foundry/RoyaltyDistributorFork.t.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: BUSDL-1.1 pragma solidity ^0.8.13; -import "test/foundry/RoyaltyDistributor.t.sol"; +import "mvp/test/foundry/RoyaltyDistributor.t.sol"; contract RoyaltyDistributorForkTest is RoyaltyDistributorTest { function _getSplitMain() internal virtual override returns(ISplitMain) { diff --git a/legacy/test/foundry/_old_modules/collect/BaseCollectModuleTest.sol b/legacy/test/foundry/_old_modules/collect/BaseCollectModuleTest.sol new file mode 100644 index 00000000..fdc00534 --- /dev/null +++ b/legacy/test/foundry/_old_modules/collect/BaseCollectModuleTest.sol @@ -0,0 +1,166 @@ +// SPDX-License-Identifier: UNLICENSED +// See Story Protocol Alpha Agreement: https://github.com/storyprotocol/protocol-contracts/blob/main/StoryProtocol-AlphaTestingAgreement-17942166.3.pdf +pragma solidity ^0.8.18; + +import { ICollectModule } from "contracts/interfaces/modules/collect/ICollectModule.sol"; +import { ICollectNFT } from "contracts/interfaces/modules/collect/ICollectNFT.sol"; + +import { BaseTestUtils } from "test/foundry/utils/BaseTestUtils.sol"; +import { BaseTest } from "test/foundry/utils/BaseTest.sol"; +import { CollectNFTBaseTest } from "./nft/CollectNFTBase.t.sol"; +import { MockCollectModule } from "mvp/test/foundry/mocks/MockCollectModule.sol"; +import { MockCollectNFT } from "mvp/test/foundry/mocks/MockCollectNFT.sol"; + +import { IPAsset } from "contracts/lib/IPAsset.sol"; +import { Collect } from "contracts/lib/modules/Collect.sol"; +import { Errors } from "contracts/lib/Errors.sol"; + +/// @title Collect Module Base ERC-721 Testing Utility Contract +/// @notice Provides a set of reusable tests for ERC-721 implementations. +contract BaseCollectModuleTest is BaseTest { + + // TODO: Currently, when compiling with 0.8.21, there is a known ICE bug that prevents us from emitting from the interface directly e.g. via ICollectModule.Collected - these two should be refactored in favor of emitting through the interface once we officially migrate to 0.8.22. + // See: https://github.com/ethereum/solidity/issues/14430 + event Collected( + uint256 indexed ipAssetId_, + address indexed collector_, + address collectNft_, + uint256 collectNftId_, + bytes collectData_, + bytes collectNftData_ + ); + + // TODO: Refactor once we migrate to compiling via 0.8.22 as explained above. + event NewCollectNFT( + uint256 indexed ipAssetId_, + address collectNFT_ + ); + + // In the base collect module, an IP asset configured with a zero address + // collect NFT impl means that the module-wide default should be used. + address public constant DEFAULT_COLLECT_NFT_IMPL_CONFIG = address(0); + + // Id of IP asset which may differ per test based on testing constraints. + uint256 ipAssetId; + address payable collector; + + /// @notice Modifier that creates an IP asset for testing. + /// @param ipAssetOwner The owner address for the new IP asset. + /// @param ipAssetType The type of the IP asset being created. + modifier createIpAsset(address ipAssetOwner, uint8 ipAssetType) virtual { + (ipAssetId, ) = _createIpAsset(ipAssetOwner, ipAssetType, ""); + _; + } + + /// @notice Sets up the base collect module for running tests. + function setUp() public virtual override(BaseTest) { + super.setUp(); + collector = cal; + } + + + /// @notice Tests whether collect reverts if the IP asset being collected from does not exist. + // function test_CollectModuleCollectNonExistentIPAssetReverts(uint256 nonExistentipAssetId, uint8 ipAssetType) createIpAsset(collector, ipAssetType) public virtual { + // vm.assume(nonExistentipAssetId != ipAssetId); + // vm.expectRevert(Errors.CollectModule_IPAssetNonExistent.selector); + // _collect(nonExistentipAssetId); + // } + + // /// @notice Tests that collects with the module-default collect NFT succeed. + // function test_CollectModuleCollectDefaultCollectNFT(uint8 ipAssetType) createIpAsset(collector, ipAssetType) public { + // assertEq(collectModule.getCollectNFT(ipAssetId), address(0)); + // vm.expectEmit(true, true, false, false, address(collectModule)); + // emit NewCollectNFT( + // ipAssetId, + // defaultCollectNftImpl + // ); + // vm.expectEmit(true, true, true, false, address(collectModule)); + // emit Collected( + // ipAssetId, + // collector, + // defaultCollectNftImpl, + // 0, + // "", + // "" + // ); + // (address collectNft, uint256 collectNftId) = _collect(ipAssetId); + // assertEq(collectModule.getCollectNFT(ipAssetId), collectNft); + // assertTrue(ICollectNFT(collectNft).ownerOf(collectNftId) == cal); + // assertEq(collectModule.getCollectNFT(ipAssetId), collectNft); + // } + + // /// @notice Tests that collects with customized collect NFTs succeed. + // function test_CollectModuleCollectCustomCollectNFT(uint8 ipAssetType) public createIpAsset(collector, ipAssetType) { + // assertEq(collectModule.getCollectNFT(ipAssetId), address(0)); + // vm.expectEmit(true, true, false, false, address(collectModule)); + // emit NewCollectNFT( + // ipAssetId, + // defaultCollectNftImpl + // ); + // vm.expectEmit(true, true, true, false, address(collectModule)); + // emit Collected( + // ipAssetId, + // collector, + // defaultCollectNftImpl, + // 0, + // "", + // "" + // ); + // (address collectNft, uint256 collectNftId) = _collect(ipAssetId); + // assertEq(collectModule.getCollectNFT(ipAssetId), collectNft); + // assertTrue(ICollectNFT(collectNft).ownerOf(collectNftId) == cal); + // } + + // /// @notice Tests expected behavior of the collect module constructor. + // function test_CollectModuleConstructor() public { + // MockCollectModule mockCollectModule = new MockCollectModule(address(registry), defaultCollectNftImpl); + // assertEq(address(mockCollectModule.REGISTRY()), address(registry)); + // } + + // /// @notice Tests expected behavior of collect module initialization. + // function test_CollectModuleInit() public { + // assertEq(address(0), collectModule.getCollectNFT(ipAssetId)); + // } + + // /// @notice Tests collect module reverts on unauthorized calls. + // function test_CollectModuleInitCollectInvalidCallerReverts(uint256 nonExistentIPOrgId, uint8 ipAssetType) public createIpAsset(collector, ipAssetType) { + // vm.expectRevert(Errors.CollectModule_CallerUnauthorized.selector); + // vm.prank(address(this)); + // collectModule.initCollect(Collect.InitCollectParams({ + // ipAssetId: ipAssetId, + // collectNftImpl: defaultCollectNftImpl, + // data: "" + // })); + // } + + // /// @notice Tests collect module reverts on duplicate initialization. + // function test_CollectModuleDuplicateInitReverts(uint8 ipAssetType) createIpAsset(collector, ipAssetType) public { + // vm.expectRevert(Errors.CollectModule_IPAssetAlreadyInitialized.selector); + // vm.prank(address(ipOrg)); + // _initCollectModule(defaultCollectNftImpl); + // } + + /// @dev Helper function that initializes a collect module. + /// @param collectNftImpl Collect NFT impl address used for collecting. + function _initCollectModule( address collectNftImpl) internal virtual { + collectModule.initCollect(Collect.InitCollectParams({ + ipAssetId: ipAssetId, + collectNftImpl: collectNftImpl, + data: "" + })); + } + + /// @dev Helper function that performs collect module collection. + /// @param ipAssetId_ The id of the IP asset being collected. + function _collect(uint256 ipAssetId_) internal virtual returns (address, uint256) { + vm.prank(address(ipOrg)); + return collectModule.collect(Collect.CollectParams({ + ipAssetId: ipAssetId_, + collector: collector, + collectData: "", + collectNftInitData: "", + collectNftData: "" + })); + } + +} diff --git a/legacy/test/foundry/_old_modules/collect/CollectPaymentModuleBase.t.sol b/legacy/test/foundry/_old_modules/collect/CollectPaymentModuleBase.t.sol new file mode 100644 index 00000000..f41d0ead --- /dev/null +++ b/legacy/test/foundry/_old_modules/collect/CollectPaymentModuleBase.t.sol @@ -0,0 +1,429 @@ +// SPDX-License-Identifier: UNLICENSED +// See Story Protocol Alpha Agreement: https://github.com/storyprotocol/protocol-contracts/blob/main/StoryProtocol-AlphaTestingAgreement-17942166.3.pdf +pragma solidity ^0.8.18; + +import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; + +import { ICollectModule } from "contracts/interfaces/modules/collect/ICollectModule.sol"; +import { ICollectPaymentModule } from "contracts/interfaces/modules/collect/ICollectPaymentModule.sol"; +import { ICollectNFT } from "contracts/interfaces/modules/collect/ICollectNFT.sol"; + +import { BaseCollectModuleTest } from "./BaseCollectModuleTest.sol"; +import { BaseTest } from "test/foundry/utils/BaseTest.sol"; +import { MockCollectPaymentModule } from "mvp/test/foundry/mocks/MockCollectPaymentModule.sol"; +import { MockNativeTokenNonReceiver } from "test/foundry/mocks/MockNativeTokenNonReceiver.sol"; +import { MockThrowingERC20 } from "test/foundry/mocks/MockThrowingERC20.sol"; +import { MockCollectNFT } from "mvp/test/foundry/mocks/MockCollectNFT.sol"; +import { MockERC20 } from "test/foundry/mocks/MockERC20.sol"; +import { MockWETH } from "test/foundry/mocks/MockWETH.sol"; + +import { Collect } from "contracts/lib/modules/Collect.sol"; +import { Errors } from "contracts/lib/Errors.sol"; + +/// @title Collect Payment Module Base Testing Contract +/// @notice Tests all functionality provided by the base payment collect module. +contract CollectPaymentModuleBaseTest is BaseCollectModuleTest { + + ICollectPaymentModule collectPaymentModule; + + MockERC20 public erc20; + MockWETH public weth; + + address paymentToken; + Collect.PaymentType paymentType; + uint256 paymentAmount; + address payable paymentRecipient; + Collect.CollectPaymentInfo paymentInfo; + Collect.CollectPaymentParams paymentParams; + + // Used for mocking suites of tests involving payment infos and params. + CollectPaymentSet[] paymentSets; + + struct CollectPaymentSet { + Collect.CollectPaymentInfo info; + Collect.CollectPaymentParams params; + } + + /// @notice Parameterizes payment inputs and outputs for multiple test runs. + modifier parameterizePaymentInfo(CollectPaymentSet[] memory paymentInfoSuite) { + uint256 length = paymentInfoSuite.length; + for (uint256 i = 0; i < length; ) { + paymentInfo = paymentInfoSuite[i].info; + paymentParams = paymentInfoSuite[i].params; + (ipAssetId, ) = _createIpAsset(alice, 1, abi.encode(paymentInfo)); + _; + i += 1; + } + } + + /// @notice Modifier that creates an IP asset for normal collect testing, + /// using the latest generated payment struct for collect encoding. + /// @param ipAssetOwner The owner address for the new IP asset. + /// @param ipAssetType The type of the IP asset being created. + modifier createIpAsset(address ipAssetOwner, uint8 ipAssetType) override { + (ipAssetId, ) = _createIpAsset(ipAssetOwner, ipAssetType, abi.encode(paymentInfo)); + _; + } + + /// @notice Sets up testing for the base collect payment module. + function setUp() public virtual override(BaseCollectModuleTest) { + super.setUp(); + paymentToken = address(0); + paymentType = Collect.PaymentType.NATIVE; + paymentAmount = 1 ether; + paymentRecipient = alice; + collector = cal; + vm.deal(collector, 999 ether); + paymentInfo = Collect.CollectPaymentInfo({ + paymentToken: paymentToken, + paymentType: paymentType, + paymentAmount: paymentAmount, + paymentRecipient: paymentRecipient + }); + paymentParams = Collect.CollectPaymentParams({ + paymentToken: paymentToken, + paymentType: paymentType, + paymentAmount: paymentAmount + }); + erc20 = new MockERC20("Story Protocol Mock Token", "SP", 18); + vm.startPrank(collector); + erc20.mint(999999); + erc20.approve(address(collectPaymentModule), type(uint256).max); + weth = new MockWETH(); + weth.mint(999999); + weth.approve(address(collectPaymentModule), type(uint256).max); + vm.stopPrank(); + } + + // /// @notice Tests that the collect payment module is correctly initialized. + // function test_CollectPaymentModuleInit() public parameterizePaymentInfo(paymentSuite()) { + // Collect.CollectPaymentInfo memory p = collectPaymentModule.getPaymentInfo(ipAssetId); + // assertEq(p.paymentToken, paymentInfo.paymentToken); + // assertEq(uint8(p.paymentType), uint8(paymentInfo.paymentType)); + // assertEq(p.paymentAmount, paymentInfo.paymentAmount); + // assertEq(p.paymentRecipient, paymentInfo.paymentRecipient); + // } + + // /// @notice Tests that native payments with no sent funds revert. + // function test_CollectPaymentModuleZeroPaymentReverts() public { + // paymentInfo = Collect.CollectPaymentInfo(address(0), Collect.PaymentType.NATIVE, 0 ether, alice); + // vm.expectRevert(Errors.CollectPaymentModule_AmountInvalid.selector); + // _createIpAsset(collector, 1, abi.encode(paymentInfo)); + // } + + // /// @notice Tests that payments with invalid settings revert. + // function test_CollectPaymentModuleInvalidSettingsReverts() public { + // paymentInfo = Collect.CollectPaymentInfo(address(erc20), Collect.PaymentType.NATIVE, 1 ether, alice); + // vm.expectRevert(Errors.CollectPaymentModule_InvalidSettings.selector); + // _createIpAsset(collector, 1, abi.encode(paymentInfo)); + // } + + // /// @notice Tests that payments with invalid tokens revert. + // function test_CollectPaymentModuleInvalidTokenReverts() public { + // paymentInfo = Collect.CollectPaymentInfo(bob, Collect.PaymentType.ERC20, 1 ether, alice); + // vm.expectRevert(Errors.CollectPaymentModule_TokenInvalid.selector); + // _createIpAsset(collector, 1, abi.encode(paymentInfo)); + // } + + // /// @notice Tests that native payments work as expected. + // function test_CollectPaymentModuleNativeCollect() public parameterizePaymentInfo(paymentSuiteNative()) { + // uint256 recipientStartingBalance = paymentRecipient.balance; + // uint256 collectorStartingBalance = collector.balance; + // paymentAmount = paymentParams.paymentAmount; + // _collect(ipAssetId); + // assertEq(collector.balance, collectorStartingBalance - paymentAmount); + // assertEq(paymentRecipient.balance, recipientStartingBalance + paymentAmount); + // } + + // /// @notice Tests that native payments that fail revert. + // function test_CollectPaymentModuleNativeTransferFailReverts() public { + // address payable throwingReceiver = payable(address(new MockNativeTokenNonReceiver())); + + // paymentInfo = Collect.CollectPaymentInfo({ + // paymentToken: address(0), + // paymentType: Collect.PaymentType.NATIVE, + // paymentAmount: 10, + // paymentRecipient: throwingReceiver + // }); + // paymentParams = Collect.CollectPaymentParams({ + // paymentToken: address(0), + // paymentType: Collect.PaymentType.NATIVE, + // paymentAmount: 10 + // }); + // ipAssetId = _createIpAsset(collector, 1, abi.encode(paymentInfo)); + + // vm.prank(collector); + // vm.expectRevert(Errors.CollectPaymentModule_NativeTransferFailed.selector); + // collectModule.collect{value: 10}(Collect.CollectParams({ + // ipAssetId: ipAssetId, + // collector: collector, + // collectData: abi.encode(paymentParams), + // collectNftInitData: "", + // collectNftData: "" + // })); + // } + + // /// @notice Tests that payments with invalid parameters revert. + // function test_CollectPaymentModuleInvalidPaymentParamsReverts() public { + // paymentInfo = Collect.CollectPaymentInfo({ + // paymentToken: address(erc20), + // paymentType: Collect.PaymentType.ERC20, + // paymentAmount: 10, + // paymentRecipient: paymentRecipient + // }); + // paymentParams = Collect.CollectPaymentParams({ + // paymentToken: address(erc20), + // paymentType: Collect.PaymentType.ERC20, + // paymentAmount: 1 + // }); + // ipAssetId = _createIpAsset(collector, 1, abi.encode(paymentInfo)); + // vm.expectRevert(Errors.CollectPaymentModule_PaymentParamsInvalid.selector); + // _collect(ipAssetId); + // } + + // /// @notice Tests that ERC20 payments with failing transfers revert. + // function test_CollectPaymentModuleERC20TransferFailReverts() public { + // MockThrowingERC20 throwingERC20 = new MockThrowingERC20("Story Protocol Mock Token", "SP", 18, MockThrowingERC20.TransferBehavior.Fail); + // vm.prank(collector); + // throwingERC20.mint(999999); + // paymentInfo = Collect.CollectPaymentInfo({ + // paymentToken: address(throwingERC20), + // paymentType: Collect.PaymentType.ERC20, + // paymentAmount: 10, + // paymentRecipient: paymentRecipient + // }); + // paymentParams = Collect.CollectPaymentParams({ + // paymentToken: address(throwingERC20), + // paymentType: Collect.PaymentType.ERC20, + // paymentAmount: 10 + // }); + // ipAssetId = _createIpAsset(collector, 1, abi.encode(paymentInfo)); + // vm.expectRevert(Errors.CollectPaymentModule_ERC20TransferFailed.selector); + // _collect(ipAssetId); + // } + + // /// @notice Tests that ERC20 payments with invalid payments revert. + // function test_CollectPaymentModuleERC20InvalidPaymentReverts() public { + // paymentInfo = Collect.CollectPaymentInfo({ + // paymentToken: address(erc20), + // paymentType: Collect.PaymentType.ERC20, + // paymentAmount: 10, + // paymentRecipient: paymentRecipient + // }); + // paymentParams = Collect.CollectPaymentParams({ + // paymentToken: address(erc20), + // paymentType: Collect.PaymentType.ERC20, + // paymentAmount: 10 + // }); + // ipAssetId = _createIpAsset(collector, 1, abi.encode(paymentInfo)); + // vm.expectRevert(Errors.CollectPaymentModule_NativeTokenNotAllowed.selector); + // collectModule.collect{value: 10}(Collect.CollectParams({ + // ipAssetId: ipAssetId, + // collector: collector, + // collectData: abi.encode(paymentParams), + // collectNftInitData: "", + // collectNftData: "" + // })); + // } + + // /// @notice Tests that ERC20 payments with insufficient funds revert. + // function test_CollectPaymentModuleERC20InsufficientFundsReverts() public { + // paymentInfo = Collect.CollectPaymentInfo({ + // paymentToken: address(erc20), + // paymentType: Collect.PaymentType.ERC20, + // paymentAmount: 9999999, + // paymentRecipient: paymentRecipient + // }); + // paymentParams = Collect.CollectPaymentParams({ + // paymentToken: address(erc20), + // paymentType: Collect.PaymentType.ERC20, + // paymentAmount: 9999999 + // }); + // ipAssetId = _createIpAsset(collector, 1, abi.encode(paymentInfo)); + // vm.expectRevert(Errors.CollectPaymentModule_PaymentInsufficient.selector); + // _collect(ipAssetId); + + // } + + // /// @notice Tests that ERC20 payments with invalid ABI encoding revert. + // function test_CollectPaymentModuleERC20TransferInvalidABIReverts() public { + // MockThrowingERC20 throwingERC20 = new MockThrowingERC20("Story Protocol Mock Token", "SP", 18, MockThrowingERC20.TransferBehavior.ReturnInvalidABI); + // vm.prank(collector); + // throwingERC20.mint(999999); + // paymentInfo = Collect.CollectPaymentInfo({ + // paymentToken: address(throwingERC20), + // paymentType: Collect.PaymentType.ERC20, + // paymentAmount: 10, + // paymentRecipient: paymentRecipient + // }); + // paymentParams = Collect.CollectPaymentParams({ + // paymentToken: address(throwingERC20), + // paymentType: Collect.PaymentType.ERC20, + // paymentAmount: 10 + // }); + // ipAssetId = _createIpAsset(collector, 1, abi.encode(paymentInfo)); + // vm.expectRevert(Errors.CollectPaymentModule_ERC20TransferInvalidABIEncoding.selector); + // _collect(ipAssetId); + // } + + // /// @notice Tests that ERC20 payments with invalid return values revert. + // function test_CollectPaymentModuleERC20TransferInvalidReturnReverts() public { + // MockThrowingERC20 throwingERC20 = new MockThrowingERC20("Story Protocol Mock Token", "SP", 18, MockThrowingERC20.TransferBehavior.ReturnFalse); + // vm.prank(collector); + // throwingERC20.mint(999999); + // paymentInfo = Collect.CollectPaymentInfo({ + // paymentToken: address(throwingERC20), + // paymentType: Collect.PaymentType.ERC20, + // paymentAmount: 10, + // paymentRecipient: paymentRecipient + // }); + // paymentParams = Collect.CollectPaymentParams({ + // paymentToken: address(throwingERC20), + // paymentType: Collect.PaymentType.ERC20, + // paymentAmount: 10 + // }); + // ipAssetId = _createIpAsset(collector, 1, abi.encode(paymentInfo)); + // vm.expectRevert(Errors.CollectPaymentModule_ERC20TransferInvalidReturnValue.selector); + // _collect(ipAssetId); + // } + + // /// @notice Tests that ERC20 payments work as expected. + // function test_CollectPaymentModuleERC20Collect() public parameterizePaymentInfo(paymentSuiteERC20()) { + // uint256 recipientStartingBalance = erc20.balanceOf(paymentRecipient); + // uint256 collectorStartingBalance = erc20.balanceOf(collector); + // paymentAmount = paymentParams.paymentAmount; + // _collect(ipAssetId); + // assertEq(erc20.balanceOf(paymentRecipient), recipientStartingBalance + paymentAmount); + // assertEq(erc20.balanceOf(collector), collectorStartingBalance - paymentAmount); + // } + + // /// @notice Tests that payments without sufficient funds revert. + // function test_CollectPaymentModuleInsufficientFunds() public { + // paymentInfo = Collect.CollectPaymentInfo({ + // paymentToken: address(0), + // paymentType: Collect.PaymentType.NATIVE, + // paymentAmount: 10, + // paymentRecipient: paymentRecipient + // }); + // paymentParams = Collect.CollectPaymentParams({ + // paymentToken: address(0), + // paymentType: Collect.PaymentType.NATIVE, + // paymentAmount: 10 + // }); + // ipAssetId = _createIpAsset(alice, 1, abi.encode(paymentInfo)); + + // vm.prank(collector); + // vm.expectRevert(Errors.CollectPaymentModule_PaymentInsufficient.selector); + // collectModule.collect{value: 0}(Collect.CollectParams({ + // ipAssetId: ipAssetId, + // collector: collector, + // collectData: abi.encode(paymentParams), + // collectNftInitData: "", + // collectNftData: "" + // })); + // } + + /// @notice Returns a list of parameterized payment test cases. + function paymentSuite() internal returns (CollectPaymentSet[] memory) { + delete paymentSets; + paymentSets.push( + CollectPaymentSet( + Collect.CollectPaymentInfo(address(0), Collect.PaymentType.NATIVE, 1 ether, alice), + Collect.CollectPaymentParams(address(0), Collect.PaymentType.NATIVE, 1 ether) + ) + ); + paymentSets.push( + CollectPaymentSet( + Collect.CollectPaymentInfo(address(erc20), Collect.PaymentType.ERC20, 10000, alice), + Collect.CollectPaymentParams(address(erc20), Collect.PaymentType.ERC20, 10000) + ) + ); + paymentSets.push( + CollectPaymentSet( + Collect.CollectPaymentInfo(address(weth), Collect.PaymentType.ERC20, 99, alice), + Collect.CollectPaymentParams(address(weth), Collect.PaymentType.ERC20, 99) + ) + ); + return paymentSets; + } + + /// @notice Returns a list of parameterized native payment test cases. + function paymentSuiteNative() internal returns (CollectPaymentSet[] memory) { + delete paymentSets; + paymentSets.push( + CollectPaymentSet( + Collect.CollectPaymentInfo(address(0), Collect.PaymentType.NATIVE, 1 ether, alice), + Collect.CollectPaymentParams(address(0), Collect.PaymentType.NATIVE, 1 ether) + ) + ); + paymentSets.push( + CollectPaymentSet( + Collect.CollectPaymentInfo(address(0), Collect.PaymentType.NATIVE, 99 ether, alice), + Collect.CollectPaymentParams(address(0), Collect.PaymentType.NATIVE, 99 ether) + ) + ); + return paymentSets; + } + + /// @notice Returns a list of parameterized ERC20 payment test cases. + function paymentSuiteERC20() internal returns (CollectPaymentSet[] memory) { + delete paymentSets; + paymentSets.push( + CollectPaymentSet( + Collect.CollectPaymentInfo(address(erc20), Collect.PaymentType.ERC20, 999, alice), + Collect.CollectPaymentParams(address(erc20), Collect.PaymentType.ERC20, 999) + ) + ); + return paymentSets; + } + + /// @dev Helper function that initializes a collect module. + /// @param collectNftImpl Collect NFT impl address used for collecting. + function _initCollectModule(address collectNftImpl) internal virtual override { + collectModule.initCollect(Collect.InitCollectParams({ + ipAssetId: ipAssetId, + collectNftImpl: collectNftImpl, + data: abi.encode(paymentInfo) + })); + } + + /// @dev Helper function that performs collect module collection. + /// @param ipAssetId_ The id of the IP asset being collected. + function _collect(uint256 ipAssetId_) internal virtual override returns (address, uint256) { + vm.prank(collector); + if (paymentParams.paymentType == Collect.PaymentType.NATIVE) { + return collectModule.collect{value: paymentParams.paymentAmount}(Collect.CollectParams({ + ipAssetId: ipAssetId_, + collector: collector, + collectData: abi.encode(paymentParams), + collectNftInitData: "", + collectNftData: "" + })); + } + return collectModule.collect(Collect.CollectParams({ + ipAssetId: ipAssetId_, + collector: collector, + collectData: abi.encode(paymentParams), + collectNftInitData: "", + collectNftData: "" + })); + } + + /// @notice Changes the base testing collect module deployment to deploy the + /// mock payment collect module instead. + function _deployCollectModule(address collectNftImpl) internal virtual override returns (address) { + collectModuleImpl = address(new MockCollectPaymentModule(address(registry), collectNftImpl)); + + collectPaymentModule = ICollectPaymentModule( + _deployUUPSProxy( + collectModuleImpl, + abi.encodeWithSelector( + bytes4(keccak256(bytes("initialize(address)"))), address(accessControl) + ) + ) + ); + + return address(collectPaymentModule); + } + +} diff --git a/legacy/test/foundry/_old_modules/collect/SimpleCollectModule.t.sol b/legacy/test/foundry/_old_modules/collect/SimpleCollectModule.t.sol new file mode 100644 index 00000000..78296723 --- /dev/null +++ b/legacy/test/foundry/_old_modules/collect/SimpleCollectModule.t.sol @@ -0,0 +1,69 @@ +// SPDX-License-Identifier: UNLICENSED +// See Story Protocol Alpha Agreement: https://github.com/storyprotocol/protocol-contracts/blob/main/StoryProtocol-AlphaTestingAgreement-17942166.3.pdf +pragma solidity ^0.8.18; + +import { SimpleCollectModule } from "contracts/modules/collect/SimpleCollectModule.sol"; +import { BaseCollectModuleTest } from "./BaseCollectModuleTest.sol"; +import { Collect } from "contracts/lib/modules/Collect.sol"; +import { Errors } from "contracts/lib/Errors.sol"; + +/// @title Simple Collect Module Testing Contract +contract SimpleCollectModuleTest is BaseCollectModuleTest { + + function setUp() public virtual override(BaseCollectModuleTest) { + super.setUp(); + } + + /// @notice Tests that unauthorized collects revert. + // function test_CollectModuleCollectUnauthorizedReverts(uint8 ipAssetType) createIpAsset(collector, ipAssetType) public { + // vm.prank(alice); + // vm.expectRevert(Errors.CollectModule_CollectUnauthorized.selector); + // collectModule.collect(Collect.CollectParams({ + // ipAssetId: ipAssetId, + // collector: collector, + // collectData: "", + // collectNftInitData: "", + // collectNftData: "" + // })); + // } + + // /// @notice Tests that upgrades work as expected. + // function test_CollectModuleUpgrade() public { + // address newCollectModuleImpl = address(new SimpleCollectModule(address(registry), defaultCollectNftImpl)); + // vm.prank(upgrader); + + // bytes memory data = abi.encodeWithSelector( + // bytes4(keccak256(bytes("DEFAULT_COLLECT_NFT_IMPL()"))) + // ); + // (bool success, ) = address(collectModule).call( + // abi.encodeWithSignature( + // "upgradeToAndCall(address,bytes)", + // newCollectModuleImpl, + // data + // ) + // ); + // assertTrue(success); + // } + + + // /// @notice Tests whether collect reverts if the IP asset being collected from does not exist. + // function test_CollectModuleCollectNonExistentIPAssetReverts(uint256 nonExistentipAssetId, uint8 ipAssetType) createIpAsset(collector, ipAssetType) public virtual override { + // vm.assume(nonExistentipAssetId != ipAssetId); + // vm.expectRevert(); + // _collect(99); + // } + + /// @notice Changes the base testing collect module deployment to deploy the mock payment collect module instead. + function _deployCollectModule(address collectNftImpl) internal virtual override returns (address) { + collectModuleImpl = address(new SimpleCollectModule(address(registry), collectNftImpl)); + + return _deployUUPSProxy( + collectModuleImpl, + abi.encodeWithSelector( + bytes4(keccak256(bytes("initialize(address)"))), address(accessControl) + ) + ); + + } + +} diff --git a/test/foundry/modules/collect/nft/BaseERC721Test.sol b/legacy/test/foundry/_old_modules/collect/nft/BaseERC721Test.sol similarity index 97% rename from test/foundry/modules/collect/nft/BaseERC721Test.sol rename to legacy/test/foundry/_old_modules/collect/nft/BaseERC721Test.sol index 05cfa2ea..ca370144 100644 --- a/test/foundry/modules/collect/nft/BaseERC721Test.sol +++ b/legacy/test/foundry/_old_modules/collect/nft/BaseERC721Test.sol @@ -1,4 +1,5 @@ -// SPDX-License-Identifier: BUSL-1.1 +// SPDX-License-Identifier: UNLICENSED +// See Story Protocol Alpha Agreement: https://github.com/storyprotocol/protocol-contracts/blob/main/StoryProtocol-AlphaTestingAgreement-17942166.3.pdf pragma solidity ^0.8.18; import "forge-std/Test.sol"; @@ -7,7 +8,7 @@ import { IERC721 } from "@openzeppelin/contracts/token/ERC721/IERC721.sol"; import { IERC721Events } from "../../../interfaces/IERC721Events.sol"; import { IERC721Receiver } from "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol"; -import { MockCollectModuleERC721 } from "test/foundry/mocks/MockCollectModuleERC721.sol"; +import { MockCollectModuleERC721 } from "mvp/test/foundry/mocks/MockCollectModuleERC721.sol"; import { BaseTestUtils } from "test/foundry/utils/BaseTestUtils.sol"; import { MockERC721Receiver } from "test/foundry/mocks/MockERC721Receiver.sol"; import { Errors } from "contracts/lib/Errors.sol"; diff --git a/legacy/test/foundry/_old_modules/collect/nft/CollectNFTBase.t.sol b/legacy/test/foundry/_old_modules/collect/nft/CollectNFTBase.t.sol new file mode 100644 index 00000000..83692fd8 --- /dev/null +++ b/legacy/test/foundry/_old_modules/collect/nft/CollectNFTBase.t.sol @@ -0,0 +1,103 @@ +// SPDX-License-Identifier: UNLICENSED +// See Story Protocol Alpha Agreement: https://github.com/storyprotocol/protocol-contracts/blob/main/StoryProtocol-AlphaTestingAgreement-17942166.3.pdf +pragma solidity ^0.8.18; + +import { Clones } from '@openzeppelin/contracts/proxy/Clones.sol'; + +import { ICollectNFT } from "contracts/interfaces/modules/collect/ICollectNFT.sol"; + +import { BaseTest } from "test/foundry/utils/BaseTest.sol"; +import { BaseERC721Test } from "./BaseERC721Test.sol"; +import { MockCollectNFT } from "mvp/test/foundry/mocks/MockCollectNFT.sol"; +import { ERC721Test } from "./ERC721.t.sol"; + +import { IPAsset } from "contracts/lib/IPAsset.sol"; +import { Collect } from "contracts/lib/modules/Collect.sol"; +import { Errors } from "contracts/lib/Errors.sol"; + +/// @title Collect NFT Base Testing Contract +/// @notice Tests all functionality provided by the base collect NFT. +contract CollectNFTBaseTest is BaseERC721Test, BaseTest { + + // Id of IP asset which may differ per test based on testing constraints. + uint256 ipAssetId; + + // Collect NFT which may differ per test based on testing constraints. + ICollectNFT collectNft; + + /// @notice Modifier that creates a collect NFT for testing. + /// @param ipAssetOwner The owner address for the new IP asset. + /// @param ipAssetType The type of the IP asset being created. + modifier createCollectNFT(address ipAssetOwner, uint8 ipAssetType) { + (ipAssetId, ) = _createIpAsset(ipAssetOwner, ipAssetType, ""); + collectNft = ICollectNFT(Clones.clone(defaultCollectNftImpl)); + vm.prank(address(collectModule)); + collectNft.initialize(Collect.InitCollectNFTParams({ + registry: address(registry), + ipAssetOrg: address(ipOrg), + ipAssetId: ipAssetId, + data: "" + })); + _; + } + + function setUp() public virtual override(BaseERC721Test, BaseTest) { + super.setUp(); + } + + /// @notice Tests whether collect module collection is successful. + // function test_CollectNFTCollect(uint8 ipAssetType) public createCollectNFT(cal, ipAssetType) { + // uint256 aliceBalance = collectNft.balanceOf(alice); + // uint256 bobBalance = collectNft.balanceOf(bob); + // uint256 totalSupply = collectNft.totalSupply(); + // vm.startPrank(address(collectModule)); + // collectNft.collect(alice, ""); + // collectNft.collect(alice, ""); + // collectNft.collect(bob, ""); + // assertEq(collectNft.totalSupply(), totalSupply + 3); + // assertEq(collectNft.balanceOf(alice), aliceBalance + 2); + // assertEq(collectNft.balanceOf(bob), bobBalance + 1); + // } + // + // /// @notice Tests whether collect on non-existent IP assets revert. + // function test_CollectNFTNonExistentIPAssetReverts() public { + // collectNft = ICollectNFT(Clones.clone(defaultCollectNftImpl)); + // vm.expectRevert(Errors.CollectNFT_IPAssetNonExistent.selector); + // collectNft.initialize(Collect.InitCollectNFTParams({ + // registry: address(registry), + // ipAssetOrg: address(ipOrg), + // ipAssetId: 99, + // data: "" + // })); + // } + + // /// @notice Tests whether initialization on a deployed collect NFT reverts. + // function test_CollectNFTConstructorInitializeReverts() public { + // collectNft = new MockCollectNFT(); + // vm.expectRevert(Errors.CollectNFT_AlreadyInitialized.selector); + // collectNft.initialize(Collect.InitCollectNFTParams({ + // registry: address(registry), + // ipAssetOrg: address(ipOrg), + // ipAssetId: ipAssetId, + // data: "" + // })); + // } + + // /// @notice Tests whether collect calls not made by the collect module revert. + // function test_CollectNFTNonCollectModuleCallerReverts(uint8 ipAssetType) public createCollectNFT(cal, ipAssetType) { + // vm.expectRevert(Errors.CollectNFT_CallerUnauthorized.selector); + // collectNft.collect(address(this), ""); + // } + + // /// @notice Tests whether re-initialization of collect module settings revert. + // function test_CollectNFTInitializeTwiceReverts(uint8 ipAssetType) public createCollectNFT(cal, ipAssetType) { + // vm.expectRevert(Errors.CollectNFT_AlreadyInitialized.selector); + // collectNft.initialize(Collect.InitCollectNFTParams({ + // registry: address(registry), + // ipAssetOrg: address(ipOrg), + // ipAssetId: ipAssetId, + // data: "" + // })); + // } + +} diff --git a/test/foundry/modules/collect/nft/ERC721.t.sol b/legacy/test/foundry/_old_modules/collect/nft/ERC721.t.sol similarity index 96% rename from test/foundry/modules/collect/nft/ERC721.t.sol rename to legacy/test/foundry/_old_modules/collect/nft/ERC721.t.sol index ba13d9b9..38bd0265 100644 --- a/test/foundry/modules/collect/nft/ERC721.t.sol +++ b/legacy/test/foundry/_old_modules/collect/nft/ERC721.t.sol @@ -1,9 +1,10 @@ -// SPDX-License-Identifier: BUSL-1.1 +// SPDX-License-Identifier: UNLICENSED +// See Story Protocol Alpha Agreement: https://github.com/storyprotocol/protocol-contracts/blob/main/StoryProtocol-AlphaTestingAgreement-17942166.3.pdf pragma solidity ^0.8.18; import { IERC721 } from "@openzeppelin/contracts/token/ERC721/IERC721.sol"; import { BaseERC721Test } from "./BaseERC721Test.sol"; -import { MockCollectModuleERC721 } from "test/foundry/mocks/MockCollectModuleERC721.sol"; +import { MockCollectModuleERC721 } from "mvp/test/foundry/mocks/MockCollectModuleERC721.sol"; import { Errors } from "contracts/lib/Errors.sol"; /// @title ERC-721 Testing Contract diff --git a/test/foundry/mocks/MockCollectModule.sol b/legacy/test/foundry/mocks/MockCollectModule.sol similarity index 65% rename from test/foundry/mocks/MockCollectModule.sol rename to legacy/test/foundry/mocks/MockCollectModule.sol index b435a557..eaf58336 100644 --- a/test/foundry/mocks/MockCollectModule.sol +++ b/legacy/test/foundry/mocks/MockCollectModule.sol @@ -1,26 +1,31 @@ -// SPDX-License-Identifier: BUSL-1.1 +// SPDX-License-Identifier: UNLICENSED +// See Story Protocol Alpha Agreement: https://github.com/storyprotocol/protocol-contracts/blob/main/StoryProtocol-AlphaTestingAgreement-17942166.3.pdf pragma solidity ^0.8.18; -import { CollectModuleBase } from "contracts/modules/collect/CollectModuleBase.sol"; +import { CollectModuleBase } from "mvp/contracts/modules/collect/CollectModuleBase.sol"; /// @title Mock Collect Module /// @notice This mock contract is used for testing the base collect module. contract MockCollectModule is CollectModuleBase { - // Whether the collect module is enabled for a specific IP asset. mapping(uint256 => mapping(uint256 => bool)) collectEnabled; /// @notice Initializes a mock collect module. /// @param registry_ The protocol-wide franchise registry address. /// @param defaultCollectNftImpl_ The default collect NFT impl address. - constructor(address registry_, address defaultCollectNftImpl_) CollectModuleBase(registry_, defaultCollectNftImpl_) {} + constructor( + address registry_, + address defaultCollectNftImpl_ + ) CollectModuleBase(registry_, defaultCollectNftImpl_) {} /// @notice Initializes the collect module via UUPS proxying. /// @param accessControl_ The address utilized for contract access control. function initialize(address accessControl_) public initializer {} /// @dev Checks whether the collect action is authorized for an IP asset. - function _isCollectAuthorized(uint256) internal pure virtual override returns (bool) { + function _isCollectAuthorized( + uint256 + ) internal pure virtual override returns (bool) { return true; } diff --git a/test/foundry/mocks/MockCollectModuleERC721.sol b/legacy/test/foundry/mocks/MockCollectModuleERC721.sol similarity index 100% rename from test/foundry/mocks/MockCollectModuleERC721.sol rename to legacy/test/foundry/mocks/MockCollectModuleERC721.sol diff --git a/legacy/test/foundry/mocks/MockCollectNFT.sol b/legacy/test/foundry/mocks/MockCollectNFT.sol new file mode 100644 index 00000000..7f59f388 --- /dev/null +++ b/legacy/test/foundry/mocks/MockCollectNFT.sol @@ -0,0 +1,9 @@ +// SPDX-License-Identifier: UNLICENSED +// See Story Protocol Alpha Agreement: https://github.com/storyprotocol/protocol-contracts/blob/main/StoryProtocol-AlphaTestingAgreement-17942166.3.pdf +pragma solidity ^0.8.18; + +import { CollectNFTBase } from "mvp/contracts/modules/collect/nft/CollectNFTBase.sol"; + +/// @title Mock Collect NFT +/// @notice This contract is used for testing base collect NFT functionality. +contract MockCollectNFT is CollectNFTBase {} diff --git a/test/foundry/mocks/MockCollectPaymentModule.sol b/legacy/test/foundry/mocks/MockCollectPaymentModule.sol similarity index 87% rename from test/foundry/mocks/MockCollectPaymentModule.sol rename to legacy/test/foundry/mocks/MockCollectPaymentModule.sol index 914c2c0d..1e244e1c 100644 --- a/test/foundry/mocks/MockCollectPaymentModule.sol +++ b/legacy/test/foundry/mocks/MockCollectPaymentModule.sol @@ -1,4 +1,5 @@ -// SPDX-License-Identifier: BUSL-1.1 +// SPDX-License-Identifier: UNLICENSED +// See Story Protocol Alpha Agreement: https://github.com/storyprotocol/protocol-contracts/blob/main/StoryProtocol-AlphaTestingAgreement-17942166.3.pdf pragma solidity ^0.8.18; import { CollectPaymentModuleBase } from "contracts/modules/collect/CollectPaymentModuleBase.sol"; diff --git a/test/foundry/mocks/MockIPAccount.sol b/legacy/test/foundry/mocks/MockIPAccount.sol similarity index 100% rename from test/foundry/mocks/MockIPAccount.sol rename to legacy/test/foundry/mocks/MockIPAccount.sol diff --git a/test/foundry/mocks/MockSplit.sol b/legacy/test/foundry/mocks/MockSplit.sol similarity index 99% rename from test/foundry/mocks/MockSplit.sol rename to legacy/test/foundry/mocks/MockSplit.sol index cf785b85..c6644c37 100644 --- a/test/foundry/mocks/MockSplit.sol +++ b/legacy/test/foundry/mocks/MockSplit.sol @@ -16,4 +16,4 @@ contract MockSplit { { token.transfer(address(splitMain), amount); } -} \ No newline at end of file +} diff --git a/test/foundry/mocks/MockSplitMain.sol b/legacy/test/foundry/mocks/MockSplitMain.sol similarity index 98% rename from test/foundry/mocks/MockSplitMain.sol rename to legacy/test/foundry/mocks/MockSplitMain.sol index 01c0024a..cab2a752 100644 --- a/test/foundry/mocks/MockSplitMain.sol +++ b/legacy/test/foundry/mocks/MockSplitMain.sol @@ -2,7 +2,7 @@ pragma solidity ^0.8.13; import "contracts/interfaces/modules/royalties/ISplitMain.sol"; -import "test/foundry/mocks/MockSplit.sol"; +import "./MockSplit.sol"; import "test/foundry/mocks/MockERC20.sol"; contract MockSplitMain is ISplitMain { diff --git a/lib/forge-std/src/console.sol b/lib/forge-std/src/console.sol index ad57e536..86ea1382 100644 --- a/lib/forge-std/src/console.sol +++ b/lib/forge-std/src/console.sol @@ -1530,4 +1530,4 @@ library console { _sendLogPayload(abi.encodeWithSignature("log(address,address,address,address)", p0, p1, p2, p3)); } -} \ No newline at end of file +} diff --git a/lib/forge-std/src/console2.sol b/lib/forge-std/src/console2.sol index 8596233d..87423cfb 100644 --- a/lib/forge-std/src/console2.sol +++ b/lib/forge-std/src/console2.sol @@ -1543,4 +1543,4 @@ library console2 { _sendLogPayload(abi.encodeWithSignature("log(address,address,address,address)", p0, p1, p2, p3)); } -} \ No newline at end of file +} diff --git a/package.json b/package.json index c91a165d..6028f947 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@story-protocol/contracts", - "version": "0.1.0", + "version": "0.2.0", "description": "Story Protocol smart contracts", "main": "", "directories": { @@ -11,7 +11,7 @@ "test": "echo \"Error: no test specified\" && exit 1" }, "author": "StoryProtocol", - "license": "BUSL-1.1", + "license": "Unlicensed", "devDependencies": { "@changesets/cli": "^2.26.2", "@nomiclabs/hardhat-ethers": "^2.2.3", @@ -26,15 +26,16 @@ "hardhat-deploy": "^0.11.25", "hardhat-gas-reporter": "^1.0.9", "mocha": "^10.2.0", - "prettier": "2.8.7", - "prettier-plugin-solidity": "^1.1.3", + "prettier": "^3.1.0", + "prettier-plugin-solidity": "^1.2.0", "solhint": "^3.6.2", - "solhint-plugin-prettier": "^0.0.5", - "solidity-coverage": "^0.8.2" + "solhint-plugin-prettier": "^0.1.0", + "solidity-coverage": "^0.8.2", + "solidity-docgen": "^0.6.0-beta.36" }, "dependencies": { - "@openzeppelin/contracts": "^4.8.3", - "@openzeppelin/contracts-upgradeable": "^4.8.3", + "@openzeppelin/contracts": "^4.9.3", + "@openzeppelin/contracts-upgradeable": "^4.9.3", "solmate": "^6.2.0" } } diff --git a/script/foundry/deployment/Main.s.sol b/script/foundry/deployment/Main.s.sol index 0ebd4c63..98c0a261 100644 --- a/script/foundry/deployment/Main.s.sol +++ b/script/foundry/deployment/Main.s.sol @@ -6,43 +6,65 @@ import "test/foundry/utils/ProxyHelper.sol"; import "script/foundry/utils/StringUtil.sol"; import "script/foundry/utils/BroadcastManager.s.sol"; import "script/foundry/utils/JsonDeploymentHandler.s.sol"; -import "contracts/ip-assets/IPAssetOrg.sol"; -import "contracts/IPAssetOrgFactory.sol"; +import "contracts/ip-org/IPOrg.sol"; +import "contracts/ip-org/IPOrgController.sol"; import "contracts/access-control/AccessControlSingleton.sol"; -import "contracts/modules/relationships/ProtocolRelationshipModule.sol"; -import "contracts/modules/licensing/LicensingModule.sol"; -import "test/foundry/mocks/MockCollectNFT.sol"; -import "test/foundry/mocks/MockCollectModule.sol"; -import "contracts/modules/royalties/RoyaltyDistributor.sol"; -import "contracts/modules/royalties/policies/MutableRoyaltyProportionPolicy.sol"; -import "contracts/modules/royalties/RoyaltyNFT.sol"; -import "contracts/ip-accounts/IPAccountImpl.sol"; -import "contracts/ip-accounts/IPAccountRegistry.sol"; import { AccessControl } from "contracts/lib/AccessControl.sol"; +import "contracts/modules/ModuleRegistry.sol"; +import "contracts/IPAssetRegistry.sol"; +import "contracts/modules/registration/RegistrationModule.sol"; +import "contracts/StoryProtocol.sol"; +import "contracts/modules/base/BaseModule.sol"; +import "contracts/modules/relationships/RelationshipModule.sol"; +import "contracts/lib/modules/ModuleRegistryKeys.sol"; +import "contracts/modules/licensing/LicensingModule.sol"; +import "contracts/hooks/TokenGatedHook.sol"; +import "contracts/hooks/PolygonTokenHook.sol"; +import "contracts/modules/base/HookRegistry.sol"; +import "contracts/interfaces/hooks/base/IHook.sol"; +import { TokenGated } from "contracts/lib/hooks/TokenGated.sol"; +import "test/foundry/mocks/MockERC721.sol"; +import "contracts/modules/licensing/LicenseRegistry.sol"; +import "contracts/modules/licensing/LicensingFrameworkRepo.sol"; +import "contracts/modules/licensing/LicensingModule.sol"; +import "contracts/lib/modules/Licensing.sol"; +import "contracts/lib/modules/SPUMLParams.sol"; +import { PolygonToken } from "contracts/lib/hooks/PolygonToken.sol"; +import { Create2 } from "@openzeppelin/contracts/utils/Create2.sol"; +import { Hook } from "contracts/lib/hooks/Hook.sol"; +import "script/foundry/utils/HooksFactory.sol"; +import { ModuleKey, LICENSING_MODULE_KEY, REGISTRATION_MODULE_KEY, RELATIONSHIP_MODULE_KEY } from "contracts/lib/modules/Module.sol"; -contract Main is Script, BroadcastManager, JsonDeploymentHandler, ProxyHelper { +contract Main is Script, BroadcastManager, JsonDeploymentHandler, ProxyHelper { using StringUtil for uint256; using stdJson for string; address accessControl; - address franchise; - address commonIPAssetEventEmitter; + address ipOrgController; + address moduleRegistry; + address ipAssetRegistry; + address spg; + address licenseRegistry; + address registrationModule; + address relationshipModule; + address licensingModule; + address tokenGatedHook; + address polygonTokenHook; + address mockNFT; + address licensingFrameworkRepo; + address hooksFactory; + + constructor() JsonDeploymentHandler("main") {} + + /// @dev To use, run the following command (e.g. for Sepolia): + /// forge script script/foundry/deployment/Main.s.sol:Main --rpc-url $SEPOLIA_RPC_URL --broadcast --verify -vvvv - string constant NON_COMMERCIAL_LICENSE_URI = "https://noncommercial.license"; - string constant COMMERCIAL_LICENSE_URI = "https://commercial.license"; - - constructor() JsonDeploymentHandler("main") { - } - - /// @dev To use, run the following command (e.g. for Goerli): - /// forge script script/Deploy.s.sol:Deploy --rpc-url $GOERLI_RPC_URL --broadcast --verify -vvvv - function run() public { _beginBroadcast(); string memory contractKey; address newAddress; - + /// ACCESS CONTROL SINGLETON contractKey = "AccessControlSingleton-Impl"; @@ -50,7 +72,6 @@ contract Main is Script, BroadcastManager, JsonDeploymentHandler, ProxyHelper { newAddress = address(new AccessControlSingleton()); _writeAddress(contractKey, newAddress); console.log(string.concat(contractKey, " deployed to:"), newAddress); - contractKey = "AccessControlSingleton-Proxy"; @@ -58,7 +79,8 @@ contract Main is Script, BroadcastManager, JsonDeploymentHandler, ProxyHelper { newAddress = _deployUUPSProxy( newAddress, abi.encodeWithSelector( - bytes4(keccak256(bytes("initialize(address)"))), admin + bytes4(keccak256(bytes("initialize(address)"))), + admin ) ); _writeAddress(contractKey, newAddress); @@ -66,150 +88,310 @@ contract Main is Script, BroadcastManager, JsonDeploymentHandler, ProxyHelper { accessControl = newAddress; - /// IP_ORG_FACTORY REGISTRY - contractKey = "IPAssetOrgFactory-Impl"; + /// LICENSING_FRAMEWORK_REPO + contractKey = "LicensingFrameworkRepo"; console.log(string.concat("Deploying ", contractKey, "...")); - newAddress = address(new IPAssetOrgFactory()); + newAddress = address(new LicensingFrameworkRepo(accessControl)); _writeAddress(contractKey, newAddress); console.log(string.concat(contractKey, " deployed to:"), newAddress); - contractKey = "IPAssetOrgFactory-Proxy"; + licensingFrameworkRepo = newAddress; + + /// MODULE_REGISTRY + contractKey = "ModuleRegistry"; console.log(string.concat("Deploying ", contractKey, "...")); - newAddress = _deployUUPSProxy( - newAddress, - abi.encodeWithSelector( - bytes4(keccak256(bytes("initialize(address)"))), accessControl - ) - ); + newAddress = address(new ModuleRegistry(accessControl)); _writeAddress(contractKey, newAddress); console.log(string.concat(contractKey, " deployed to:"), newAddress); - franchise = newAddress; + moduleRegistry = newAddress; - /// LICENSING MODULE - contractKey = "LicensingModule-Impl"; + /// IP_ASSET_REGISTRY + contractKey = "IPAssetRegistry"; console.log(string.concat("Deploying ", contractKey, "...")); - - newAddress = address(new LicensingModule(address(franchise))); + newAddress = address(new IPAssetRegistry(moduleRegistry)); _writeAddress(contractKey, newAddress); console.log(string.concat(contractKey, " deployed to:"), newAddress); - contractKey = "LicensingModule-Proxy"; + ipAssetRegistry = newAddress; + /// LICENSE_REGISTRY + contractKey = "LicenseRegistry"; console.log(string.concat("Deploying ", contractKey, "...")); - newAddress = _deployUUPSProxy( - newAddress, - abi.encodeWithSelector( - bytes4(keccak256(bytes("initialize(address,string)"))), - accessControl, NON_COMMERCIAL_LICENSE_URI + newAddress = address( + new LicenseRegistry( + ipAssetRegistry, + moduleRegistry, + licensingFrameworkRepo ) ); _writeAddress(contractKey, newAddress); console.log(string.concat(contractKey, " deployed to:"), newAddress); - address licensingModule = newAddress; - /// COLLECT MODULE - contractKey = "CollectNFT"; - console.log(string.concat("Deploying ", contractKey, "...")); + licenseRegistry = newAddress; - newAddress = address(new MockCollectNFT()); - _writeAddress(contractKey, newAddress); - console.log(string.concat(contractKey, " deployed to:"), newAddress); - - address defaultCollectNFTImpl = newAddress; + /// IP_ORG_FACTORY REGISTRY + contractKey = "IPOrgController-Impl"; - contractKey = "CollectModule-Impl"; console.log(string.concat("Deploying ", contractKey, "...")); - - newAddress = address(new MockCollectModule(address(franchise), defaultCollectNFTImpl)); + newAddress = address(new IPOrgController(moduleRegistry)); _writeAddress(contractKey, newAddress); console.log(string.concat(contractKey, " deployed to:"), newAddress); - contractKey = "CollectModule-Proxy"; + contractKey = "IPOrgController-Proxy"; console.log(string.concat("Deploying ", contractKey, "...")); newAddress = _deployUUPSProxy( newAddress, abi.encodeWithSelector( - bytes4(keccak256(bytes("initialize(address)"))), address(accessControl) + bytes4(keccak256(bytes("initialize(address)"))), + accessControl ) ); _writeAddress(contractKey, newAddress); console.log(string.concat(contractKey, " deployed to:"), newAddress); - address collectModule = newAddress; + ipOrgController = newAddress; - /// IP ACCOUNT REGISTRY - contractKey = "IPAccount-Impl"; - console.log(string.concat("Deploying ", contractKey, "...")); + /// SPG + contractKey = "StoryProtocol"; - newAddress = address(new IPAccountImpl()); + console.log(string.concat("Deploying ", contractKey, "...")); + newAddress = address( + new StoryProtocol( + IIPOrgController(ipOrgController), + ModuleRegistry(moduleRegistry) + ) + ); _writeAddress(contractKey, newAddress); console.log(string.concat(contractKey, " deployed to:"), newAddress); - contractKey = "IPAccountRegistry"; - console.log(string.concat("Deploying ", contractKey, "...")); + spg = newAddress; + + /// REGISTRATION_MODULE + contractKey = "RegistrationModule"; - newAddress = address(new IPAccountRegistry(newAddress)); + console.log(string.concat("Deploying ", contractKey, "...")); + newAddress = address( + new RegistrationModule( + BaseModule.ModuleConstruction({ + ipaRegistry: IPAssetRegistry(ipAssetRegistry), + moduleRegistry: ModuleRegistry(moduleRegistry), + licenseRegistry: LicenseRegistry(licenseRegistry), + ipOrgController: IPOrgController(ipOrgController) + }), + accessControl + ) + ); _writeAddress(contractKey, newAddress); console.log(string.concat(contractKey, " deployed to:"), newAddress); - address ipAccountRegistry = newAddress; + registrationModule = newAddress; + + /// RELATIONSHIP_MODULE + contractKey = "RelationshipModule"; - /// ROYALTY MODULE - address SPLIT_MAIN = 0x2ed6c4B5dA6378c7897AC67Ba9e43102Feb694EE; - contractKey = "RoyaltyNFT"; console.log(string.concat("Deploying ", contractKey, "...")); - newAddress = address(new RoyaltyNFT(SPLIT_MAIN)); + newAddress = address( + new RelationshipModule( + BaseModule.ModuleConstruction({ + ipaRegistry: IPAssetRegistry(ipAssetRegistry), + moduleRegistry: ModuleRegistry(moduleRegistry), + licenseRegistry: LicenseRegistry(licenseRegistry), + ipOrgController: IPOrgController(ipOrgController) + }), + accessControl + ) + ); _writeAddress(contractKey, newAddress); console.log(string.concat(contractKey, " deployed to:"), newAddress); - address royaltyNft = newAddress; + relationshipModule = newAddress; + + /// LICENSE_MODULE + contractKey = "LicensingModule"; - contractKey = "MutableRoyaltyProportionPolicy"; console.log(string.concat("Deploying ", contractKey, "...")); - newAddress = address(new MutableRoyaltyProportionPolicy(royaltyNft)); + newAddress = address( + new LicensingModule( + BaseModule.ModuleConstruction({ + ipaRegistry: IPAssetRegistry(ipAssetRegistry), + moduleRegistry: ModuleRegistry(moduleRegistry), + licenseRegistry: LicenseRegistry(licenseRegistry), + ipOrgController: IPOrgController(ipOrgController) + }), + licensingFrameworkRepo, + admin + ) + ); _writeAddress(contractKey, newAddress); console.log(string.concat(contractKey, " deployed to:"), newAddress); - contractKey = "RoyaltyDistributor"; + licensingModule = newAddress; + + /// HOOKS_FACTORY + contractKey = "HooksFactory"; + + console.log(string.concat("Deploying ", contractKey, "...")); + newAddress = address(new HooksFactory()); + console.log(string.concat(contractKey, " deployed to:"), newAddress); + + hooksFactory = newAddress; + + /// TOKEN_GATED_HOOK + contractKey = "TokenGatedHook"; + console.log(string.concat("Deploying ", contractKey, "...")); - newAddress = address(new RoyaltyDistributor(ipAccountRegistry, royaltyNft)); + bytes memory tokenGatedHookCode = abi.encodePacked( + type(TokenGatedHook).creationCode, abi.encode(address(accessControl))); + newAddress = HooksFactory(hooksFactory).deploy(tokenGatedHookCode, Hook.SYNC_FLAG, block.timestamp); _writeAddress(contractKey, newAddress); console.log(string.concat(contractKey, " deployed to:"), newAddress); - /// PROTOCOL RELATIONSHIP MODULE - contractKey = "ProtocolRelationshipModule-Impl"; - + tokenGatedHook = newAddress; + + /// POLYGON_TOKEN_HOOK + contractKey = "PolygonTokenHook"; + console.log(string.concat("Deploying ", contractKey, "...")); - newAddress = address(new ProtocolRelationshipModule(franchise)); + bytes memory polygonTokenHookCode = abi.encodePacked( + type(PolygonTokenHook).creationCode, + abi.encode( + address(accessControl), + vm.envAddress("POLYGON_TOKEN_ORACLE_CLIENT"), + vm.envAddress("POLYGON_TOKEN_ORACLE_COORDINATOR") + )); + newAddress = HooksFactory(hooksFactory).deploy(polygonTokenHookCode, Hook.ASYNC_FLAG, block.timestamp); _writeAddress(contractKey, newAddress); console.log(string.concat(contractKey, " deployed to:"), newAddress); - - contractKey = "ProtocolRelationshipModule-Proxy"; + polygonTokenHook = newAddress; + + /// MOCK_ERC_721 + contractKey = "MockERC721"; console.log(string.concat("Deploying ", contractKey, "...")); - newAddress = _deployUUPSProxy( - newAddress, - abi.encodeWithSelector( - bytes4(keccak256(bytes("initialize(address)"))), accessControl - ) - ); + newAddress = address(new MockERC721()); _writeAddress(contractKey, newAddress); console.log(string.concat(contractKey, " deployed to:"), newAddress); + mockNFT = newAddress; + + ///////////////////////////////////////////////////////////////////////////////////////////////////// + // CONFIGURATION // + ///////////////////////////////////////////////////////////////////////////////////////////////////// /// GRANT ROLEs - AccessControlSingleton accessControlSingleton = AccessControlSingleton(accessControl); + AccessControlSingleton accessControlSingleton = AccessControlSingleton( + accessControl + ); accessControlSingleton.grantRole(AccessControl.UPGRADER_ROLE, admin); - accessControlSingleton.grantRole(AccessControl.RELATIONSHIP_MANAGER_ROLE, admin); - - _writeDeployment(); + accessControlSingleton.grantRole( + AccessControl.RELATIONSHIP_MANAGER_ROLE, + admin + ); + accessControlSingleton.grantRole( + AccessControl.LICENSING_MANAGER_ROLE, + admin + ); + accessControlSingleton.grantRole( + AccessControl.LICENSING_MANAGER, + admin + ); + accessControlSingleton.grantRole( + AccessControl.IPORG_CREATOR_ROLE, + admin + ); + accessControlSingleton.grantRole( + AccessControl.MODULE_REGISTRAR_ROLE, + admin + ); + accessControlSingleton.grantRole( + AccessControl.MODULE_EXECUTOR_ROLE, + spg + ); + accessControlSingleton.grantRole( + AccessControl.MODULE_EXECUTOR_ROLE, + ipOrgController + ); + accessControlSingleton.grantRole( + AccessControl.HOOK_CALLER_ROLE, + moduleRegistry + ); + accessControlSingleton.grantRole( + AccessControl.HOOK_CALLER_ROLE, + registrationModule + ); + accessControlSingleton.grantRole( + AccessControl.HOOK_CALLER_ROLE, + relationshipModule + ); + accessControlSingleton.grantRole( + AccessControl.HOOK_CALLER_ROLE, + licensingModule + ); + + // REGISTER MODULES + ModuleRegistry(moduleRegistry).registerProtocolModule( + REGISTRATION_MODULE_KEY, + BaseModule(registrationModule) + ); + ModuleRegistry(moduleRegistry).registerProtocolModule( + RELATIONSHIP_MODULE_KEY, + BaseModule(relationshipModule) + ); + ModuleRegistry(moduleRegistry).registerProtocolModule( + LICENSING_MODULE_KEY, + BaseModule(licensingModule) + ); + string[] memory ipAssetTypes = new string[](2); + ipAssetTypes[0] = "STORY"; + ipAssetTypes[1] = "CHARACTER"; + address ipOrg = StoryProtocol(spg).registerIpOrg( + admin, + "Sample IP Org", + "SIPO", + ipAssetTypes + ); + + // REGISTER TOKEN_GATED_HOOK and POLYGON_TOKEN_HOOK + ModuleRegistry(moduleRegistry).registerProtocolHook("TOKEN_GATED_HOOK", IHook(tokenGatedHook)); + ModuleRegistry(moduleRegistry).registerProtocolHook("POLYGON_TOKEN_HOOK", IHook(polygonTokenHook)); + address[] memory hooks = new address[](2); + hooks[0] = tokenGatedHook; + hooks[1] = polygonTokenHook; + + TokenGated.Config memory tokenGatedConfig = TokenGated.Config({ + tokenAddress: mockNFT + }); + PolygonToken.Config memory polygonTokenConfig = PolygonToken.Config({ + tokenAddress: mockNFT, + balanceThreshold: 1 + }); + bytes[] memory hooksConfig = new bytes[](2); + hooksConfig[0] = abi.encode(tokenGatedConfig); + hooksConfig[1] = abi.encode(polygonTokenConfig); + RegistrationModule(registrationModule).registerHooks( + HookRegistry.HookType.PreAction, + IIPOrg(ipOrg), + hooks, + hooksConfig, + abi.encode(Registration.REGISTER_IP_ASSET) + ); + + // CONFIG LICENSING MODULE + Licensing.ParamDefinition[] memory paramDefs = SPUMLParams._getParamDefs(); + Licensing.SetFramework memory framework = Licensing.SetFramework({ + id: SPUMLParams.FRAMEWORK_ID, + textUrl: vm.envString("SPUML_URL"), + paramDefs: paramDefs + }); + LicensingFrameworkRepo(licensingFrameworkRepo).addFramework(framework); + + _writeDeployment(); _endBroadcast(); } - } diff --git a/script/foundry/deployment/RelationshipProcessors.s.sol b/script/foundry/deployment/RelationshipProcessors.s.sol deleted file mode 100644 index be648e30..00000000 --- a/script/foundry/deployment/RelationshipProcessors.s.sol +++ /dev/null @@ -1,81 +0,0 @@ -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.18; - -import "forge-std/Script.sol"; -import "test/foundry/utils/ProxyHelper.sol"; -import "script/foundry/utils/StringUtil.sol"; -import "script/foundry/utils/BroadcastManager.s.sol"; -import "script/foundry/utils/JsonDeploymentHandler.s.sol"; -import "contracts/modules/relationships/processors/PermissionlessRelationshipProcessor.sol"; -import "contracts/modules/relationships/processors/DstOwnerRelationshipProcessor.sol"; -import "contracts/modules/relationships/processors/SrcOwnerRelationshipProcessor.sol"; -import "contracts/modules/relationships/processors/SrcDstOwnerRelationshipProcessor.sol"; -import "contracts/modules/relationships/processors/SrcRequestOrDstOwnerRelationshipProcessor.sol"; - -contract RelationshipProcessors is Script, BroadcastManager, JsonDeploymentHandler, ProxyHelper { - - using StringUtil for uint256; - using stdJson for string; - address relationshipModule; - - constructor() JsonDeploymentHandler("relationships-processors") { - } - - function run() public { - _beginBroadcast(); - _readDeployment(); - - relationshipModule = _readAddress("$.main.ProtocolRelationshipModule-Proxy"); - if (relationshipModule == address(0)) { - revert("ProtocolRelationshipModule-Proxy not found"); - } - - string memory contractKey; - address newAddress; - - /// PERMISSIONLESS - contractKey = "PermissionlessRelationshipProcessor"; - - console.log(string.concat("Deploying ", contractKey, "...")); - newAddress = address(new PermissionlessRelationshipProcessor(relationshipModule)); - _writeAddress(contractKey, newAddress); - console.log(string.concat(contractKey, " deployed to:"), newAddress); - - /// DST OWNER - contractKey = "DstOwnerRelationshipProcessor"; - - console.log(string.concat("Deploying ", contractKey, "...")); - newAddress = address(new DstOwnerRelationshipProcessor(relationshipModule)); - _writeAddress(contractKey, newAddress); - console.log(string.concat(contractKey, " deployed to:"), newAddress); - - /// SRC OWNER - contractKey = "SrcOwnerRelationshipProcessor"; - - console.log(string.concat("Deploying ", contractKey, "...")); - newAddress = address(new SrcOwnerRelationshipProcessor(relationshipModule)); - _writeAddress(contractKey, newAddress); - console.log(string.concat(contractKey, " deployed to:"), newAddress); - - /// SRC DST OWNER - contractKey = "SrcDstOwnerRelationshipProcessor"; - - console.log(string.concat("Deploying ", contractKey, "...")); - newAddress = address(new SrcDstOwnerRelationshipProcessor(relationshipModule)); - _writeAddress(contractKey, newAddress); - console.log(string.concat(contractKey, " deployed to:"), newAddress); - - /// SRC REQUEST OR DST OWNER - contractKey = "SrcRequestOrDstOwnerRelationshipProcessor"; - - console.log(string.concat("Deploying ", contractKey, "...")); - newAddress = address(new SrcRequestOrDstOwnerRelationshipProcessor(relationshipModule)); - _writeAddress(contractKey, newAddress); - console.log(string.concat(contractKey, " deployed to:"), newAddress); - - - _writeDeployment(); - _endBroadcast(); - } - -} diff --git a/script/foundry/relationship-setters/SetAppearsInRelationship.s.sol b/script/foundry/relationship-setters/SetAppearsInRelationship.s.sol deleted file mode 100644 index ec4f98f1..00000000 --- a/script/foundry/relationship-setters/SetAppearsInRelationship.s.sol +++ /dev/null @@ -1,63 +0,0 @@ -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.18; - -import "forge-std/Script.sol"; -import "script/foundry/utils/StringUtil.sol"; -import "script/foundry/utils/JsonDeploymentHandler.s.sol"; -import "script/foundry/utils/BroadcastManager.s.sol"; -import "contracts/lib/IPAsset.sol"; -import "contracts/modules/relationships/ProtocolRelationshipModule.sol"; -import { Relationship } from "contracts/lib/modules/Relationship.sol"; - -contract SetAppearsInRelationship is Script, BroadcastManager, JsonDeploymentHandler { - - using StringUtil for uint256; - using stdJson for string; - - ProtocolRelationshipModule protocolRelationshipModule; - - constructor() JsonDeploymentHandler("") {} - - function run() public { - _readDeployment(); - _beginBroadcast(); - address relModule = _readAddress(".main.ProtocolRelationshipModule-Proxy"); - if (relModule == address(0)) { - revert("ProtocolRelationshipModule-Proxy not found"); - } - protocolRelationshipModule = ProtocolRelationshipModule(relModule); - - IPAsset.IPAssetType[] memory sourceIPAssets = new IPAsset.IPAssetType[](4); - sourceIPAssets[0] = IPAsset.IPAssetType.CHARACTER; - sourceIPAssets[1] = IPAsset.IPAssetType.GROUP; - sourceIPAssets[2] = IPAsset.IPAssetType.LOCATION; - sourceIPAssets[3] = IPAsset.IPAssetType.ITEM; - - IPAsset.IPAssetType[] memory destIPAssets = new IPAsset.IPAssetType[](1); - destIPAssets[0] = IPAsset.IPAssetType.STORY; - - address processor = _readAddress(".relationship-processors.SrcRequestOrDstOwnerRelationshipProcessor"); - if (processor == address(0)) { - revert("SrcRequestOrDstOwnerRelationshipProcessor not found"); - } - - Relationship.SetRelationshipConfigParams memory params = Relationship.SetRelationshipConfigParams({ - sourceIpAssets: sourceIPAssets, - allowedExternalSource: false, - destIpAssets: destIPAssets, - allowedExternalDest: false, - onlySameIPAssetOrg: true, - processor: processor, - disputer: admin, - timeConfig: Relationship.TimeConfig({ - maxTtl: 0, - minTtl: 0, - renewable: false - }) - }); - - protocolRelationshipModule.setRelationshipConfig("APPEARS_IN", params); - - } - -} diff --git a/script/foundry/relationship-setters/SetTestRelationship.s.sol b/script/foundry/relationship-setters/SetTestRelationship.s.sol deleted file mode 100644 index 7457d7fc..00000000 --- a/script/foundry/relationship-setters/SetTestRelationship.s.sol +++ /dev/null @@ -1,59 +0,0 @@ -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.18; - -import "forge-std/Script.sol"; -import "script/foundry/utils/StringUtil.sol"; -import "script/foundry/utils/JsonDeploymentHandler.s.sol"; -import "script/foundry/utils/BroadcastManager.s.sol"; -import "contracts/lib/IPAsset.sol"; -import "contracts/modules/relationships/ProtocolRelationshipModule.sol"; -import { Relationship } from "contracts/lib/modules/Relationship.sol"; - -contract SetTestRelationship is Script, BroadcastManager, JsonDeploymentHandler { - - using StringUtil for uint256; - using stdJson for string; - - ProtocolRelationshipModule protocolRelationshipModule; - - constructor() JsonDeploymentHandler("") {} - - function run() public { - _readDeployment(); - _beginBroadcast(); - address relModule = _readAddress(".main.ProtocolRelationshipModule-Proxy"); - if (relModule == address(0)) { - revert("ProtocolRelationshipModule-Proxy not found"); - } - protocolRelationshipModule = ProtocolRelationshipModule(relModule); - - IPAsset.IPAssetType[] memory allIpAssets = new IPAsset.IPAssetType[](6); - for (uint8 i = 0; i < 6; i++) { - allIpAssets[i] = IPAsset.IPAssetType(i + 1); - } - - address processor = _readAddress(".relationship-processors.PermissionlessRelationshipProcessor"); - if (processor == address(0)) { - revert("PermissionlessRelationshipProcessor"); - } - - Relationship.SetRelationshipConfigParams memory params = Relationship.SetRelationshipConfigParams({ - sourceIpAssets: allIpAssets, - allowedExternalSource: true, - destIpAssets: allIpAssets, - allowedExternalDest: true, - onlySameIPAssetOrg: true, - processor: processor, - disputer: admin, - timeConfig: Relationship.TimeConfig({ - maxTtl: 0, - minTtl: 0, - renewable: false - }) - }); - - protocolRelationshipModule.setRelationshipConfig("TEST_RELATIONSHIP", params); - - } - -} diff --git a/script/foundry/upgrades/DevUpgrades.s.sol b/script/foundry/upgrades/DevUpgrades.s.sol deleted file mode 100644 index 8f2acad2..00000000 --- a/script/foundry/upgrades/DevUpgrades.s.sol +++ /dev/null @@ -1,101 +0,0 @@ -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.18; - -import "forge-std/Script.sol"; -import "script/foundry/utils/StringUtil.sol"; -import "script/foundry/utils/JsonDeploymentHandler.s.sol"; -import "script/foundry/utils/BroadcastManager.s.sol"; -import "contracts/modules/relationships/ProtocolRelationshipModule.sol"; -import "contracts/modules/relationships/RelationshipModuleBase.sol"; -import "contracts/IPAssetOrgFactory.sol"; -import "contracts/access-control/AccessControlSingleton.sol"; -import "contracts/ip-assets/IPAssetOrg.sol"; - - -/** - * Use to upgrade contracts during development, in testnets. Expect things to break. - */ -contract UpgradeRelationships is Script, BroadcastManager, JsonDeploymentHandler { - - using StringUtil for uint256; - using stdJson for string; - - constructor() JsonDeploymentHandler("main") {} - - function run() public { - _readDeployment(); - _beginBroadcast(); - - ProtocolRelationshipModule relModule = ProtocolRelationshipModule(_readAddress(".main.ProtocolRelationshipModule-Proxy")); - if (address(relModule) == address(0)) { - revert("ProtocolRelationshipModule-Proxy not found"); - } - address franchiseProxy = _readAddress(".main.IPAssetOrgFactory-Proxy"); - - - address newProtocolRelationship = address(new ProtocolRelationshipModule(franchiseProxy)); - console.log("Upgrading ProtocolRelationshipModule to ", newProtocolRelationship); - relModule.upgradeTo(newProtocolRelationship); - console.log("Upgraded"); - - } - -} - -contract UpgradeIPAssetOrgFactory is Script, BroadcastManager, JsonDeploymentHandler { - - using StringUtil for uint256; - using stdJson for string; - - constructor() JsonDeploymentHandler("main") {} - - function run() public { - _readDeployment(); - _beginBroadcast(); - - address franchiseProxy = _readAddress(".main.IPAssetOrgFactory-Proxy"); - address ipAssetOrgFactory = _readAddress(".main.IPAssetOrgFactory"); - if (address(ipAssetOrgFactory) == address(0)) { - revert("ipAssetOrgFactory not found"); - } - - IPAssetOrgFactory franchise = IPAssetOrgFactory(franchiseProxy); - address newIPAssetOrgFactory = address(new IPAssetOrgFactory()); - console.log("Upgrading IPAssetOrgFactory to ", newIPAssetOrgFactory); - franchise.upgradeTo(newIPAssetOrgFactory); - - console.log("Upgrading IPAssetOrgFactory to ", newIPAssetOrgFactory); - } - -} -/** -contract UpgradeIPAssetOrg is Script, BroadcastManager, JsonDeploymentHandler { - - using StringUtil for uint256; - using stdJson for string; - - constructor() JsonDeploymentHandler("main") {} - - function run() public { - _readDeployment(); - _beginBroadcast(); - - address franchiseProxy = _readAddress(".main.IPAssetOrgFactory-Proxy"); - address ipAssetOrgFactory = _readAddress(".main.IPAssetOrgFactory"); - if (address(ipAssetOrgFactory) == address(0)) { - revert("ipAssetOrgFactory not found"); - } - - contractKey = "IPAssetOrg-Impl"; - console.log(string.concat("Deploying ", contractKey, "...")); - address ipAssetOrg = address(new IPAssetOrg(eventEmitter, franchiseProxy)); - console.log(string.concat(contractKey, " deployed to:"), ipAssetOrg); - - console.log(string.concat("Updating ", contractKey, " beacon...")); - IPAssetOrgFactory(ipAssetOrgFactory).upgradeIPAssetOrgs(ipAssetRegistry); - console.log(string.concat(contractKey, " beacon updated to:"), ipAssetOrg); - - } - -} -*/ diff --git a/script/foundry/utils/BroadcastManager.s.sol b/script/foundry/utils/BroadcastManager.s.sol index 3abff0c5..e54f18ac 100644 --- a/script/foundry/utils/BroadcastManager.s.sol +++ b/script/foundry/utils/BroadcastManager.s.sol @@ -19,6 +19,10 @@ contract BroadcastManager is Script { deployerPrivateKey = vm.envUint("GOERLI_PRIVATEKEY"); admin = vm.envAddress("GOERLI_ADMIN_ADDRESS"); vm.startBroadcast(deployerPrivateKey); + } else if (block.chainid == 11155111) { + deployerPrivateKey = vm.envUint("SEPOLIA_PRIVATEKEY"); + admin = vm.envAddress("SEPOLIA_ADMIN_ADDRESS"); + vm.startBroadcast(deployerPrivateKey); } else { vm.startPrank(admin); } diff --git a/script/foundry/utils/HooksFactory.sol b/script/foundry/utils/HooksFactory.sol new file mode 100644 index 00000000..217eda08 --- /dev/null +++ b/script/foundry/utils/HooksFactory.sol @@ -0,0 +1,25 @@ +// SPDX-License-Identifier: MIT +pragma solidity >=0.8.19; + +import { Create2 } from "@openzeppelin/contracts/utils/Create2.sol"; +import { Hook } from "contracts/lib/hooks/Hook.sol"; + +contract HooksFactory { + function deploy(bytes memory code_, uint256 hookTypeFlag_, uint256 seed_) external returns (address hookAddr) { + uint256 randomNumber = uint256(keccak256(abi.encodePacked(seed_))); + for (uint256 i = 0; i < 1500; i++) { + bytes32 salt = bytes32(randomNumber + i); + bytes32 bytecodeHash = keccak256(code_); + address expectedAddress = Create2.computeAddress(salt, bytecodeHash); + uint160 prefix = hookTypeFlag_ == Hook.SYNC_FLAG ? 0x02 : 0x01; + if (_doesAddressStartWith(expectedAddress, prefix)) { + hookAddr = Create2.deploy(0, salt, code_); + return hookAddr; + } + } + } + + function _doesAddressStartWith(address address_,uint160 prefix_) private pure returns (bool) { + return uint160(address_) >> (160 - 2) == prefix_; + } +} \ No newline at end of file diff --git a/test/foundry/IPAssetController.t.sol b/test/foundry/IPAssetController.t.sol deleted file mode 100644 index 956fc9f5..00000000 --- a/test/foundry/IPAssetController.t.sol +++ /dev/null @@ -1,97 +0,0 @@ -// SPDX-License-Identifier: BUSDL-1.1 -pragma solidity ^0.8.13; - -import "forge-std/Test.sol"; -import './utils/BaseTest.sol'; - -contract IPAssetOrgFactoryTest is BaseTest { - - event IPAssetOrgRegistered( - address owner, - uint256 id, - address ipAssetOrgForId, - string name, - string symbol, - string tokenURI - ); - - function setUp() virtual override public { - deployProcessors = false; - super.setUp(); - } - - // function test_setUp() public { - // assertEq(franchise.version(), "0.1.0"); - // assertEq(franchise.name(), "Story Protocol"); - // assertEq(franchise.symbol(), "SP"); - // } - - // function test_registerIPAssetOrg() public { - // IPAssetOrgFactory.IPAssetOrgCreationParams memory params = IPAssetOrgFactory.IPAssetOrgCreationParams("name2", "symbol2", "description2", "tokenURI2"); - // vm.startPrank(franchiseOwner); - // vm.expectCall(address(factory), - // abi.encodeCall( - // factory.createIPAssetOrgIpAssets, - // ( - // 2, - // "name2", - // "symbol2", - // "description2" - // ) - // ) - // ); - // vm.expectEmit(false, true, false, false); - // emit IPAssetOrgRegistered(address(0x123), 2, address(0x234), "name2", "symbol2", "tokenURI2"); - // (uint256 id, address ipAsset) = franchise.registerIPAssetOrg(params); - // assertEq(id, 2); - // assertFalse(ipAsset == address(0)); - // assertEq(ipAsset, franchise.ipAssetOrgForId(id)); - // assertEq(franchise.ownerOf(id), franchiseOwner); - // assertEq(franchise.tokenURI(id), "tokenURI2"); - // vm.stopPrank(); - // } - - // function test_isIpAssetOrg() public { - // vm.prank(franchiseOwner); - // IPAssetOrgFactory.IPAssetOrgCreationParams memory params = IPAssetOrgFactory.IPAssetOrgCreationParams("name", "symbol2", "description2", "tokenURI2"); - // (uint256 id, address ipAsset) = franchise.registerIPAssetOrg(params); - // assertTrue(franchise.isIpAssetOrg(ipAsset)); - // } - - // function test_isNotIPAssetOrg() public { - // assertFalse(franchise.isIpAssetOrg(address(franchise))); - // } - - // function test_revert_tokenURI_not_registered() public { - // vm.expectRevert("ERC721: invalid token ID"); - // franchise.tokenURI(420); - // } - - // function test_CreateIPAssetOrgBlocks() public { - // vm.expectEmit(false, true, true, true); - // emit IPAssetOrgCreated(address(0x123), "name", "symbol"); - // // TODO: figure why this is not matching correctly, the event is emitted according to traces - // // vm.expectEmit(); - // // emit BeaconUpgraded(address(0x123)); - // address collection = factory.createIPAssetOrgIpAssets(1, "name", "symbol", "description"); - // assertTrue(collection != address(0)); - // assertEq(IPAssetOrg(collection).name(), "name"); - // assertEq(IPAssetOrg(collection).symbol(), "symbol"); - // } - - // function test_UpgradeCollections() public { - // IPAssetOrgv2 newImplementation = new IPAssetOrgv2(_mockEventEmitter, mockLicenseModule, mockIPAssetOrgFactory, mockCollectModule); - // //vm.expectEmit(true, true, true, true); - // //emit CollectionsUpgraded(address(newImplementation), "2.0.0"); - // factory.upgradeIPAssetOrgs(address(newImplementation)); - // UpgradeableBeacon beacon = factory.BEACON(); - // assertEq(IPAssetOrg(beacon.implementation()).version(), "2.0.0"); - // } - - // function test_revertIfNotOwnerUpgrades() public { - // IPAssetOrgv2 newImplementation = new IPAssetOrgv2(_mockEventEmitter, mockLicenseModule, mockIPAssetOrgFactory, mockCollectModule); - // vm.prank(notOwner); - // vm.expectRevert("Ownable: caller is not the owner"); - // factory.upgradeIPAssetOrgs(address(newImplementation)); - // } -} diff --git a/test/foundry/IPAssetGroup.t.sol b/test/foundry/IPAssetGroup.t.sol deleted file mode 100644 index 11684b71..00000000 --- a/test/foundry/IPAssetGroup.t.sol +++ /dev/null @@ -1,187 +0,0 @@ -// SPDX-License-Identifier: BUSDL-1.1 -pragma solidity ^0.8.13; - -import { Errors } from "contracts/lib/Errors.sol"; -import { IPAssetOrg } from "../../contracts/ip-assets/IPAssetOrg.sol"; -import { IPAssetOrgFactory } from "contracts/IPAssetOrgFactory.sol"; -import { IPAsset } from "../../contracts/lib/IPAsset.sol"; -import { IPAssetRegistry } from "../../contracts/IPAssetRegistry.sol"; -import { MockIPAssetEventEmitter } from "./mocks/MockIPAssetEventEmitter.sol"; -import { MockCollectNFT } from "./mocks/MockCollectNFT.sol"; -import { MockCollectModule } from "./mocks/MockCollectModule.sol"; -import { MockLicensingModule } from "./mocks/MockLicensingModule.sol"; -import { MockIPAssetOrgFactory } from "./mocks/MockIPAssetOrgFactory.sol"; -import "forge-std/Test.sol"; - -contract IPAssetOrgTest is Test { - using stdStorage for StdStorage; - - event CollectionCreated(address indexed collection, string name, string indexed symbol); - event CollectionsUpgraded(address indexed newImplementation, string version); - event BeaconUpgraded(address indexed beacon); - event Transfer(address indexed from, address indexed to, uint256 indexed tokenId); - - error IdOverBounds(); - error InvalidBlockType(); - - IPAssetRegistry public registry; - IPAssetOrgFactory public ipAssetOrgFactory; - IPAssetOrg public ipAssetOrg; - address owner = address(this); - address mintee = address(1); - address mintee2 = address(2); - address mockLicenseModule; - - uint256 internal ipAssetOrgOwnerPk = 0xa11ce; - address payable internal ipAssetOrgOwner = payable(vm.addr(ipAssetOrgOwnerPk)); - - function setUp() public { - registry = new IPAssetRegistry(); - ipAssetOrgFactory = new IPAssetOrgFactory(); - - address mockEventEmitter = address(new MockIPAssetEventEmitter()); - mockLicenseModule = address(new MockLicensingModule()); - - address mockCollectModule = address(new MockCollectModule(address(registry), address(new MockCollectNFT()))); - - - IPAsset.RegisterIPAssetOrgParams memory ipAssetOrgParams = IPAsset.RegisterIPAssetOrgParams( - address(registry), - "name", - "symbol", - "description", - "uri" - ); - vm.prank(ipAssetOrgOwner); - address ipAssetOrgAddr; - ipAssetOrgAddr = ipAssetOrgFactory.registerIPAssetOrg(ipAssetOrgParams); - ipAssetOrg = IPAssetOrg(ipAssetOrgAddr); - } - - function test_setUp() public { - assertEq(ipAssetOrg.name(), "name"); - assertEq(ipAssetOrg.symbol(), "symbol"); - assertEq(ipAssetOrg.version(), "0.1.0"); - } - - function test_mintIdAssignment() public { - uint8 firstIPAssetType = uint8(IPAsset.IPAssetType.STORY); - uint8 lastIPAssetTypeId = uint8(IPAsset.IPAssetType.ITEM); - for(uint8 i = firstIPAssetType; i < lastIPAssetTypeId; i++) { - IPAsset.IPAssetType ipAsset = IPAsset.IPAssetType(i); - uint256 zero = IPAsset._zeroId(ipAsset); - assertEq(ipAssetOrg.currentIdFor(ipAsset), zero, "starts with zero"); - vm.prank(address(ipAssetOrgFactory)); - (, uint256 blockId1) = ipAssetOrg.createIpAsset(IPAsset.CreateIpAssetParams({ - ipAssetType: ipAsset, - name: "name", - description: "description", - mediaUrl: "mediaUrl", - to: mintee, - parentIpAssetOrgId: 0, - collectData: "" - })); - assertEq(blockId1, zero + 1, "returned blockId is incremented by one"); - assertEq(ipAssetOrg.currentIdFor(ipAsset), zero + 1, "mint increments currentIdFor by one"); - vm.prank(address(ipAssetOrgFactory)); - (, uint256 blockId2) = ipAssetOrg.createIpAsset(IPAsset.CreateIpAssetParams({ - ipAssetType: ipAsset, - name: "name2", - description: "description2", - mediaUrl: "mediaUrl2", - to: mintee, - parentIpAssetOrgId: 0, - collectData: "" - })); - assertEq(blockId2, zero + 2, "returned blockId is incremented by one again"); - assertEq(ipAssetOrg.currentIdFor(ipAsset), zero + 2, "2 mint increments currentIdFor by one again"); - } - - } - - function test_mintStoryOwnership() public { - uint8 firstIPAssetType = uint8(IPAsset.IPAssetType.STORY); - uint8 lastIPAssetTypeId = uint8(IPAsset.IPAssetType.ITEM); - for(uint8 i = firstIPAssetType; i < lastIPAssetTypeId; i++) { - IPAsset.IPAssetType ipAsset = IPAsset.IPAssetType(i); - uint256 loopBalance = ipAssetOrg.balanceOf(mintee); - assertEq(loopBalance, (i - 1) * 2, "balance is zero for block type"); - vm.prank(address(ipAssetOrgFactory)); - (, uint256 blockId1) = ipAssetOrg.createIpAsset(IPAsset.CreateIpAssetParams({ - ipAssetType: ipAsset, - name: "name", - description: "description", - mediaUrl: "mediaUrl", - to: mintee, - parentIpAssetOrgId: 0, - collectData: "" - })); - assertEq(ipAssetOrg.balanceOf(mintee), loopBalance + 1, "balance is incremented by one"); - assertEq(ipAssetOrg.ownerOf(blockId1), mintee); - vm.prank(address(ipAssetOrgFactory)); - (, uint256 blockId2) = ipAssetOrg.createIpAsset(IPAsset.CreateIpAssetParams({ - ipAssetType: ipAsset, - name: "name", - description: "description", - mediaUrl: "mediaUrl", - to: mintee, - parentIpAssetOrgId: 0, - collectData: "" - })); - assertEq(ipAssetOrg.balanceOf(mintee), loopBalance + 2, "balance is incremented by one again"); - assertEq(ipAssetOrg.ownerOf(blockId2), mintee); - } - } - - function test_revertMintUnknownIPAsset() public { - vm.prank(address(ipAssetOrgFactory)); - vm.expectRevert( - abi.encodeWithSelector(Errors.IPAsset_InvalidType.selector, IPAsset.IPAssetType.UNDEFINED) - ); - ipAssetOrg.createIpAsset(IPAsset.CreateIpAssetParams({ - ipAssetType: IPAsset.IPAssetType.UNDEFINED, - name: "name", - description: "description", - mediaUrl: "mediaUrl", - to: mintee, - parentIpAssetOrgId: 0, - collectData: "" - })); - } - - function test_IPAssetCreationData() public { - vm.prank(address(ipAssetOrgFactory)); - (, uint256 blockId) = ipAssetOrg.createIpAsset(IPAsset.CreateIpAssetParams({ - ipAssetType: IPAsset.IPAssetType.STORY, - name: "name", - description: "description", - mediaUrl: "mediaUrl", - to: mintee, - parentIpAssetOrgId: 0, - collectData: "" - })); - } - - function test_emptyIPAssetRead() public { - IPAssetOrg.IPAssetData memory data = ipAssetOrg.readIPAsset(12312313); - assertEq(uint8(data.blockType), uint8(IPAsset.IPAssetType.UNDEFINED)); - assertEq(data.name, ""); - assertEq(data.description, ""); - assertEq(data.mediaUrl, ""); - } - - function test_tokenUriReturnsMediaURL() public { - vm.prank(address(ipAssetOrgFactory)); - (, uint256 blockId) = ipAssetOrg.createIpAsset(IPAsset.CreateIpAssetParams({ - ipAssetType: IPAsset.IPAssetType.STORY, - name: "name", - description: "description", - mediaUrl: "https://mediaUrl.xyz", - to: mintee, - parentIpAssetOrgId: 0, - collectData: "" - })); - assertEq(ipAssetOrg.tokenURI(blockId), "https://mediaUrl.xyz"); - } - -} diff --git a/test/foundry/LibStoryBlockId.t.sol b/test/foundry/LibStoryBlockId.t.sol deleted file mode 100644 index 2dbd4a45..00000000 --- a/test/foundry/LibStoryBlockId.t.sol +++ /dev/null @@ -1,73 +0,0 @@ -// SPDX-License-Identifier: BUSDL-1.1 -pragma solidity ^0.8.13; - -import "forge-std/Test.sol"; -import "contracts/lib/IPAsset.sol"; -import "contracts/lib/IPAsset.sol"; - -contract IPAssetOrgFactoryTest is Test { - - uint256 private constant _ID_RANGE = 10**12; - uint256 private constant _HALF_ID_RANGE = 5**12; - uint256 private constant _ZERO_ID_STORY = 0; - uint256 private constant _ZERO_ID_CHARACTER = _ID_RANGE + _ZERO_ID_STORY; - uint256 private constant _ZERO_ID_ART = _ID_RANGE + _ZERO_ID_CHARACTER; - uint256 private constant _ZERO_ID_GROUP = _ID_RANGE + _ZERO_ID_ART; - uint256 private constant _ZERO_ID_LOCATION = _ID_RANGE + _ZERO_ID_GROUP; - uint256 private constant _ZERO_ID_ITEM = _ID_RANGE + _ZERO_ID_LOCATION; - uint256 private constant _LAST_ID_ITEM = _ID_RANGE + _ZERO_ID_ITEM - 1; - - - function test_zeroIds() public { - assertEq(IPAsset._zeroId(IPAsset.IPAssetType.STORY), _ZERO_ID_STORY); - assertEq(IPAsset._zeroId(IPAsset.IPAssetType.CHARACTER), _ZERO_ID_CHARACTER); - assertEq(IPAsset._zeroId(IPAsset.IPAssetType.ART), _ZERO_ID_ART); - assertEq(IPAsset._zeroId(IPAsset.IPAssetType.GROUP), _ZERO_ID_GROUP); - assertEq(IPAsset._zeroId(IPAsset.IPAssetType.LOCATION), _ZERO_ID_LOCATION); - assertEq(IPAsset._zeroId(IPAsset.IPAssetType.ITEM), _ZERO_ID_ITEM); - } - - function test_lastIds() public { - assertEq(IPAsset._lastId(IPAsset.IPAssetType.STORY), _ZERO_ID_CHARACTER - 1); - assertEq(IPAsset._lastId(IPAsset.IPAssetType.CHARACTER), _ZERO_ID_ART - 1); - assertEq(IPAsset._lastId(IPAsset.IPAssetType.ART), _ZERO_ID_GROUP - 1); - assertEq(IPAsset._lastId(IPAsset.IPAssetType.GROUP), _ZERO_ID_LOCATION - 1); - assertEq(IPAsset._lastId(IPAsset.IPAssetType.LOCATION), _ZERO_ID_ITEM - 1); - assertEq(IPAsset._lastId(IPAsset.IPAssetType.ITEM), _LAST_ID_ITEM); - } - - function test_IPAssetTypes() public { - assertEq(uint8(IPAsset._ipAssetTypeFor(_ZERO_ID_STORY)), uint8(IPAsset.IPAssetType.UNDEFINED)); - - assertEq(uint8(IPAsset._ipAssetTypeFor(_ZERO_ID_STORY + 1)), uint8(IPAsset.IPAssetType.STORY)); - assertEq(uint8(IPAsset._ipAssetTypeFor(_ZERO_ID_STORY + _HALF_ID_RANGE)), uint8(IPAsset.IPAssetType.STORY)); - assertEq(uint8(IPAsset._ipAssetTypeFor(_ZERO_ID_CHARACTER - 1)), uint8(IPAsset.IPAssetType.STORY)); - - assertEq(uint8(IPAsset._ipAssetTypeFor(_ZERO_ID_CHARACTER)), uint8(IPAsset.IPAssetType.UNDEFINED)); - assertEq(uint8(IPAsset._ipAssetTypeFor(_ZERO_ID_CHARACTER + 1)), uint8(IPAsset.IPAssetType.CHARACTER)); - assertEq(uint8(IPAsset._ipAssetTypeFor(_ZERO_ID_CHARACTER + _HALF_ID_RANGE)), uint8(IPAsset.IPAssetType.CHARACTER)); - assertEq(uint8(IPAsset._ipAssetTypeFor(_ZERO_ID_ART - 1)), uint8(IPAsset.IPAssetType.CHARACTER)); - - assertEq(uint8(IPAsset._ipAssetTypeFor(_ZERO_ID_ART)), uint8(IPAsset.IPAssetType.UNDEFINED)); - assertEq(uint8(IPAsset._ipAssetTypeFor(_ZERO_ID_ART + 1)), uint8(IPAsset.IPAssetType.ART)); - assertEq(uint8(IPAsset._ipAssetTypeFor(_ZERO_ID_ART + _HALF_ID_RANGE)), uint8(IPAsset.IPAssetType.ART)); - assertEq(uint8(IPAsset._ipAssetTypeFor(_ZERO_ID_GROUP - 1)), uint8(IPAsset.IPAssetType.ART)); - - assertEq(uint8(IPAsset._ipAssetTypeFor(_ZERO_ID_GROUP)), uint8(IPAsset.IPAssetType.UNDEFINED)); - assertEq(uint8(IPAsset._ipAssetTypeFor(_ZERO_ID_GROUP + 1)), uint8(IPAsset.IPAssetType.GROUP)); - assertEq(uint8(IPAsset._ipAssetTypeFor(_ZERO_ID_GROUP + _HALF_ID_RANGE)), uint8(IPAsset.IPAssetType.GROUP)); - assertEq(uint8(IPAsset._ipAssetTypeFor(_ZERO_ID_LOCATION - 1)), uint8(IPAsset.IPAssetType.GROUP)); - - assertEq(uint8(IPAsset._ipAssetTypeFor(_ZERO_ID_LOCATION)), uint8(IPAsset.IPAssetType.UNDEFINED)); - assertEq(uint8(IPAsset._ipAssetTypeFor(_ZERO_ID_LOCATION + 1)), uint8(IPAsset.IPAssetType.LOCATION)); - assertEq(uint8(IPAsset._ipAssetTypeFor(_ZERO_ID_LOCATION + _HALF_ID_RANGE)), uint8(IPAsset.IPAssetType.LOCATION)); - assertEq(uint8(IPAsset._ipAssetTypeFor(_ZERO_ID_ITEM - 1)), uint8(IPAsset.IPAssetType.LOCATION)); - - assertEq(uint8(IPAsset._ipAssetTypeFor(_ZERO_ID_ITEM)), uint8(IPAsset.IPAssetType.UNDEFINED)); - assertEq(uint8(IPAsset._ipAssetTypeFor(_ZERO_ID_ITEM + 1)), uint8(IPAsset.IPAssetType.ITEM)); - assertEq(uint8(IPAsset._ipAssetTypeFor(_ZERO_ID_ITEM + _HALF_ID_RANGE)), uint8(IPAsset.IPAssetType.ITEM)); - assertEq(uint8(IPAsset._ipAssetTypeFor(_LAST_ID_ITEM)), uint8(IPAsset.IPAssetType.ITEM)); - - assertEq(uint8(IPAsset._ipAssetTypeFor(_LAST_ID_ITEM + 1)), uint8(IPAsset.IPAssetType.UNDEFINED)); - } -} diff --git a/test/foundry/_temp_modules/base/BaseModule.t.sol b/test/foundry/_temp_modules/base/BaseModule.t.sol deleted file mode 100644 index 1d91893a..00000000 --- a/test/foundry/_temp_modules/base/BaseModule.t.sol +++ /dev/null @@ -1,84 +0,0 @@ -// SPDX-License-Identifier: BUSDL-1.1 -pragma solidity ^0.8.13; - -import "forge-std/Test.sol"; - -import "contracts/modules/base/BaseModule.sol"; -import "test/foundry/mocks/MockBaseModule.sol"; -import "contracts/lib/Errors.sol"; - -contract BaseModuleTest is Test { - MockBaseModule module; - address admin = address(123); - address ipaRegistry = address(456); - address moduleRegistry = address(789); - - event RequestPending(address indexed sender); - event RequestCompleted(address indexed sender); - - function setUp() public { - vm.prank(admin); - module = new MockBaseModule(admin, BaseModule.ModuleConstruction(ipaRegistry, moduleRegistry)); - } - - function test_baseModule_revert_constructorIpaRegistryIsZero() public { - vm.prank(admin); - vm.expectRevert(Errors.BaseModule_ZeroIpaRegistry.selector); - new MockBaseModule(admin, BaseModule.ModuleConstruction(address(0), moduleRegistry)); - } - - function test_baseModule_revert_constructorModuleRegistryIsZero() public { - vm.prank(admin); - vm.expectRevert(Errors.BaseModule_ZeroModuleRegistry.selector); - new MockBaseModule(admin, BaseModule.ModuleConstruction(ipaRegistry, address(0))); - } - - function test_baseModule_setup() public { - assertEq(module.IPA_REGISTRY(), ipaRegistry); - assertEq(module.MODULE_REGISTRY(), moduleRegistry); - } - - function test_baseModule_passesConfigParams() public { - bytes memory params = abi.encode(uint256(123)); - module.configure(address(123), params); - assertEq(module.callStackAt(0).caller, address(123)); - assertEq(module.callStackAt(0).params, params); - } - - function test_baseModule_correctExecutionOrderAndParams() public { - bytes memory params = abi.encode(uint256(123)); - vm.expectEmit(true, true, true, true); - emit RequestCompleted(address(123)); - module.execute(address(123), params, new bytes[](0), new bytes[](0)); - assertEq(module.callStackAt(0).caller, address(123)); - assertEq(module.callStackAt(0).params, params); - assertEq(module.callStackAt(1).caller, address(123)); - assertEq(module.callStackAt(1).params, params); - } - - function test_baseModule_revertPreHookWrongParamsLength() public { - bytes memory params = abi.encode(uint256(123)); - vm.expectRevert( - abi.encodeWithSelector( - Errors.BaseModule_HooksParamsLengthMismatch.selector, - uint8(HookRegistry.HookType.PreAction) - ) - ); - module.execute(address(123), params, new bytes[](1), new bytes[](0)); - } - - function test_baseModule_revertPostHookWrongParamsLength() public { - bytes memory params = abi.encode(uint256(123)); - vm.expectRevert( - abi.encodeWithSelector( - Errors.BaseModule_HooksParamsLengthMismatch.selector, - uint8(HookRegistry.HookType.PostAction) - ) - ); - module.execute(address(123), params, new bytes[](0), new bytes[](1)); - } - - // TODO: hook execution tests, waiting for base hook - - -} diff --git a/test/foundry/_temp_modules/base/HookRegistryTest.t.sol b/test/foundry/_temp_modules/base/HookRegistryTest.t.sol deleted file mode 100644 index 8c56415b..00000000 --- a/test/foundry/_temp_modules/base/HookRegistryTest.t.sol +++ /dev/null @@ -1,176 +0,0 @@ -// SPDX-License-Identifier: BUSDL-1.1 -pragma solidity ^0.8.13; - -import "forge-std/Test.sol"; - -import "contracts/modules/base/HookRegistry.sol"; -import "test/foundry/mocks/MockHookRegistry.sol"; -import "contracts/lib/Errors.sol"; - -contract HookRegistryTest is Test { - MockHookRegistry registry; - address admin = address(123); - - event HooksRegistered(HookRegistry.HookType indexed hType, address[] indexed hook); - event HooksCleared(HookRegistry.HookType indexed hType); - - function setUp() public { - vm.prank(admin); - registry = new MockHookRegistry(); - } - - function test_hookRegistry_registerPreHooks() public { - address[] memory hooks = new address[](2); - hooks[0] = address(123); - hooks[1] = address(456); - vm.startPrank(admin); - vm.expectEmit(true, false, false, true); - emit HooksRegistered(HookRegistry.HookType.PreAction, hooks); - registry.registerHooks(HookRegistry.HookType.PreAction, hooks); - vm.stopPrank(); - assertEq(registry.hookAt(HookRegistry.HookType.PreAction, 0), hooks[0]); - assertEq(registry.hookAt(HookRegistry.HookType.PreAction, 1), hooks[1]); - assertEq(registry.totalHooks(HookRegistry.HookType.PreAction), hooks.length); - } - - function test_hookRegistry_registerPreHooksClearsHooksIfNotEmpty() public { - address[] memory hooks = new address[](2); - hooks[0] = address(123); - hooks[1] = address(456); - vm.startPrank(admin); - registry.registerHooks(HookRegistry.HookType.PreAction, hooks); - vm.expectEmit(true, false, false, true); - emit HooksCleared(HookRegistry.HookType.PreAction); - registry.registerHooks(HookRegistry.HookType.PreAction, hooks); - vm.stopPrank(); - assertEq(registry.hookAt(HookRegistry.HookType.PreAction, 0), hooks[0]); - assertEq(registry.hookAt(HookRegistry.HookType.PreAction, 1), hooks[1]); - assertEq(registry.totalHooks(HookRegistry.HookType.PreAction), hooks.length); - } - - function test_hookRegistry_registerPostHooks() public { - address[] memory hooks = new address[](2); - hooks[0] = address(123); - hooks[1] = address(456); - vm.startPrank(admin); - vm.expectEmit(true, false, false, true); - emit HooksRegistered(HookRegistry.HookType.PostAction, hooks); - registry.registerHooks(HookRegistry.HookType.PostAction, hooks); - vm.stopPrank(); - assertEq(registry.hookAt(HookRegistry.HookType.PostAction, 0), hooks[0]); - assertEq(registry.hookAt(HookRegistry.HookType.PostAction, 1), hooks[1]); - assertEq(registry.totalHooks(HookRegistry.HookType.PostAction), hooks.length); - } - - function test_hookRegistry_registerPostHooksClearsHooksIfNotEmpty() public { - address[] memory hooks = new address[](2); - hooks[0] = address(123); - hooks[1] = address(456); - vm.startPrank(admin); - registry.registerHooks(HookRegistry.HookType.PostAction, hooks); - vm.expectEmit(true, false, false, true); - emit HooksCleared(HookRegistry.HookType.PostAction); - registry.registerHooks(HookRegistry.HookType.PostAction, hooks); - vm.stopPrank(); - assertEq(registry.hookAt(HookRegistry.HookType.PostAction, 0), hooks[0]); - assertEq(registry.hookAt(HookRegistry.HookType.PostAction, 1), hooks[1]); - assertEq(registry.totalHooks(HookRegistry.HookType.PostAction), hooks.length); - } - - function test_hookRegistry_revertRegisterHooksCallerNotAdmin() public { - address[] memory hooks = new address[](2); - hooks[0] = address(123); - hooks[1] = address(456); - vm.expectRevert(Errors.HookRegistry_CallerNotAdmin.selector); - registry.registerHooks(HookRegistry.HookType.PostAction, hooks); - } - - function test_hookRegistry_revertRegisterMaxHooksExceeded() public { - address[] memory hooks = new address[](registry.MAX_HOOKS() + 1); - vm.startPrank(admin); - for(uint256 i = 0; i <= registry.MAX_HOOKS(); i++) { - hooks[i] = vm.addr(i + 1); - } - vm.expectRevert(Errors.HookRegistry_MaxHooksExceeded.selector); - registry.registerHooks(HookRegistry.HookType.PostAction, hooks); - vm.expectRevert(Errors.HookRegistry_MaxHooksExceeded.selector); - registry.registerHooks(HookRegistry.HookType.PreAction, hooks); - vm.stopPrank(); - } - - function test_hookRegistry_revertRegisterDuplicatedHook() public { - address[] memory hooks = new address[](2); - hooks[0] = address(123); - hooks[1] = address(123); - vm.startPrank(admin); - vm.expectRevert(Errors.HookRegistry_RegisteringDuplicatedHook.selector); - registry.registerHooks(HookRegistry.HookType.PostAction, hooks); - vm.stopPrank(); - } - - function test_hookRegistry_getters() public { - address[] memory hooks = new address[](2); - hooks[0] = address(123); - hooks[1] = address(456); - vm.startPrank(admin); - - registry.registerHooks(HookRegistry.HookType.PreAction, hooks); - assertEq(registry.hookAt(HookRegistry.HookType.PreAction, 0), hooks[0]); - assertEq(registry.hookAt(HookRegistry.HookType.PreAction, 1), hooks[1]); - assertEq(registry.hookIndex(HookRegistry.HookType.PreAction, hooks[0]), 0); - assertEq(registry.hookIndex(HookRegistry.HookType.PreAction, hooks[1]), 1); - assertEq(registry.totalHooks(HookRegistry.HookType.PreAction), hooks.length); - assertEq(registry.isRegistered(HookRegistry.HookType.PreAction, hooks[0]), true); - assertEq(registry.isRegistered(HookRegistry.HookType.PreAction, hooks[1]), true); - - registry.registerHooks(HookRegistry.HookType.PostAction, hooks); - assertEq(registry.hookAt(HookRegistry.HookType.PostAction, 0), hooks[0]); - assertEq(registry.hookAt(HookRegistry.HookType.PostAction, 1), hooks[1]); - assertEq(registry.hookIndex(HookRegistry.HookType.PostAction, hooks[0]), 0); - assertEq(registry.hookIndex(HookRegistry.HookType.PostAction, hooks[1]), 1); - assertEq(registry.totalHooks(HookRegistry.HookType.PostAction), hooks.length); - assertEq(registry.isRegistered(HookRegistry.HookType.PostAction, hooks[0]), true); - assertEq(registry.isRegistered(HookRegistry.HookType.PostAction, hooks[1]), true); - - vm.stopPrank(); - } - - function test_hookRegistry_clearPreHooks() public { - address[] memory hooks = new address[](2); - hooks[0] = address(123); - hooks[1] = address(456); - vm.startPrank(admin); - registry.registerHooks(HookRegistry.HookType.PreAction, hooks); - vm.expectEmit(true, true, false, true); - emit HooksCleared(HookRegistry.HookType.PreAction); - registry.clearHooks(HookRegistry.HookType.PreAction); - vm.stopPrank(); - assertEq(registry.hookIndex(HookRegistry.HookType.PreAction, hooks[0]), registry.INDEX_NOT_FOUND()); - assertEq(registry.hookIndex(HookRegistry.HookType.PreAction, hooks[1]), registry.INDEX_NOT_FOUND()); - assertEq(registry.totalHooks(HookRegistry.HookType.PreAction), 0); - } - - function test_hookRegistry_clearPostHooks() public { - address[] memory hooks = new address[](2); - hooks[0] = address(123); - hooks[1] = address(456); - vm.startPrank(admin); - registry.registerHooks(HookRegistry.HookType.PostAction, hooks); - vm.expectEmit(true, true, false, true); - emit HooksCleared(HookRegistry.HookType.PostAction); - registry.clearHooks(HookRegistry.HookType.PostAction); - vm.stopPrank(); - assertEq(registry.hookIndex(HookRegistry.HookType.PostAction, hooks[0]), registry.INDEX_NOT_FOUND()); - assertEq(registry.hookIndex(HookRegistry.HookType.PostAction, hooks[1]), registry.INDEX_NOT_FOUND()); - assertEq(registry.totalHooks(HookRegistry.HookType.PostAction), 0); - } - - function test_hookRegistry_revertClearHooksCallerNotAdmin() public { - address[] memory hooks = new address[](2); - hooks[0] = address(123); - hooks[1] = address(456); - vm.expectRevert(Errors.HookRegistry_CallerNotAdmin.selector); - registry.registerHooks(HookRegistry.HookType.PostAction, hooks); - } - -} diff --git a/test/foundry/access-control/AccessControlSingleton.t.sol b/test/foundry/access-control/AccessControlSingleton.t.sol new file mode 100644 index 00000000..4a0b2872 --- /dev/null +++ b/test/foundry/access-control/AccessControlSingleton.t.sol @@ -0,0 +1,57 @@ +// SPDX-License-Identifier: BUSDL-1.1 +pragma solidity ^0.8.13; + +import "forge-std/Test.sol"; +import { AccessControlHelper } from "test/foundry/utils/AccessControlHelper.sol"; +import { Errors } from "contracts/lib/Errors.sol"; +import { AccessControl } from "contracts/lib/AccessControl.sol"; +import { AccessControlSingleton } from "contracts/access-control/AccessControlSingleton.sol"; +import { AccessControlUpgradeable } from "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol"; + +contract AccessControlSingletonTest is Test, AccessControlHelper { + + error TestError(); + function setUp() public { + _setupAccessControl(); + } + + function test_AccessControlSingleton_setup() public { + assertTrue( + accessControl.hasRole(AccessControl.PROTOCOL_ADMIN_ROLE, admin), + "Admin role not set correctly" + ); + } + + function test_AccessControlSingleton_revert_reinitialize() public { + vm.expectRevert("Initializable: contract is already initialized"); + accessControl.initialize(admin); + } + + function test_AccessControlSingleton_revert_zeroAdmin() public { + AccessControlSingleton ac2 = new AccessControlSingleton(); + vm.expectRevert(Errors.ZeroAddress.selector); + ac2.initialize(address(0)); + } + + function test_AccessControlSingleton_setRoleAdmin() public { + bytes32 role = keccak256("TEST_ROLE"); + bytes32 roleAdmin = keccak256("TEST_ROLE_ADMIN"); + vm.prank(admin); + accessControl.setRoleAdmin(role, roleAdmin); + assertTrue( + accessControl.getRoleAdmin(role) == roleAdmin, + "Role admin not set correctly" + ); + } + + function test_AccessControlSingleton_revert_setRoleAdminNotProtocolAdmin() public { + bytes32 role = keccak256("TEST_ROLE"); + vm.expectRevert(_getRoleErrorMessage(address(this), AccessControl.PROTOCOL_ADMIN_ROLE)); + accessControl.setRoleAdmin(role, AccessControl.PROTOCOL_ADMIN_ROLE); + } + + function test_AccessControlSingleton_revert_UpgradeNotAuthorized() public { + vm.expectRevert(_getRoleErrorMessage(address(this), AccessControl.UPGRADER_ROLE)); + accessControl.upgradeTo(address(0)); + } +} diff --git a/test/foundry/access-control/AccessControlled.t.sol b/test/foundry/access-control/AccessControlled.t.sol new file mode 100644 index 00000000..774f6473 --- /dev/null +++ b/test/foundry/access-control/AccessControlled.t.sol @@ -0,0 +1,72 @@ +// SPDX-License-Identifier: BUSDL-1.1 +pragma solidity ^0.8.13; + +import "forge-std/Test.sol"; +import { AccessControlHelper } from "test/foundry/utils/AccessControlHelper.sol"; +import { Errors } from "contracts/lib/Errors.sol"; +import { AccessControl } from "contracts/lib/AccessControl.sol"; +import { AccessControlled } from "contracts/access-control/AccessControlled.sol"; +import { AccessControlSingleton } from "contracts/access-control/AccessControlSingleton.sol"; +import { MockAccessControlled } from "test/foundry/mocks/MockAccessControlled.sol"; +import { Strings } from "@openzeppelin/contracts/utils/Strings.sol"; + +contract AccessControlledTest is Test, AccessControlHelper { + + event AccessControlUpdated(address indexed accessControl); + + MockAccessControlled accessControlled; + + function setUp() public { + _setupAccessControl(); + accessControlled = new MockAccessControlled(address(accessControl)); + } + + function test_AccessControlled_onlyRole() public { + bytes32 role = keccak256("TEST_ROLE"); + _grantRole(vm, role, address(this)); + accessControlled.exposeOnlyRole(role); + } + + function test_AccessControlled_revert_onlyRole() public { + bytes32 role = keccak256("TEST_ROLE"); + vm.expectRevert( + abi.encodeWithSelector( + Errors.MissingRole.selector, + role, + address(this) + ) + ); + accessControlled.exposeOnlyRole(role); + } + + function test_AccessControlled_setAccessControl() public { + AccessControlSingleton ac2 = new AccessControlSingleton(); + vm.expectEmit(true, true, true, true); + emit AccessControlUpdated(address(ac2)); + vm.prank(admin); + accessControlled.setAccessControl(address(ac2)); + } + + function test_AccessControlled_revert_setAccessControlNotProtocolAdmin() public { + AccessControlSingleton ac2 = new AccessControlSingleton(); + vm.expectRevert( + abi.encodeWithSelector( + Errors.MissingRole.selector, + AccessControl.PROTOCOL_ADMIN_ROLE, + address(this) + ) + ); + accessControlled.setAccessControl(address(ac2)); + } + + function test_AccessControlled_revert_setAccessControlUnsupportedInterface() public { + vm.expectRevert( + abi.encodeWithSelector( + Errors.UnsupportedInterface.selector, + "IAccessControl" + ) + ); + vm.prank(admin); + accessControlled.setAccessControl(address(this)); + } +} diff --git a/test/foundry/access-control/AccessControlledUpgradeable.t.sol b/test/foundry/access-control/AccessControlledUpgradeable.t.sol new file mode 100644 index 00000000..824f49bd --- /dev/null +++ b/test/foundry/access-control/AccessControlledUpgradeable.t.sol @@ -0,0 +1,106 @@ +// SPDX-License-Identifier: BUSDL-1.1 +pragma solidity ^0.8.13; + +import "forge-std/Test.sol"; +import { AccessControlHelper } from "test/foundry/utils/AccessControlHelper.sol"; +import { Errors } from "contracts/lib/Errors.sol"; +import { AccessControl } from "contracts/lib/AccessControl.sol"; +import { AccessControlledUpgradeable } from "contracts/access-control/AccessControlledUpgradeable.sol"; +import { AccessControlSingleton } from "contracts/access-control/AccessControlSingleton.sol"; +import { MockAccessControlledUpgradeable } from "test/foundry/mocks/MockAccessControlledUpgradeable.sol"; +import { Strings } from "@openzeppelin/contracts/utils/Strings.sol"; + +contract AccessControlledUpgradeableTest is Test, AccessControlHelper { + + event AccessControlUpdated(address indexed accessControl); + + MockAccessControlledUpgradeable accessControlled; + + function setUp() public { + _setupAccessControl(); + accessControlled = MockAccessControlledUpgradeable( + _deployUUPSProxy( + address(new MockAccessControlledUpgradeable()), + abi.encodeWithSelector( + bytes4(keccak256(bytes("initialize(address)"))), + address(accessControl) + ) + ) + ); + } + + function test_AccessControlled_revert_invalidInterface() public { + MockAccessControlledUpgradeable invalidACL = new MockAccessControlledUpgradeable(); + invalidACL.setIsInterfaceValid(false); + address mockAddr = address(new MockAccessControlledUpgradeable()); + bytes memory encodedData = abi.encodeWithSelector( + bytes4(keccak256(bytes("initialize(address)"))), + address(invalidACL) + ); + vm.expectRevert( + abi.encodeWithSelector( + Errors.UnsupportedInterface.selector, + "IAccessControl" + ) + ); + _deployUUPSProxy( + mockAddr, + encodedData + ); + invalidACL.setIsInterfaceValid(false); + } + + function test_AccessControlled_onlyRole() public { + bytes32 role = keccak256("TEST_ROLE"); + _grantRole(vm, role, address(this)); + accessControlled.exposeOnlyRole(role); + } + + function test_AccessControlled_revert_onlyRole() public { + bytes32 role = keccak256("TEST_ROLE"); + vm.expectRevert( + abi.encodeWithSelector( + Errors.MissingRole.selector, + role, + address(this) + ) + ); + accessControlled.exposeOnlyRole(role); + } + + function test_AccessControlled_setAccessControl() public { + AccessControlSingleton ac2 = new AccessControlSingleton(); + vm.expectEmit(true, true, true, true); + emit AccessControlUpdated(address(ac2)); + vm.prank(admin); + accessControlled.setAccessControl(address(ac2)); + + assertEq( + accessControlled.getAccessControl(), + address(ac2) + ); + } + + function test_AccessControlled_revert_setAccessControlNotProtocolAdmin() public { + AccessControlSingleton ac2 = new AccessControlSingleton(); + vm.expectRevert( + abi.encodeWithSelector( + Errors.MissingRole.selector, + AccessControl.PROTOCOL_ADMIN_ROLE, + address(this) + ) + ); + accessControlled.setAccessControl(address(ac2)); + } + + function test_AccessControlled_revert_setAccessControlUnsupportedInterface() public { + vm.expectRevert( + abi.encodeWithSelector( + Errors.UnsupportedInterface.selector, + "IAccessControl" + ) + ); + vm.prank(admin); + accessControlled.setAccessControl(address(this)); + } +} diff --git a/test/foundry/e2e/e2e.t.sol b/test/foundry/e2e/e2e.t.sol new file mode 100644 index 00000000..ea587f17 --- /dev/null +++ b/test/foundry/e2e/e2e.t.sol @@ -0,0 +1,1503 @@ +/* solhint-disable contract-name-camelcase, func-name-mixedcase, var-name-mixedcase */ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.19; + +import { IIPOrg } from "contracts/interfaces/ip-org/IIPOrg.sol"; +import { IPOrg } from "contracts/ip-org/IPOrg.sol"; +import { AccessControl } from "contracts/lib/AccessControl.sol"; +import { RegistrationModule } from "contracts/modules/registration/RegistrationModule.sol"; +import { StoryProtocol } from "contracts/StoryProtocol.sol"; +import { RelationshipModule } from "contracts/modules/relationships/RelationshipModule.sol"; +import { LicensingModule } from "contracts/modules/licensing/LicensingModule.sol"; +import { TokenGatedHook } from "contracts/hooks/TokenGatedHook.sol"; +import { PolygonTokenHook } from "contracts/hooks/PolygonTokenHook.sol"; +import { MockPolygonTokenClient } from "test/foundry/mocks/MockPolygonTokenClient.sol"; +import { HookRegistry } from "contracts/modules/base/HookRegistry.sol"; +import { HookResult, IHook } from "contracts/interfaces/hooks/base/IHook.sol"; +import { Hook } from "contracts/lib/hooks/Hook.sol"; +import { TokenGated } from "contracts/lib/hooks/TokenGated.sol"; +import { PolygonToken } from "contracts/lib/hooks/PolygonToken.sol"; +import { MockERC20 } from "test/foundry/mocks/MockERC20.sol"; +import { MockERC721 } from "test/foundry/mocks/MockERC721.sol"; +import { Licensing } from "contracts/lib/modules/Licensing.sol"; +import { BaseTest } from "test/foundry/utils/BaseTest.sol"; +import { LibRelationship } from "contracts/lib/modules/LibRelationship.sol"; +import { SPUMLParams } from "contracts/lib/modules/SPUMLParams.sol"; +import { Registration } from "contracts/lib/modules/Registration.sol"; +import { IE2ETest } from "test/foundry/interfaces/IE2ETest.sol"; +import { Errors } from "contracts/lib/Errors.sol"; +import { BitMask } from "contracts/lib/BitMask.sol"; +import { ShortString, ShortStrings } from "@openzeppelin/contracts/utils/ShortStrings.sol"; +import { Strings } from "@openzeppelin/contracts/utils/Strings.sol"; +import { Create2 } from "@openzeppelin/contracts/utils/Create2.sol"; + +contract E2ETest is IE2ETest, BaseTest { + using ShortStrings for *; + + TokenGatedHook internal tokenGatedHook; + PolygonTokenHook public polygonTokenHook; + MockERC721 internal mockNFT; + MockERC20 internal mockERC20; + + address internal ipOrgOwner1 = address(1234); + address internal ipOrgOwner2 = address(4567); + address internal ipOrgOwner3 = address(6789); + address internal ipAssetOwner1 = address(6789); + address internal ipAssetOwner2 = address(9876); + address internal ipAssetOwner3 = address(8888); + address internal ipAssetOwner4 = address(7777); + address internal ipAssetOwner5 = address(6666); + + address internal ipOrg1; + address internal ipOrg2; + address internal ipOrg3; + + string internal FRAMEWORK_ID_DOGnCO = "test_framework_dog_and_co"; + string internal FRAMEWORK_ID_CATnCO = "test_framework_cat_and_co"; + string internal FRAMEWORK_ID_ORG3 = "test_framework_org3"; + + uint256 internal mockPolygonTokenHookNonce; + + // variables defined here to avoid stack too deep error + bytes[] internal hooksTransferIPAsset; + uint256 internal licenseId_1_nonDeriv; + uint256 internal licenseId_2_deriv; + uint256 internal licenseId_3_deriv; + uint256 internal licenseId_4_sub_deriv; + uint256 internal ipAssetId_1; + uint256 internal ipAssetId_2; + uint256 internal ipAssetId_3; + uint256 internal ipAssetId_4; + uint256 internal ipAssetId_5; + uint256 internal ipOrg1_AssetId_1; + uint256 internal ipOrg1_AssetId_2; + uint256 internal ipOrg2_AssetId_1; + uint256 internal ipOrg2_AssetId_2; + uint256 internal ipOrg3_AssetId_1; + uint256 internal relIdProtocolLevel; + string internal ipOrg1_baseUri = "http://iporg1.baseuri.url"; + string internal ipOrg2_baseUri = "http://iporg2.baseuri.url"; + string internal ipOrg3_baseUri = "http://iporg3.baseuri.url"; + string internal ipOrg1_contractUri = "http://iporg1.contracturi.url"; + string internal ipOrg2_contractUri = "http://iporg2.contracturi.url"; + string internal ipOrg3_contractUri = "http://iporg3.contracturi.url"; + + function setUp() public virtual override { + super.setUp(); + _grantRole(vm, AccessControl.RELATIONSHIP_MANAGER_ROLE, admin); + _grantRole(vm, AccessControl.LICENSING_MANAGER, admin); + _grantRole( + vm, + AccessControl.HOOK_CALLER_ROLE, + address(registrationModule) + ); + _grantRole( + vm, + AccessControl.HOOK_CALLER_ROLE, + address(relationshipModule) + ); + _grantRole( + vm, + AccessControl.HOOK_CALLER_ROLE, + address(licensingModule) + ); + + /// TOKEN_GATED_HOOK + bytes memory tokenGatedHookCode = abi.encodePacked( + type(TokenGatedHook).creationCode, + abi.encode(address(accessControl)) + ); + tokenGatedHook = TokenGatedHook( + _deployHook(tokenGatedHookCode, Hook.SYNC_FLAG, 0) + ); + moduleRegistry.registerProtocolHook( + "TokenGatedHook", + IHook(tokenGatedHook) + ); + + /// POLYGON_TOKEN_HOOK + MockPolygonTokenClient mockPolygonTokenClient = new MockPolygonTokenClient(); + bytes memory polygonTokenHookCode = abi.encodePacked( + type(PolygonTokenHook).creationCode, + abi.encode( + address(accessControl), + mockPolygonTokenClient, + address(this) + ) + ); + polygonTokenHook = PolygonTokenHook( + _deployHook(polygonTokenHookCode, Hook.ASYNC_FLAG, 0) + ); + moduleRegistry.registerProtocolHook( + "PolygonTokenHook", + IHook(polygonTokenHook) + ); + + /// MOCK_ERC721, for regular token-gated hook + /// In the example, ipAssetOwner1 and ipAssetOwner2 are owners of IPAs that are + /// registered to an IPOrg (IPOrg 1) that uses TokenGated hook as pre-hook. + mockNFT = new MockERC721(); + mockNFT.mint(ipAssetOwner1, 1); + mockNFT.mint(ipAssetOwner2, 2); + + /// MOCK_ERC20, for Polygon token hook + /// In the example, ipAssetOwner3 and ipAssetOwner4 are owners of IPAs that are + /// registered to an IPOrg (IPOrg 2) that uses PolygonToken hook as pre-hook. + mockERC20 = new MockERC20("MockERC20", "MERC20", 18); + mockERC20.mint(2000); + mockERC20.transfer(ipAssetOwner3, 1000); + mockERC20.transfer(ipAssetOwner4, 1000); + + /// From above, you can also stack pre- or post-hooks! + + /// Setups + _setUp_LicensingFramework(); + + vm.label(ipOrgOwner1, "ipOrgOwner1"); + vm.label(ipOrgOwner2, "ipOrgOwner2"); + } + + function _setUp_LicensingFramework() internal { + // + /// Licensing Framework with ID: Dog & Co. (FRAMEWORK_ID_DOGnCO) + // + + uint8[] memory enabledDerivativeIndice = new uint8[](2); + enabledDerivativeIndice[0] = SPUMLParams.ALLOWED_WITH_APPROVAL_INDEX; + // enabledDerivativeIndice[1] = SPUMLParams + // .ALLOWED_WITH_RECIPROCAL_LICENSE_INDEX; + + // Use 4 of SPUMLParams for Dog & Co. + Licensing.ParamDefinition[] + memory paramDefs = new Licensing.ParamDefinition[](4); + ShortString[] memory derivativeChoices = new ShortString[](3); + derivativeChoices[0] = SPUMLParams + .ALLOWED_WITH_APPROVAL + .toShortString(); + derivativeChoices[1] = SPUMLParams + .ALLOWED_WITH_RECIPROCAL_LICENSE + .toShortString(); + derivativeChoices[2] = SPUMLParams + .ALLOWED_WITH_ATTRIBUTION + .toShortString(); + + paramDefs[0] = Licensing.ParamDefinition( + SPUMLParams.CHANNELS_OF_DISTRIBUTION.toShortString(), + Licensing.ParameterType.ShortStringArray, + "", + "" + ); + paramDefs[1] = Licensing.ParamDefinition( + SPUMLParams.ATTRIBUTION.toShortString(), + Licensing.ParameterType.Bool, + abi.encode(true), + "" + ); + paramDefs[2] = Licensing.ParamDefinition( + SPUMLParams.DERIVATIVES_ALLOWED.toShortString(), + Licensing.ParameterType.Bool, + abi.encode(true), + "" + ); + paramDefs[3] = Licensing.ParamDefinition({ + tag: SPUMLParams.DERIVATIVES_ALLOWED_OPTIONS.toShortString(), + paramType: Licensing.ParameterType.MultipleChoice, + // defaultValue: abi.encode( + // BitMask._convertToMask(enabledDerivativeIndice) + // ), + defaultValue: "", + availableChoices: abi.encode(derivativeChoices) + }); + + vm.prank(licensingManager); + licensingFrameworkRepo.addFramework( + Licensing.SetFramework({ + id: FRAMEWORK_ID_DOGnCO, + textUrl: "text_url_dog_and_co", + paramDefs: paramDefs + }) + ); + + // + // Licensing Framework with ID: Cat & Co. (FRAMEWORK_ID_CATnCO) + // + + paramDefs = new Licensing.ParamDefinition[](4); + + ShortString[] memory catColorChoices = new ShortString[](2); + catColorChoices[0] = "cat_is_gold".toShortString(); + catColorChoices[1] = "cat_is_gray".toShortString(); + paramDefs[0] = Licensing.ParamDefinition({ + tag: "TEST_TAG_CAT_COLOR".toShortString(), + paramType: Licensing.ParameterType.MultipleChoice, + defaultValue: abi.encode(0), + availableChoices: abi.encode(catColorChoices) + }); + paramDefs[1] = Licensing.ParamDefinition({ + tag: "TEST_TAG_CAT_IS_CUTE".toShortString(), + paramType: Licensing.ParameterType.Bool, + defaultValue: abi.encode(true), + availableChoices: "" + }); + paramDefs[2] = Licensing.ParamDefinition( + SPUMLParams.DERIVATIVES_ALLOWED.toShortString(), + Licensing.ParameterType.Bool, + abi.encode(true), + "" + ); + paramDefs[3] = Licensing.ParamDefinition({ + tag: SPUMLParams.DERIVATIVES_ALLOWED_OPTIONS.toShortString(), + paramType: Licensing.ParameterType.MultipleChoice, + defaultValue: "", + availableChoices: abi.encode(derivativeChoices) + }); + + vm.prank(licensingManager); + licensingFrameworkRepo.addFramework( + Licensing.SetFramework({ + id: FRAMEWORK_ID_CATnCO, + textUrl: "text_url_cat_and_co", + paramDefs: paramDefs + }) + ); + + // + // Licensing Framework with ID: Org3 (FRAMEWORK_ID_ORG3) + // + + paramDefs = new Licensing.ParamDefinition[](1); + + paramDefs[0] = Licensing.ParamDefinition( + SPUMLParams.DERIVATIVES_ALLOWED.toShortString(), + Licensing.ParameterType.Bool, + abi.encode(false), + "" + ); + + vm.prank(licensingManager); + licensingFrameworkRepo.addFramework( + Licensing.SetFramework({ + id: FRAMEWORK_ID_ORG3, + textUrl: "text_url_org3", + paramDefs: paramDefs + }) + ); + } + + function test_e2e() public { + /// + /// ========================================= + /// Create IPOrgs + /// ========================================= + /// + + string[] memory ipAssetTypesShared = new string[](2); + string[] memory ipAssetTypesOnly1 = new string[](1); + string[] memory ipAssetTypesOnly2 = new string[](1); + string[] memory ipAssetTypesScratchPad = new string[](3); + ipAssetTypesShared[0] = "CHARACTER"; + ipAssetTypesShared[1] = "STORY"; + ipAssetTypesOnly1[0] = "MOVIE"; + ipAssetTypesOnly2[0] = "MUSIC"; + + ipOrg1 = spg.registerIpOrg( + ipOrgOwner1, + "IPOrgName1", + "IPO1", + ipAssetTypesShared + ); + ipOrg2 = spg.registerIpOrg( + ipOrgOwner2, + "IPOrgName2", + "IPO2", + ipAssetTypesShared + ); + ipOrg3 = spg.registerIpOrg( + ipOrgOwner3, + "IPOrgName3", + "IPO3", + ipAssetTypesShared + ); + + vm.label(ipOrg1, "IPOrg_1"); + vm.label(ipOrg2, "IPOrg_2"); + vm.label(ipOrg3, "IPOrg_3"); + + // TODO: check for event `ModuleConfigured` + vm.prank(ipOrgOwner1); + spg.addIPAssetTypes(ipOrg1, ipAssetTypesOnly1); + + vm.prank(ipOrgOwner2); + spg.addIPAssetTypes(ipOrg2, ipAssetTypesOnly2); + + ipAssetTypesScratchPad = registrationModule.getIpOrgAssetTypes(ipOrg3); + for (uint256 i = 0; i < ipAssetTypesScratchPad.length; i++) { + assertEq( + ipAssetTypesScratchPad[i], + ipAssetTypesShared[i], + "ipAssetTypesScratchPad[i] should match ipAssetTypesShared[i]" + ); + } + + ipAssetTypesScratchPad = registrationModule.getIpOrgAssetTypes(ipOrg2); + assertEq( + ipAssetTypesScratchPad.length, + ipAssetTypesShared.length + ipAssetTypesOnly1.length, + "length should match" + ); + + /// + /// ========================================= + /// Configure IPOrg modules + /// ========================================= + /// + + vm.expectEmit(address(registrationModule)); + emit MetadataUpdated(ipOrg1, ipOrg1_baseUri, ipOrg1_contractUri); + vm.prank(ipOrgOwner1); + spg.setMetadata(ipOrg1, ipOrg1_baseUri, ipOrg1_contractUri); + assertEq( + registrationModule.contractURI(ipOrg1), + ipOrg1_contractUri, + "contractURI should be ipOrg1_contractUri" + ); + assertEq( + IIPOrg(ipOrg1).contractURI(), + ipOrg1_contractUri, + "contractURI should be ipOrg1_contractUri" + ); + // TODO: tokenURI check + // assertEq(registrationModule.tokenURI(address(ipOrg), 1, 0), ""); + + vm.prank(ipOrgOwner2); + spg.setMetadata(ipOrg2, ipOrg2_baseUri, ipOrg2_contractUri); + assertEq( + registrationModule.contractURI(ipOrg2), + ipOrg2_contractUri, + "contractURI should be ipOrg2_contractUri" + ); + assertEq( + IIPOrg(ipOrg2).contractURI(), + ipOrg2_contractUri, + "contractURI should be ipOrg2_contractUri" + ); + + vm.prank(ipOrgOwner3); + spg.setMetadata(ipOrg3, ipOrg3_baseUri, ipOrg3_contractUri); + + /// + /// ========================================= + /// Register hooks via RegistrationModule + /// ========================================= + /// + + _registerHooksForIPOrgs(); + + /// + /// ========================================= + /// Add Relationship types + /// ========================================= + /// + + LibRelationship.RelatedElements memory allowedElements = LibRelationship + .RelatedElements({ + src: LibRelationship.Relatables.ADDRESS, + dst: LibRelationship.Relatables.ADDRESS + }); + uint8[] memory allowedSrcs = new uint8[](2); + allowedSrcs[0] = 0; + allowedSrcs[1] = 2; + uint8[] memory allowedDsts = new uint8[](1); + allowedDsts[0] = 1; + LibRelationship.AddRelationshipTypeParams + memory relProtocolLevelParams = LibRelationship + .AddRelationshipTypeParams({ + relType: "TEST_RELATIONSHIP_PROTOCOL_LEVEL", + ipOrg: LibRelationship.PROTOCOL_LEVEL_RELATIONSHIP, + allowedElements: allowedElements, + allowedSrcs: allowedSrcs, + allowedDsts: allowedDsts + }); + // Admin needs to add protocol-level relationship types + vm.startPrank(admin); + spg.addRelationshipType(relProtocolLevelParams); + spg.removeRelationshipType( + LibRelationship.PROTOCOL_LEVEL_RELATIONSHIP, + "TEST_RELATIONSHIP_PROTOCOL_LEVEL" + ); + spg.addRelationshipType(relProtocolLevelParams); + vm.stopPrank(); + + allowedElements = LibRelationship.RelatedElements({ + src: LibRelationship.Relatables.ADDRESS, + dst: LibRelationship.Relatables.ADDRESS + }); + allowedSrcs = new uint8[](0); + allowedDsts = new uint8[](0); + LibRelationship.AddRelationshipTypeParams + memory relAppearInParams = LibRelationship + .AddRelationshipTypeParams({ + relType: "APPEAR_IN", + ipOrg: ipOrg1, + allowedElements: allowedElements, + allowedSrcs: allowedSrcs, + allowedDsts: allowedDsts + }); + // TODO: event check for `addRelationshipType` (event `RelationshipTypeSet`) + vm.prank(ipOrgOwner1); + spg.addRelationshipType(relAppearInParams); + + /// + /// ========================================= + /// Create Relationships for IPOrgs + /// based on above Relationship types + /// ========================================= + /// + + // In IPOrg 1, create a relationship from asset ID 1 to asset ID 2 (local to IPOrg 1) + // to indicate that ID 1 appears in ID 2 + LibRelationship.CreateRelationshipParams + memory crParams = LibRelationship.CreateRelationshipParams({ + relType: "APPEAR_IN", + srcAddress: ipOrg1, + srcId: 1, // source, global asset id + dstAddress: ipOrg1, + dstId: 2 // destination, global asset id + }); + + vm.prank(ipOrgOwner1); + relIdProtocolLevel = spg.createRelationship( + ipOrg1, + crParams, + new bytes[](0), // preHooksDataRel + new bytes[](0) // postHooksDataRel + ); + assertEq(relIdProtocolLevel, 1, "relIdProtocolLevel should be 1"); + LibRelationship.Relationship memory rel = relationshipModule + .getRelationship(1); + assertEq(rel.relType, "APPEAR_IN", "relType should be APPEAR_IN"); + assertEq(rel.srcAddress, ipOrg1, "srcAddress should be ipOrg1"); + assertEq(rel.dstAddress, ipOrg1, "dstAddress should be ipOrg1"); + assertEq(rel.srcId, 1, "srcId should be 1"); + assertEq(rel.dstId, 2, "dstId should be 2"); + assertTrue( + relationshipModule.relationshipExists(rel), + "Relationship should exist" + ); + + /// + /// ========================================= + /// Configure IPOrg's org-wide Licensing + /// ========================================= + /// + + // + // NOTE: For each ipOrg, we set IPOrg-wide Licensing terms that get applied to any Licenses under that IPOrg. + // Licenses can modify terms within its IPOrg's assigned Licensing framework, as long as those terms + // aren't specified in IPOrg-wide Licensing terms. + // In other words, you must use IPOrg-wide Licensing terms and modify what's untouched. + // + + // + // Configure licensing for IPOrg1 (Dog & Co.) + // Enforce these license terms to all Licenses under IPOrg1. + // + + Licensing.ParamValue[] memory lParams = new Licensing.ParamValue[](3); + ShortString[] memory channel_distribution = new ShortString[](2); + + channel_distribution[0] = "dog loves hoomans".toShortString(); + channel_distribution[1] = "dog conquers world".toShortString(); + + uint8[] memory enabledDerivativeIndice = new uint8[](1); + enabledDerivativeIndice[0] = SPUMLParams.ALLOWED_WITH_APPROVAL_INDEX; + // enabledDerivativeIndice[1] = SPUMLParams + // .ALLOWED_WITH_ATTRIBUTION_INDEX; + + // Use the list of terms from SPUMLParams + lParams = new Licensing.ParamValue[](4); + lParams[0] = Licensing.ParamValue({ + tag: SPUMLParams.CHANNELS_OF_DISTRIBUTION.toShortString(), + value: abi.encode(channel_distribution) + }); + lParams[1] = Licensing.ParamValue({ + tag: SPUMLParams.ATTRIBUTION.toShortString(), + value: abi.encode(true) // unset + }); + lParams[2] = Licensing.ParamValue({ + tag: SPUMLParams.DERIVATIVES_ALLOWED.toShortString(), + value: abi.encode(true) + }); + lParams[3] = Licensing.ParamValue({ + tag: SPUMLParams.DERIVATIVES_ALLOWED_OPTIONS.toShortString(), + // (active) derivative options are set via bitmask + value: abi.encode(BitMask._convertToMask(enabledDerivativeIndice)) + }); + + Licensing.LicensingConfig memory licensingConfig = Licensing + .LicensingConfig({ + frameworkId: FRAMEWORK_ID_DOGnCO, + params: lParams, + // licensor: Licensing.LicensorConfig.Source + licensor: Licensing.LicensorConfig.IpOrgOwnerAlways + }); + + // TODO: event check for `configureIpOrgLicensing` + vm.startPrank(ipOrgOwner1); + spg.configureIpOrgLicensing(ipOrg1, licensingConfig); + // Two `configureIpOrgLicensing`s are commented out since right now, we allow + // `configureIpOrgLicensing` to be called only once per IPOrg. + // spg.configureIpOrgLicensing(ipOrg2, licensingConfig); // this should get overwritten by Unset + // spg.configureIpOrgLicensing(ipOrg2, Licensing.LicensingConfig({ + // frameworkId: FRAMEWORK_ID_DOGnCO, + // params: lParams, + // licensor: Licensing.LicensorConfig.Unset + // })); + vm.stopPrank(); + + // + // Configure licensing for IPOrg2 (Cat & Co.). + // Enforce these license terms to all Licenses under IPOrg2. + // => TEST_TAG_CAT_COLOR = 1 (cat_is_gray) + // => TEST_TAG_CAT_IS_CUTE = true + // + + lParams = new Licensing.ParamValue[](2); + lParams[0] = Licensing.ParamValue({ + tag: "TEST_TAG_CAT_COLOR".toShortString(), + value: abi.encode(1) // BitMask, or just 1 to indicate index 1 + }); + lParams[1] = Licensing.ParamValue({ + tag: "TEST_TAG_CAT_IS_CUTE".toShortString(), + value: abi.encode(true) + }); + + licensingConfig = Licensing.LicensingConfig({ + frameworkId: FRAMEWORK_ID_CATnCO, + params: lParams, + // licensor: Licensing.LicensorConfig.Source + licensor: Licensing.LicensorConfig.IpOrgOwnerAlways + }); + + // TODO: event check for `configureIpOrgLicensing` + vm.prank(ipOrgOwner2); + spg.configureIpOrgLicensing(ipOrg2, licensingConfig); + + // + // Configure licensing for IPOrg3. + // Enforce these license terms to all Licenses under IPOrg3. + // => DERIVATIVES_ALLOWED = false + // + + lParams = new Licensing.ParamValue[](1); + lParams[0] = Licensing.ParamValue({ + tag: SPUMLParams.DERIVATIVES_ALLOWED.toShortString(), + value: abi.encode(false) + }); + + licensingConfig = Licensing.LicensingConfig({ + frameworkId: FRAMEWORK_ID_ORG3, + params: lParams, + licensor: Licensing.LicensorConfig.Source + // licensor: Licensing.LicensorConfig.IpOrgOwnerAlways + }); + + vm.prank(ipOrgOwner3); + spg.configureIpOrgLicensing(ipOrg3, licensingConfig); + + // + // Configure + // + + /// + /// ========================================= + /// Register IP Assets + /// ========================================= + /// + + _registerIpAssets(); + + /// + /// ========================================= + /// IP Assets Transfers + /// ========================================= + /// + + vm.expectEmit(address(registrationModule)); + emit IPAssetTransferred(1, ipOrg1, 1, ipAssetOwner1, ipAssetOwner2); + vm.prank(ipAssetOwner1); + spg.transferIPAsset( + ipOrg1, + ipAssetOwner1, + ipAssetOwner2, + 1, // global asset id + // IPOrg1 has no pre-hooks set for action `TRANSFER_IP_ASSET`, so we pass in empty params + new bytes[](0), + new bytes[](0) + ); + assertEq( + registry.ipAssetOwner(1), + ipAssetOwner2, + "owner should be ipAssetOwner2 after transferIPAsset" + ); + + // Transfer back, `ipAssetOwner2` also has enough balance of mockNFT + vm.prank(ipAssetOwner2); + spg.transferIPAsset( + ipOrg1, + ipAssetOwner2, + ipAssetOwner1, + 1, // global asset id + // IPOrg1 has no pre-hooks set for action `TRANSFER_IP_ASSET`, so we pass in empty params + new bytes[](0), + new bytes[](0) + ); + assertEq( + registry.ipAssetOwner(1), + ipAssetOwner1, + "owner should be ipAssetOwner1 after transferIPAsset" + ); + + // // Since we've configured PolygonToken hook for IPOrg2 on `TRANSFER_IP_ASSET` action, + // // it will get triggered here. The hook will check if the sender has enough token + // // balance (in this case, mockERC20) to transfer the IP asset. If not, it will revert. + // hooksTransferIPAsset = new bytes[](1); + // hooksTransferIPAsset[0] = abi.encode(ipAssetOwner4); + + // // vm.expectEmit(address(registrationModule)); + // // emit IPAssetTransferred(1, ipOrg1, 1, ipAssetOwner1, ipAssetOwner2); + // vm.prank(ipAssetOwner4); + // spg.transferIPAsset( + // ipOrg2, + // ipAssetOwner4, + // ipAssetOwner3, + // 4, // asset id + // // IPOrg2 has 1 pre-hook set for action `TRANSFER_IP_ASSET` + // hooksTransferIPAsset, + // new bytes[](0) + // ); + + // _triggerMockPolygonTokenHook(ipAssetOwner4); + + /// + /// ========================================= + /// Random IP Asset actions + /// ========================================= + /// + + vm.prank(address(registrationModule)); + vm.expectEmit(address(registry)); + emit IPOrgTransferred(ipAssetId_2, ipOrg1, ipOrg2); + registry.transferIPOrg(ipAssetId_2, ipOrg2); + assertEq(registry.ipAssetOrg(ipAssetId_2), ipOrg2, "IPOrg should be 2"); + + // Misc. + + vm.prank(address(0)); // TODO: modify when `onlyDisputer` is complete + emit StatusChanged(ipAssetId_2, 1, 0); // 0 means unset, 1 means set (change when status is converted to ENUM) + registry.setStatus(ipAssetId_2, 0); + assertEq(registry.status(ipAssetId_2), 0, "Status should be unset"); + + registry.setStatus(ipAssetId_2, 1); // reset the status to be active + + /// + /// ========================================= + /// Create License NFTs (1) + /// ========================================= + /// + + // + // NOTE You can only add/use ParamValues that aren't used by the license's IPOrg, + // since IPOrg's license terms are enforced to all Licenses under that IPOrg. + // + + // + // Create a license for Asset ID 1 (Org 1, ID 1) + // Use SPUMLParams license framework, which is attached to Org 2 (cat & co.) + // + + // Only inherit IPOrg's org-wide licensing terms, don't set any params + Licensing.LicenseCreation memory lCreation = Licensing.LicenseCreation({ + params: new Licensing.ParamValue[](0), + parentLicenseId: 0, // no parent + ipaId: ipAssetId_1 + }); + vm.prank(ipOrgOwner1); + licenseId_1_nonDeriv = spg.createLicense( + address(ipOrg1), + lCreation, + new bytes[](0), + new bytes[](0) + ); + assertEq(licenseId_1_nonDeriv, 1, "License ID should be 1"); + Licensing.LicenseData memory licenseData_1_nonDeriv = licenseRegistry + .getLicenseData(licenseId_1_nonDeriv); + assertEq( + uint8(licenseData_1_nonDeriv.status), + uint8(Licensing.LicenseStatus.Active), + "License 1 (Org 1) should active on creation + not a derivative" + ); + + assertEq( + licenseData_1_nonDeriv.derivativesAllowed, + true, + "License 1 (Org 1) should allow derivatives" + ); + assertEq( + licenseData_1_nonDeriv.isReciprocal, + false, + "License 1 (Org 1) should NOT be reciprocal" + ); + assertEq( + licenseData_1_nonDeriv.derivativeNeedsApproval, + true, + "License 1 (Org 1) should approve derivatives" + ); + assertEq( + licenseData_1_nonDeriv.ipaId, + ipAssetId_1, + "License 1 (Org 1)'s linked IPA ID should be 1" + ); + assertEq( + licenseData_1_nonDeriv.parentLicenseId, + 0, + "License 1 (Org 1) should have no parent license" + ); + + // Since this is a license without a parent license, the license should be activated immediately on + // `createLicense`. This is already checked about via status == LicenseStatus.Active, but again checked here. + // This is just a test that expects revert. + vm.expectRevert( + Errors.LicenseRegistry_LicenseNotPendingApproval.selector + ); + vm.prank(ipOrgOwner1); + spg.activateLicense(address(ipOrg1), licenseId_1_nonDeriv); + + // + // Create two more licenses for Asset ID 3 (Org 2, ID 1), this time with a parent license + // (licenseId_1_nonDeriv created above), so this is a sub-license. + // + // Since `licenseId_1_nonDeriv` is reciprocal (as we've configured for SPUMLParams), + // the two sub-licenses can't modify the params, ie. they inherit the parent's params. + // + // First sub-license is created without a linked IP asset, second sub-license is created with a linked IP asset. + // Both sub-licenses will be pending approval on creation — parent license has specified in its license terms. + // They will need to get approved by the parent license's licensor. + // + // Third sub-sub-license is derived from the second sub-license, and created without a linked IP asset. + // This license will be approved immediately on creation, as the second sub-license didn't specify the + // "require approval from derivatives" (ALLOWED_WITH_APPROVAL) in its terms. + // + // + + // + // First once should have no IP asset linked on creation. + // This license does NOT allow derivatives. + // + + lParams = new Licensing.ParamValue[](3); + // allow channel of distribution + lParams[0] = Licensing.ParamValue({ + tag: SPUMLParams.CHANNELS_OF_DISTRIBUTION.toShortString(), + value: abi.encode(true) + }); + // require attribution + lParams[1] = Licensing.ParamValue({ + tag: SPUMLParams.ATTRIBUTION.toShortString(), + value: abi.encode(true) + }); + // disable derivatives + lParams[2] = Licensing.ParamValue({ + tag: SPUMLParams.DERIVATIVES_ALLOWED.toShortString(), + value: abi.encode(false) + }); + + lCreation = Licensing.LicenseCreation({ + params: lParams, + parentLicenseId: licenseId_1_nonDeriv, + ipaId: 0 // no linked IP asset + }); + vm.prank(ipOrgOwner2); + licenseId_2_deriv = spg.createLicense( + address(ipOrg2), + lCreation, + new bytes[](0), + new bytes[](0) + ); + assertEq(licenseId_2_deriv, 2, "License ID should be 2"); + Licensing.LicenseData memory licenseData_2_deriv = licenseRegistry + .getLicenseData(licenseId_2_deriv); + assertEq( + uint8(licenseData_2_deriv.status), + uint8(Licensing.LicenseStatus.PendingLicensorApproval), + "License 2 (Org 1) should be pending approval on creation" + ); + + vm.prank(ipOrgOwner2); + spg.activateLicense(address(ipOrg2), licenseId_2_deriv); + licenseData_2_deriv = licenseRegistry.getLicenseData(licenseId_2_deriv); // refresh license data in mem + assertEq( + uint8(licenseData_2_deriv.status), + uint8(Licensing.LicenseStatus.Active), + "License 2 (Org 1) should be active" + ); + assertEq( + licenseData_2_deriv.derivativesAllowed, + false, + "License 2 (Org 1) should NOT allow derivatives" + ); + assertEq( + licenseData_2_deriv.isReciprocal, + false, + "License 2 (Org 1) should NOT be reciprocal" + ); + assertEq( + licenseData_2_deriv.derivativeNeedsApproval, + false, + "License 2 (Org 1) should not need to approve derivatives" + ); + assertEq( + licenseData_2_deriv.ipaId, + 0, + "License 2 (Org 1) should not be linked to IPA" + ); + assertEq( + licenseData_2_deriv.parentLicenseId, + licenseId_1_nonDeriv, + "License 2 (Org 1) should have parent license" + ); + + // + // Second one should have an IP asset linked on creation + // This license allows derivatives. + // + + lParams = new Licensing.ParamValue[](2); + // allow derivatives without approval, but require reciprocal license + enabledDerivativeIndice[0] = SPUMLParams + .ALLOWED_WITH_RECIPROCAL_LICENSE_INDEX; + + // derivatives allowed + lParams[0] = Licensing.ParamValue({ + tag: SPUMLParams.DERIVATIVES_ALLOWED.toShortString(), + value: abi.encode(true) + }); + // derivative options => derivatives must be of reciprocal + lParams[1] = Licensing.ParamValue({ + tag: SPUMLParams.DERIVATIVES_ALLOWED_OPTIONS.toShortString(), + value: abi.encode(BitMask._convertToMask(enabledDerivativeIndice)) + }); + + lCreation = Licensing.LicenseCreation({ + params: lParams, + parentLicenseId: licenseId_1_nonDeriv, + ipaId: ipAssetId_3 // linked IP asset (owned by IPOrg 2) + }); + vm.prank(ipOrgOwner2); + licenseId_3_deriv = spg.createLicense( + address(ipOrg2), + lCreation, + new bytes[](0), + new bytes[](0) + ); + assertEq(licenseId_3_deriv, 3, "License ID should be 3"); + Licensing.LicenseData memory licenseData_3_deriv = licenseRegistry + .getLicenseData(licenseId_3_deriv); + assertEq( + uint8(licenseData_3_deriv.status), + uint8(Licensing.LicenseStatus.PendingLicensorApproval), + "License 3 (Org 2) should be pending approval on creation" + ); + + // Comment above on the first license applies here as well. + vm.prank(ipOrgOwner2); + spg.activateLicense(address(ipOrg2), licenseId_3_deriv); + licenseData_3_deriv = licenseRegistry.getLicenseData(licenseId_3_deriv); // refresh license data + assertEq( + uint8(licenseData_3_deriv.status), + uint8(Licensing.LicenseStatus.Active), + "License 3 (Org 2) should be active" + ); + assertEq( + licenseData_3_deriv.derivativesAllowed, + true, + "License 3 (Org 2) should allow derivatives" + ); + assertEq( + licenseData_3_deriv.isReciprocal, + true, + "License 3 (Org 2) should be reciprocal" + ); + assertEq( + licenseData_3_deriv.derivativeNeedsApproval, + false, + "License 3 (Org 2) should allow derivatives without approval" + ); + assertEq( + licenseData_3_deriv.ipaId, + ipAssetId_3, + "License 3 (Org 2) should be linked to IPA" + ); + assertEq( + licenseData_3_deriv.parentLicenseId, + licenseId_1_nonDeriv, + "License 3 (Org 2) should have parent license" + ); + + // + // Check that license 2 (Org 1) doesn't allow derivative + // + + lCreation = Licensing.LicenseCreation({ + params: new Licensing.ParamValue[](0), // no licensing params + parentLicenseId: licenseId_2_deriv, // License ID 2 DOES NOT ALLOW DERIVATIVES + ipaId: 0 // no linked IPA + }); + vm.prank(ipOrgOwner3); + vm.expectRevert(Errors.LicensingModule_DerivativeNotAllowed.selector); + licenseId_4_sub_deriv = spg.createLicense( + address(ipOrg3), + lCreation, + new bytes[](0), + new bytes[](0) + ); + + // + // Create another license that has parent license (licenseId_4_sub_deriv), which is also a sublicense. + // + + lCreation = Licensing.LicenseCreation({ + params: new Licensing.ParamValue[](0), // no licensing params + parentLicenseId: licenseId_3_deriv, // License 3 allows derivative without approval + ipaId: 0 // no linked IPA + }); + vm.prank(ipOrgOwner3); + licenseId_4_sub_deriv = spg.createLicense( + address(ipOrg3), + lCreation, + new bytes[](0), + new bytes[](0) + ); + assertEq(licenseId_4_sub_deriv, 4, "License ID should be 4"); + Licensing.LicenseData memory licenseData_4_sub_deriv = licenseRegistry + .getLicenseData(licenseId_4_sub_deriv); + assertEq( + uint8(licenseData_4_sub_deriv.status), + uint8(Licensing.LicenseStatus.Active), + "License 4 (Org 3) should active on creation" + ); + assertEq( + licenseData_4_sub_deriv.derivativesAllowed, + true, + "License 4 (Org 3) should allow derivatives (parent is reciprocal, parent allows derivative)" + ); + assertEq( + licenseData_4_sub_deriv.isReciprocal, + true, + "License 4 (Org 3) should be reciprocal (parent is reciprocal, parent allows derivative)" + ); + assertEq( + licenseData_4_sub_deriv.derivativeNeedsApproval, + false, + "License 4 (Org 3) should not need to approve derivative (parent is reciprocal)" + ); + assertEq( + licenseData_4_sub_deriv.ipaId, + 0, + "License 4 (Org 3) should not be linked to IPA" + ); + assertEq( + licenseData_4_sub_deriv.parentLicenseId, + licenseId_3_deriv, + "License 4 (Org 3) should have parent license" + ); + + /// + /// ========================================= + /// Link License NFTs (1) + /// ========================================= + /// + + // Try to link license ID 1 (non-derivative) to Asset ID 3, which will fail + // because Asset ID 3 is already linked to license ID 3 (derivative) + vm.prank(address(licensingModule)); + vm.expectRevert( + Errors.LicenseRegistry_LicenseAlreadyLinkedToIpa.selector + ); + // // One way to link LNFT to IPA + spg.linkLnftToIpa(ipOrg2, licenseId_1_nonDeriv, ipAssetId_3); + + // Link license ID 1 (non-derivative) to Asset ID 2 (Org 2, ID 2) + vm.prank(address(licensingModule)); + vm.expectEmit(address(licenseRegistry)); + emit LicenseNftLinkedToIpa(licenseId_2_deriv, ipAssetId_2); + // Another way to link LNFT to IPA + licenseRegistry.linkLnftToIpa(licenseId_2_deriv, ipAssetId_2); + + /// + /// + /// Register IP Asset & Link to LNFT at the same time + /// + /// + + string memory ipAssetMediaUrl = "https://arweave.net/music3"; + Registration.RegisterIPAssetParams memory ipAssetData = Registration.RegisterIPAssetParams({ + owner: ipAssetOwner5, + ipOrgAssetType: 1, + name: "Music IPA 3", + hash: 0x558b44f88e5959cec9c7836078a53ff4d6432142a9d5caa6f3a6eb7c83933399, + mediaUrl: ipAssetMediaUrl + }); + + vm.prank(ipAssetOwner5); + vm.expectRevert(Errors.LicenseRegistry_LicenseAlreadyLinkedToIpa.selector); + (uint256 ipAssetId_6, uint256 ipOrg3_AssetId_2) = spg.registerIPAsset( + ipOrg3, + ipAssetData, + licenseId_3_deriv, + new bytes[](0), // no pre-hook + new bytes[](0) // no post-hook + ); + + vm.prank(ipAssetOwner5); + (ipAssetId_6, ipOrg3_AssetId_2) = spg.registerIPAsset( + ipOrg3, + ipAssetData, + licenseId_4_sub_deriv, + new bytes[](0), // no pre-hook + new bytes[](0) // no post-hook + ); + assertEq(ipAssetId_6, 6, "ipAssetId_6 should be 6"); + assertEq(ipOrg3_AssetId_2, 2, "ipOrg3_AssetId_2 should be 2"); + assertEq( + IPOrg(ipOrg3).ipAssetId(ipOrg3_AssetId_2), + ipAssetId_6, + "ipOrg3_AssetId_2 should be global ID 6" + ); + assertEq( + IPOrg(ipOrg3).tokenURI(ipOrg3_AssetId_2), + ipAssetMediaUrl, + string.concat("tokenURI should be ", ipAssetMediaUrl) + ); + } + + /// + /// ========================================= + /// + /// Register Hooks for IPOrgs + /// + /// ========================================= + /// + + function _registerHooksForIPOrgs() internal { + // Add token gated hook & polygon token gated hook + // Specify the configuration for the token gated hook, ie. which token to use + address[] memory hooks = new address[](1); + bytes[] memory hooksConfig = new bytes[](1); + + // TokenGated hook that uses MockERC721 + TokenGated.Config memory tokenGatedConfig = TokenGated.Config({ + tokenAddress: address(mockNFT) + }); + + // PolygonToken hook that uses MockERC20 + PolygonToken.Config memory polygonTokenConfig = PolygonToken.Config({ + tokenAddress: address(mockERC20), + balanceThreshold: 1 + }); + + // + // Register TokenGated hook for IPOrg1 in pre-action hooks. + // This hook is triggered on `REGISTER_IP_ASSET` action. + // => this means user needs to hold some tokens on Polygon to register IPAs. + // + hooks[0] = address(tokenGatedHook); + hooksConfig[0] = abi.encode(tokenGatedConfig); + vm.prank(ipOrgOwner1); + vm.expectEmit(address(registrationModule)); + emit HooksRegistered( + HookRegistry.HookType.PreAction, + keccak256( + abi.encode( + address(ipOrg1), + Registration.REGISTER_IP_ASSET, + "REGISTRATION" + ) + ), + hooks + ); + RegistrationModule(registrationModule).registerHooks( + HookRegistry.HookType.PreAction, + IIPOrg(ipOrg1), + hooks, + hooksConfig, + abi.encode(Registration.REGISTER_IP_ASSET) + ); + + // + // Register PolygonToken hook for IPOrg2 in pre-action hook + // This hook is triggered on both `REGISTER_IP_ASSET` and `TRANSFER_IP_ASSET` action. + // => this means user needs to hold some tokens on Polygon to register & transfer IPAs. + // + hooks[0] = address(polygonTokenHook); + hooksConfig[0] = abi.encode(polygonTokenConfig); + vm.prank(ipOrgOwner2); + vm.expectEmit(address(registrationModule)); + emit HooksRegistered( + HookRegistry.HookType.PreAction, + keccak256( + abi.encode( + address(ipOrg2), + Registration.TRANSFER_IP_ASSET, + "REGISTRATION" + ) + ), + hooks + ); + RegistrationModule(registrationModule).registerHooks( + HookRegistry.HookType.PreAction, + IIPOrg(ipOrg2), + hooks, + hooksConfig, + abi.encode(Registration.TRANSFER_IP_ASSET) + ); + + vm.prank(ipOrgOwner2); + vm.expectEmit(address(registrationModule)); + emit HooksRegistered( + HookRegistry.HookType.PreAction, + keccak256( + abi.encode( + address(ipOrg2), + Registration.REGISTER_IP_ASSET, + "REGISTRATION" + ) + ), + hooks + ); + RegistrationModule(registrationModule).registerHooks( + HookRegistry.HookType.PreAction, + IIPOrg(ipOrg2), + hooks, + hooksConfig, + abi.encode(Registration.REGISTER_IP_ASSET) + ); + } + + /// + /// ========================================= + /// + /// Register IP Assets for IPOrgs + /// + /// ========================================= + /// + + function _registerIpAssets() internal { + // + // Asset ID 1 (Org 1, ID 1) + // + + string memory ipAssetMediaUrl = "https://arweave.net/character"; + bytes[] memory preHooksData = new bytes[](0); + + Registration.RegisterIPAssetParams memory ipAssetData = Registration + .RegisterIPAssetParams({ + owner: ipAssetOwner1, + ipOrgAssetType: 0, + name: "Character IPA", + hash: 0x558b44f88e5959cec9c7836078a53ff4d6432142a9d5caa6f3a6eb7c83930000, + mediaUrl: ipAssetMediaUrl + }); + + // hooks + TokenGated.Params memory tokenGatedHookData = TokenGated.Params({ + tokenOwner: ipAssetOwner1 + }); + preHooksData = new bytes[](1); + preHooksData[0] = abi.encode(tokenGatedHookData); + + // TODO: Solve "Stack too deep" for emitting this event + // vm.expectEmit(address(tokenGatedHook)); + // emit SyncHookExecuted( + // address(tokenGatedHook), + // HookResult.Completed, + // _getExecutionContext(hooksConfig[0], abi.encode("")), + // "" + // ); + vm.prank(ipAssetOwner1); + (ipAssetId_1, ipOrg1_AssetId_1) = spg.registerIPAsset( + ipOrg1, + ipAssetData, + 0, + preHooksData, + new bytes[](0) + ); + assertEq(ipAssetId_1, 1, "ipAssetId_1 should be 1"); + assertEq(ipOrg1_AssetId_1, 1, "ipOrg1_AssetId_1 should be 1"); + assertEq( + IPOrg(ipOrg1).ipAssetId(ipOrg1_AssetId_1), + ipAssetId_1, + "ipOrg1_AssetId_1 should be global ID 1" + ); + assertEq( + IPOrg(ipOrg1).tokenURI(ipOrg1_AssetId_1), + ipAssetMediaUrl, + string.concat("tokenURI should be ", ipAssetMediaUrl) + ); + + // + // Asset ID 2 (Org 1, ID 2) + // + + ipAssetMediaUrl = "https://arweave.net/story"; + ipAssetData = Registration.RegisterIPAssetParams({ + owner: ipAssetOwner2, + ipOrgAssetType: 1, + name: "Story IPA", + hash: 0x558b44f88e5959cec9c7836078a53ff4d6432142a9d5caa6f3a6eb7c83931166, + mediaUrl: ipAssetMediaUrl + }); + tokenGatedHookData = TokenGated.Params({ tokenOwner: ipAssetOwner2 }); + preHooksData = new bytes[](1); + preHooksData[0] = abi.encode(tokenGatedHookData); + vm.prank(ipAssetOwner2); + (ipAssetId_2, ipOrg1_AssetId_2) = spg.registerIPAsset( + ipOrg1, + ipAssetData, + 0, + preHooksData, + new bytes[](0) + ); + assertEq(ipAssetId_2, 2, "ipAssetId_2 should be 2"); + assertEq(ipOrg1_AssetId_2, 2, "ipOrg1_AssetId_2 should be 2"); + assertEq( + IPOrg(ipOrg1).ipAssetId(ipOrg1_AssetId_2), + ipAssetId_2, + "ipOrg1_AssetId_2 should be global ID 2" + ); + assertEq( + IPOrg(ipOrg1).tokenURI(ipOrg1_AssetId_2), + ipAssetMediaUrl, + string.concat("tokenURI should be ", ipAssetMediaUrl) + ); + + // + // Asset ID 3 (Org 2, ID 1) + // + + PolygonToken.Params memory polygonTokenHookParams = PolygonToken + .Params({ tokenOwnerAddress: ipAssetOwner3 }); + preHooksData = new bytes[](1); + preHooksData[0] = abi.encode(polygonTokenHookParams); + + ipAssetMediaUrl = "https://arweave.net/story2"; + ipAssetData = Registration.RegisterIPAssetParams({ + owner: ipAssetOwner3, + ipOrgAssetType: 1, + name: "Story IPA 2", + hash: 0x558b44f88e5959cec9c7836078a53ff4d6432142a9d5caa6f3a6eb7c83933377, + mediaUrl: ipAssetMediaUrl + }); + vm.prank(ipAssetOwner3); + // TODO: also check for event `AsyncHookExecuted` + vm.expectEmit(address(registrationModule)); + emit RequestPending(ipAssetOwner3); + // vm.expectEmit(address(polygonTokenHook)); + // emit PolygonTokenBalanceRequest( + // _getMockPolygonTokenHookReqId(), + // address(registrationModule), + // address(mockERC20), + // address(ipAssetOwner3), + // address(polygonTokenHook), + // polygonTokenHook.handleCallback.selector + // ); + spg.registerIPAsset( + ipOrg2, + ipAssetData, + 0, // no license + preHooksData, // pre-hook params: PolygonToken + new bytes[](0) // no post-hook + ); + + // Registering IPAsset with Async hook will not return the proper Global Asset ID & Org's Asset ID + // So we manually have to find the Global Asset ID & Org's Asset ID + ipAssetId_3 = 3; + ipOrg2_AssetId_1 = 1; + + // IPOrg2 has Polygon Token hook as pre-hook action for + // IPA Registration. So we mock the callback from Polygon Token hook. + _triggerMockPolygonTokenHook(ipAssetOwner3); + + assertEq(ipAssetId_3, 3, "ipAssetId_3 should be 3"); + assertEq(ipOrg2_AssetId_1, 1, "ipOrg2_AssetId_1 should be 1"); + assertEq( + IPOrg(ipOrg2).ipAssetId(ipOrg2_AssetId_1), + ipAssetId_3, + "ipOrg2_AssetId_1 should be global ID 3" + ); + assertEq( + IPOrg(ipOrg2).tokenURI(ipOrg2_AssetId_1), + ipAssetMediaUrl, + string.concat("tokenURI should be ", ipAssetMediaUrl) + ); + + // + // Asset ID 4 (Org 2, ID 2) + // + + polygonTokenHookParams = PolygonToken.Params({ + tokenOwnerAddress: ipAssetOwner4 + }); + preHooksData = new bytes[](1); + preHooksData[0] = abi.encode(polygonTokenHookParams); + + ipAssetMediaUrl = "https://arweave.net/music1"; + ipAssetData = Registration.RegisterIPAssetParams({ + owner: ipAssetOwner4, + ipOrgAssetType: 1, + name: "Music IPA", + hash: 0x558b44f88e5959cec9c7836078a53ff4d6432142a9d5caa6f3a6eb7c83933388, + mediaUrl: ipAssetMediaUrl + }); + vm.prank(ipAssetOwner4); + // TODO: also check for event `AsyncHookExecuted` + vm.expectEmit(address(registrationModule)); + emit RequestPending(ipAssetOwner4); + // vm.expectEmit(address(polygonTokenHook)); + // emit PolygonTokenBalanceRequest( + // _getMockPolygonTokenHookReqId(), + // address(registrationModule), + // address(mockERC20), + // address(ipAssetOwner4), + // address(polygonTokenHook), + // polygonTokenHook.handleCallback.selector + // ); + spg.registerIPAsset( + ipOrg2, + ipAssetData, + 0, // no license + preHooksData, // pre-hook params: PolygonToken + new bytes[](0) // no post-hook + ); + + // Registering IPAsset with Async hook will not return the proper Global Asset ID & Org's Asset ID + // So we manually have to find the Global Asset ID & Org's Asset ID + ipAssetId_4 = 4; + ipOrg2_AssetId_2 = 2; + + // IPOrg2 has Polygon Token hook as pre-hook action for + // IPA Registration. So we mock the callback from Polygon Token hook. + _triggerMockPolygonTokenHook(ipAssetOwner4); + + assertEq(ipAssetId_4, 4, "ipAssetId_4 should be 4"); + assertEq(ipOrg2_AssetId_2, 2, "ipOrg2_AssetId_2 should be 2"); + assertEq( + IPOrg(ipOrg2).ipAssetId(ipOrg2_AssetId_2), + ipAssetId_4, + "ipOrg2_AssetId_2 should be global ID 4" + ); + assertEq( + IPOrg(ipOrg2).tokenURI(ipOrg2_AssetId_2), + ipAssetMediaUrl, + string.concat("tokenURI should be ", ipAssetMediaUrl) + ); + + // + // Asset ID 5 (Org 3, ID 1) + // + + ipAssetMediaUrl = "https://arweave.net/music2"; + ipAssetData = Registration.RegisterIPAssetParams({ + owner: ipAssetOwner5, + ipOrgAssetType: 1, + name: "Music IPA 2", + hash: 0x558b44f88e5959cec9c7836078a53ff4d6432142a9d5caa6f3a6eb7c83933399, + mediaUrl: ipAssetMediaUrl + }); + vm.prank(ipAssetOwner5); + (ipAssetId_5, ipOrg3_AssetId_1) = spg.registerIPAsset( + ipOrg3, + ipAssetData, + 0, // no license + new bytes[](0), // no pre-hook + new bytes[](0) // no post-hook + ); + assertEq(ipAssetId_5, 5, "ipAssetId_5 should be 5"); + assertEq(ipOrg3_AssetId_1, 1, "ipOrg3_AssetId_1 should be 1"); + assertEq( + IPOrg(ipOrg3).ipAssetId(ipOrg3_AssetId_1), + ipAssetId_5, + "ipOrg3_AssetId_1 should be global ID 5" + ); + assertEq( + IPOrg(ipOrg3).tokenURI(ipOrg3_AssetId_1), + ipAssetMediaUrl, + string.concat("tokenURI should be ", ipAssetMediaUrl) + ); + } + + function _addRelationshipType( + address ipOrg, + LibRelationship.Relatables src, + LibRelationship.Relatables dst, + uint8 maxSrc + ) internal { + address caller = IIPOrg(ipOrg).owner(); + uint8[] memory allowedSrcs = new uint8[](0); + uint8[] memory allowedDsts = new uint8[](0); + if (ipOrg == address(0)) { + caller = admin; + } else { + allowedSrcs = new uint8[](3); + for (uint8 i = 0; i < maxSrc; i++) { + allowedSrcs[i] = uint8(i); + } + allowedDsts = new uint8[](1); + allowedDsts[0] = 1; + } + LibRelationship.RelatedElements memory allowedElements = LibRelationship + .RelatedElements({ src: src, dst: dst }); + + LibRelationship.AddRelationshipTypeParams + memory params = LibRelationship.AddRelationshipTypeParams({ + relType: "TEST_RELATIONSHIP", + ipOrg: ipOrg, + allowedElements: allowedElements, + allowedSrcs: allowedSrcs, + allowedDsts: allowedDsts + }); + + // TODO test event + vm.prank(caller); + spg.addRelationshipType(params); + } + + function _triggerMockPolygonTokenHook(address caller_) internal { + bytes32 polygonHookReqId = _getMockPolygonTokenHookReqId(); + mockPolygonTokenHookNonce++; + + // vm.expectEmit(address(registrationModule)); + // emit RequestCompleted(address(caller_)); + // vm.expectEmit(address(polygonTokenHook)); + // emit AsyncHookCalledBack( + // address(polygonTokenHook), + // address(registrationModule), + // polygonHookReqId, + // abi.encode(mockERC20.balanceOf(address(caller_))) + // ); + polygonTokenHook.handleCallback( + polygonHookReqId, + mockERC20.balanceOf(address(caller_)) + ); + } + + function _getMockPolygonTokenHookReqId() internal returns (bytes32) { + return + keccak256( + abi.encodePacked( + address(polygonTokenHook), + uint256(mockPolygonTokenHookNonce) + ) + ); + } +} diff --git a/test/foundry/hooks/PolygonTokenHookTest.t.sol b/test/foundry/hooks/PolygonTokenHookTest.t.sol new file mode 100644 index 00000000..3fb30a6c --- /dev/null +++ b/test/foundry/hooks/PolygonTokenHookTest.t.sol @@ -0,0 +1,345 @@ +// SPDX-License-Identifier: BUSL-1.1 +pragma solidity ^0.8.19; + +import "forge-std/Test.sol"; + +import { BaseTest } from "test/foundry/utils/BaseTest.sol"; +import { PolygonTokenHook } from "contracts/hooks/PolygonTokenHook.sol"; +import { HookResult } from "contracts/interfaces/hooks/base/IHook.sol"; +import { Errors } from "contracts/lib/Errors.sol"; +import { AccessControl } from "contracts/lib/AccessControl.sol"; +import { Hook } from "contracts/lib/hooks/Hook.sol"; +import { PolygonToken } from "contracts/lib/hooks/PolygonToken.sol"; +import { MockERC721 } from "test/foundry/mocks/MockERC721.sol"; +import { MockERC721Receiver } from "test/foundry/mocks/MockERC721Receiver.sol"; +import { MockCallbackHandler } from "test/foundry/mocks/MockCallbackHandler.sol"; +import { MockPolygonTokenClient } from "test/foundry/mocks/MockPolygonTokenClient.sol"; + +contract TestPolygonTokenHook is BaseTest { + PolygonTokenHook hook; + MockCallbackHandler callbackHandler; + MockERC721 tokenContract; + MockERC721Receiver tokenOwner; + MockPolygonTokenClient polygonTokenClient; + + event PolygonTokenBalanceRequest( + bytes32 indexed requestId, + address indexed requester, + address tokenAddress, + address tokenOwnerAddress, + address callbackAddr, + bytes4 callbackFunctionSignature + ); + + event AsyncHookExecuted( + address indexed hookAddress, + address indexed callbackHandler, + HookResult indexed result, + bytes32 requestId, + bytes contextData, + bytes returnData + ); + + event AsyncHookCalledBack( + address indexed hookAddress, + address indexed callbackHandler, + bytes32 requestId, + bytes callbackData + ); + + function setUp() public override { + super.setUp(); + + vm.prank(admin); + accessControl.grantRole(AccessControl.HOOK_CALLER_ROLE, address(this)); + + callbackHandler = new MockCallbackHandler(); + polygonTokenClient = new MockPolygonTokenClient(); + + hook = new PolygonTokenHook( + address(accessControl), + address(polygonTokenClient), + address(this) + ); + tokenContract = new MockERC721(); + tokenOwner = new MockERC721Receiver( + MockERC721Receiver.onERC721Received.selector, + false + ); + // Simulate user has ownership of the NFT + tokenContract.mint(address(tokenOwner), 1); + } + + function test_PolygonTokenHook_requestAsyncCall_successfulSentEvent() + public + { + // create configuration of hook + PolygonToken.Config memory hookConfig = PolygonToken.Config({ + tokenAddress: address(tokenContract), + balanceThreshold: 1 + }); + bytes memory encodedConfig = abi.encode(hookConfig); + // Hook validating the configuration + hook.validateConfig(encodedConfig); + + // create parameters of executing the hook + PolygonToken.Params memory hookParams = PolygonToken.Params({ + tokenOwnerAddress: address(tokenOwner) + }); + bytes memory encodedParams = abi.encode(hookParams); + + // Create Hook execution context which has hook's config and current parameters + bytes memory context = _getExecutionContext( + encodedConfig, + encodedParams + ); + + bytes memory expectedHookData = ""; + + HookResult result; + bytes memory hookData; + bytes32 requestId; + bytes32 expectedRequestId = keccak256( + abi.encodePacked(address(hook), uint256(0)) + ); + vm.expectEmit(address(polygonTokenClient)); + emit PolygonTokenBalanceRequest( + expectedRequestId, + address(this), + address(tokenContract), + address(tokenOwner), + address(hook), + hook.handleCallback.selector + ); + // Execute the Async hook + (result, hookData, requestId) = hook.executeAsync( + context, + address(callbackHandler) + ); + assertEq( + requestId, + expectedRequestId, + "requestId should be equal to expectedRequestId" + ); + // Check the result + assertEq( + uint(result), + uint(HookResult.Pending), + "result should be equal to HookResult.Pending" + ); + // Check the hook data + assertEq0( + hookData, + expectedHookData, + "hookData should be equal to expectedHookData" + ); + } + + function test_PolygonTokenHook_handleCallback_successfulOwnershipVerification() + public + { + // create configuration of hook + PolygonToken.Config memory hookConfig = PolygonToken.Config({ + tokenAddress: address(tokenContract), + balanceThreshold: 1 + }); + bytes memory encodedConfig = abi.encode(hookConfig); + // Hook validating the configuration + hook.validateConfig(encodedConfig); + + // create parameters of executing the hook + PolygonToken.Params memory hookParams = PolygonToken.Params({ + tokenOwnerAddress: address(tokenOwner) + }); + bytes memory encodedParams = abi.encode(hookParams); + + // Create Hook execution context which has hook's config and current parameters + bytes memory context = _getExecutionContext( + encodedConfig, + encodedParams + ); + + bytes memory expectedHookData = ""; + + HookResult result; + bytes memory hookData; + bytes32 requestId; + bytes32 expectedRequestId = keccak256( + abi.encodePacked(address(hook), uint256(0)) + ); + // Execute the Async hook + (result, hookData, requestId) = hook.executeAsync( + context, + address(callbackHandler) + ); + // Check the result + assertEq( + uint(result), + uint(HookResult.Pending), + "result should be equal to HookResult.Pending" + ); + // Check the hook data + assertEq0( + hookData, + expectedHookData, + "hookData should be equal to expectedHookData" + ); + // simulate callback from oracle client and tokenOwner has enough balance + hook.handleCallback(requestId, 1); + // verify request id is cleaned up after callback was handled for the requestId + assertEq( + address(hook.callbackHandlers(requestId)), + address(0x0), + "requestId is not cleaned up" + ); + assertEq( + callbackHandler.lastHandledRequestId(), + expectedRequestId, + "last handled requestId is not equal" + ); + assertEq( + callbackHandler.lastHandledCallbackData(), + abi.encode(true, ""), + "last handled callbackData is not equal" + ); + } + + function test_PolygonTokenHook_handleCallback_NotEnoughBalance() public { + // create configuration of hook + PolygonToken.Config memory hookConfig = PolygonToken.Config({ + tokenAddress: address(tokenContract), + balanceThreshold: 1 + }); + bytes memory encodedConfig = abi.encode(hookConfig); + // Hook validating the configuration + hook.validateConfig(encodedConfig); + + // create parameters of executing the hook + PolygonToken.Params memory hookParams = PolygonToken.Params({ + tokenOwnerAddress: address(tokenOwner) + }); + bytes memory encodedParams = abi.encode(hookParams); + + // Create Hook execution context which has hook's config and current parameters + bytes memory context = _getExecutionContext( + encodedConfig, + encodedParams + ); + + bytes memory expectedHookData = ""; + + HookResult result; + bytes memory hookData; + bytes32 requestId; + bytes32 expectedRequestId = keccak256( + abi.encodePacked(address(hook), uint256(0)) + ); + // Execute the Async hook + (result, hookData, requestId) = hook.executeAsync( + context, + address(callbackHandler) + ); + // Check the result + assertEq( + uint(result), + uint(HookResult.Pending), + "result should be equal to HookResult.Pending" + ); + // Check the hook data + assertEq0( + hookData, + expectedHookData, + "hookData should be equal to expectedHookData" + ); + // simulate callback from oracle client and tokenOwner has NOT enough balance + hook.handleCallback(requestId, 0); + // verify request id is cleaned up after callback was handled for the requestId + assertEq( + address(hook.callbackHandlers(requestId)), + address(0x0), + "requestId is not cleaned up" + ); + assertEq( + callbackHandler.lastHandledRequestId(), + expectedRequestId, + "last handled requestId is not equal" + ); + assertEq( + callbackHandler.lastHandledCallbackData(), + abi.encode(false, "Balance of Token is not enough"), + "last handled callbackData is not equal" + ); + } + + function test_PolygonTokenHook_revert_zeroAddress() public { + // create configuration of hook + PolygonToken.Config memory hookConfig = PolygonToken.Config({ + // Should revert for zero address + tokenAddress: address(0), + balanceThreshold: 1 + }); + bytes memory encodedConfig = abi.encode(hookConfig); + + // create parameters of executing the hook + PolygonToken.Params memory hookParams = PolygonToken.Params({ + tokenOwnerAddress: address(tokenOwner) + }); + bytes memory encodedParams = abi.encode(hookParams); + + // Create Hook execution context which has hook's config and current parameters + bytes memory context = _getExecutionContext( + encodedConfig, + encodedParams + ); + + bytes memory expectedHookData = ""; + vm.expectRevert( + abi.encodeWithSelector( + Errors.Hook_InvalidHookConfig.selector, + "tokenAddress is 0" + ) + ); + hook.executeAsync(context, address(callbackHandler)); + } + + function test_PolygonTokenHook_revert_zeroBalanceThreshold() public { + // create configuration of hook + PolygonToken.Config memory hookConfig = PolygonToken.Config({ + tokenAddress: address(tokenContract), + // Should revert for zero threshold + balanceThreshold: 0 + }); + bytes memory encodedConfig = abi.encode(hookConfig); + + // create parameters of executing the hook + PolygonToken.Params memory hookParams = PolygonToken.Params({ + tokenOwnerAddress: address(tokenOwner) + }); + bytes memory encodedParams = abi.encode(hookParams); + + // Create Hook execution context which has hook's config and current parameters + bytes memory context = _getExecutionContext( + encodedConfig, + encodedParams + ); + + vm.expectRevert( + abi.encodeWithSelector( + Errors.Hook_InvalidHookConfig.selector, + "balanceThreshold is 0" + ) + ); + hook.executeAsync(context, address(callbackHandler)); + } + + function _getExecutionContext( + bytes memory hookConfig_, + bytes memory hookParams_ + ) internal pure returns (bytes memory) { + Hook.ExecutionContext memory context = Hook.ExecutionContext({ + config: hookConfig_, + params: hookParams_ + }); + return abi.encode(context); + } +} diff --git a/test/foundry/hooks/TestAsyncBaseHook.t.sol b/test/foundry/hooks/TestAsyncBaseHook.t.sol new file mode 100644 index 00000000..10e997c9 --- /dev/null +++ b/test/foundry/hooks/TestAsyncBaseHook.t.sol @@ -0,0 +1,257 @@ +// SPDX-License-Identifier: UNLICENSED +// See Story Protocol Alpha Agreement: https://github.com/storyprotocol/protocol-contracts/blob/main/StoryProtocol-AlphaTestingAgreement-17942166.3.pdf +pragma solidity ^0.8.19; + +import "forge-std/Test.sol"; + +import { BaseTest } from "test/foundry/utils/BaseTest.sol"; +import { AsyncBaseHook } from "contracts/hooks/base/AsyncBaseHook.sol"; +import { ICallbackHandler } from "contracts/interfaces/hooks/base/ICallbackHandler.sol"; +import { HookResult } from "contracts/interfaces/hooks/base/IHook.sol"; +import { MockAsyncHook } from "test/foundry/mocks/MockAsyncHook.sol"; +import { MockCallbackHandler } from "test/foundry/mocks/MockCallbackHandler.sol"; +import { Errors } from "contracts/lib/Errors.sol"; +import { AccessControl } from "contracts/lib/AccessControl.sol"; +import { Hook } from "contracts/lib/hooks/Hook.sol"; + +// This contract tests the functionality of the AsyncBaseHook contract. +contract TestAsyncBaseHook is BaseTest { + MockAsyncHook hook; + MockCallbackHandler callbackHandler; + + event AsyncHookExecuted( + address indexed hookAddress, + address indexed callbackHandler, + HookResult indexed result, + bytes32 requestId, + bytes contextData, + bytes returnData + ); + + event AsyncHookCalledBack( + address indexed hookAddress, + address indexed callbackHandler, + bytes32 requestId, + bytes callbackData + ); + + function setUp() public override { + super.setUp(); + + vm.prank(admin); + accessControl.grantRole(AccessControl.HOOK_CALLER_ROLE, address(this)); + + hook = new MockAsyncHook(address(accessControl), address(this)); + callbackHandler = new MockCallbackHandler(); + } + + // This test verifies that the executeAsync function works correctly with valid parameters. + function test_asyncBaseHook_executeAsyncValidParams() public { + bytes memory hookParams = "0x1234"; + bytes memory hookConfig = "0x5678"; + bytes memory context = _getExecutionContext(hookConfig, hookParams); + bytes memory expectedHookData = _getExpectedReturnData(hookConfig, hookParams); + + HookResult result; + bytes memory hookData; + bytes32 requestId; + + // Execute the async hook + (result, hookData, requestId) = hook.executeAsync( + context, + address(callbackHandler) + ); + + // Check the result + assertEq(uint(result), uint(HookResult.Pending)); + + // Check the hook data + assertEq0(hookData, expectedHookData); + + // Check the request ID + assertEq32(requestId, hook.getRequestId(hookParams)); + } + + // This test verifies that the executeAsync function emits the correct event. + function test_asyncBaseHook_executeAsyncVerifyEvent() public { + bytes memory hookParams = "0x1234"; + bytes memory hookConfig = "0x5678"; + bytes32 expectedRequestId = hook.getRequestId(hookParams); + bytes memory context = _getExecutionContext(hookConfig, hookParams); + bytes memory expectedHookData = _getExpectedReturnData(hookConfig, hookParams); + + vm.expectEmit(address(hook)); + emit AsyncHookExecuted( + address(hook), + address(callbackHandler), + HookResult.Pending, + expectedRequestId, + context, + expectedHookData + ); + // Execute the async hook + hook.executeAsync(context, address(callbackHandler)); + } + + // This test verifies that the executeAsync function reverts when the callback handler is the zero address. + function test_asyncBaseHook_revert_callbackHandlerIsZeroAddress() public { + bytes memory hookParams = "0x1234"; + bytes memory hookConfig = "0x5678"; + bytes memory context = _getExecutionContext(hookConfig, hookParams); + + // Try to execute the async hook with a zero address callback handler + vm.expectRevert(Errors.ZeroAddress.selector); + hook.executeAsync(context, address(0)); + } + + // This test verifies that the executeAsync function reverts when the callback handler does not support the ICallbackHandler interface. + function test_asyncBaseHook_revert_callbackHandlerIsNotICallbackHandler() + public + { + bytes memory hookParams = "0x1234"; + bytes memory hookConfig = "0x5678"; + bytes memory context = _getExecutionContext(hookConfig, hookParams); + + // Try to execute the async hook with a callback handler that does not support the ICallbackHandler interface + vm.expectRevert( + abi.encodeWithSelector( + Errors.UnsupportedInterface.selector, + "ICallbackHandler" + ) + ); + hook.executeAsync(context, address(this)); + } + + // This test verifies that the executeAsync function reverts when the caller does not have the HOOK_CALLER_ROLE. + function test_asyncBaseHook_revert_NotQualifiedHookCaller() public { + bytes memory hookParams = "0x1234"; + bytes memory hookConfig = "0x5678"; + bytes memory context = _getExecutionContext(hookConfig, hookParams); + + vm.startPrank(address(0x7777)); + // Try to handle the callback with an invalid request ID + vm.expectRevert( + abi.encodeWithSelector( + Errors.MissingRole.selector, + AccessControl.HOOK_CALLER_ROLE, + address(0x7777) + ) + ); + hook.executeAsync(context, address(this)); + vm.stopPrank(); + } + + function test_asyncBaseHook_handleCallbackValidParams() public { + bytes memory hookParams = "0x1234"; + bytes memory hookConfig = "0x5678"; + bytes memory context = _getExecutionContext(hookConfig, hookParams); + bytes32 expectedRequestId = hook.getRequestId(hookParams); + bytes memory callbackData = abi.encode("PASS"); + bytes32 requestId; + HookResult result; + bytes memory hookData; + + // Execute the async hook + (result, hookData, requestId) = hook.executeAsync( + context, + address(callbackHandler) + ); + + assertEq(requestId, expectedRequestId, "requestId is not equal"); + + // verify that the requestId is mapped to callbackHandler + assertEq( + address(hook.callbackHandlers(requestId)), + address(callbackHandler), + "callbackHandler is not equal" + ); + + // simulate external service callback + hook.handleCallback(requestId, callbackData); + + // verify request id is cleaned up after callback was handled for the requestId + assertEq(address(hook.callbackHandlers(requestId)), address(0x0), "requestId is not cleaned up"); + assertEq(callbackHandler.lastHandledRequestId(), expectedRequestId, "last handled requestId is not equal"); + assertEq(callbackHandler.lastHandledCallbackData(), hook.getProcessedCallbackData(callbackData), "last handled callbackData is not equal"); + } + + function test_asyncBaseHook_handleCallbackVerifyEvent() public { + bytes memory hookParams = "0x1234"; + bytes memory hookConfig = "0x5678"; + bytes memory context = _getExecutionContext(hookConfig, hookParams); + bytes32 expectedRequestId = hook.getRequestId(hookParams); + bytes memory callbackData = abi.encode("PASS"); + bytes32 requestId; + HookResult result; + bytes memory hookData; + + // Execute the async hook + (result, hookData, requestId) = hook.executeAsync( + context, + address(callbackHandler) + ); + + assertEq(requestId, expectedRequestId); + + vm.expectEmit(address(hook)); + emit AsyncHookCalledBack( + address(hook), + address(callbackHandler), + expectedRequestId, + hook.getProcessedCallbackData(callbackData) + ); + // simulate external service callback + hook.handleCallback(requestId, callbackData); + } + + function test_asyncBaseHook_revert_handleCallbackWithInvalidRequestId() + public + { + bytes32 requestId = "0x9999"; + bytes memory callbackData = abi.encode("PASS"); + + // Try to handle the callback with an invalid request ID + vm.expectRevert( + abi.encodeWithSelector( + Errors.Hook_InvalidAsyncRequestId.selector, + requestId + ) + ); + hook.handleCallback(requestId, callbackData); + } + + function test_asyncBaseHook_revert_NotQualifiedCallbackCaller() public { + bytes32 requestId = "0x9999"; + bytes memory callbackData = abi.encode("PASS"); + vm.startPrank(address(0x7777)); + // Try to handle the callback with an invalid request ID + vm.expectRevert( + abi.encodeWithSelector( + Errors.Hook_OnlyCallbackCallerCanCallback.selector, + address(0x7777), + address(this) + ) + ); + hook.handleCallback(requestId, callbackData); + vm.stopPrank(); + } + + function test_asyncBaseHook_revert_executeSyncCall() public { + bytes memory hookParams = "0x1234"; + + vm.expectRevert(Errors.Hook_UnsupportedSyncOperation.selector); + hook.executeSync(hookParams); + } + + function _getExecutionContext(bytes memory hookConfig_, bytes memory hookParams_) internal pure returns (bytes memory) { + Hook.ExecutionContext memory context = Hook.ExecutionContext({ + config: hookConfig_, + params: hookParams_ + }); + return abi.encode(context); + } + + function _getExpectedReturnData(bytes memory hookConfig_, bytes memory hookParams_) internal pure returns(bytes memory) { + return abi.encode(hookConfig_, hookParams_); + } +} diff --git a/test/foundry/hooks/TestBaseHook.t.sol b/test/foundry/hooks/TestBaseHook.t.sol new file mode 100644 index 00000000..a6bb2fb0 --- /dev/null +++ b/test/foundry/hooks/TestBaseHook.t.sol @@ -0,0 +1,79 @@ +// SPDX-License-Identifier: UNLICENSED +// See Story Protocol Alpha Agreement: https://github.com/storyprotocol/protocol-contracts/blob/main/StoryProtocol-AlphaTestingAgreement-17942166.3.pdf +pragma solidity ^0.8.19; + +import "forge-std/Test.sol"; + +import { BaseTest } from "test/foundry/utils/BaseTest.sol"; +import { HookResult } from "contracts/interfaces/hooks/base/IHook.sol"; +import { MockBaseHook } from "test/foundry/mocks/MockBaseHook.sol"; +import { Errors } from "contracts/lib/Errors.sol"; +import { AccessControl } from "contracts/lib/AccessControl.sol"; + + +contract TestBaseHook is BaseTest { + MockBaseHook hook; + + function setUp() public override { + super.setUp(); + + vm.prank(admin); + accessControl.grantRole(AccessControl.HOOK_CALLER_ROLE, address(this)); + + hook = new MockBaseHook(address(accessControl)); + } + + function test_baseHook_validateGoodConfig() public view { + hook.validateConfig(abi.encode("GoodConfig")); + } + + function test_baseHook_revert_NotQualifiedSyncHookCaller() public { + bytes memory hooksParams = "0x1234"; + vm.startPrank(address(0x7777)); + // Try to handle the callback with an invalid request ID + vm.expectRevert( + abi.encodeWithSelector( + Errors.MissingRole.selector, + AccessControl.HOOK_CALLER_ROLE, + address(0x7777) + ) + ); + hook.executeSync(hooksParams); + vm.stopPrank(); + } + + function test_baseHook_revert_NotQualifiedAsyncHookCaller() public { + bytes memory hooksParams = "0x1234"; + vm.startPrank(address(0x7777)); + // Try to handle the callback with an invalid request ID + vm.expectRevert( + abi.encodeWithSelector( + Errors.MissingRole.selector, + AccessControl.HOOK_CALLER_ROLE, + address(0x7777) + ) + ); + hook.executeAsync(hooksParams, address(this)); + vm.stopPrank(); + } + + function test_baseHook_revert_executeSyncCall() public { + bytes memory hooksParams = "0x1234"; + + vm.expectRevert(Errors.Hook_UnsupportedSyncOperation.selector); + hook.executeSync(hooksParams); + } + + function test_baseHook_revert_executeAsyncCall() public { + bytes memory hooksParams = "0x1234"; + + vm.expectRevert(Errors.Hook_UnsupportedAsyncOperation.selector); + hook.executeAsync(hooksParams, address(this)); + } + + function test_baseHook_revert_invalidConfig() public { + vm.expectRevert(Errors.ZeroAddress.selector); + hook.validateConfig(abi.encode("ERROR")); + } + +} diff --git a/test/foundry/hooks/TestSyncBaseHook.t.sol b/test/foundry/hooks/TestSyncBaseHook.t.sol new file mode 100644 index 00000000..bb5af42f --- /dev/null +++ b/test/foundry/hooks/TestSyncBaseHook.t.sol @@ -0,0 +1,102 @@ +// SPDX-License-Identifier: UNLICENSED +// See Story Protocol Alpha Agreement: https://github.com/storyprotocol/protocol-contracts/blob/main/StoryProtocol-AlphaTestingAgreement-17942166.3.pdf +pragma solidity ^0.8.19; + +import "forge-std/Test.sol"; + +import { BaseTest } from "test/foundry/utils/BaseTest.sol"; +import { SyncBaseHook } from "contracts/hooks/base/SyncBaseHook.sol"; +import { HookResult } from "contracts/interfaces/hooks/base/IHook.sol"; +import { MockSyncHook } from "test/foundry/mocks/MockSyncHook.sol"; +import { Errors } from "contracts/lib/Errors.sol"; +import { AccessControl } from "contracts/lib/AccessControl.sol"; +import { Hook } from "contracts/lib/hooks/Hook.sol"; + +contract TestSyncBaseHook is BaseTest { + MockSyncHook hook; + + event SyncHookExecuted( + address indexed hookAddress, + HookResult indexed result, + bytes contextData, + bytes returnData + ); + + function setUp() public override { + super.setUp(); + + vm.prank(admin); + accessControl.grantRole(AccessControl.HOOK_CALLER_ROLE, address(this)); + + hook = new MockSyncHook(address(accessControl)); + } + + function test_syncBaseHook_executeSyncValidParams() public { + bytes memory hookParams = "0x1234"; + bytes memory hookConfig = "0x5678"; + bytes memory context = _getExecutionContext(hookConfig, hookParams); + bytes memory expectedHookData = _getExpectedReturnData(hookConfig, hookParams); + HookResult result; + bytes memory hookData; + + // Execute the sync hook + (result, hookData) = hook.executeSync(context); + + // Check the result + assertEq(uint(result), uint(HookResult.Completed)); + + // Check the hook data + assertEq0(hookData, expectedHookData); + } + + function test_syncBaseHook_executeSyncVerifyEvent() public { + bytes memory hookParams = "0x1234"; + bytes memory hookConfig = "0x5678"; + bytes memory context = _getExecutionContext(hookConfig, hookParams); + bytes memory expectedHookData = _getExpectedReturnData(hookConfig, hookParams); + + vm.expectEmit(address(hook)); + emit SyncHookExecuted( + address(hook), + HookResult.Completed, + context, + expectedHookData + ); + // Execute the sync hook + hook.executeSync(context); + } + + function test_syncBaseHook_revert_NotQualifiedHookCaller() public { + bytes memory hookParams = "0x1234"; + vm.startPrank(address(0x7777)); + // Try to handle the callback with an invalid request ID + vm.expectRevert( + abi.encodeWithSelector( + Errors.MissingRole.selector, + AccessControl.HOOK_CALLER_ROLE, + address(0x7777) + ) + ); + hook.executeSync(hookParams); + vm.stopPrank(); + } + + function test_syncBaseHook_revert_executeAsyncCall() public { + bytes memory hookParams = "0x1234"; + + vm.expectRevert(Errors.Hook_UnsupportedAsyncOperation.selector); + hook.executeAsync(hookParams, address(this)); + } + + function _getExecutionContext(bytes memory hookConfig_, bytes memory hookParams_) internal pure returns (bytes memory) { + Hook.ExecutionContext memory context = Hook.ExecutionContext({ + config: hookConfig_, + params: hookParams_ + }); + return abi.encode(context); + } + + function _getExpectedReturnData(bytes memory hookConfig_, bytes memory hookParams_) internal pure returns(bytes memory) { + return abi.encode(hookConfig_, hookParams_); + } +} diff --git a/test/foundry/hooks/TokenGatedHookTest.t.sol b/test/foundry/hooks/TokenGatedHookTest.t.sol new file mode 100644 index 00000000..1bf4a51f --- /dev/null +++ b/test/foundry/hooks/TokenGatedHookTest.t.sol @@ -0,0 +1,230 @@ +// SPDX-License-Identifier: UNLICENSED +// See Story Protocol Alpha Agreement: https://github.com/storyprotocol/protocol-contracts/blob/main/StoryProtocol-AlphaTestingAgreement-17942166.3.pdf +pragma solidity ^0.8.19; + +import "forge-std/Test.sol"; + +import { BaseTest } from "test/foundry/utils/BaseTest.sol"; +import { TokenGatedHook } from "contracts/hooks/TokenGatedHook.sol"; +import { HookResult } from "contracts/interfaces/hooks/base/IHook.sol"; +import { MockSyncHook } from "test/foundry/mocks/MockSyncHook.sol"; +import { Errors } from "contracts/lib/Errors.sol"; +import { AccessControl } from "contracts/lib/AccessControl.sol"; +import { Hook } from "contracts/lib/hooks/Hook.sol"; +import { MockERC721 } from "test/foundry/mocks/MockERC721.sol"; +import { MockERC721Receiver } from "test/foundry/mocks/MockERC721Receiver.sol"; +import { TokenGated } from "contracts/lib/hooks/TokenGated.sol"; + +contract TestTokenGatedHook is BaseTest { + TokenGatedHook hook; + MockERC721 tokenContract; + MockERC721Receiver tokenOwner; + + event SyncHookExecuted( + address indexed hookAddress, + HookResult indexed result, + bytes contextData, + bytes returnData + ); + + function setUp() public override { + super.setUp(); + + vm.prank(admin); + accessControl.grantRole(AccessControl.HOOK_CALLER_ROLE, address(this)); + + hook = new TokenGatedHook(address(accessControl)); + tokenContract = new MockERC721(); + tokenOwner = new MockERC721Receiver(MockERC721Receiver.onERC721Received.selector, false); + // Simulate user has ownership of the NFT + tokenContract.mint(address(tokenOwner), 1); + } + + function test_tokenGatedHook_hasOwnership() public { + // create configuration of hook + TokenGated.Config memory hookConfig = TokenGated.Config({ + tokenAddress: address(tokenContract) + }); + bytes memory encodedConfig = abi.encode(hookConfig); + // Hook validating the configuration + hook.validateConfig(encodedConfig); + + // create parameters of executing the hook + TokenGated.Params memory hookParams = TokenGated.Params({ + tokenOwner: address(tokenOwner) + }); + bytes memory encodedParams = abi.encode(hookParams); + + // Create Hook execution context which has hook's config and current parameters + bytes memory context = _getExecutionContext(encodedConfig, encodedParams); + + bytes memory expectedHookData = ""; + + HookResult result; + bytes memory hookData; + + // Execute the sync hook + (result, hookData) = hook.executeSync(context); + + // Check the result + assertEq(uint(result), uint(HookResult.Completed)); + + // Check the hook data + assertEq0(hookData, expectedHookData); + } + + function test_tokenGatedHook_hasOwnershipVerifyEvent() public { + // create configuration of hook + TokenGated.Config memory hookConfig = TokenGated.Config({ + tokenAddress: address(tokenContract) + }); + bytes memory encodedConfig = abi.encode(hookConfig); + // Hook validating the configuration + hook.validateConfig(encodedConfig); + + // create parameters of executing the hook + TokenGated.Params memory hookParams = TokenGated.Params({ + tokenOwner: address(tokenOwner) + }); + bytes memory encodedParams = abi.encode(hookParams); + + // Create Hook execution context which has hook's config and current parameters + bytes memory context = _getExecutionContext(encodedConfig, encodedParams); + + bytes memory expectedHookData = ""; + + vm.expectEmit(address(hook)); + emit SyncHookExecuted( + address(hook), + HookResult.Completed, + context, + expectedHookData + ); + // Execute the sync hook + hook.executeSync(context); + } + + function test_tokenGatedHook_revert_hasNoOwnership() public { + MockERC721Receiver nonTokenOwner = new MockERC721Receiver(MockERC721Receiver.onERC721Received.selector, false); + // create configuration of hook + TokenGated.Config memory hookConfig = TokenGated.Config({ + tokenAddress: address(tokenContract) + }); + bytes memory encodedConfig = abi.encode(hookConfig); + // Hook validating the configuration + hook.validateConfig(encodedConfig); + + // create parameters of executing the hook + TokenGated.Params memory hookParams = TokenGated.Params({ + tokenOwner: address(nonTokenOwner) + }); + bytes memory encodedParams = abi.encode(hookParams); + + // Create Hook execution context which has hook's config and current parameters + bytes memory context = _getExecutionContext(encodedConfig, encodedParams); + + // Try to execute the hook without token ownership + vm.expectRevert( + abi.encodeWithSelector( + Errors.TokenGatedHook_NotTokenOwner.selector, + address(tokenContract), + address(nonTokenOwner) + ) + ); + hook.executeSync(context); + } + + function test_tokenGatedHook_revert_ZeroTokenAddress() public { + // create configuration of hook + TokenGated.Config memory hookConfig = TokenGated.Config({ + // Invalid token address + tokenAddress: address(0) + }); + bytes memory encodedConfig = abi.encode(hookConfig); + + // create parameters of executing the hook + TokenGated.Params memory hookParams = TokenGated.Params({ + tokenOwner: address(tokenOwner) + }); + bytes memory encodedParams = abi.encode(hookParams); + + // Create Hook execution context which has hook's config and current parameters + bytes memory context = _getExecutionContext(encodedConfig, encodedParams); + + // Try to execute the hook with invalid token contract address + vm.expectRevert(Errors.ZeroAddress.selector); + hook.executeSync(context); + } + + function test_tokenGatedHook_revert_NonERC721Address() public { + // create configuration of hook + TokenGated.Config memory hookConfig = TokenGated.Config({ + // Invalid token address + tokenAddress: address(0x77777) + }); + bytes memory encodedConfig = abi.encode(hookConfig); + + // create parameters of executing the hook + TokenGated.Params memory hookParams = TokenGated.Params({ + tokenOwner: address(tokenOwner) + }); + bytes memory encodedParams = abi.encode(hookParams); + + // Create Hook execution context which has hook's config and current parameters + bytes memory context = _getExecutionContext(encodedConfig, encodedParams); + + // Try to execute the hook with invalid token contract address + vm.expectRevert( + abi.encodeWithSelector( + Errors.UnsupportedInterface.selector, + "IERC721" + ) + ); + + hook.executeSync(context); + } + + function test_syncBaseHook_revert_InvalidOwnerAddress() public { + // create configuration of hook + TokenGated.Config memory hookConfig = TokenGated.Config({ + // Invalid token address + tokenAddress: address(tokenContract) + }); + bytes memory encodedConfig = abi.encode(hookConfig); + + // create parameters of executing the hook + TokenGated.Params memory hookParams = TokenGated.Params({ + tokenOwner: address(0) + }); + bytes memory encodedParams = abi.encode(hookParams); + + // Create Hook execution context which has hook's config and current parameters + bytes memory context = _getExecutionContext(encodedConfig, encodedParams); + + // Try to execute the hook with invalid contract address + vm.expectRevert(Errors.ZeroAddress.selector); + + hook.executeSync(context); + } + + function test_tokenGatedHook_revert_InvalidConfig() public { + // create configuration of hook + TokenGated.Config memory hookConfig = TokenGated.Config({ + // Invalid token address + tokenAddress: address(0) + }); + bytes memory encodedConfig = abi.encode(hookConfig); + + vm.expectRevert(Errors.ZeroAddress.selector); + hook.validateConfig(encodedConfig); + } + + function _getExecutionContext(bytes memory hookConfig_, bytes memory hookParams_) internal pure returns (bytes memory) { + Hook.ExecutionContext memory context = Hook.ExecutionContext({ + config: hookConfig_, + params: hookParams_ + }); + return abi.encode(context); + } + +} diff --git a/test/foundry/interfaces/IE2ETest.sol b/test/foundry/interfaces/IE2ETest.sol new file mode 100644 index 00000000..b482e2f4 --- /dev/null +++ b/test/foundry/interfaces/IE2ETest.sol @@ -0,0 +1,182 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.19; + +import { HookResult } from "contracts/interfaces/hooks/base/IHook.sol"; +import { LibRelationship } from "contracts/lib/modules/LibRelationship.sol"; +import { Licensing } from "contracts/lib/modules/Licensing.sol"; +import { HookRegistry } from "contracts/modules/base/HookRegistry.sol"; +import { ShortString } from "@openzeppelin/contracts/utils/ShortStrings.sol"; + +interface IE2ETest { + // + // Registration Module + // + + event MetadataUpdated( + address indexed ipOrg_, + string baseURI_, + string contractURI_ + ); + + event IPAssetRegistered( + uint256 ipAssetId_, + address indexed ipOrg_, + uint256 ipOrgAssetId_, + address indexed owner_, + string name_, + uint8 indexed ipOrgAssetType_, + bytes32 hash_, + string mediaUrl_ + ); + + event IPAssetTransferred( + uint256 indexed ipAssetId_, + address indexed ipOrg_, + uint256 ipOrgAssetId_, + address prevOwner_, + address newOwner_ + ); + + // + // IModule + // + + event RequestPending(address indexed sender); + event RequestCompleted(address indexed sender); + event RequestFailed(address indexed sender, string reason); + + // + // Relationship Module + // + + event RelationshipTypeSet( + string relType, + address indexed ipOrg, + address src, + LibRelationship.Relatables srcRelatable, + uint256 srcSubtypesMask, + address dst, + LibRelationship.Relatables dstRelatable, + uint256 dstSubtypesMask + ); + + event RelationshipTypeUnset(string relType, address ipOrg); + + event RelationshipCreated( + uint256 indexed relationshipId, + string relType, + address srcAddress, + uint256 srcId, + address dstAddress, + uint256 dstId + ); + + // + // Licensing + // + + event IpOrgLicensingFrameworkSet( + address indexed ipOrg, + string frameworkId, + string url, + Licensing.LicensorConfig licensorConfig + ); + + event FrameworkAdded(string frameworkId, string textUrl); + + event ParamDefinitionAdded( + string frameworkId, + ShortString tag, + Licensing.ParameterType paramType + ); + + event LicenseRegistered(uint256 indexed id); + event LicenseNftLinkedToIpa( + uint256 indexed licenseId, + uint256 indexed ipAssetId + ); + event LicenseActivated(uint256 indexed licenseId); + event LicenseRevoked(uint256 indexed licenseId); + + // + // HookRegistry + // + + event HooksRegistered( + HookRegistry.HookType indexed hType, + bytes32 indexed registryKey, + address[] hooks + ); + event HooksCleared( + HookRegistry.HookType indexed hType, + bytes32 indexed registryKey + ); + + // + // IPAssetRegistry + // + + event Registered( + uint256 ipAssetId_, + string name_, + address indexed ipOrg_, + address indexed registrant_, + bytes32 hash_ + ); + + event IPOrgTransferred( + uint256 indexed ipAssetId_, + address indexed oldIPOrg_, + address indexed newIPOrg_ + ); + + event StatusChanged( + uint256 indexed ipAssetId_, + uint8 oldStatus_, + uint8 newStatus_ + ); + + // + // Sync Hooks + // + + event SyncHookExecuted( + address indexed hookAddress, + HookResult indexed result, + bytes contextData, + bytes returnData + ); + + // + // Async Hooks + // + + event AsyncHookExecuted( + address indexed hookAddress, + address indexed callbackHandler, + HookResult indexed result, + bytes32 requestId, + bytes contextData, + bytes returnData + ); + + event AsyncHookCalledBack( + address indexed hookAddress, + address indexed callbackHandler, + bytes32 requestId, + bytes callbackData + ); + + // + // Polygon Token Hook + // + + event PolygonTokenBalanceRequest( + bytes32 indexed requestId, + address indexed requester, + address tokenAddress, + address tokenOwnerAddress, + address callbackAddr, + bytes4 callbackFunctionSignature + ); +} diff --git a/test/foundry/interfaces/IERC721Events.sol b/test/foundry/interfaces/IERC721Events.sol index bb581866..bf9b5d83 100644 --- a/test/foundry/interfaces/IERC721Events.sol +++ b/test/foundry/interfaces/IERC721Events.sol @@ -1,4 +1,5 @@ -// SPDX-License-Identifier: BUSL-1.1 +// SPDX-License-Identifier: UNLICENSED +// See Story Protocol Alpha Agreement: https://github.com/storyprotocol/protocol-contracts/blob/main/StoryProtocol-AlphaTestingAgreement-17942166.3.pdf pragma solidity ^0.8.18; /// @title ERC-721 Events Interface diff --git a/test/foundry/ip-org/IPOrgController.t.sol b/test/foundry/ip-org/IPOrgController.t.sol new file mode 100644 index 00000000..fbafc892 --- /dev/null +++ b/test/foundry/ip-org/IPOrgController.t.sol @@ -0,0 +1,283 @@ +/* solhint-disable contract-name-camelcase, func-name-mixedcase, var-name-mixedcase */ +// SPDX-License-Identifier: BUSDL-1.1 +pragma solidity ^0.8.19; + +import { Errors } from "contracts/lib/Errors.sol"; +import { IPOrg } from "contracts/ip-org/IPOrg.sol"; +import { IPOrgController } from "contracts/ip-org/IPOrgController.sol"; +import { ModuleRegistry } from "contracts/modules/ModuleRegistry.sol"; +import { IPOrgParams } from "contracts/lib/IPOrgParams.sol"; +import { AccessControl } from "contracts/lib/AccessControl.sol"; +import { LicenseRegistry } from "contracts/modules/licensing/LicenseRegistry.sol"; +import { AccessControlSingleton } from "contracts/access-control/AccessControlSingleton.sol"; +import { IPAssetRegistry } from "contracts/IPAssetRegistry.sol"; +import { AccessControlHelper } from "../utils/AccessControlHelper.sol"; +import { MockIPOrgController } from "../mocks/MockIPOrgController.sol"; +import { BaseModule } from "contracts/modules/base/BaseModule.sol"; +import { RegistrationModule } from "contracts/modules/registration/RegistrationModule.sol"; +import { REGISTRATION_MODULE_KEY } from "contracts/lib/modules/Module.sol"; +import { LicensingFrameworkRepo } from "contracts/modules/licensing/LicensingFrameworkRepo.sol"; +import { Clones } from '@openzeppelin/contracts/proxy/Clones.sol'; +import 'test/foundry/utils/ProxyHelper.sol'; +import "forge-std/Test.sol"; + +contract IPOrgControllerTest is Test, ProxyHelper, AccessControlHelper { + using stdStorage for StdStorage; + + event CollectionCreated(address indexed collection, string name, string indexed symbol); + event CollectionsUpgraded(address indexed newImplementation, string version); + event BeaconUpgraded(address indexed beacon); + event Transfer(address indexed from, address indexed to, uint256 indexed tokenId); + + event IPOrgRegistered( + address owner, + address ipAssetOrg, + string name, + string symbol, + string[] ipAssetTypes + ); + event IPOrgTransferred(address ipOrg, address prevOwner, address newOwner); + event IPOrgPendingOwnerSet(address ipOrg, address pendingOwner); + + RegistrationModule public registrationModule; + LicenseRegistry public licenseRegistry; + IPAssetRegistry public registry; + IPOrgController public ipOrgController; + ModuleRegistry public moduleRegistry; + LicensingFrameworkRepo public licensingFrameworkRepo; + IPOrg public ipOrg; + + uint256 internal ipOrgOwnerPk = 0xa11ce; + address payable internal ipOrgOwner = payable(vm.addr(ipOrgOwnerPk)); + + address internal prevIpOrgOwner = vm.addr(0xbeef); + address internal fakePrevIpOrgOwner = vm.addr(0xdead); + address internal newIpOrgOwner = vm.addr(0xb0b); + + function setUp() public { + _setupAccessControl(); + _grantRole(vm, AccessControl.IPORG_CREATOR_ROLE, ipOrgOwner); + + moduleRegistry = new ModuleRegistry(address(accessControl)); + registry = new IPAssetRegistry(address(moduleRegistry)); + address ipOrgControllerImpl = address(new IPOrgController(address(moduleRegistry))); + ipOrgController = IPOrgController( + _deployUUPSProxy( + ipOrgControllerImpl, + abi.encodeWithSelector( + bytes4(keccak256(bytes("initialize(address)"))), + address(accessControl) + ) + ) + ); + _grantRole(vm, AccessControl.MODULE_EXECUTOR_ROLE, address(ipOrgController)); + + licensingFrameworkRepo = new LicensingFrameworkRepo(address(accessControl)); + licenseRegistry = new LicenseRegistry( + address(registry), + address(moduleRegistry), + address(licensingFrameworkRepo) + ); + registrationModule = new RegistrationModule( + BaseModule.ModuleConstruction({ + ipaRegistry: registry, + moduleRegistry: moduleRegistry, + licenseRegistry: licenseRegistry, + ipOrgController: ipOrgController + }), + address(accessControl) + ); + _grantRole(vm, AccessControl.MODULE_REGISTRAR_ROLE, address(this)); + moduleRegistry.registerProtocolModule(REGISTRATION_MODULE_KEY, registrationModule); + + vm.label(prevIpOrgOwner, "Prev IP Org Owner"); + vm.label(newIpOrgOwner, "New IP Org Owner"); + vm.label(fakePrevIpOrgOwner, "Fake Prev IP Org Owner"); + } + + function test_ipOrgController_registerIpOrg() public { + vm.prank(ipOrgOwner); + ipOrg = IPOrg(ipOrgController.registerIpOrg(msg.sender, "name", "symbol", new string[](0))); + assertTrue(ipOrgController.isIpOrg(address(ipOrg))); + } + + function test_ipOrgController_revert_tooManyAssetTypes() public { + uint256 maxAssetTypes = registrationModule.MAX_IP_ORG_ASSET_TYPES() + 1; + string[] memory ipAssetTypes = new string[](maxAssetTypes); + vm.expectRevert(Errors.RegistrationModule_TooManyAssetTypes.selector); + ipOrg = IPOrg(ipOrgController.registerIpOrg(msg.sender, "name", "symbol", ipAssetTypes)); + } + + function test_ipOrgController_revert_registerIpOrgZeroAddress() public { + vm.expectRevert(Errors.ZeroAddress.selector); + vm.prank(ipOrgOwner); + string[] memory ipAssetTypes = new string[](0); + ipOrg = IPOrg(ipOrgController.registerIpOrg(address(0), "name", "symbol", ipAssetTypes)); + } + + function test_ipOrg_revert_initialize_Unauthorized() public { + address ipOrg_ = Clones.clone(address(new IPOrg(address(this), address(moduleRegistry)))); + vm.prank(address(0)); + vm.expectRevert(Errors.Unauthorized.selector); + IPOrg(ipOrg_).initialize( + "name", + "symbol" + ); + } + + function test_ipOrg_mint() public { + string[] memory ipAssetTypes = new string[](2); + ipAssetTypes[0] = "type1"; + ipAssetTypes[1] = "type2"; + ipOrg = IPOrg(ipOrgController.registerIpOrg(msg.sender, "name", "symbol", ipAssetTypes)); + vm.startPrank(address(registrationModule)); + uint256 ipAssetId = ipOrg.mint(ipOrgOwner, 1); + assertEq(ipOrg.ipOrgAssetType(ipAssetId), 1); + assertEq(ipOrg.ownerOf(ipAssetId), ipOrgOwner); + assertEq(ipOrg.totalSupply(), 1); + } + + function test_ipOrg_revert_mintWhenNotRegistrationModule() public { + string[] memory ipAssetTypes = new string[](2); + ipAssetTypes[0] = "type1"; + ipAssetTypes[1] = "type2"; + ipOrg = IPOrg(ipOrgController.registerIpOrg(msg.sender, "name", "symbol", ipAssetTypes)); + vm.expectRevert(Errors.Unauthorized.selector); + ipOrg.mint(ipOrgOwner, 1); + } + + function test_ipOrg_burn() public { + string[] memory ipAssetTypes = new string[](2); + ipAssetTypes[0] = "type1"; + ipAssetTypes[1] = "type2"; + ipOrg = IPOrg(ipOrgController.registerIpOrg(msg.sender, "name", "symbol", ipAssetTypes)); + vm.startPrank(address(registrationModule)); + uint256 ipAssetId = ipOrg.mint(ipOrgOwner, 1); + ipOrg.burn(ipAssetId); + vm.stopPrank(); + vm.expectRevert(Errors.IPOrg_IdDoesNotExist.selector); + ipOrg.ipOrgAssetType(ipAssetId); + vm.expectRevert(); + ipOrg.ownerOf(ipAssetId); + } + + function test_ipOrg_revert_burnWhenNotRegistrationModule() public { + string[] memory ipAssetTypes = new string[](2); + ipAssetTypes[0] = "type1"; + ipAssetTypes[1] = "type2"; + ipOrg = IPOrg(ipOrgController.registerIpOrg(msg.sender, "name", "symbol", ipAssetTypes)); + vm.prank(address(registrationModule)); + uint256 ipAssetId = ipOrg.mint(ipOrgOwner, 1); + vm.prank(ipOrgOwner); + vm.expectRevert(Errors.Unauthorized.selector); + ipOrg.burn(ipAssetId); + } + + function test_ipOrg_transferOwner() public { + vm.prank(ipOrgOwner); + string[] memory ipAssetTypes = new string[](0); + ipOrg = IPOrg(ipOrgController.registerIpOrg(msg.sender, "name", "symbol", ipAssetTypes)); + + vm.expectEmit(address(ipOrgController)); + emit IPOrgPendingOwnerSet(address(ipOrg), newIpOrgOwner); + vm.prank(msg.sender); + ipOrgController.transferOwner(address(ipOrg), newIpOrgOwner); + + assertEq(ipOrgController.ownerOf(address(ipOrg)), msg.sender); + assertEq(ipOrgController.pendingOwnerOf(address(ipOrg)), newIpOrgOwner); + } + + function test_ipOrg_revert_transferOwnerInvalidIPOrgOwner() public { + vm.prank(ipOrgOwner); + string[] memory ipAssetTypes = new string[](0); + ipOrg = IPOrg(ipOrgController.registerIpOrg(prevIpOrgOwner, "name", "symbol", ipAssetTypes)); + + vm.expectRevert(Errors.IPOrgController_InvalidIPOrgOwner.selector); + vm.prank(fakePrevIpOrgOwner); + ipOrgController.transferOwner(address(ipOrg), newIpOrgOwner); + } + + function test_ipOrg_revert_transferOwnerInvalidNewIPOrgOwner() public { + vm.prank(ipOrgOwner); + string[] memory ipAssetTypes = new string[](0); + ipOrg = IPOrg(ipOrgController.registerIpOrg(prevIpOrgOwner, "name", "symbol", ipAssetTypes)); + + vm.expectRevert(Errors.IPOrgController_InvalidNewIPOrgOwner.selector); + vm.prank(prevIpOrgOwner); + ipOrgController.transferOwner(address(ipOrg), address(0)); + } + + function test_ipOrg_cancelOwnerTransfer() public { + vm.prank(ipOrgOwner); + string[] memory ipAssetTypes = new string[](0); + ipOrg = IPOrg(ipOrgController.registerIpOrg(prevIpOrgOwner, "name", "symbol", ipAssetTypes)); + + vm.expectEmit(address(ipOrgController)); + emit IPOrgPendingOwnerSet(address(ipOrg), newIpOrgOwner); + vm.prank(prevIpOrgOwner); + ipOrgController.transferOwner(address(ipOrg), newIpOrgOwner); + + vm.expectEmit(address(ipOrgController)); + emit IPOrgPendingOwnerSet(address(ipOrg), address(0)); + vm.prank(prevIpOrgOwner); + ipOrgController.cancelOwnerTransfer(address(ipOrg)); + } + + function test_ipOrg_revert_cancelOwnerTransferInvalidIPOrgOwner() public { + vm.prank(ipOrgOwner); + string[] memory ipAssetTypes = new string[](0); + ipOrg = IPOrg(ipOrgController.registerIpOrg(prevIpOrgOwner, "name", "symbol", ipAssetTypes)); + + vm.expectEmit(address(ipOrgController)); + emit IPOrgPendingOwnerSet(address(ipOrg), newIpOrgOwner); + vm.prank(prevIpOrgOwner); + ipOrgController.transferOwner(address(ipOrg), newIpOrgOwner); + + vm.expectRevert(Errors.IPOrgController_InvalidIPOrgOwner.selector); + vm.prank(fakePrevIpOrgOwner); + ipOrgController.cancelOwnerTransfer(address(ipOrg)); + } + + function test_ipOrg_revert_cancelOwnerTransferInvalidNewIPOrgOwner() public { + vm.prank(ipOrgOwner); + string[] memory ipAssetTypes = new string[](0); + ipOrg = IPOrg(ipOrgController.registerIpOrg(prevIpOrgOwner, "name", "symbol", ipAssetTypes)); + + vm.expectRevert(Errors.IPOrgController_OwnerTransferUninitialized.selector); + vm.prank(prevIpOrgOwner); + ipOrgController.cancelOwnerTransfer(address(ipOrg)); + } + + function test_ipOrg_acceptOwnerTransfer() public { + vm.prank(ipOrgOwner); + string[] memory ipAssetTypes = new string[](0); + ipOrg = IPOrg(ipOrgController.registerIpOrg(prevIpOrgOwner, "name", "symbol", ipAssetTypes)); + + vm.expectEmit(address(ipOrgController)); + emit IPOrgPendingOwnerSet(address(ipOrg), newIpOrgOwner); + vm.prank(prevIpOrgOwner); + ipOrgController.transferOwner(address(ipOrg), newIpOrgOwner); + + vm.expectEmit(address(ipOrgController)); + emit IPOrgPendingOwnerSet(address(ipOrg), address(0)); + vm.expectEmit(address(ipOrgController)); + emit IPOrgTransferred(address(ipOrg), prevIpOrgOwner, newIpOrgOwner); + vm.prank(newIpOrgOwner); + ipOrgController.acceptOwnerTransfer(address(ipOrg)); + } + + function test_ipOrg_revert_acceptOwnerTransferInvalidIPOrgOwner() public { + vm.prank(ipOrgOwner); + string[] memory ipAssetTypes = new string[](0); + ipOrg = IPOrg(ipOrgController.registerIpOrg(prevIpOrgOwner, "name", "symbol", ipAssetTypes)); + + vm.expectEmit(address(ipOrgController)); + emit IPOrgPendingOwnerSet(address(ipOrg), newIpOrgOwner); + vm.prank(prevIpOrgOwner); + ipOrgController.transferOwner(address(ipOrg), newIpOrgOwner); + + vm.expectRevert(Errors.IPOrgController_InvalidIPOrgOwner.selector); + vm.prank(prevIpOrgOwner); + ipOrgController.acceptOwnerTransfer(address(ipOrg)); + } +} diff --git a/test/foundry/lib/BitMask.t.sol b/test/foundry/lib/BitMask.t.sol new file mode 100644 index 00000000..59a3ad45 --- /dev/null +++ b/test/foundry/lib/BitMask.t.sol @@ -0,0 +1,62 @@ +// SPDX-License-Identifier: BUSDL-1.1 +pragma solidity ^0.8.13; + +import "forge-std/Test.sol"; + +import { Errors } from "contracts/lib/Errors.sol"; +import { BitMask } from "contracts/lib/BitMask.sol"; +import { IPOrgController } from "contracts/ip-org/IPOrgController.sol"; +import { ERC721 } from "@openzeppelin/contracts/token/ERC721/ERC721.sol"; +import { MockERC721 } from "test/foundry/mocks/MockERC721.sol"; + +contract BitMaskHarness { + + function convertToMask(uint8[] calldata assetTypes) pure external returns (uint256) { + return BitMask._convertToMask(assetTypes); + } + + function isSet(uint256 mask, uint8 assetType) pure external returns (bool) { + return BitMask._isSet(mask, assetType); + } + +} + +contract BitMaskTest is Test { + + BitMaskHarness public checker; + + function setUp() public { + checker = new BitMaskHarness(); + } + + function test_BitMask_convertToMask() public { + for (uint8 i = 1; i <= 254; i++) { + uint8[] memory assetTypes = new uint8[](i); + uint256 resultMask; + for (uint8 j = 1; j <= i; j++) { + assetTypes[j-1] = uint8(j); + resultMask |= 1 << (uint256(j) & 0xff); + } + uint256 mask = checker.convertToMask(assetTypes); + assertEq(mask, resultMask); + } + } + + function test_BitMask_isSetOnMaskTrue() public { + uint256 mask = 0; + for (uint256 i = 0; i < 256; i++) { + mask |= 1 << (i & 0xff); + } + for (uint256 i = 1; i < 256; i++) { + assertTrue(checker.isSet(mask, uint8(i))); + } + } + + function test_BitMask_isSetOnMaskFalse() public { + for (uint8 i = 1; i <= uint8(254); i++) { + uint256 zeroMask; + assertFalse(checker.isSet(zeroMask, i)); + } + } + +} \ No newline at end of file diff --git a/test/foundry/lib/FixedSet.t.sol b/test/foundry/lib/FixedSet.t.sol new file mode 100644 index 00000000..e48cb276 --- /dev/null +++ b/test/foundry/lib/FixedSet.t.sol @@ -0,0 +1,250 @@ +/* solhint-disable contract-name-camelcase, func-name-mixedcase */ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.19; + +import { ShortString, ShortStrings } from "@openzeppelin/contracts/utils/ShortStrings.sol"; +import { Strings } from "@openzeppelin/contracts/utils/Strings.sol"; +import { FixedSet } from "contracts/utils/FixedSet.sol"; +import { Test } from "forge-std/Test.sol"; + +/** + * @notice A harness contract for testing `FixedSet`. + * @dev This is required for foundry coverage to work with libraries. + */ +contract FixedSetHarness { + using ShortStrings for *; + FixedSet.Bytes32Set internal b32Set; + FixedSet.ShortStringSet internal ssSet; + FixedSet.AddressSet internal addrSet; + FixedSet.UintSet internal uintSet; + + // using FixedSet for FixedSet.Bytes32Set; + // using FixedSet for FixedSet.ShortStringSet; + // using FixedSet for FixedSet.AddressSet; + // using FixedSet for FixedSet.UintSet; + + function add(bytes32 value) external returns (bool) { + return FixedSet.add(b32Set, value); + } + + function addShortStringSet(ShortString value) external returns (bool) { + return FixedSet.add(ssSet, value); + } + + function add(address value) external returns (bool) { + return FixedSet.add(addrSet, value); + } + + function add(uint256 value) external returns (bool) { + return FixedSet.add(uintSet, value); + } + + function contains(bytes32 value) external view returns (bool) { + return FixedSet.contains(b32Set, value); + } + + function containsShortStringSet(ShortString value) external view returns (bool) { + return FixedSet.contains(ssSet, value); + } + + function contains(address value) external view returns (bool) { + return FixedSet.contains(addrSet, value); + } + + function contains(uint256 value) external view returns (bool) { + return FixedSet.contains(uintSet, value); + } + + function lengthBytes32Set() external view returns (uint256) { + return FixedSet.length(b32Set); + } + + function lengthShortStringSet() external view returns (uint256) { + return FixedSet.length(ssSet); + } + + function lengthAddressSet() external view returns (uint256) { + return FixedSet.length(addrSet); + } + + function lengthUintSet() external view returns (uint256) { + return FixedSet.length(uintSet); + } + + function atBytes32Set(uint256 index) external view returns (bytes32) { + return FixedSet.at(b32Set, index); + } + + function atShortStringSet(uint256 index) external view returns (ShortString) { + return FixedSet.at(ssSet, index); + } + + function atAddressSet(uint256 index) external view returns (address) { + return FixedSet.at(addrSet, index); + } + + function atUintSet(uint256 index) external view returns (uint256) { + return FixedSet.at(uintSet, index); + } + + function indexOf(bytes32 value) external view returns (uint256) { + return FixedSet.indexOf(b32Set, value); + } + + function indexOfShortStringSet(ShortString value) external view returns (uint256) { + return FixedSet.indexOf(ssSet, value); + } + + function indexOf(address value) external view returns (uint256) { + return FixedSet.indexOf(addrSet, value); + } + + function indexOf(uint256 value) external view returns (uint256) { + return FixedSet.indexOf(uintSet, value); + } + + function valuesBytes32Set() external view returns (bytes32[] memory) { + return FixedSet.values(b32Set); + } + + function valuesShortStringSet() external view returns (ShortString[] memory) { + return FixedSet.values(ssSet); + } + + function valuesAddressSet() external view returns (address[] memory) { + return FixedSet.values(addrSet); + } + + function valuesUintSet() external view returns (uint256[] memory) { + return FixedSet.values(uintSet); + } +} + +contract FixedSetLibTest is Test { + using ShortStrings for *; + + FixedSetHarness internal fset; + + function setUp() public { + fset = new FixedSetHarness(); + } + + function test_fixedSet_Bytes32Set_basicOperations() public { + bytes32[] memory bytes32s = new bytes32[](4); + bytes32s[0] = bytes32("a"); + bytes32s[1] = bytes32("b"); + bytes32s[2] = bytes32("c"); + bytes32s[3] = bytes32("d"); + + for (uint256 i = 0; i < bytes32s.length; ++i) { + assertTrue(fset.add(bytes32s[i])); + assertFalse(fset.add(bytes32s[i])); + } + + assertEq(fset.lengthBytes32Set(), bytes32s.length); + + for (uint256 i = 0; i < bytes32s.length; ++i) { + assertEq(fset.atBytes32Set(i), bytes32s[i]); + assertEq(fset.indexOf(bytes32s[i]), i); + assertTrue(fset.contains(bytes32s[i])); + } + + assertEq(fset.indexOf(bytes32("e")), FixedSet.INDEX_NOT_FOUND); + assertFalse(fset.contains(bytes32("e"))); + + bytes32[] memory values = fset.valuesBytes32Set(); + assertEq(values.length, bytes32s.length); + for (uint256 i = 0; i < bytes32s.length; ++i) { + assertEq(values[i], bytes32s[i]); + } + } + + function test_fixedSet_ShortStringSet_basicOperations() public { + ShortString[] memory strings = new ShortString[](4); + strings[0] = "a".toShortString(); + strings[1] = "b".toShortString(); + strings[2] = "c".toShortString(); + strings[3] = "d".toShortString(); + + for (uint256 i = 0; i < strings.length; ++i) { + assertTrue(fset.addShortStringSet(strings[i])); + assertFalse(fset.addShortStringSet(strings[i])); + } + + assertEq(fset.lengthShortStringSet(), strings.length); + + for (uint256 i = 0; i < strings.length; ++i) { + assertTrue(Strings.equal(fset.atShortStringSet(i).toString(), strings[i].toString())); + assertEq(fset.indexOfShortStringSet(strings[i]), i); + assertTrue(fset.containsShortStringSet(strings[i])); + } + + assertEq(fset.indexOfShortStringSet("e".toShortString()), FixedSet.INDEX_NOT_FOUND); + assertFalse(fset.containsShortStringSet("e".toShortString())); + + ShortString[] memory values = fset.valuesShortStringSet(); + assertEq(values.length, strings.length); + for (uint256 i = 0; i < strings.length; ++i) { + assertTrue(Strings.equal(values[i].toString(), strings[i].toString())); + } + } + + function test_fixedSet_AddressSet_basicOperations() public { + address[] memory addresses = new address[](4); + addresses[0] = address(1); + addresses[1] = address(2); + addresses[2] = address(3); + addresses[3] = address(4); + + for (uint256 i = 0; i < addresses.length; ++i) { + fset.add(addresses[i]); + } + + assertEq(fset.lengthAddressSet(), addresses.length); + + for (uint256 i = 0; i < addresses.length; ++i) { + assertEq(fset.atAddressSet(i), addresses[i]); + assertEq(fset.indexOf(addresses[i]), i); + assertTrue(fset.contains(addresses[i])); + } + + assertEq(fset.indexOf(address(5)), FixedSet.INDEX_NOT_FOUND); + assertFalse(fset.contains(address(5))); + + address[] memory values = fset.valuesAddressSet(); + assertEq(values.length, addresses.length); + for (uint256 i = 0; i < addresses.length; ++i) { + assertEq(values[i], addresses[i]); + } + } + + function test_fixedSet_UintSet_basicOperations() public { + uint256[] memory uints = new uint256[](4); + uints[0] = 1; + uints[1] = 2; + uints[2] = 3; + uints[3] = 4; + + for (uint256 i = 0; i < uints.length; ++i) { + assertTrue(fset.add(uints[i])); + assertFalse(fset.add(uints[i])); + } + + assertEq(fset.lengthUintSet(), uints.length); + + for (uint256 i = 0; i < uints.length; ++i) { + assertEq(fset.atUintSet(i), uints[i]); + assertEq(fset.indexOf(uints[i]), i); + assertTrue(fset.contains(uints[i])); + } + + assertEq(fset.indexOf(5), FixedSet.INDEX_NOT_FOUND); + assertFalse(fset.contains(5)); + + uint256[] memory values = fset.valuesUintSet(); + assertEq(values.length, uints.length); + for (uint256 i = 0; i < uints.length; ++i) { + assertEq(values[i], uints[i]); + } + } +} diff --git a/test/foundry/lib/modules/Licensing.t.sol b/test/foundry/lib/modules/Licensing.t.sol new file mode 100644 index 00000000..2980a2bb --- /dev/null +++ b/test/foundry/lib/modules/Licensing.t.sol @@ -0,0 +1,185 @@ +/* solhint-disable contract-name-camelcase, func-name-mixedcase, var-name-mixedcase */ + +// SPDX-License-Identifier: UNLICENSED +// See Story Protocol Alpha Agreement: https://github.com/storyprotocol/protocol-contracts/blob/main/StoryProtocol-AlphaTestingAgreement-17942166.3.pdf +pragma solidity ^0.8.19; + +import "forge-std/Test.sol"; +import { FixedSet } from "contracts/utils/FixedSet.sol"; +import { BitMask } from "contracts/lib/BitMask.sol"; +import { Licensing } from "contracts/lib/modules/Licensing.sol"; +import { Strings } from "@openzeppelin/contracts/utils/Strings.sol"; +import { ShortStrings, ShortString } from "@openzeppelin/contracts/utils/ShortStrings.sol"; + +contract LicensingLibHarness { + function exposed_statusToString(Licensing.LicenseStatus status_) external pure returns (string memory) { + return Licensing._statusToString(status_); + } + + function exposed_decodeMultipleChoice( + bytes memory value, + bytes memory availableChoices_ + ) external pure returns (ShortString[] memory) { + return Licensing._decodeMultipleChoice(value, availableChoices_); + } + + function exposed_encodeMultipleChoice( + uint8[] memory choiceIndexes_ + ) external pure returns (bytes memory) { + return Licensing._encodeMultipleChoice(choiceIndexes_); + } + + function exposed_validateParamValue( + Licensing.ParamDefinition memory paramDef_, + bytes memory value_ + ) external pure returns (bool) { + return Licensing._validateParamValue(paramDef_, value_); + } + + function exposed_getDecodedParamString( + Licensing.ParamDefinition memory paramDef_, + bytes memory value_ + ) external pure returns (string memory) { + return Licensing._getDecodedParamString(paramDef_, value_); + } +} + +contract LicensingLibTest is Test { + using ShortStrings for *; + + LicensingLibHarness public checker; + + function setUp() public { + checker = new LicensingLibHarness(); + } + + function test_LicensingLib_statusToString() public { + assertEq(checker.exposed_statusToString(Licensing.LicenseStatus.Unset), "Unset"); + assertEq(checker.exposed_statusToString(Licensing.LicenseStatus.Active), "Active"); + assertEq(checker.exposed_statusToString(Licensing.LicenseStatus.PendingLicensorApproval), "Pending Licensor Approval"); + assertEq(checker.exposed_statusToString(Licensing.LicenseStatus.Revoked), "Revoked"); + } + + function test_LicensingLib_decodeMultipleChoice() public { + ShortString[] memory choices = new ShortString[](3); + choices[0] = "a".toShortString(); + choices[1] = "b".toShortString(); + choices[2] = "c".toShortString(); + bytes memory availableChoices = abi.encode(choices); + bytes memory value = abi.encodePacked(uint256(1) << 1 | uint256(1) << 2); + ShortString[] memory decoded = checker.exposed_decodeMultipleChoice(value, availableChoices); + assertEq(decoded.length, 2); + assertEq(decoded[0].toString(), "b"); + assertEq(decoded[1].toString(), "c"); + } + + function test_LicensingLib_encodeMultipleChoice() public { + uint8[] memory choiceIndexes = new uint8[](2); + choiceIndexes[0] = 2; + choiceIndexes[1] = 1; + bytes memory mask = checker.exposed_encodeMultipleChoice(choiceIndexes); + assertEq(abi.decode(mask, (uint256)), uint256(1) << 1 | uint256(1) << 2); + } + + function test_LicensingLib_validateParamValue() public { + Licensing.ParamDefinition memory paramDef = Licensing.ParamDefinition( + "def".toShortString(), + Licensing.ParameterType.Bool, + abi.encode(false), + "" + ); + assertTrue(checker.exposed_validateParamValue(paramDef, abi.encode(true)), "bool1"); + assertTrue(checker.exposed_validateParamValue(paramDef, abi.encode(false)), "bool2"); + assertTrue(checker.exposed_validateParamValue(paramDef, abi.encode(uint256(1))), "bool3"); + assertTrue(checker.exposed_validateParamValue(paramDef, abi.encode(address(0))), "bool4"); + vm.expectRevert(); + checker.exposed_validateParamValue(paramDef, abi.encode("")); + + paramDef = Licensing.ParamDefinition( + "def".toShortString(), + Licensing.ParameterType.Number, + abi.encode(uint256(1)), + "" + ); + assertTrue(checker.exposed_validateParamValue(paramDef, abi.encode(uint256(2))), "num1"); + assertTrue(checker.exposed_validateParamValue(paramDef, abi.encode(true)), "num2"); + assertFalse(checker.exposed_validateParamValue(paramDef, abi.encode(address(0))), "num3"); + // vm.expectRevert(); + // checker.exposed_validateParamValue(paramDef, abi.encode("")); + + paramDef = Licensing.ParamDefinition( + "def".toShortString(), + Licensing.ParameterType.Address, + abi.encode(address(0x1)), + "" + ); + assertFalse(checker.exposed_validateParamValue(paramDef, abi.encode(address(0x0))), "addr1"); + assertTrue(checker.exposed_validateParamValue(paramDef, abi.encode(address(0x1))), "addr2"); + assertTrue(checker.exposed_validateParamValue(paramDef, abi.encode(true)), "addr3"); + assertFalse(checker.exposed_validateParamValue(paramDef, abi.encode(uint256(0))), "addr4"); + assertTrue(checker.exposed_validateParamValue(paramDef, abi.encode("")), "addr5"); + + paramDef = Licensing.ParamDefinition( + "def".toShortString(), + Licensing.ParameterType.String, + abi.encode("a"), + "" + ); + assertTrue(checker.exposed_validateParamValue(paramDef, abi.encode("b")), "string1"); + assertTrue(checker.exposed_validateParamValue(paramDef, abi.encode(uint256(0))), "string2"); + assertTrue(checker.exposed_validateParamValue(paramDef, abi.encode("")), "string3"); + vm.expectRevert(); + checker.exposed_validateParamValue(paramDef, abi.encode(true)); + + ShortString[] memory ssa = new ShortString[](3); + ssa[0] = "a".toShortString(); + ssa[1] = "b".toShortString(); + ssa[2] = "c".toShortString(); + paramDef = Licensing.ParamDefinition( + "def".toShortString(), + Licensing.ParameterType.ShortStringArray, + abi.encodePacked(ssa), + "" + ); + assertFalse(checker.exposed_validateParamValue(paramDef, abi.encode(""))); + assertFalse(checker.exposed_validateParamValue(paramDef, abi.encode(new ShortString[](0)))); + } + + function test_LicensingLib_getDecodedParamString() public { + Licensing.ParamDefinition memory paramDef = Licensing.ParamDefinition( + "def".toShortString(), + Licensing.ParameterType.Bool, + abi.encode(false), + "" + ); + assertEq(checker.exposed_getDecodedParamString(paramDef, abi.encode(true)), "true"); + assertEq(checker.exposed_getDecodedParamString(paramDef, abi.encode(false)), "false"); + + paramDef = Licensing.ParamDefinition( + "def".toShortString(), + Licensing.ParameterType.Number, + abi.encode(uint256(1)), + "" + ); + assertEq(checker.exposed_getDecodedParamString(paramDef, abi.encode(uint256(2))), "2"); + assertEq(checker.exposed_getDecodedParamString(paramDef, abi.encode(uint256(0))), "0"); + + paramDef = Licensing.ParamDefinition( + "def".toShortString(), + Licensing.ParameterType.String, + abi.encode(""), + "" + ); + assertEq(checker.exposed_getDecodedParamString(paramDef, abi.encode("a")), "a"); + assertEq(checker.exposed_getDecodedParamString(paramDef, abi.encode("")), ""); + + paramDef = Licensing.ParamDefinition( + "def".toShortString(), + Licensing.ParameterType.Address, + abi.encode(address(0x1)), + "" + ); + assertEq(checker.exposed_getDecodedParamString(paramDef, abi.encode(address(0x0))), "0x0000000000000000000000000000000000000000"); + assertEq(checker.exposed_getDecodedParamString(paramDef, abi.encode(address(0xf))), "0x000000000000000000000000000000000000000f"); + } +} \ No newline at end of file diff --git a/test/foundry/lib/modules/SPUMLParams.t.sol b/test/foundry/lib/modules/SPUMLParams.t.sol new file mode 100644 index 00000000..3851d164 --- /dev/null +++ b/test/foundry/lib/modules/SPUMLParams.t.sol @@ -0,0 +1,78 @@ +/* solhint-disable contract-name-camelcase, func-name-mixedcase, var-name-mixedcase */ +// SPDX-License-Identifier: UNLICENSED +// See Story Protocol Alpha Agreement: https://github.com/storyprotocol/protocol-contracts/blob/main/StoryProtocol-AlphaTestingAgreement-17942166.3.pdf +pragma solidity ^0.8.19; + +import "forge-std/Test.sol"; +import { Errors } from "contracts/lib/Errors.sol"; +import { Licensing } from "contracts/lib/modules/Licensing.sol"; +import { SPUMLParams } from "contracts/lib/modules/SPUMLParams.sol"; +import { ShortString, ShortStrings } from "@openzeppelin/contracts/utils/ShortStrings.sol"; + +contract SPUMLParamsHarness { + function exposed_getDerivativeChoices() external pure returns (ShortString[] memory) { + return SPUMLParams._getDerivativeChoices(); + } + + function exposed_getParamDefs() external pure returns (Licensing.ParamDefinition[] memory paramDefs) { + return SPUMLParams._getParamDefs(); + } +} + +contract SPUMLParamsTest is Test { + using ShortStrings for *; + + SPUMLParamsHarness public checker; + + function setUp() public { + checker = new SPUMLParamsHarness(); + } + + function test_SPUMLParams_getDerivativeChoices() public { + ShortString[] memory choices = checker.exposed_getDerivativeChoices(); + assertEq(choices.length, 3); + assertEq(choices[0].toString(), SPUMLParams.ALLOWED_WITH_APPROVAL); + assertEq(choices[1].toString(), SPUMLParams.ALLOWED_WITH_RECIPROCAL_LICENSE); + assertEq(choices[2].toString(), SPUMLParams.ALLOWED_WITH_ATTRIBUTION); + } + + function test_SPUMLParams_getParamDefs() + public + { + Licensing.ParamDefinition[] memory paramDefs = new Licensing.ParamDefinition[](4); + Licensing.ParamDefinition[] memory actual = checker.exposed_getParamDefs(); + + paramDefs[0] = Licensing.ParamDefinition( + SPUMLParams.CHANNELS_OF_DISTRIBUTION.toShortString(), + Licensing.ParameterType.ShortStringArray, + "", + "" + ); + paramDefs[1] = Licensing.ParamDefinition( + SPUMLParams.ATTRIBUTION.toShortString(), + Licensing.ParameterType.Bool, + abi.encode(false), + "" + ); + paramDefs[2] = Licensing.ParamDefinition( + SPUMLParams.DERIVATIVES_ALLOWED.toShortString(), + Licensing.ParameterType.Bool, + abi.encode(false), + "" + ); + paramDefs[3] = Licensing.ParamDefinition( + SPUMLParams.DERIVATIVES_ALLOWED_OPTIONS.toShortString(), + Licensing.ParameterType.MultipleChoice, + "", + abi.encode(checker.exposed_getDerivativeChoices()) + ); + + assertEq(actual.length, paramDefs.length); + for (uint256 i = 0; i < actual.length; ++i) { + assertEq(actual[i].tag.toString(), paramDefs[i].tag.toString()); + assertEq(uint8(actual[i].paramType), uint8(paramDefs[i].paramType)); + assertEq(actual[i].defaultValue, paramDefs[i].defaultValue); + assertEq(actual[i].availableChoices, paramDefs[i].availableChoices); + } + } +} diff --git a/test/foundry/mocks/MockAccessControlled.sol b/test/foundry/mocks/MockAccessControlled.sol new file mode 100644 index 00000000..a30fba86 --- /dev/null +++ b/test/foundry/mocks/MockAccessControlled.sol @@ -0,0 +1,11 @@ +// SPDX-License-Identifier: BUSDL-1.1 +pragma solidity ^0.8.13; + +import { AccessControlled } from "contracts/access-control/AccessControlled.sol"; + +contract MockAccessControlled is AccessControlled { + constructor(address accessControl) AccessControlled(accessControl) {} + + function exposeOnlyRole(bytes32 role) public onlyRole(role) {} +} + diff --git a/test/foundry/mocks/MockAccessControlledUpgradeable.sol b/test/foundry/mocks/MockAccessControlledUpgradeable.sol new file mode 100644 index 00000000..ea14cd83 --- /dev/null +++ b/test/foundry/mocks/MockAccessControlledUpgradeable.sol @@ -0,0 +1,30 @@ +// SPDX-License-Identifier: BUSDL-1.1 +pragma solidity ^0.8.13; + +import { AccessControlledUpgradeable } from "contracts/access-control/AccessControlledUpgradeable.sol"; +import {IAccessControl} from "@openzeppelin/contracts/access/IAccessControl.sol"; + + +contract MockAccessControlledUpgradeable is AccessControlledUpgradeable { + + bool isInterfaceValid; + + function initialize(address accessControl) public initializer { + __AccessControlledUpgradeable_init(accessControl); + } + + function setIsInterfaceValid(bool isValid) public { + isInterfaceValid = isValid; + } + + function exposeOnlyRole(bytes32 role) public onlyRole(role) {} + + function _authorizeUpgrade(address newImplementation) internal virtual override {} + + function supportsInterface(bytes4 interfaceId) public view returns (bool) { + if (isInterfaceValid) { + return false; + } + return interfaceId == type(IAccessControl).interfaceId; + } +} diff --git a/test/foundry/mocks/MockAsyncHook.sol b/test/foundry/mocks/MockAsyncHook.sol new file mode 100644 index 00000000..97216373 --- /dev/null +++ b/test/foundry/mocks/MockAsyncHook.sol @@ -0,0 +1,81 @@ +// SPDX-License-Identifier: UNLICENSED +// See Story Protocol Alpha Agreement: https://github.com/storyprotocol/protocol-contracts/blob/main/StoryProtocol-AlphaTestingAgreement-17942166.3.pdf +pragma solidity ^0.8.19; + +import { AsyncBaseHook } from "contracts/hooks/base/AsyncBaseHook.sol"; + +/// @title MockAsyncHook +/// @notice This contract is a mock for testing the AsyncBaseHook contract. +/// @dev It overrides the _requestAsyncCall and handleCallback functions for testing purposes. +contract MockAsyncHook is AsyncBaseHook { + address immutable CALLBACK_CALLER; + + /// @notice Constructs the MockAsyncHook contract. + /// @param accessControl_ The address of the access control contract. + /// @param callbackCaller_ The address of the callback caller contract. + /// @dev The constructor sets the access control and callback caller addresses. + constructor( + address accessControl_, + address callbackCaller_ + ) AsyncBaseHook(accessControl_) { + CALLBACK_CALLER = callbackCaller_; + } + + /// @notice Requests an asynchronous call. + /// @dev This function is overridden for testing purposes. + /// It simply returns the input parameters. + /// @param hookConfig_ The configuration of the hook. + /// @param hookParams_ The parameters for the hook. + /// @return hookData The data for the hook. + /// @return requestId The ID of the request. + function _requestAsyncCall( + bytes memory hookConfig_, + bytes memory hookParams_ + ) + internal + virtual + override + returns (bytes memory hookData, bytes32 requestId) + { + // Simply return the input parameters + return ( + abi.encode(hookConfig_, hookParams_), + getRequestId(hookParams_) + ); + } + + /// @notice Handles a callback. + /// @dev This function is overridden for testing purposes. + /// It simply calls the _handleCallback function with the input parameters. + /// @param requestId_ The ID of the request. + /// @param callbackData_ The data for the callback. + function handleCallback( + bytes32 requestId_, + bytes calldata callbackData_ + ) external { + _handleCallback(requestId_, getProcessedCallbackData(callbackData_)); + } + + function getRequestId( + bytes memory hookParams_ + ) public pure returns (bytes32) { + return bytes32(uint256(keccak256(hookParams_))); + } + + function getProcessedCallbackData(bytes calldata callbackData_) public pure returns (bytes memory result) { + string memory callbackData = abi.decode(callbackData_, (string)); + if (keccak256(abi.encodePacked("PASS")) == keccak256(abi.encodePacked(callbackData))) { + result = abi.encode(true, callbackData); + } else { + result = abi.encode(false, callbackData); + } + } + + function _validateConfig(bytes memory) internal view override {} + + function _callbackCaller( + bytes32 + ) internal view virtual override returns (address) { + return CALLBACK_CALLER; + } +} diff --git a/test/foundry/mocks/MockBaseHook.sol b/test/foundry/mocks/MockBaseHook.sol new file mode 100644 index 00000000..694197ae --- /dev/null +++ b/test/foundry/mocks/MockBaseHook.sol @@ -0,0 +1,29 @@ +// SPDX-License-Identifier: UNLICENSED +// See Story Protocol Alpha Agreement: https://github.com/storyprotocol/protocol-contracts/blob/main/StoryProtocol-AlphaTestingAgreement-17942166.3.pdf +pragma solidity ^0.8.19; +import { BaseHook } from "contracts/hooks/base/BaseHook.sol"; +import { Errors } from "contracts/lib/Errors.sol"; + +/// @title MockBaseHook +/// @notice This contract is a mock for testing the BaseHook contract. +/// @dev It extends the BaseHook contract and implements its constructor. +contract MockBaseHook is BaseHook { + + /// @notice Constructs the MockBaseHook contract. + /// @param accessControl_ The address of the access control contract. + /// @dev The constructor sets the access control address. + constructor( + address accessControl_ + ) BaseHook(accessControl_) {} + + /// @notice Mock validation function for testing the hook configuration. + /// @dev This function is used for testing purposes in the MockBaseHook contract. + /// It simulates the validation of the hook configuration by reverting with an error if the configuration equals "ERROR". + /// If the validation passes (i.e., the configuration does not equal "ERROR"), nothing happens. + /// @param hookConfig_ The mock configuration data for the hook, encoded as bytes. + function _validateConfig(bytes memory hookConfig_) internal pure override { + if (keccak256(hookConfig_) == keccak256(abi.encode("ERROR"))) { + revert Errors.ZeroAddress(); + } + } +} diff --git a/test/foundry/mocks/MockBaseModule.sol b/test/foundry/mocks/MockBaseModule.sol index 7380a298..403bc955 100644 --- a/test/foundry/mocks/MockBaseModule.sol +++ b/test/foundry/mocks/MockBaseModule.sol @@ -1,14 +1,24 @@ -// SPDX-License-Identifier: BUSL-1.1 +// SPDX-License-Identifier: UNLICENSED +// See Story Protocol Alpha Agreement: https://github.com/storyprotocol/protocol-contracts/blob/main/StoryProtocol-AlphaTestingAgreement-17942166.3.pdf pragma solidity ^0.8.18; import { BaseModule } from "contracts/modules/base/BaseModule.sol"; +import { IIPOrg } from "contracts/interfaces/ip-org/IIPOrg.sol"; +import { ModuleKey } from "contracts/lib/modules/Module.sol"; /// @title Mock BaseModule /// @notice This mock contract is used for testing the base module flow contract MockBaseModule is BaseModule { address private _admin; + struct ModuleExecutionParams { + uint256 paramA; + uint256 paramC; + string someHookRegisteringRelatedInfo; + } + struct BaseModuleCall { + address ipOrg; address caller; bytes params; } @@ -22,43 +32,76 @@ contract MockBaseModule is BaseModule { _admin = admin_; } - function callStackAt(uint256 index_) - external - view - returns (BaseModuleCall memory) - { - return _callStack[index_]; + // Stub for testing authorization via the module registry. + function test() external onlyAuthorized() {} + + function moduleKey() public pure override returns (ModuleKey) { + return ModuleKey.wrap(keccak256(abi.encodePacked("test"))); } - function _hookRegistryAdmin() - internal - view - virtual - override - returns (address) - { - return _admin; + function callStackAt( + uint256 index_ + ) external view returns (BaseModuleCall memory) { + return _callStack[index_]; } function _configure( + IIPOrg ipOrg_, address caller_, bytes calldata params_ - ) internal virtual override { - _callStack.push(BaseModuleCall(caller_, params_)); + ) internal virtual override returns (bytes memory) { + _callStack.push(BaseModuleCall(address(ipOrg_), caller_, params_)); } function _verifyExecution( + IIPOrg ipOrg_, address caller_, bytes calldata params_ ) internal virtual override { - _callStack.push(BaseModuleCall(caller_, params_)); + _callStack.push(BaseModuleCall(address(ipOrg_), caller_, params_)); } function _performAction( + IIPOrg ipOrg_, address caller_, + bytes memory params_ + ) internal virtual override returns (bytes memory) { + _callStack.push(BaseModuleCall(address(ipOrg_), caller_, params_)); + return ""; + } + + function registerHooks( + HookType hType_, + IIPOrg ipOrg_, + string memory hookRegistrationInfo_, + address[] calldata hooks_, + bytes[] calldata hooksConfig_ + ) external onlyIpOrgOwner(ipOrg_) { + bytes32 registryKey = _generateRegistryKey(address(ipOrg_), hookRegistrationInfo_); + registerHooks(hType_, ipOrg_, registryKey, hooks_, hooksConfig_); + } + + function hookRegistryKey( + address ipOrg_, + string calldata hookRegistrationInfo_ + ) external pure returns(bytes32) { + return _generateRegistryKey(ipOrg_, hookRegistrationInfo_); + } + + function _hookRegistryKey( + IIPOrg ipOrg_, + address, bytes calldata params_ - ) internal virtual override { - _callStack.push(BaseModuleCall(caller_, params_)); + ) internal view virtual override returns(bytes32) { + ModuleExecutionParams memory moduleParams = abi.decode(params_, (ModuleExecutionParams)); + return _generateRegistryKey(address(ipOrg_), moduleParams.someHookRegisteringRelatedInfo); + } + + function _generateRegistryKey( + address ipOrg_, + string memory hookRegistrationInfo_ + ) private pure returns(bytes32) { + return keccak256(abi.encode(ipOrg_, hookRegistrationInfo_)); } diff --git a/test/foundry/mocks/MockCallbackHandler.sol b/test/foundry/mocks/MockCallbackHandler.sol new file mode 100644 index 00000000..eb34652b --- /dev/null +++ b/test/foundry/mocks/MockCallbackHandler.sol @@ -0,0 +1,33 @@ +// SPDX-License-Identifier: UNLICENSED +// See Story Protocol Alpha Agreement: https://github.com/storyprotocol/protocol-contracts/blob/main/StoryProtocol-AlphaTestingAgreement-17942166.3.pdf +pragma solidity ^0.8.19; +import { ICallbackHandler } from "contracts/interfaces/hooks/base/ICallbackHandler.sol"; +import { ERC165 } from "@openzeppelin/contracts/utils/introspection/ERC165.sol"; +import { IERC165 } from "@openzeppelin/contracts/utils/introspection/IERC165.sol"; + +/// @title MockCallbackHandler +/// @notice This contract is a mock for testing the ICallbackHandler interface. +/// @dev It extends the ERC165 contract and implements the ICallbackHandler interface. +contract MockCallbackHandler is ERC165, ICallbackHandler { + bytes32 public lastHandledRequestId; + bytes public lastHandledCallbackData; + + /// @notice Handles a hook callback. + /// @dev This function stores the input parameters for later inspection. + /// @param requestId The ID of the request. + /// @param callbackData The data for the callback. + function handleHookCallback(bytes32 requestId, bytes calldata callbackData) external override { + // Store the parameters for later inspection + lastHandledRequestId = requestId; + lastHandledCallbackData = callbackData; + } + + /// @notice Checks if the contract supports an interface. + /// @dev This function returns true if the interface ID is for the ICallbackHandler interface. + /// @param interfaceId The ID of the interface. + /// @return true if the contract supports the interface, false otherwise. + function supportsInterface(bytes4 interfaceId) public view override(ERC165, IERC165) returns (bool) { + // Check if the interface ID is for the ICallbackHandler interface + return interfaceId == type(ICallbackHandler).interfaceId || super.supportsInterface(interfaceId); + } +} diff --git a/test/foundry/mocks/MockCollectNFT.sol b/test/foundry/mocks/MockCollectNFT.sol deleted file mode 100644 index 0273e3f2..00000000 --- a/test/foundry/mocks/MockCollectNFT.sol +++ /dev/null @@ -1,8 +0,0 @@ -// SPDX-License-Identifier: BUSL-1.1 -pragma solidity ^0.8.18; - -import { CollectNFTBase } from "contracts/modules/collect/nft/CollectNFTBase.sol"; - -/// @title Mock Collect NFT -/// @notice This contract is used for testing base collect NFT functionality. -contract MockCollectNFT is CollectNFTBase {} diff --git a/test/foundry/mocks/MockERC721Receiver.sol b/test/foundry/mocks/MockERC721Receiver.sol index a8b0eeae..df53574c 100644 --- a/test/foundry/mocks/MockERC721Receiver.sol +++ b/test/foundry/mocks/MockERC721Receiver.sol @@ -1,4 +1,5 @@ -// SPDX-License-Identifier: BUSL-1.1 +// SPDX-License-Identifier: UNLICENSED +// See Story Protocol Alpha Agreement: https://github.com/storyprotocol/protocol-contracts/blob/main/StoryProtocol-AlphaTestingAgreement-17942166.3.pdf pragma solidity ^0.8.18; import '@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol'; diff --git a/test/foundry/mocks/MockGateway.sol b/test/foundry/mocks/MockGateway.sol new file mode 100644 index 00000000..6f54d91a --- /dev/null +++ b/test/foundry/mocks/MockGateway.sol @@ -0,0 +1,62 @@ +// SPDX-License-Identifier: BUSL-1.1 +pragma solidity ^0.8.18; + +import { MockBaseModule } from "./MockBaseModule.sol"; +import { Gateway } from "contracts/modules/Gateway.sol"; +import { ModuleKey, ModuleDependencies } from "contracts/lib/modules/Module.sol"; +import { ModuleRegistry } from "contracts/modules/ModuleRegistry.sol"; + +/// @title Mock Gateway +/// @notice This mock contract is used for testing the gateway. +contract MockGateway is Gateway { + + ModuleKey constant TEST_MODULE_KEY = ModuleKey.wrap(keccak256(abi.encodePacked("test"))); + + bool isValid; + MockBaseModule module; + + constructor(bool isValid_, ModuleRegistry moduleRegistry_) Gateway(moduleRegistry_) { + isValid = isValid_; + } + + function updateDependencies() + external + override + onlyModuleRegistry + returns (ModuleDependencies memory dependencies) + { + // Synchronize relevant modules with the registry. + module = MockBaseModule(MODULE_REGISTRY.protocolModule(TEST_MODULE_KEY)); + return getDependencies(); + } + + function getDependencies() public view override returns (ModuleDependencies memory dependencies) { + ModuleKey[] memory keys; + bytes4[][] memory fns; + if (!isValid) { + keys = new ModuleKey[](1); + fns = new bytes4[][](2); + + keys[0] = TEST_MODULE_KEY; + bytes4[] memory moduleFns = new bytes4[](2); + fns[0] = moduleFns; + + } else { + keys = new ModuleKey[](1); + fns = new bytes4[][](1); + keys[0] = TEST_MODULE_KEY; + bytes4[] memory moduleFns = new bytes4[](1); + moduleFns[0] = MockBaseModule.test.selector; + fns[0] = moduleFns; + } + return ModuleDependencies(keys, fns); + } + + function setIsValid(bool isValid_) public { + isValid = isValid_; + } + + function callModule() external { + return module.test(); + } +} diff --git a/test/foundry/mocks/MockHookRegistry.sol b/test/foundry/mocks/MockHookRegistry.sol index 735def21..2d6e295a 100644 --- a/test/foundry/mocks/MockHookRegistry.sol +++ b/test/foundry/mocks/MockHookRegistry.sol @@ -1,24 +1,27 @@ -// SPDX-License-Identifier: BUSL-1.1 +// SPDX-License-Identifier: UNLICENSED +// See Story Protocol Alpha Agreement: https://github.com/storyprotocol/protocol-contracts/blob/main/StoryProtocol-AlphaTestingAgreement-17942166.3.pdf pragma solidity ^0.8.18; import { HookRegistry } from "contracts/modules/base/HookRegistry.sol"; +import { IIPOrg } from "contracts/interfaces/ip-org/IIPOrg.sol"; +import { ModuleRegistry } from "contracts/modules/ModuleRegistry.sol"; /// @title Mock Hook Registry /// @notice This mock contract is used for testing the base hook registry. contract MockHookRegistry is HookRegistry { - address public immutable ADMIN; + constructor(ModuleRegistry moduleRegistry_) HookRegistry(moduleRegistry_) {} - constructor() { - ADMIN = msg.sender; + function hookRegistryKey( + address ipOrg_, + string calldata someHookRegisteringRelatedInfo_ + ) public pure returns (bytes32) { + return _generateRegistryKey(ipOrg_, someHookRegisteringRelatedInfo_); } - function _hookRegistryAdmin() - internal - view - virtual - override - returns (address) - { - return ADMIN; + function _generateRegistryKey( + address ipOrg_, + string memory someHookRegisteringRelatedInfo_ + ) private pure returns (bytes32) { + return keccak256(abi.encode(ipOrg_, someHookRegisteringRelatedInfo_)); } } diff --git a/test/foundry/mocks/MockIPAssetEventEmitter.sol b/test/foundry/mocks/MockIPAssetEventEmitter.sol deleted file mode 100644 index 1c8206b0..00000000 --- a/test/foundry/mocks/MockIPAssetEventEmitter.sol +++ /dev/null @@ -1,12 +0,0 @@ -// SPDX-License-Identifier: BUSL-1.1 -pragma solidity ^0.8.19; - -import { IIPAssetEventEmitter } from "contracts/interfaces/ip-assets/events/IIPAssetEventEmitter.sol"; - -contract MockIPAssetEventEmitter is IIPAssetEventEmitter { - - function emitIpAssetCreation(uint256, uint256) override external { - // no-op - } - -} \ No newline at end of file diff --git a/test/foundry/mocks/MockIPAssetOrgFactory.sol b/test/foundry/mocks/MockIPAssetOrgFactory.sol index 78a4e83b..6bf676ad 100644 --- a/test/foundry/mocks/MockIPAssetOrgFactory.sol +++ b/test/foundry/mocks/MockIPAssetOrgFactory.sol @@ -1,7 +1,8 @@ -// SPDX-License-Identifier: BUSL-1.1 +// SPDX-License-Identifier: UNLICENSED +// See Story Protocol Alpha Agreement: https://github.com/storyprotocol/protocol-contracts/blob/main/StoryProtocol-AlphaTestingAgreement-17942166.3.pdf pragma solidity ^0.8.13; -contract MockIPAssetOrgFactory { +contract MockIPOrgController { address ipAssetOrgAddress; diff --git a/test/foundry/mocks/MockIPOrg.sol b/test/foundry/mocks/MockIPOrg.sol new file mode 100644 index 00000000..d9ecf51d --- /dev/null +++ b/test/foundry/mocks/MockIPOrg.sol @@ -0,0 +1,40 @@ +// SPDX-License-Identifier: UNLICENSED +// See Story Protocol Alpha Agreement: https://github.com/storyprotocol/protocol-contracts/blob/main/StoryProtocol-AlphaTestingAgreement-17942166.3.pdf +pragma solidity ^0.8.19; + +import { IIPOrg } from "contracts/interfaces/ip-org/IIPOrg.sol"; + +contract MockIPOrg is IIPOrg { + + address private _owner; + + constructor(address owner_) { + _owner = owner_; + } + + function ownerOf(uint256 id) external view returns (address) { + return _owner; + } + + function burn(uint256 id) external override(IIPOrg) {} + + function contractURI() external pure returns (string memory) { + return ""; + } + + function transferFrom(address from, address to, uint256 id) external {} + + function mint(address owner_, uint8 type_) external override(IIPOrg) returns (uint256 id) {} + + function owner() external view override(IIPOrg) returns (address) { + return _owner; + } + + function ipOrgAssetType(uint256 id_) external pure override(IIPOrg) returns (uint8) { + return 0; + } + + function ipAssetId(uint256 id_) external returns (uint256) { + return 0; + } +} diff --git a/test/foundry/mocks/MockIPOrgController.sol b/test/foundry/mocks/MockIPOrgController.sol new file mode 100644 index 00000000..6bf676ad --- /dev/null +++ b/test/foundry/mocks/MockIPOrgController.sol @@ -0,0 +1,22 @@ +// SPDX-License-Identifier: UNLICENSED +// See Story Protocol Alpha Agreement: https://github.com/storyprotocol/protocol-contracts/blob/main/StoryProtocol-AlphaTestingAgreement-17942166.3.pdf +pragma solidity ^0.8.13; + +contract MockIPOrgController { + + address ipAssetOrgAddress; + + function setIpAssetRegistryAddress(address _ipAssetOrgAddress) external { + ipAssetOrgAddress = _ipAssetOrgAddress; + } + + function ipAssetOrgForId( + uint256 franchiseId + ) public view returns (address) { + if (franchiseId == 1) { + return ipAssetOrgAddress; + } + return address(0); + } + +} diff --git a/test/foundry/mocks/MockLicensingModule.sol b/test/foundry/mocks/MockLicensingModule.sol deleted file mode 100644 index e1abd3d5..00000000 --- a/test/foundry/mocks/MockLicensingModule.sol +++ /dev/null @@ -1,69 +0,0 @@ -pragma solidity ^0.8.19; - -import { ILicensingModule } from "contracts/interfaces/modules/licensing/ILicensingModule.sol"; -import { ITermsProcessor } from "contracts/interfaces/modules/licensing/terms/ITermsProcessor.sol"; -import { MockTermsProcessor } from "./MockTermsProcessor.sol"; -import { Licensing } from "contracts/lib/modules/Licensing.sol"; - -library LibMockIPAssetOrgConfig { - function getMockIPAssetOrgConfig() - internal - pure - returns (Licensing.IPAssetOrgConfig memory) - { - return - Licensing.IPAssetOrgConfig({ - nonCommercialConfig: Licensing.IpAssetConfig({ - canSublicense: false, - ipAssetOrgRootLicenseId: 0 - }), - nonCommercialTerms: Licensing.TermsProcessorConfig({ - processor: ITermsProcessor(address(0)), - data: "" - }), - commercialConfig: Licensing.IpAssetConfig({ - canSublicense: false, - ipAssetOrgRootLicenseId: 0 - }), - commercialTerms: Licensing.TermsProcessorConfig({ - processor: ITermsProcessor(address(0)), - data: "" - }), - rootIpAssetHasCommercialRights: false, - revoker: address(0x5656565), - commercialLicenseUri: "" - }); - } - - function getTermsProcessorConfig() public returns(Licensing.TermsProcessorConfig memory terms, MockTermsProcessor termsProcessor){ - termsProcessor = new MockTermsProcessor(); - terms = Licensing.TermsProcessorConfig({ - processor: termsProcessor, - data: abi.encode("terms") - }); - } -} - -contract MockLicensingModule is ILicensingModule { - function configureIpAssetOrgLicensing( - address ipAssetOrg, - Licensing.IPAssetOrgConfig memory config - ) external override { - // No-op - } - - function getIpAssetOrgConfig( - address - ) external pure override returns (Licensing.IPAssetOrgConfig memory) { - return LibMockIPAssetOrgConfig.getMockIPAssetOrgConfig(); - } - - function getNonCommercialLicenseURI() - external - pure - override - returns (string memory) - { - return "mockmock"; - } -} diff --git a/test/foundry/mocks/MockNativeTokenNonReceiver.sol b/test/foundry/mocks/MockNativeTokenNonReceiver.sol index 453a461f..25e3d4c1 100644 --- a/test/foundry/mocks/MockNativeTokenNonReceiver.sol +++ b/test/foundry/mocks/MockNativeTokenNonReceiver.sol @@ -1,4 +1,5 @@ -// SPDX-License-Identifier: BUSL-1.1 +// SPDX-License-Identifier: UNLICENSED +// See Story Protocol Alpha Agreement: https://github.com/storyprotocol/protocol-contracts/blob/main/StoryProtocol-AlphaTestingAgreement-17942166.3.pdf pragma solidity ^0.8.18; error Revert(); diff --git a/test/foundry/mocks/MockPolygonTokenClient.sol b/test/foundry/mocks/MockPolygonTokenClient.sol new file mode 100644 index 00000000..d36fe3eb --- /dev/null +++ b/test/foundry/mocks/MockPolygonTokenClient.sol @@ -0,0 +1,40 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.19; + +/// @title MockPolygonTokenClient +/// @notice This contract client of Polygon Token Oracle +contract MockPolygonTokenClient { + /// @notice Emits an event for a Polygon token balance request. + /// @param requestId The unique ID of the request. + /// @param requester The address of the requester. + /// @param tokenAddress The address of the token. + /// @param tokenOwnerAddress The address of the token owner. + /// @param callbackAddr The address of the callback. + /// @param callbackFunctionSignature The signature of the callback function. + event PolygonTokenBalanceRequest( + bytes32 indexed requestId, + address indexed requester, + address tokenAddress, + address tokenOwnerAddress, + address callbackAddr, + bytes4 callbackFunctionSignature + ); + + function sendRequest( + bytes32 requestId, + address requester, + address tokenAddress, + address tokenOwnerAddress, + address callbackAddr, + bytes4 callbackFunctionSignature + ) external { + emit PolygonTokenBalanceRequest( + requestId, + requester, + tokenAddress, + tokenOwnerAddress, + callbackAddr, + callbackFunctionSignature + ); + } +} diff --git a/test/foundry/mocks/MockSyncHook.sol b/test/foundry/mocks/MockSyncHook.sol new file mode 100644 index 00000000..30d0e20c --- /dev/null +++ b/test/foundry/mocks/MockSyncHook.sol @@ -0,0 +1,47 @@ +// SPDX-License-Identifier: UNLICENSED +// See Story Protocol Alpha Agreement: https://github.com/storyprotocol/protocol-contracts/blob/main/StoryProtocol-AlphaTestingAgreement-17942166.3.pdf +pragma solidity ^0.8.19; +import { SyncBaseHook } from "contracts/hooks/base/SyncBaseHook.sol"; + +/// @title MockSyncHook +/// @notice This contract is a mock for testing the SyncBaseHook contract. +/// @dev It extends the SyncBaseHook contract and overrides its _executeSyncCall function. +contract MockSyncHook is SyncBaseHook { + bool public shouldExecuteSuccess; + /// @notice Constructs the MockSyncHook contract. + /// @param accessControl_ The address of the access control contract. + /// @dev The constructor sets the access control address. + constructor( + address accessControl_ + ) SyncBaseHook(accessControl_) { + shouldExecuteSuccess = true; + } + + function setShouldExecuteSuccess(bool shouldExecuteSuccess_) public { + shouldExecuteSuccess = shouldExecuteSuccess_; + } + + /// @notice Executes a synchronous call. + /// @dev This function is overridden for testing purposes. + /// It simply returns the input parameters. + /// @param hookConfig_ The configuration of the hook. + /// @param hookParams_ The parameters for the hook. + /// @return The parameters for the hook. + function _executeSyncCall( + bytes memory hookConfig_, + bytes memory hookParams_ + ) + internal + virtual + override + returns (bytes memory) + { + if (!shouldExecuteSuccess) { + revert("EXPECTED_FAILURE"); + } + // Simply return the input parameters + return abi.encode(hookConfig_, hookParams_); + } + + function _validateConfig(bytes memory) internal view override {} +} diff --git a/test/foundry/mocks/MockTermsProcessor.sol b/test/foundry/mocks/MockTermsProcessor.sol deleted file mode 100644 index 3f57aa41..00000000 --- a/test/foundry/mocks/MockTermsProcessor.sol +++ /dev/null @@ -1,34 +0,0 @@ -// SPDX-License-Identifier: BUSDL-1.1 -pragma solidity ^0.8.13; - -import "contracts/interfaces/modules/licensing/terms/ITermsProcessor.sol"; -import "@openzeppelin/contracts/utils/introspection/ERC165.sol"; -import "@openzeppelin/contracts/utils/introspection/IERC165.sol"; - - -contract MockTermsProcessor is ITermsProcessor, ERC165 { - - bool private _success = true; - - function setSuccess(bool value) external { - _success = value; - } - - function supportsInterface( - bytes4 - ) public pure override(ERC165, IERC165) returns (bool) { - return true; - } - - function executeTerms( - bytes calldata data - ) external pure override returns (bytes memory newData) { - return data; - } - - function termsExecutedSuccessfully( - bytes calldata - ) external view override returns (bool) { - return _success; - } -} \ No newline at end of file diff --git a/test/foundry/mocks/RelationshipModuleHarness.sol b/test/foundry/mocks/RelationshipModuleHarness.sol deleted file mode 100644 index 16d7acd4..00000000 --- a/test/foundry/mocks/RelationshipModuleHarness.sol +++ /dev/null @@ -1,27 +0,0 @@ -// SPDX-License-Identifier: BUSL-1.1 -pragma solidity ^0.8.13; - -import { RelationshipModuleBase } from "contracts/modules/relationships/RelationshipModuleBase.sol"; -import { Relationship } from "contracts/lib/modules/Relationship.sol"; - -contract RelationshipModuleHarness is RelationshipModuleBase { - - constructor(address _franchise) RelationshipModuleBase(_franchise) {} - - function initialize(address accessControl) public initializer { - __RelationshipModuleBase_init(accessControl); - } - - function setRelationshipConfig(string calldata name, Relationship.SetRelationshipConfigParams calldata params) external returns(bytes32 relationshipId) { - return _setRelationshipConfig(name, params); - } - - function unsetRelationshipConfig(bytes32 relationshipId) external { - _unsetRelationshipConfig(relationshipId); - } - - function _authorizeUpgrade( - address newImplementation - ) internal virtual override {} - -} diff --git a/test/foundry/mocks/RightsManagerHarness.sol b/test/foundry/mocks/RightsManagerHarness.sol deleted file mode 100644 index 3a99309a..00000000 --- a/test/foundry/mocks/RightsManagerHarness.sol +++ /dev/null @@ -1,52 +0,0 @@ -// SPDX-License-Identifier: BUSL-1.1 -pragma solidity ^0.8.13; - -import { IPAssetOrg } from "contracts/ip-assets/IPAssetOrg.sol"; -import { IPAsset } from "contracts/lib/IPAsset.sol"; -import { ILicensingModule } from "contracts/interfaces/modules/licensing/ILicensingModule.sol"; -import { ITermsProcessor } from "contracts/interfaces/modules/licensing/terms/ITermsProcessor.sol"; -import { Licensing } from "contracts/lib/modules/Licensing.sol"; - - -contract RightsManagerHarness is IPAssetOrg { - - function mockMint(address to, uint256 tokenId) external { - _mint(to, tokenId); - } - - function mockMintWithRights(address to, uint256 tokenId, address revoker) external { - _mint(to, tokenId); - // _setNonCommercialRights(tokenId, 0, to, revoker, Licensing.IpAssetConfig({ - // canSublicense: true, - // ipAssetOrgRootLicenseId: 0 - // }), Licensing.TermsProcessorConfig({ - // processor: ITermsProcessor(address(0)), - // data: "" - // })); - } - - function createLicense_exposed( - uint256 tokenId, - uint256 parentLicenseId, - address licenseHolder, - string memory uri, - address revoker, - bool commercial, - bool canSublicense, - Licensing.TermsProcessorConfig memory _terms, - bool inLicenseRegistry - ) external returns(uint256 licenseId) { - // return _createLicense( - // tokenId, - // parentLicenseId, - // licenseHolder, - // uri, - // revoker, - // commercial, - // canSublicense, - // _terms, - // inLicenseRegistry - // ); - } - -} diff --git a/test/foundry/modules/ModuleRegistry.t.sol b/test/foundry/modules/ModuleRegistry.t.sol new file mode 100644 index 00000000..f8c19661 --- /dev/null +++ b/test/foundry/modules/ModuleRegistry.t.sol @@ -0,0 +1,226 @@ +// SPDX-License-Identifier: BUSDL-1.1 +pragma solidity ^0.8.13; + +import "forge-std/Test.sol"; + +import "contracts/modules/base/BaseModule.sol"; +import "test/foundry/utils/AccessControlHelper.sol"; +import "test/foundry/mocks/MockBaseModule.sol"; +import "test/foundry/mocks/MockBaseHook.sol"; +import "contracts/ip-org/IPOrgController.sol"; +import "contracts/lib/Errors.sol"; +import "contracts/modules/ModuleRegistry.sol"; +import { MockGateway } from "test/foundry/mocks/MockGateway.sol"; +import { ModuleKey } from "contracts/lib/modules/Module.sol"; + +contract ModuleRegistryTest is Test, AccessControlHelper { + + ModuleKey constant UNREGISTERED_MODULE = ModuleKey.wrap(keccak256(abi.encodePacked("unregistered_module_key"))); + ModuleKey constant TEST_MODULE = ModuleKey.wrap(keccak256(abi.encodePacked("test"))); + ModuleRegistry registry; + MockGateway gateway; + + event RequestPending(address indexed sender); + event RequestCompleted(address indexed sender); + + event ModuleAuthorizationGranted( + ModuleKey indexed key, + bytes4 fn, + address indexed gateway, + bool grant + ); + + event ModuleAdded( + address indexed ipOrg, + string moduleKey, + address indexed module + ); + + event ModuleRemoved( + ModuleKey indexed key, + address indexed module + ); + + event ModuleConfigured( + address indexed ipOrg, + string moduleKey, + address indexed caller, + bytes params + ); + + function setUp() public { + _setupAccessControl(); + _grantRole(vm, AccessControl.MODULE_REGISTRAR_ROLE, admin); + registry = new ModuleRegistry(address(accessControl)); + gateway = new MockGateway(true, registry); + } + + function test_moduleRegistry_registerProtocolGateway() public { + BaseModule.ModuleConstruction memory moduleConstruction = BaseModule.ModuleConstruction( + IPAssetRegistry(address(0x123)), + ModuleRegistry(address(0x983)), + LicenseRegistry(address(0x123)), + IPOrgController(address(0x123)) + ); + MockBaseModule module = new MockBaseModule(admin, moduleConstruction); + vm.startPrank(admin); + registry.registerProtocolModule(TEST_MODULE, module); + vm.expectEmit(address(registry)); + emit ModuleAuthorizationGranted(TEST_MODULE, MockBaseModule.test.selector, address(gateway), true); + registry.registerProtocolGateway(gateway); + assertTrue(registry.isAuthorized(TEST_MODULE, gateway, MockBaseModule.test.selector)); + } + + function test_moduleRegistry_removeProtocolGateway() public { + BaseModule.ModuleConstruction memory moduleConstruction = BaseModule.ModuleConstruction( + IPAssetRegistry(address(0x123)), + ModuleRegistry(address(0x983)), + LicenseRegistry(address(0x123)), + IPOrgController(address(0x123)) + ); + MockBaseModule module = new MockBaseModule(admin, moduleConstruction); + vm.startPrank(admin); + registry.registerProtocolModule(TEST_MODULE, module); + registry.registerProtocolGateway(gateway); + vm.expectEmit(address(registry)); + emit ModuleAuthorizationGranted(TEST_MODULE, MockBaseModule.test.selector, address(gateway), false); + registry.removeProtocolGateway(gateway); + assertFalse(registry.isAuthorized(TEST_MODULE, gateway, MockBaseModule.test.selector)); + } + + function test_moduleRegistry_revert_registerInvalidGateway() public { + vm.startPrank(admin); + gateway.setIsValid(false); + vm.expectRevert(Errors.ModuleRegistry_InvalidGateway.selector); + registry.registerProtocolGateway(gateway); + } + + function test_moduleRegistry_revert_registerGatewayUnregisteredModule() public { + vm.startPrank(admin); + vm.expectRevert(Errors.ModuleRegistry_ModuleNotYetRegistered.selector); + registry.registerProtocolGateway(gateway); + } + + function test_moduleRegistry_revert_registerGatewayDuplicateDependency() public { + BaseModule.ModuleConstruction memory moduleConstruction = BaseModule.ModuleConstruction( + IPAssetRegistry(address(0x123)), + ModuleRegistry(address(0x983)), + LicenseRegistry(address(0x123)), + IPOrgController(address(0x123)) + ); + MockBaseModule module = new MockBaseModule(admin, moduleConstruction); + vm.startPrank(admin); + registry.registerProtocolModule(TEST_MODULE, module); + registry.registerProtocolGateway(gateway); + vm.expectRevert(Errors.ModuleRegistry_DependencyAlreadyRegistered.selector); + registry.registerProtocolGateway(gateway); + } + + function test_moduleRegistry_revert_removeUnregisteredGateway() public { + vm.startPrank(admin); + vm.expectRevert(Errors.ModuleRegistry_DependencyNotYetRegistered.selector); + registry.removeProtocolGateway(gateway); + } + + function test_moduleRegistry_revert_removeInvalidGateway() public { + BaseModule.ModuleConstruction memory moduleConstruction = BaseModule.ModuleConstruction( + IPAssetRegistry(address(0x123)), + ModuleRegistry(address(0x983)), + LicenseRegistry(address(0x123)), + IPOrgController(address(0x123)) + ); + MockBaseModule module = new MockBaseModule(admin, moduleConstruction); + vm.startPrank(admin); + registry.registerProtocolModule(TEST_MODULE, module); + registry.registerProtocolGateway(gateway); + gateway.setIsValid(false); + vm.expectRevert(Errors.ModuleRegistry_InvalidGateway.selector); + registry.removeProtocolGateway(gateway); + } + + + + function test_moduleRegistry_addProtocolModule() public { + BaseModule.ModuleConstruction memory moduleConstruction = BaseModule.ModuleConstruction( + IPAssetRegistry(address(0x123)), + ModuleRegistry(address(0x983)), + LicenseRegistry(address(0x123)), + IPOrgController(address(0x123)) + ); + MockBaseModule module = new MockBaseModule(admin, moduleConstruction); + + vm.expectEmit(address(registry)); + emit ModuleAdded(address(0), string(abi.encodePacked(TEST_MODULE)), address(module)); + vm.prank(admin); + registry.registerProtocolModule(TEST_MODULE, module); + + assertEq(address(registry.protocolModule(TEST_MODULE)), address(module)); + } + + function test_moduleRegistry_revert_addProtocolModuleZeroAddress() public { + vm.expectRevert(Errors.ZeroAddress.selector); + vm.prank(admin); + registry.registerProtocolModule(TEST_MODULE, BaseModule(address(0))); + + assertEq(address(registry.protocolModule(TEST_MODULE)), address(0)); + } + + function test_moduleRegistry_removeProtocolModule() public { + BaseModule.ModuleConstruction memory moduleConstruction = BaseModule.ModuleConstruction( + IPAssetRegistry(address(0x123)), + ModuleRegistry(address(0x983)), + LicenseRegistry(address(0x123)), + IPOrgController(address(0x123)) + ); + MockBaseModule module = new MockBaseModule(admin, moduleConstruction); + vm.startPrank(admin); + + vm.expectEmit(address(registry)); + emit ModuleAdded(address(0), string(abi.encodePacked(TEST_MODULE)), address(module)); + registry.registerProtocolModule(TEST_MODULE, module); + assertEq(address(registry.protocolModule(TEST_MODULE)), address(module)); + + vm.expectEmit(address(registry)); + emit ModuleRemoved(TEST_MODULE, address(module)); + registry.removeProtocolModule(TEST_MODULE); + assertEq(address(registry.protocolModule(TEST_MODULE)), address(0)); + + vm.stopPrank(); + } + + function test_moduleRegistry_revert_removeProtocolModuleModuleNotYetRegistered() public { + vm.expectRevert(Errors.ModuleRegistry_ModuleNotYetRegistered.selector); + vm.prank(admin); + registry.removeProtocolModule(UNREGISTERED_MODULE); + assertEq(address(registry.protocolModule(UNREGISTERED_MODULE)), address(0)); + } + + function test_moduleRegistry_revert_configureModuleNotYetRegistered() public { + bytes memory encodedParams = abi.encode("test"); + vm.expectRevert(Errors.ModuleRegistry_ModuleNotYetRegistered.selector); + registry.configure( + IIPOrg(address(0x123)), + "unregistered_module_key", + encodedParams + ); + } + + function test_moduleRegistry_addProtocolHook() public { + MockBaseHook hook = new MockBaseHook(address(accessControl)); + vm.prank(admin); + registry.registerProtocolHook("test", hook); + assertEq(address(registry.hookForKey("test")), address(hook)); + assertEq(registry.isRegisteredHook(hook), true); + } + + function test_moduleRegistry_removeProtocolHook() public { + MockBaseHook hook = new MockBaseHook(address(accessControl)); + vm.startPrank(admin); + registry.registerProtocolHook("test", hook); + assertEq(address(registry.hookForKey("test")), address(hook)); + registry.removeProtocolHook("test"); + assertEq(address(registry.hookForKey("test")), address(0)); + assertEq(registry.isRegisteredHook(hook), false); + vm.stopPrank(); + } +} diff --git a/test/foundry/modules/base/BaseModule.t.sol b/test/foundry/modules/base/BaseModule.t.sol new file mode 100644 index 00000000..033e8b27 --- /dev/null +++ b/test/foundry/modules/base/BaseModule.t.sol @@ -0,0 +1,343 @@ +// SPDX-License-Identifier: BUSDL-1.1 +pragma solidity ^0.8.13; + +import "forge-std/Test.sol"; + +import { BaseTest } from "test/foundry/utils/BaseTest.sol"; +import { ModuleRegistry } from "contracts/modules/ModuleRegistry.sol"; +import { IPAssetRegistry } from "contracts/IPAssetRegistry.sol"; +import { ModuleKey } from "contracts/lib/modules/Module.sol"; +import { BaseModule } from "contracts/modules/base/BaseModule.sol"; +import { HookRegistry } from "contracts/modules/base/HookRegistry.sol"; +import { MockBaseModule } from "test/foundry/mocks/MockBaseModule.sol"; +import { MockIPOrg } from "test/foundry/mocks/MockIPOrg.sol"; +import { Errors } from "contracts/lib/Errors.sol"; +import { MockSyncHook } from "test/foundry/mocks/MockSyncHook.sol"; +import { MockAsyncHook } from "test/foundry/mocks/MockAsyncHook.sol"; +import { AccessControl } from "contracts/lib/AccessControl.sol"; +import { IHook } from "contracts/interfaces/hooks/base/IHook.sol"; +import { Hook } from "contracts/lib/hooks/Hook.sol"; +import { Create2 } from "@openzeppelin/contracts/utils/Create2.sol"; + + +contract BaseModuleTest is BaseTest { + + ModuleKey constant TEST_MODULE = ModuleKey.wrap(keccak256(abi.encodePacked("test"))); + + MockBaseModule module; + IPAssetRegistry ipaRegistry = IPAssetRegistry(address(456)); + MockIPOrg mockIpOrg; + MockBaseModule.ModuleExecutionParams moduleExecutionParams; + + event RequestPending(address indexed sender); + event RequestCompleted(address indexed sender); + event RequestFailed(address indexed sender, string reason); + + function setUp() public override { + super.setUp(); + + mockIpOrg = new MockIPOrg(admin); + vm.startPrank(admin); + module = new MockBaseModule(admin, BaseModule.ModuleConstruction(ipaRegistry, moduleRegistry, licenseRegistry, ipOrgController)); + accessControl.grantRole(AccessControl.HOOK_CALLER_ROLE, address(module)); + vm.stopPrank(); + moduleExecutionParams = MockBaseModule.ModuleExecutionParams({ + paramA: 123, + paramC: 456, + someHookRegisteringRelatedInfo: "HookRegistryRelatedInfo" + }); + } + + function test_baseModule_revert_unauthorizedCaller() public { + moduleRegistry.registerProtocolModule(TEST_MODULE, module); + vm.expectRevert(Errors.BaseModule_Unauthorized.selector); + module.test(); + } + + function test_baseModule_revert_constructorIpaRegistryIsZero() public { + vm.prank(admin); + vm.expectRevert(Errors.BaseModule_ZeroIpaRegistry.selector); + new MockBaseModule( + admin, + BaseModule.ModuleConstruction( + IPAssetRegistry(address(0)), + moduleRegistry, + licenseRegistry, + ipOrgController + ) + ); + } + + function test_baseModule_revert_constructorModuleRegistryIsZero() public { + vm.prank(admin); + vm.expectRevert(Errors.HookRegistry_ZeroModuleRegistry.selector); + module = new MockBaseModule( + admin, + BaseModule.ModuleConstruction( + ipaRegistry, + ModuleRegistry(address(0)), + licenseRegistry, + ipOrgController + ) + ); + } + + function test_baseModule_setup() public { + assertEq(address(module.IPA_REGISTRY()), address(ipaRegistry)); + assertEq(address(module.MODULE_REGISTRY()), address(moduleRegistry)); + } + + function test_baseModule_passesConfigParams() public { + bytes memory params = abi.encode(uint256(123)); + vm.prank(address(moduleRegistry)); + module.configure(mockIpOrg, address(123), params); + assertEq(module.callStackAt(0).caller, address(123)); + assertEq(module.callStackAt(0).params, params); + } + + function test_baseModule_revert_configureNotModuleRegistry() public { + bytes memory params = abi.encode(uint256(123)); + vm.expectRevert(Errors.BaseModule_OnlyModuleRegistry.selector); + module.configure(mockIpOrg, address(123), params); + } + + function test_baseModule_correctExecutionOrderAndParams() public { + vm.startPrank(address(moduleRegistry)); + bytes memory params = abi.encode(moduleExecutionParams); + vm.expectEmit(true, true, true, true); + emit RequestCompleted(address(123)); + module.execute(mockIpOrg, address(123), params, new bytes[](0), new bytes[](0)); + vm.stopPrank(); + assertEq(module.callStackAt(0).caller, address(123)); + assertEq(module.callStackAt(0).params, params); + assertEq(module.callStackAt(0).ipOrg, address(mockIpOrg)); + assertEq(module.callStackAt(1).caller, address(123)); + assertEq(module.callStackAt(1).params, params); + assertEq(module.callStackAt(1).ipOrg, address(mockIpOrg)); + } + + function test_baseModule_revert_executeNotModuleRegistry() public { + bytes memory params = abi.encode(uint256(123)); + vm.expectRevert(Errors.BaseModule_OnlyModuleRegistry.selector); + module.execute(mockIpOrg, address(123), params, new bytes[](0), new bytes[](0)); + } + + function test_baseModule_revertPreHookWrongParamsLength() public { + vm.startPrank(address(moduleRegistry)); + bytes memory params = abi.encode(moduleExecutionParams); + vm.expectRevert( + abi.encodeWithSelector( + Errors.BaseModule_HooksParamsLengthMismatch.selector, + uint8(HookRegistry.HookType.PreAction) + ) + ); + module.execute(mockIpOrg, address(123), params, new bytes[](1), new bytes[](0)); + vm.stopPrank(); + } + + function test_baseModule_revertPostHookWrongParamsLength() public { + vm.startPrank(address(moduleRegistry)); + bytes memory params = abi.encode(moduleExecutionParams); + vm.expectRevert( + abi.encodeWithSelector( + Errors.BaseModule_HooksParamsLengthMismatch.selector, + uint8(HookRegistry.HookType.PostAction) + ) + ); + module.execute(mockIpOrg, address(123), params, new bytes[](0), new bytes[](1)); + vm.stopPrank(); + } + function test_baseModule_executeWithAsyncHooks() public { + bytes memory configParams = abi.encode(uint256(123)); + vm.prank(address(moduleRegistry)); + module.configure(mockIpOrg, address(123), configParams); + + (MockAsyncHook asyncHook, bytes32 requestId) = _executeModuleWithAsyncHook(); + // simulate external service callback + vm.startPrank(admin); + vm.expectEmit(true, true, true, true); + emit RequestCompleted(address(123)); + asyncHook.handleCallback(requestId, abi.encode("PASS")); + vm.stopPrank(); + } + + function test_baseModule_executeWithAsyncHooksFail() public { + bytes memory configParams = abi.encode(uint256(123)); + vm.prank(address(moduleRegistry)); + module.configure(mockIpOrg, address(123), configParams); + + (MockAsyncHook asyncHook, bytes32 requestId) = _executeModuleWithAsyncHook(); + // simulate external service callback + vm.startPrank(admin); + vm.expectEmit(true, true, true, true); + emit RequestFailed(address(123), "EXPECTED_FAILURE"); + asyncHook.handleCallback(requestId, abi.encode("EXPECTED_FAILURE")); + vm.stopPrank(); + } + + function test_baseModule_executeWithHooks() public { + bytes memory configParams = abi.encode(uint256(123)); + vm.prank(address(moduleRegistry)); + module.configure(mockIpOrg, address(123), configParams); + // register hooks + address[] memory hooks = new address[](2); + hooks[0] = address(_deploySyncHook(1)); + hooks[1] = address(_deploySyncHook(2)); + bytes[] memory hooksConfig = new bytes[](2); + hooksConfig[0] = abi.encode("Hook1Config"); + hooksConfig[1] = abi.encode("Hook2Config"); + // used to generate registryKey. could be relation type, etc. + string memory hookRegistryRelatedInfo = "HookRegistryRelatedInfo"; + vm.startPrank(admin); + + module.registerHooks( + HookRegistry.HookType.PreAction, + mockIpOrg, + hookRegistryRelatedInfo, + hooks, + hooksConfig + ); + + module.registerHooks( + HookRegistry.HookType.PostAction, + mockIpOrg, + hookRegistryRelatedInfo, + hooks, + hooksConfig + ); + vm.stopPrank(); + // execute module + vm.startPrank(address(moduleRegistry)); + MockBaseModule.ModuleExecutionParams memory executionParamsStruct = MockBaseModule.ModuleExecutionParams({ + paramA: 123, + paramC: 456, + someHookRegisteringRelatedInfo: hookRegistryRelatedInfo + }); + bytes memory executionParams = abi.encode(executionParamsStruct); + bytes[] memory hooksParams = new bytes[](2); + hooksParams[0] = abi.encode("Hook1Params"); + hooksParams[1] = abi.encode("Hook2Params"); + vm.expectEmit(true, true, true, true); + emit RequestCompleted(address(123)); + module.execute(mockIpOrg, address(123), executionParams, hooksParams, hooksParams); + vm.stopPrank(); + } + + function test_baseModule_revert_hooksFailed() public { + bytes memory configParams = abi.encode(uint256(123)); + vm.prank(address(moduleRegistry)); + module.configure(mockIpOrg, address(123), configParams); + // register hooks + MockSyncHook failedHook = _deploySyncHook(1); + failedHook.setShouldExecuteSuccess(false); + address[] memory hooks = new address[](2); + hooks[0] = address(_deploySyncHook(2)); + hooks[1] = address(failedHook); + bytes[] memory hooksConfig = new bytes[](2); + hooksConfig[0] = abi.encode("Hook1Config"); + hooksConfig[1] = abi.encode("Hook2Config"); + // used to generate registryKey. could be relation type, etc. + string memory hookRegistryRelatedInfo = "HookRegistryRelatedInfo"; + vm.startPrank(admin); + + module.registerHooks( + HookRegistry.HookType.PreAction, + mockIpOrg, + hookRegistryRelatedInfo, + hooks, + hooksConfig + ); + + module.registerHooks( + HookRegistry.HookType.PostAction, + mockIpOrg, + hookRegistryRelatedInfo, + hooks, + hooksConfig + ); + vm.stopPrank(); + // execute module + vm.startPrank(address(moduleRegistry)); + MockBaseModule.ModuleExecutionParams memory executionParamsStruct = MockBaseModule.ModuleExecutionParams({ + paramA: 123, + paramC: 456, + someHookRegisteringRelatedInfo: hookRegistryRelatedInfo + }); + bytes memory executionParams = abi.encode(executionParamsStruct); + bytes[] memory hooksParams = new bytes[](2); + hooksParams[0] = abi.encode("Hook1Params"); + hooksParams[1] = abi.encode("Hook2Params"); + vm.expectRevert("EXPECTED_FAILURE"); + module.execute(mockIpOrg, address(123), executionParams, hooksParams, hooksParams); + vm.stopPrank(); + } + + function _deploySyncHook(uint256 seed_) internal returns (MockSyncHook result) { + bytes memory code = abi.encodePacked( + type(MockSyncHook).creationCode, abi.encode(address(accessControl))); + result = MockSyncHook(_deployHook(code, Hook.SYNC_FLAG, seed_)); + moduleRegistry.registerProtocolHook(string(abi.encodePacked("SyncHook-", seed_)), result); + } + + function _deployAsyncHook(uint256 seed_) internal returns (MockAsyncHook result) { + bytes memory code = abi.encodePacked( + type(MockAsyncHook).creationCode, abi.encode(address(accessControl), admin)); + result = MockAsyncHook(_deployHook(code, Hook.ASYNC_FLAG, seed_)); + moduleRegistry.registerProtocolHook(string(abi.encodePacked("AsyncHook-", seed_)), result); + } + + function _executeModuleWithAsyncHook() internal returns (MockAsyncHook asyncHook, bytes32 requestId) { + // register both async and sync hooks + address[] memory preHooks = new address[](2); + preHooks[0] = address(_deployAsyncHook(1)); + preHooks[1] = address(_deploySyncHook(2)); + bytes[] memory preHooksConfig = new bytes[](2); + preHooksConfig[0] = abi.encode("AsyncHookConfig"); + preHooksConfig[1] = abi.encode("SyncHookConfig"); + + address[] memory postHooks = new address[](2); + postHooks[0] = address(_deploySyncHook(3)); + postHooks[1] = address(_deploySyncHook(4)); + bytes[] memory postHooksConfig = new bytes[](2); + postHooksConfig[0] = abi.encode("SyncHookConfig"); + postHooksConfig[1] = abi.encode("SyncHookConfig"); + // used to generate registryKey. could be relation type, etc. + string memory hookRegistryRelatedInfo = "HookRegistryRelatedInfo"; + vm.startPrank(admin); + module.registerHooks( + HookRegistry.HookType.PreAction, + mockIpOrg, + hookRegistryRelatedInfo, + preHooks, + preHooksConfig + ); + module.registerHooks( + HookRegistry.HookType.PostAction, + mockIpOrg, + hookRegistryRelatedInfo, + postHooks, + postHooksConfig + ); + vm.stopPrank(); + // execute module + vm.startPrank(address(moduleRegistry)); + MockBaseModule.ModuleExecutionParams memory executionParamsStruct = MockBaseModule.ModuleExecutionParams({ + paramA: 123, + paramC: 456, + someHookRegisteringRelatedInfo: hookRegistryRelatedInfo + }); + bytes memory executionParams = abi.encode(executionParamsStruct); + bytes[] memory preHooksParams = new bytes[](2); + preHooksParams[0] = abi.encode("AsyncHookParams"); + preHooksParams[1] = abi.encode("SyncHookParams"); + bytes[] memory postHooksParams = new bytes[](2); + postHooksParams[0] = abi.encode("AsyncHookParams"); + postHooksParams[1] = abi.encode("SyncHookParams"); + vm.expectEmit(true, true, true, true); + emit RequestPending(address(123)); + module.execute(mockIpOrg, address(123), executionParams, preHooksParams, postHooksParams); + vm.stopPrank(); + asyncHook = MockAsyncHook(preHooks[0]); + requestId = asyncHook.getRequestId(preHooksParams[0]); + } +} diff --git a/test/foundry/modules/base/HookRegistryTest.t.sol b/test/foundry/modules/base/HookRegistryTest.t.sol new file mode 100644 index 00000000..364b4398 --- /dev/null +++ b/test/foundry/modules/base/HookRegistryTest.t.sol @@ -0,0 +1,502 @@ +// SPDX-License-Identifier: BUSDL-1.1 +pragma solidity ^0.8.13; + +import "forge-std/Test.sol"; + +import { BaseTest } from "test/foundry/utils/BaseTest.sol"; +import { HookRegistry } from "contracts/modules/base/HookRegistry.sol"; +import { MockHookRegistry } from "test/foundry/mocks/MockHookRegistry.sol"; +import { Errors } from "contracts/lib/Errors.sol"; +import { MockBaseHook } from "test/foundry/mocks/MockBaseHook.sol"; +import { IHook } from "contracts/interfaces/hooks/base/IHook.sol"; +import { IIPOrg } from "contracts/interfaces/ip-org/IIPOrg.sol"; +import { MockIPOrg } from "test/foundry/mocks/MockIPOrg.sol"; + +contract HookRegistryTest is BaseTest { + MockHookRegistry hookRegistry; + + event HooksRegistered(HookRegistry.HookType indexed hType, bytes32 indexed registryKey, address[] hooks); + event HooksCleared(HookRegistry.HookType indexed hType, bytes32 indexed registryKey); + + function setUp() public override { + super.setUp(); + + vm.prank(admin); + hookRegistry = new MockHookRegistry(moduleRegistry); + } + + function test_hookRegistry_registerPreHooks() public { + (address[] memory hooks, bytes[] memory hooksConfig) = _generateHooks(2); + address ipOrgOwner = address(0x789); + IIPOrg ipOrg = new MockIPOrg(ipOrgOwner); + bytes32 registryKey = hookRegistry.hookRegistryKey(address(ipOrg), "RelationshipType_A"); + vm.startPrank(ipOrgOwner); + vm.expectEmit(true, false, false, true); + emit HooksRegistered(HookRegistry.HookType.PreAction, registryKey, hooks); + hookRegistry.registerHooks(HookRegistry.HookType.PreAction, ipOrg, registryKey, hooks, hooksConfig); + vm.stopPrank(); + assertEq(hookRegistry.hookAt(HookRegistry.HookType.PreAction, registryKey, 0), hooks[0]); + assertEq(hookRegistry.hookAt(HookRegistry.HookType.PreAction, registryKey, 1), hooks[1]); + assertEq(hookRegistry.hookConfigAt(HookRegistry.HookType.PreAction, registryKey, 0), hooksConfig[0]); + assertEq(hookRegistry.hookConfigAt(HookRegistry.HookType.PreAction, registryKey, 1), hooksConfig[1]); + assertEq(hookRegistry.totalHooks(HookRegistry.HookType.PreAction, registryKey), hooks.length); + assertEq(hookRegistry.totalHooksConfig(HookRegistry.HookType.PreAction, registryKey), hooksConfig.length); + } + + function test_hookRegistry_registerPreHooksClearsHooksIfNotEmpty() public { + (address[] memory hooks, bytes[] memory hooksConfig) = _generateHooks(2); + address ipOrgOwner = address(0x789); + IIPOrg ipOrg = new MockIPOrg(ipOrgOwner); + bytes32 registryKey = hookRegistry.hookRegistryKey(address(ipOrg), "RelationshipType_A"); + vm.startPrank(ipOrgOwner); + hookRegistry.registerHooks(HookRegistry.HookType.PreAction, ipOrg, registryKey, hooks, hooksConfig); + vm.expectEmit(true, false, false, true); + emit HooksCleared(HookRegistry.HookType.PreAction, registryKey); + hookRegistry.registerHooks(HookRegistry.HookType.PreAction, ipOrg, registryKey, hooks, hooksConfig); + vm.stopPrank(); + assertEq(hookRegistry.hookAt(HookRegistry.HookType.PreAction, registryKey, 0), hooks[0]); + assertEq(hookRegistry.hookAt(HookRegistry.HookType.PreAction, registryKey, 1), hooks[1]); + assertEq(hookRegistry.hookConfigAt(HookRegistry.HookType.PreAction, registryKey, 0), hooksConfig[0]); + assertEq(hookRegistry.hookConfigAt(HookRegistry.HookType.PreAction, registryKey, 1), hooksConfig[1]); + assertEq(hookRegistry.totalHooks(HookRegistry.HookType.PreAction, registryKey), hooks.length); + assertEq(hookRegistry.totalHooksConfig(HookRegistry.HookType.PreAction, registryKey), hooksConfig.length); + } + + function test_hookRegistry_registerPostHooks() public { + (address[] memory hooks, bytes[] memory hooksConfig) = _generateHooks(2); + address ipOrgOwner = address(0x789); + IIPOrg ipOrg = new MockIPOrg(ipOrgOwner); + bytes32 registryKey = hookRegistry.hookRegistryKey(address(ipOrg), "RelationshipType_A"); + vm.startPrank(ipOrgOwner); + vm.expectEmit(true, false, false, true); + emit HooksRegistered(HookRegistry.HookType.PostAction, registryKey, hooks); + hookRegistry.registerHooks(HookRegistry.HookType.PostAction, ipOrg, registryKey, hooks, hooksConfig); + vm.stopPrank(); + assertEq(hookRegistry.hookAt(HookRegistry.HookType.PostAction, registryKey, 0), hooks[0]); + assertEq(hookRegistry.hookAt(HookRegistry.HookType.PostAction, registryKey, 1), hooks[1]); + assertEq(hookRegistry.hookConfigAt(HookRegistry.HookType.PostAction, registryKey, 0), hooksConfig[0]); + assertEq(hookRegistry.hookConfigAt(HookRegistry.HookType.PostAction, registryKey, 1), hooksConfig[1]); + assertEq(hookRegistry.totalHooks(HookRegistry.HookType.PostAction, registryKey), hooks.length); + assertEq(hookRegistry.totalHooksConfig(HookRegistry.HookType.PostAction, registryKey), hooksConfig.length); + } + + function test_hookRegistry_registerPostHooksClearsHooksIfNotEmpty() public { + (address[] memory hooks, bytes[] memory hooksConfig) = _generateHooks(2); + address ipOrgOwner = address(0x789); + IIPOrg ipOrg = new MockIPOrg(ipOrgOwner); + bytes32 registryKey = hookRegistry.hookRegistryKey(address(ipOrg), "RelationshipType_A"); + vm.startPrank(ipOrgOwner); + hookRegistry.registerHooks(HookRegistry.HookType.PostAction, ipOrg, registryKey, hooks, hooksConfig); + vm.expectEmit(true, false, false, true); + emit HooksCleared(HookRegistry.HookType.PostAction, registryKey); + hookRegistry.registerHooks(HookRegistry.HookType.PostAction, ipOrg, registryKey, hooks, hooksConfig); + vm.stopPrank(); + assertEq(hookRegistry.hookAt(HookRegistry.HookType.PostAction, registryKey, 0), hooks[0]); + assertEq(hookRegistry.hookAt(HookRegistry.HookType.PostAction, registryKey, 1), hooks[1]); + assertEq(hookRegistry.hookConfigAt(HookRegistry.HookType.PostAction, registryKey, 0), hooksConfig[0]); + assertEq(hookRegistry.hookConfigAt(HookRegistry.HookType.PostAction, registryKey, 1), hooksConfig[1]); + assertEq(hookRegistry.totalHooks(HookRegistry.HookType.PostAction, registryKey), hooks.length); + assertEq(hookRegistry.totalHooksConfig(HookRegistry.HookType.PostAction, registryKey), hooksConfig.length); + } + + function test_hookRegistry_revertRegisterHooksCallerNotIpOrgOwner() public { + (address[] memory hooks, bytes[] memory hooksConfig) = _generateHooks(2); + address ipOrgOwner = address(0x789); + IIPOrg ipOrg = new MockIPOrg(ipOrgOwner); + bytes32 registryKey = hookRegistry.hookRegistryKey(address(ipOrg), "RelationshipType_A"); + vm.expectRevert(Errors.HookRegistry_CallerNotIPOrgOwner.selector); + hookRegistry.registerHooks(HookRegistry.HookType.PostAction, ipOrg, registryKey, hooks, hooksConfig); + } + + function test_hookRegistry_revertRegisterMaxHooksExceeded() public { + address[] memory hooks = new address[](hookRegistry.MAX_HOOKS() + 1); + bytes[] memory hooksConfig = new bytes[](hookRegistry.MAX_HOOKS() + 1); + address ipOrgOwner = address(0x789); + IIPOrg ipOrg = new MockIPOrg(ipOrgOwner); + bytes32 registryKey = hookRegistry.hookRegistryKey(address(ipOrg), "RelationshipType_A"); + vm.startPrank(ipOrgOwner); + for(uint256 i = 0; i <= hookRegistry.MAX_HOOKS(); i++) { + hooks[i] = address(new MockBaseHook(address(accessControl))); + hooksConfig[i] = abi.encode("HookConfig", i + 1); + } + vm.expectRevert(Errors.HookRegistry_MaxHooksExceeded.selector); + hookRegistry.registerHooks(HookRegistry.HookType.PostAction, ipOrg, registryKey, hooks, hooksConfig); + vm.expectRevert(Errors.HookRegistry_MaxHooksExceeded.selector); + hookRegistry.registerHooks(HookRegistry.HookType.PreAction, ipOrg, registryKey, hooks, hooksConfig); + vm.stopPrank(); + } + + function test_hookRegistry_revertRegisterDuplicatedHook() public { + (address[] memory hooks, bytes[] memory hooksConfig) = _generateHooks(2); + hooks[1] = hooks[0]; + address ipOrgOwner = address(0x789); + IIPOrg ipOrg = new MockIPOrg(ipOrgOwner); + bytes32 registryKey = hookRegistry.hookRegistryKey(address(ipOrg), "RelationshipType_A"); + vm.startPrank(ipOrgOwner); + vm.expectRevert(Errors.HookRegistry_RegisteringDuplicatedHook.selector); + hookRegistry.registerHooks(HookRegistry.HookType.PostAction, ipOrg, registryKey, hooks, hooksConfig); + vm.stopPrank(); + } + + function test_hookRegistry_getters() public { + (address[] memory hooks, bytes[] memory hooksConfig) = _generateHooks(2); + address ipOrgOwner = address(0x789); + IIPOrg ipOrg = new MockIPOrg(ipOrgOwner); + bytes32 registryKey = hookRegistry.hookRegistryKey(address(ipOrg), "RelationshipType_A"); + vm.startPrank(ipOrgOwner); + + hookRegistry.registerHooks(HookRegistry.HookType.PreAction, ipOrg, registryKey, hooks, hooksConfig); + assertEq(hookRegistry.hookAt(HookRegistry.HookType.PreAction, registryKey, 0), hooks[0]); + assertEq(hookRegistry.hookAt(HookRegistry.HookType.PreAction, registryKey, 1), hooks[1]); + assertEq(hookRegistry.hookConfigAt(HookRegistry.HookType.PreAction, registryKey, 0), hooksConfig[0]); + assertEq(hookRegistry.hookConfigAt(HookRegistry.HookType.PreAction, registryKey, 1), hooksConfig[1]); + assertEq(hookRegistry.hookIndex(HookRegistry.HookType.PreAction, registryKey, hooks[0]), 0); + assertEq(hookRegistry.hookIndex(HookRegistry.HookType.PreAction, registryKey, hooks[1]), 1); + assertEq(hookRegistry.totalHooks(HookRegistry.HookType.PreAction, registryKey), hooks.length); + assertEq(hookRegistry.totalHooksConfig(HookRegistry.HookType.PreAction, registryKey), hooksConfig.length); + assertEq(hookRegistry.isRegistered(HookRegistry.HookType.PreAction, registryKey, hooks[0]), true); + assertEq(hookRegistry.isRegistered(HookRegistry.HookType.PreAction, registryKey, hooks[1]), true); + + hookRegistry.registerHooks(HookRegistry.HookType.PostAction, ipOrg, registryKey, hooks, hooksConfig); + assertEq(hookRegistry.hookAt(HookRegistry.HookType.PostAction, registryKey, 0), hooks[0]); + assertEq(hookRegistry.hookAt(HookRegistry.HookType.PostAction, registryKey, 1), hooks[1]); + assertEq(hookRegistry.hookConfigAt(HookRegistry.HookType.PostAction, registryKey, 0), hooksConfig[0]); + assertEq(hookRegistry.hookConfigAt(HookRegistry.HookType.PostAction, registryKey, 1), hooksConfig[1]); + assertEq(hookRegistry.hookIndex(HookRegistry.HookType.PostAction, registryKey, hooks[0]), 0); + assertEq(hookRegistry.hookIndex(HookRegistry.HookType.PostAction, registryKey, hooks[1]), 1); + assertEq(hookRegistry.totalHooks(HookRegistry.HookType.PostAction, registryKey), hooks.length); + assertEq(hookRegistry.totalHooksConfig(HookRegistry.HookType.PostAction, registryKey), hooksConfig.length); + assertEq(hookRegistry.isRegistered(HookRegistry.HookType.PostAction, registryKey, hooks[0]), true); + assertEq(hookRegistry.isRegistered(HookRegistry.HookType.PostAction, registryKey, hooks[1]), true); + + vm.stopPrank(); + } + + function test_hookRegistry_clearPreHooks() public { + (address[] memory hooks, bytes[] memory hooksConfig) = _generateHooks(2); + address ipOrgOwner = address(0x789); + IIPOrg ipOrg = new MockIPOrg(ipOrgOwner); + bytes32 registryKey = hookRegistry.hookRegistryKey(address(ipOrg), "RelationshipType_A"); + vm.startPrank(ipOrgOwner); + hookRegistry.registerHooks(HookRegistry.HookType.PreAction, ipOrg, registryKey, hooks, hooksConfig); + vm.expectEmit(true, true, false, true); + emit HooksCleared(HookRegistry.HookType.PreAction, registryKey); + hookRegistry.clearHooks(HookRegistry.HookType.PreAction, ipOrg, registryKey); + vm.stopPrank(); + assertEq(hookRegistry.hookIndex(HookRegistry.HookType.PreAction, registryKey, hooks[0]), hookRegistry.INDEX_NOT_FOUND()); + assertEq(hookRegistry.hookIndex(HookRegistry.HookType.PreAction, registryKey, hooks[1]), hookRegistry.INDEX_NOT_FOUND()); + assertEq(hookRegistry.totalHooksConfig(HookRegistry.HookType.PreAction, registryKey), 0); + assertEq(hookRegistry.totalHooks(HookRegistry.HookType.PreAction, registryKey), 0); + assertEq(hookRegistry.totalHooksConfig(HookRegistry.HookType.PreAction, registryKey), 0); + } + + function test_hookRegistry_clearPostHooks() public { + (address[] memory hooks, bytes[] memory hooksConfig) = _generateHooks(2); + address ipOrgOwner = address(0x789); + IIPOrg ipOrg = new MockIPOrg(ipOrgOwner); + bytes32 registryKey = hookRegistry.hookRegistryKey(address(ipOrg), "RelationshipType_A"); + vm.startPrank(ipOrgOwner); + hookRegistry.registerHooks(HookRegistry.HookType.PostAction, ipOrg, registryKey, hooks, hooksConfig); + vm.expectEmit(true, true, false, true); + emit HooksCleared(HookRegistry.HookType.PostAction, registryKey); + hookRegistry.clearHooks(HookRegistry.HookType.PostAction, ipOrg, registryKey); + vm.stopPrank(); + assertEq(hookRegistry.hookIndex(HookRegistry.HookType.PostAction, registryKey, hooks[0]), hookRegistry.INDEX_NOT_FOUND()); + assertEq(hookRegistry.hookIndex(HookRegistry.HookType.PostAction, registryKey, hooks[1]), hookRegistry.INDEX_NOT_FOUND()); + assertEq(hookRegistry.totalHooksConfig(HookRegistry.HookType.PostAction, registryKey), 0); + assertEq(hookRegistry.totalHooks(HookRegistry.HookType.PostAction, registryKey), 0); + assertEq(hookRegistry.totalHooksConfig(HookRegistry.HookType.PostAction, registryKey), 0); + } + + function test_hookRegistry_revertClearHooksCallerNotAdmin() public { + (address[] memory hooks, bytes[] memory hooksConfig) = _generateHooks(2); + address ipOrgOwner = address(0x789); + IIPOrg ipOrg = new MockIPOrg(ipOrgOwner); + bytes32 registryKey = hookRegistry.hookRegistryKey(address(ipOrg), "RelationshipType_A"); + vm.startPrank(ipOrgOwner); + hookRegistry.registerHooks(HookRegistry.HookType.PostAction, ipOrg, registryKey, hooks, hooksConfig); + vm.stopPrank(); + vm.expectRevert(Errors.HookRegistry_CallerNotIPOrgOwner.selector); + hookRegistry.clearHooks(HookRegistry.HookType.PostAction, ipOrg, registryKey); + } + + function test_hookRegistry_registerHooksWithMultipleRegistryKeys() public { + address hook1 = address(new MockBaseHook(address(accessControl))); + address hook2 = address(new MockBaseHook(address(accessControl))); + address hook3 = address(new MockBaseHook(address(accessControl))); + address hook5 = address(new MockBaseHook(address(accessControl))); + moduleRegistry.registerProtocolHook("Hook-1", IHook(hook1)); + moduleRegistry.registerProtocolHook("Hook-2", IHook(hook2)); + moduleRegistry.registerProtocolHook("Hook-3", IHook(hook3)); + moduleRegistry.registerProtocolHook("Hook-5", IHook(hook5)); + + address[] memory hooksA = new address[](2); + hooksA[0] = hook1; + hooksA[1] = hook2; + bytes[] memory hooksConfigA = new bytes[](2); + hooksConfigA[0] = abi.encode("Hook1Config"); + hooksConfigA[1] = abi.encode("Hook2Config"); + IIPOrg ipOrg1 = new MockIPOrg(address(0x789)); + bytes32 registryKeyA = hookRegistry.hookRegistryKey(address(ipOrg1), "RelationshipType_A"); + + // hooks B shares same ipOrg with hooks A + address[] memory hooksB = new address[](2); + hooksB[0] = hook3; + hooksB[1] = hook5; + bytes[] memory hooksConfigB = new bytes[](2); + hooksConfigB[0] = abi.encode("Hook3Config"); + hooksConfigB[1] = abi.encode("Hook5Config"); + bytes32 registryKeyB = hookRegistry.hookRegistryKey(address(ipOrg1), "RelationshipType_B"); + + address[] memory hooksC = new address[](2); + hooksC[0] = hook2; + hooksC[1] = hook3; + bytes[] memory hooksConfigC = new bytes[](2); + hooksConfigC[0] = abi.encode("Hook2Config"); + hooksConfigC[1] = abi.encode("Hook3Config"); + IIPOrg ipOrg2 = new MockIPOrg(address(0x999)); + bytes32 registryKeyC = hookRegistry.hookRegistryKey(address(ipOrg2), "RelationshipType_C"); + vm.startPrank(address(0x789)); + vm.expectEmit(true, false, false, true); + emit HooksRegistered(HookRegistry.HookType.PreAction, registryKeyA, hooksA); + hookRegistry.registerHooks(HookRegistry.HookType.PreAction, ipOrg1, registryKeyA, hooksA, hooksConfigA); + vm.expectEmit(true, false, false, true); + emit HooksRegistered(HookRegistry.HookType.PreAction, registryKeyB, hooksB); + hookRegistry.registerHooks(HookRegistry.HookType.PreAction, ipOrg1, registryKeyB, hooksB, hooksConfigB); + vm.stopPrank(); + vm.startPrank(address(0x999)); + vm.expectEmit(true, false, false, true); + emit HooksRegistered(HookRegistry.HookType.PreAction, registryKeyC, hooksC); + hookRegistry.registerHooks(HookRegistry.HookType.PreAction, ipOrg2, registryKeyC, hooksC, hooksConfigC); + vm.stopPrank(); + assertEq(hookRegistry.hookAt(HookRegistry.HookType.PreAction, registryKeyA, 0), hooksA[0]); + assertEq(hookRegistry.hookAt(HookRegistry.HookType.PreAction, registryKeyA, 1), hooksA[1]); + assertEq(hookRegistry.hookConfigAt(HookRegistry.HookType.PreAction, registryKeyA, 0), hooksConfigA[0]); + assertEq(hookRegistry.hookConfigAt(HookRegistry.HookType.PreAction, registryKeyA, 1), hooksConfigA[1]); + assertEq(hookRegistry.totalHooks(HookRegistry.HookType.PreAction, registryKeyA), hooksA.length); + assertEq(hookRegistry.totalHooksConfig(HookRegistry.HookType.PreAction, registryKeyA), hooksConfigA.length); + + assertEq(hookRegistry.hookAt(HookRegistry.HookType.PreAction, registryKeyB, 0), hooksB[0]); + assertEq(hookRegistry.hookAt(HookRegistry.HookType.PreAction, registryKeyB, 1), hooksB[1]); + assertEq(hookRegistry.hookConfigAt(HookRegistry.HookType.PreAction, registryKeyB, 0), hooksConfigB[0]); + assertEq(hookRegistry.hookConfigAt(HookRegistry.HookType.PreAction, registryKeyB, 1), hooksConfigB[1]); + assertEq(hookRegistry.totalHooks(HookRegistry.HookType.PreAction, registryKeyB), hooksB.length); + assertEq(hookRegistry.totalHooksConfig(HookRegistry.HookType.PreAction, registryKeyB), hooksConfigB.length); + + assertEq(hookRegistry.hookAt(HookRegistry.HookType.PreAction, registryKeyC, 0), hooksC[0]); + assertEq(hookRegistry.hookAt(HookRegistry.HookType.PreAction, registryKeyC, 1), hooksC[1]); + assertEq(hookRegistry.hookConfigAt(HookRegistry.HookType.PreAction, registryKeyC, 0), hooksConfigC[0]); + assertEq(hookRegistry.hookConfigAt(HookRegistry.HookType.PreAction, registryKeyC, 1), hooksConfigC[1]); + assertEq(hookRegistry.totalHooks(HookRegistry.HookType.PreAction, registryKeyC), hooksC.length); + assertEq(hookRegistry.totalHooksConfig(HookRegistry.HookType.PreAction, registryKeyC), hooksConfigC.length); + } + + function test_hookRegistry_onlyClearHooksForSpecificRegistryKey() public { + address hook1 = address(new MockBaseHook(address(accessControl))); + address hook2 = address(new MockBaseHook(address(accessControl))); + address hook3 = address(new MockBaseHook(address(accessControl))); + address hook5 = address(new MockBaseHook(address(accessControl))); + address hook6 = address(new MockBaseHook(address(accessControl))); + address hook7 = address(new MockBaseHook(address(accessControl))); + address hook8 = address(new MockBaseHook(address(accessControl))); + + moduleRegistry.registerProtocolHook("Hook-1", IHook(hook1)); + moduleRegistry.registerProtocolHook("Hook-2", IHook(hook2)); + moduleRegistry.registerProtocolHook("Hook-3", IHook(hook3)); + moduleRegistry.registerProtocolHook("Hook-5", IHook(hook5)); + moduleRegistry.registerProtocolHook("Hook-6", IHook(hook6)); + moduleRegistry.registerProtocolHook("Hook-7", IHook(hook7)); + moduleRegistry.registerProtocolHook("Hook-8", IHook(hook8)); + + address[] memory hooksA = new address[](2); + hooksA[0] = hook1; + hooksA[1] = hook2; + bytes[] memory hooksConfigA = new bytes[](2); + hooksConfigA[0] = abi.encode("Hook1Config"); + hooksConfigA[1] = abi.encode("Hook2Config"); + address ipOrgOwner1 = address(0x789); + IIPOrg ipOrg1 = new MockIPOrg(ipOrgOwner1); + bytes32 registryKeyA = hookRegistry.hookRegistryKey(address(ipOrg1), "RelationshipType_A"); + + // hooks B shares same ipOrg with hooks A + address[] memory hooksB = new address[](2); + hooksB[0] = hook3; + hooksB[1] = hook5; + bytes[] memory hooksConfigB = new bytes[](2); + hooksConfigB[0] = abi.encode("Hook3Config"); + hooksConfigB[1] = abi.encode("Hook5Config"); + bytes32 registryKeyB = hookRegistry.hookRegistryKey(address(ipOrg1), "RelationshipType_B"); + + address[] memory hooksC = new address[](3); + hooksC[0] = hook6; + hooksC[1] = hook7; + hooksC[2] = hook8; + bytes[] memory hooksConfigC = new bytes[](3); + hooksConfigC[0] = abi.encode("Hook6Config"); + hooksConfigC[1] = abi.encode("Hook7Config"); + hooksConfigC[2] = abi.encode("Hook8Config"); + + vm.startPrank(ipOrgOwner1); + vm.expectEmit(true, false, false, true); + emit HooksRegistered(HookRegistry.HookType.PreAction, registryKeyA, hooksA); + hookRegistry.registerHooks(HookRegistry.HookType.PreAction, ipOrg1, registryKeyA, hooksA, hooksConfigA); + vm.expectEmit(true, false, false, true); + emit HooksRegistered(HookRegistry.HookType.PreAction, registryKeyB, hooksB); + hookRegistry.registerHooks(HookRegistry.HookType.PreAction, ipOrg1, registryKeyB, hooksB, hooksConfigB); + + // Expecting both clear and register events should be emitted + vm.expectEmit(true, false, false, true); + emit HooksCleared(HookRegistry.HookType.PreAction, registryKeyA); + vm.expectEmit(true, false, false, true); + emit HooksRegistered(HookRegistry.HookType.PreAction, registryKeyA, hooksC); + // register new hooks with the same registryKeyA, expecting the existing hooks should be replaced + hookRegistry.registerHooks(HookRegistry.HookType.PreAction, ipOrg1, registryKeyA, hooksC, hooksConfigC); + + vm.stopPrank(); + + // registryKeyA should map to hooks C now + assertEq(hookRegistry.hookAt(HookRegistry.HookType.PreAction, registryKeyA, 0), hooksC[0]); + assertEq(hookRegistry.hookAt(HookRegistry.HookType.PreAction, registryKeyA, 1), hooksC[1]); + assertEq(hookRegistry.hookAt(HookRegistry.HookType.PreAction, registryKeyA, 2), hooksC[2]); + assertEq(hookRegistry.hookConfigAt(HookRegistry.HookType.PreAction, registryKeyA, 0), hooksConfigC[0]); + assertEq(hookRegistry.hookConfigAt(HookRegistry.HookType.PreAction, registryKeyA, 1), hooksConfigC[1]); + assertEq(hookRegistry.hookConfigAt(HookRegistry.HookType.PreAction, registryKeyA, 2), hooksConfigC[2]); + assertEq(hookRegistry.totalHooks(HookRegistry.HookType.PreAction, registryKeyA), hooksC.length); + assertEq(hookRegistry.totalHooksConfig(HookRegistry.HookType.PreAction, registryKeyA), hooksConfigC.length); + + assertEq(hookRegistry.hookAt(HookRegistry.HookType.PreAction, registryKeyB, 0), hooksB[0]); + assertEq(hookRegistry.hookAt(HookRegistry.HookType.PreAction, registryKeyB, 1), hooksB[1]); + assertEq(hookRegistry.hookConfigAt(HookRegistry.HookType.PreAction, registryKeyB, 0), hooksConfigB[0]); + assertEq(hookRegistry.hookConfigAt(HookRegistry.HookType.PreAction, registryKeyB, 1), hooksConfigB[1]); + assertEq(hookRegistry.totalHooks(HookRegistry.HookType.PreAction, registryKeyB), hooksB.length); + assertEq(hookRegistry.totalHooksConfig(HookRegistry.HookType.PreAction, registryKeyB), hooksConfigB.length); + } + + + function test_hookRegistry_revertHookAtNonExistRegistryKey() public { + address hook1 = address(new MockBaseHook(address(accessControl))); + address hook2 = address(new MockBaseHook(address(accessControl))); + moduleRegistry.registerProtocolHook("Hook-1", IHook(hook1)); + moduleRegistry.registerProtocolHook("Hook-2", IHook(hook2)); + + address[] memory hooksA = new address[](2); + hooksA[0] = hook1; + hooksA[1] = hook2; + bytes[] memory hooksConfigA = new bytes[](2); + hooksConfigA[0] = abi.encode("Hook1Config"); + hooksConfigA[1] = abi.encode("Hook2Config"); + address ipOrgOwner1 = address(0x789); + IIPOrg ipOrg1 = new MockIPOrg(ipOrgOwner1); + bytes32 registryKeyA = hookRegistry.hookRegistryKey(address(ipOrg1), "RelationshipType_A"); + vm.startPrank(ipOrgOwner1); + hookRegistry.registerHooks(HookRegistry.HookType.PreAction, ipOrg1, registryKeyA, hooksA, hooksConfigA); + vm.stopPrank(); + vm.expectRevert( + abi.encodeWithSelector( + Errors.HookRegistry_IndexOutOfBounds.selector, + 0 + ) + ); + hookRegistry.hookAt(HookRegistry.HookType.PreAction, keccak256(abi.encode("NonExistRegistryKey")), 0); + } + + function test_hookRegistry_revertHookConfigAtNonExistRegistryKey() public { + address hook1 = address(new MockBaseHook(address(accessControl))); + address hook2 = address(new MockBaseHook(address(accessControl))); + moduleRegistry.registerProtocolHook("Hook-1", IHook(hook1)); + moduleRegistry.registerProtocolHook("Hook-2", IHook(hook2)); + + address[] memory hooksA = new address[](2); + hooksA[0] = hook1; + hooksA[1] = hook2; + bytes[] memory hooksConfigA = new bytes[](2); + hooksConfigA[0] = abi.encode("Hook1Config"); + hooksConfigA[1] = abi.encode("Hook2Config"); + address ipOrgOwner1 = address(0x789); + IIPOrg ipOrg1 = new MockIPOrg(ipOrgOwner1); + bytes32 registryKeyA = hookRegistry.hookRegistryKey(address(ipOrg1), "RelationshipType_A"); + vm.startPrank(ipOrgOwner1); + hookRegistry.registerHooks(HookRegistry.HookType.PreAction, ipOrg1, registryKeyA, hooksA, hooksConfigA); + vm.stopPrank(); + vm.expectRevert( + abi.encodeWithSelector( + Errors.HookRegistry_IndexOutOfBounds.selector, + 0 + ) + ); + hookRegistry.hookConfigAt(HookRegistry.HookType.PreAction, keccak256(abi.encode("NonExistRegistryKey")), 0); + } + + function test_hookRegistry_revertHooksConfigMismatch() public { + address hook1 = address(new MockBaseHook(address(accessControl))); + address hook2 = address(new MockBaseHook(address(accessControl))); + moduleRegistry.registerProtocolHook("Hook-1", IHook(hook1)); + moduleRegistry.registerProtocolHook("Hook-2", IHook(hook2)); + + address[] memory hooksA = new address[](2); + hooksA[0] = hook1; + hooksA[1] = hook2; + bytes[] memory hooksConfigA = new bytes[](1); + hooksConfigA[0] = abi.encode("Hook1Config"); + address ipOrgOwner1 = address(0x789); + IIPOrg ipOrg1 = new MockIPOrg(ipOrgOwner1); + bytes32 registryKeyA = hookRegistry.hookRegistryKey(address(ipOrg1), "RelationshipType_A"); + vm.startPrank(ipOrgOwner1); + vm.expectRevert(Errors.HookRegistry_HooksConfigLengthMismatch.selector); + hookRegistry.registerHooks(HookRegistry.HookType.PreAction, ipOrg1, registryKeyA, hooksA, hooksConfigA); + vm.stopPrank(); + } + + function test_hookRegistry_revertRegisterZeroAddress() public { + address hook1 = address(new MockBaseHook(address(accessControl))); + address hook2 = address(0); + moduleRegistry.registerProtocolHook("Hook-1", IHook(hook1)); + + address[] memory hooksA = new address[](2); + hooksA[0] = hook1; + hooksA[1] = hook2; + bytes[] memory hooksConfigA = new bytes[](2); + hooksConfigA[0] = abi.encode("Hook1Config"); + hooksConfigA[1] = abi.encode("Hook2Config"); + address ipOrgOwner1 = address(0x789); + IIPOrg ipOrg1 = new MockIPOrg(ipOrgOwner1); + bytes32 registryKeyA = hookRegistry.hookRegistryKey(address(ipOrg1), "RelationshipType_A"); + vm.startPrank(ipOrgOwner1); + vm.expectRevert(Errors.HookRegistry_RegisteringZeroAddressHook.selector); + hookRegistry.registerHooks(HookRegistry.HookType.PreAction, ipOrg1, registryKeyA, hooksA, hooksConfigA); + vm.stopPrank(); + } + + function test_hookRegistry_revertRegisterNonWhitelistedHook() public { + address hook1 = address(new MockBaseHook(address(accessControl))); + address hook2 = address(new MockBaseHook(address(accessControl))); + + address[] memory hooksA = new address[](2); + hooksA[0] = hook1; + hooksA[1] = hook2; + bytes[] memory hooksConfigA = new bytes[](2); + hooksConfigA[0] = abi.encode("Hook1Config"); + hooksConfigA[1] = abi.encode("Hook2Config"); + address ipOrgOwner1 = address(0x789); + IIPOrg ipOrg1 = new MockIPOrg(ipOrgOwner1); + bytes32 registryKeyA = hookRegistry.hookRegistryKey(address(ipOrg1), "RelationshipType_A"); + vm.startPrank(ipOrgOwner1); + vm.expectRevert( + abi.encodeWithSelector(Errors.HookRegistry_RegisteringNonWhitelistedHook.selector, + hook1) + ); + hookRegistry.registerHooks(HookRegistry.HookType.PreAction, ipOrg1, registryKeyA, hooksA, hooksConfigA); + vm.stopPrank(); + } + + function _generateHooks(uint256 numHooks) private returns (address[] memory, bytes[] memory) { + address[] memory hooks = new address[](numHooks); + bytes[] memory hooksConfig = new bytes[](numHooks); + for(uint256 i = 0; i < numHooks; i++) { + hooks[i] = address(new MockBaseHook(address(accessControl))); + hooksConfig[i] = abi.encode("HookConfig-", i + 1); + moduleRegistry.registerProtocolHook(string(abi.encodePacked("Hook-", i + 1)), IHook(hooks[i])); + } + return (hooks, hooksConfig); + } +} diff --git a/test/foundry/modules/collect/BaseCollectModuleTest.sol b/test/foundry/modules/collect/BaseCollectModuleTest.sol deleted file mode 100644 index 68720502..00000000 --- a/test/foundry/modules/collect/BaseCollectModuleTest.sol +++ /dev/null @@ -1,165 +0,0 @@ -// SPDX-License-Identifier: BUSL-1.1 -pragma solidity ^0.8.18; - -import { ICollectModule } from "contracts/interfaces/modules/collect/ICollectModule.sol"; -import { ICollectNFT } from "contracts/interfaces/modules/collect/ICollectNFT.sol"; - -import { BaseTestUtils } from "test/foundry/utils/BaseTestUtils.sol"; -import { BaseTest } from "test/foundry/utils/BaseTest.sol"; -import { CollectNFTBaseTest } from "./nft/CollectNFTBase.t.sol"; -import { MockCollectModule } from "test/foundry/mocks/MockCollectModule.sol"; -import { MockCollectNFT } from "test/foundry/mocks/MockCollectNFT.sol"; - -import { IPAsset } from "contracts/lib/IPAsset.sol"; -import { Collect } from "contracts/lib/modules/Collect.sol"; -import { Errors } from "contracts/lib/Errors.sol"; - -/// @title Collect Module Base ERC-721 Testing Utility Contract -/// @notice Provides a set of reusable tests for ERC-721 implementations. -contract BaseCollectModuleTest is BaseTest { - - // TODO: Currently, when compiling with 0.8.21, there is a known ICE bug that prevents us from emitting from the interface directly e.g. via ICollectModule.Collected - these two should be refactored in favor of emitting through the interface once we officially migrate to 0.8.22. - // See: https://github.com/ethereum/solidity/issues/14430 - event Collected( - uint256 indexed ipAssetId_, - address indexed collector_, - address collectNft_, - uint256 collectNftId_, - bytes collectData_, - bytes collectNftData_ - ); - - // TODO: Refactor once we migrate to compiling via 0.8.22 as explained above. - event NewCollectNFT( - uint256 indexed ipAssetId_, - address collectNFT_ - ); - - // In the base collect module, an IP asset configured with a zero address - // collect NFT impl means that the module-wide default should be used. - address public constant DEFAULT_COLLECT_NFT_IMPL_CONFIG = address(0); - - // Id of IP asset which may differ per test based on testing constraints. - uint256 ipAssetId; - address payable collector; - - /// @notice Modifier that creates an IP asset for testing. - /// @param ipAssetOwner The owner address for the new IP asset. - /// @param ipAssetType The type of the IP asset being created. - modifier createIpAsset(address ipAssetOwner, uint8 ipAssetType) virtual { - ipAssetId = _createIpAsset(ipAssetOwner, ipAssetType, ""); - _; - } - - /// @notice Sets up the base collect module for running tests. - function setUp() public virtual override(BaseTest) { - super.setUp(); - collector = cal; - } - - - /// @notice Tests whether collect reverts if the IP asset being collected from does not exist. - function test_CollectModuleCollectNonExistentIPAssetReverts(uint256 nonExistentipAssetId, uint8 ipAssetType) createIpAsset(collector, ipAssetType) public virtual { - vm.assume(nonExistentipAssetId != ipAssetId); - vm.expectRevert(Errors.CollectModule_IPAssetNonExistent.selector); - _collect(nonExistentipAssetId); - } - - /// @notice Tests that collects with the module-default collect NFT succeed. - function test_CollectModuleCollectDefaultCollectNFT(uint8 ipAssetType) createIpAsset(collector, ipAssetType) public { - assertEq(collectModule.getCollectNFT(ipAssetId), address(0)); - vm.expectEmit(true, true, false, false, address(collectModule)); - emit NewCollectNFT( - ipAssetId, - defaultCollectNftImpl - ); - vm.expectEmit(true, true, true, false, address(collectModule)); - emit Collected( - ipAssetId, - collector, - defaultCollectNftImpl, - 0, - "", - "" - ); - (address collectNft, uint256 collectNftId) = _collect(ipAssetId); - assertEq(collectModule.getCollectNFT(ipAssetId), collectNft); - assertTrue(ICollectNFT(collectNft).ownerOf(collectNftId) == cal); - assertEq(collectModule.getCollectNFT(ipAssetId), collectNft); - } - - /// @notice Tests that collects with customized collect NFTs succeed. - function test_CollectModuleCollectCustomCollectNFT(uint8 ipAssetType) public createIpAsset(collector, ipAssetType) { - assertEq(collectModule.getCollectNFT(ipAssetId), address(0)); - vm.expectEmit(true, true, false, false, address(collectModule)); - emit NewCollectNFT( - ipAssetId, - defaultCollectNftImpl - ); - vm.expectEmit(true, true, true, false, address(collectModule)); - emit Collected( - ipAssetId, - collector, - defaultCollectNftImpl, - 0, - "", - "" - ); - (address collectNft, uint256 collectNftId) = _collect(ipAssetId); - assertEq(collectModule.getCollectNFT(ipAssetId), collectNft); - assertTrue(ICollectNFT(collectNft).ownerOf(collectNftId) == cal); - } - - /// @notice Tests expected behavior of the collect module constructor. - function test_CollectModuleConstructor() public { - MockCollectModule mockCollectModule = new MockCollectModule(address(registry), defaultCollectNftImpl); - assertEq(address(mockCollectModule.REGISTRY()), address(registry)); - } - - /// @notice Tests expected behavior of collect module initialization. - function test_CollectModuleInit() public { - assertEq(address(0), collectModule.getCollectNFT(ipAssetId)); - } - - /// @notice Tests collect module reverts on unauthorized calls. - function test_CollectModuleInitCollectInvalidCallerReverts(uint256 nonExistentIPAssetOrgId, uint8 ipAssetType) public createIpAsset(collector, ipAssetType) { - vm.expectRevert(Errors.CollectModule_CallerUnauthorized.selector); - vm.prank(address(this)); - collectModule.initCollect(Collect.InitCollectParams({ - ipAssetId: ipAssetId, - collectNftImpl: defaultCollectNftImpl, - data: "" - })); - } - - /// @notice Tests collect module reverts on duplicate initialization. - function test_CollectModuleDuplicateInitReverts(uint8 ipAssetType) createIpAsset(collector, ipAssetType) public { - vm.expectRevert(Errors.CollectModule_IPAssetAlreadyInitialized.selector); - vm.prank(address(ipAssetOrg)); - _initCollectModule(defaultCollectNftImpl); - } - - /// @dev Helper function that initializes a collect module. - /// @param collectNftImpl Collect NFT impl address used for collecting. - function _initCollectModule( address collectNftImpl) internal virtual { - collectModule.initCollect(Collect.InitCollectParams({ - ipAssetId: ipAssetId, - collectNftImpl: collectNftImpl, - data: "" - })); - } - - /// @dev Helper function that performs collect module collection. - /// @param ipAssetId_ The id of the IP asset being collected. - function _collect(uint256 ipAssetId_) internal virtual returns (address, uint256) { - vm.prank(address(ipAssetOrg)); - return collectModule.collect(Collect.CollectParams({ - ipAssetId: ipAssetId_, - collector: collector, - collectData: "", - collectNftInitData: "", - collectNftData: "" - })); - } - -} diff --git a/test/foundry/modules/collect/CollectPaymentModuleBase.t.sol b/test/foundry/modules/collect/CollectPaymentModuleBase.t.sol deleted file mode 100644 index dae11621..00000000 --- a/test/foundry/modules/collect/CollectPaymentModuleBase.t.sol +++ /dev/null @@ -1,428 +0,0 @@ -// SPDX-License-Identifier: BUSL-1.1 -pragma solidity ^0.8.18; - -import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; - -import { ICollectModule } from "contracts/interfaces/modules/collect/ICollectModule.sol"; -import { ICollectPaymentModule } from "contracts/interfaces/modules/collect/ICollectPaymentModule.sol"; -import { ICollectNFT } from "contracts/interfaces/modules/collect/ICollectNFT.sol"; - -import { BaseCollectModuleTest } from "./BaseCollectModuleTest.sol"; -import { BaseTest } from "test/foundry/utils/BaseTest.sol"; -import { MockCollectPaymentModule } from "test/foundry/mocks/MockCollectPaymentModule.sol"; -import { MockNativeTokenNonReceiver } from "test/foundry/mocks/MockNativeTokenNonReceiver.sol"; -import { MockThrowingERC20 } from "test/foundry/mocks/MockThrowingERC20.sol"; -import { MockCollectNFT } from "test/foundry/mocks/MockCollectNFT.sol"; -import { MockERC20 } from "test/foundry/mocks/MockERC20.sol"; -import { MockWETH } from "test/foundry/mocks/MockWETH.sol"; - -import { Collect } from "contracts/lib/modules/Collect.sol"; -import { Errors } from "contracts/lib/Errors.sol"; - -/// @title Collect Payment Module Base Testing Contract -/// @notice Tests all functionality provided by the base payment collect module. -contract CollectPaymentModuleBaseTest is BaseCollectModuleTest { - - ICollectPaymentModule collectPaymentModule; - - MockERC20 public erc20; - MockWETH public weth; - - address paymentToken; - Collect.PaymentType paymentType; - uint256 paymentAmount; - address payable paymentRecipient; - Collect.CollectPaymentInfo paymentInfo; - Collect.CollectPaymentParams paymentParams; - - // Used for mocking suites of tests involving payment infos and params. - CollectPaymentSet[] paymentSets; - - struct CollectPaymentSet { - Collect.CollectPaymentInfo info; - Collect.CollectPaymentParams params; - } - - /// @notice Parameterizes payment inputs and outputs for multiple test runs. - modifier parameterizePaymentInfo(CollectPaymentSet[] memory paymentInfoSuite) { - uint256 length = paymentInfoSuite.length; - for (uint256 i = 0; i < length; ) { - paymentInfo = paymentInfoSuite[i].info; - paymentParams = paymentInfoSuite[i].params; - ipAssetId = _createIpAsset(alice, 1, abi.encode(paymentInfo)); - _; - i += 1; - } - } - - /// @notice Modifier that creates an IP asset for normal collect testing, - /// using the latest generated payment struct for collect encoding. - /// @param ipAssetOwner The owner address for the new IP asset. - /// @param ipAssetType The type of the IP asset being created. - modifier createIpAsset(address ipAssetOwner, uint8 ipAssetType) override { - ipAssetId = _createIpAsset(ipAssetOwner, ipAssetType, abi.encode(paymentInfo)); - _; - } - - /// @notice Sets up testing for the base collect payment module. - function setUp() public virtual override(BaseCollectModuleTest) { - super.setUp(); - paymentToken = address(0); - paymentType = Collect.PaymentType.NATIVE; - paymentAmount = 1 ether; - paymentRecipient = alice; - collector = cal; - vm.deal(collector, 999 ether); - paymentInfo = Collect.CollectPaymentInfo({ - paymentToken: paymentToken, - paymentType: paymentType, - paymentAmount: paymentAmount, - paymentRecipient: paymentRecipient - }); - paymentParams = Collect.CollectPaymentParams({ - paymentToken: paymentToken, - paymentType: paymentType, - paymentAmount: paymentAmount - }); - erc20 = new MockERC20("Story Protocol Mock Token", "SP", 18); - vm.startPrank(collector); - erc20.mint(999999); - erc20.approve(address(collectPaymentModule), type(uint256).max); - weth = new MockWETH(); - weth.mint(999999); - weth.approve(address(collectPaymentModule), type(uint256).max); - vm.stopPrank(); - } - - /// @notice Tests that the collect payment module is correctly initialized. - function test_CollectPaymentModuleInit() public parameterizePaymentInfo(paymentSuite()) { - Collect.CollectPaymentInfo memory p = collectPaymentModule.getPaymentInfo(ipAssetId); - assertEq(p.paymentToken, paymentInfo.paymentToken); - assertEq(uint8(p.paymentType), uint8(paymentInfo.paymentType)); - assertEq(p.paymentAmount, paymentInfo.paymentAmount); - assertEq(p.paymentRecipient, paymentInfo.paymentRecipient); - } - - /// @notice Tests that native payments with no sent funds revert. - function test_CollectPaymentModuleZeroPaymentReverts() public { - paymentInfo = Collect.CollectPaymentInfo(address(0), Collect.PaymentType.NATIVE, 0 ether, alice); - vm.expectRevert(Errors.CollectPaymentModule_AmountInvalid.selector); - _createIpAsset(collector, 1, abi.encode(paymentInfo)); - } - - /// @notice Tests that payments with invalid settings revert. - function test_CollectPaymentModuleInvalidSettingsReverts() public { - paymentInfo = Collect.CollectPaymentInfo(address(erc20), Collect.PaymentType.NATIVE, 1 ether, alice); - vm.expectRevert(Errors.CollectPaymentModule_InvalidSettings.selector); - _createIpAsset(collector, 1, abi.encode(paymentInfo)); - } - - /// @notice Tests that payments with invalid tokens revert. - function test_CollectPaymentModuleInvalidTokenReverts() public { - paymentInfo = Collect.CollectPaymentInfo(bob, Collect.PaymentType.ERC20, 1 ether, alice); - vm.expectRevert(Errors.CollectPaymentModule_TokenInvalid.selector); - _createIpAsset(collector, 1, abi.encode(paymentInfo)); - } - - /// @notice Tests that native payments work as expected. - function test_CollectPaymentModuleNativeCollect() public parameterizePaymentInfo(paymentSuiteNative()) { - uint256 recipientStartingBalance = paymentRecipient.balance; - uint256 collectorStartingBalance = collector.balance; - paymentAmount = paymentParams.paymentAmount; - _collect(ipAssetId); - assertEq(collector.balance, collectorStartingBalance - paymentAmount); - assertEq(paymentRecipient.balance, recipientStartingBalance + paymentAmount); - } - - /// @notice Tests that native payments that fail revert. - function test_CollectPaymentModuleNativeTransferFailReverts() public { - address payable throwingReceiver = payable(address(new MockNativeTokenNonReceiver())); - - paymentInfo = Collect.CollectPaymentInfo({ - paymentToken: address(0), - paymentType: Collect.PaymentType.NATIVE, - paymentAmount: 10, - paymentRecipient: throwingReceiver - }); - paymentParams = Collect.CollectPaymentParams({ - paymentToken: address(0), - paymentType: Collect.PaymentType.NATIVE, - paymentAmount: 10 - }); - ipAssetId = _createIpAsset(collector, 1, abi.encode(paymentInfo)); - - vm.prank(collector); - vm.expectRevert(Errors.CollectPaymentModule_NativeTransferFailed.selector); - collectModule.collect{value: 10}(Collect.CollectParams({ - ipAssetId: ipAssetId, - collector: collector, - collectData: abi.encode(paymentParams), - collectNftInitData: "", - collectNftData: "" - })); - } - - /// @notice Tests that payments with invalid parameters revert. - function test_CollectPaymentModuleInvalidPaymentParamsReverts() public { - paymentInfo = Collect.CollectPaymentInfo({ - paymentToken: address(erc20), - paymentType: Collect.PaymentType.ERC20, - paymentAmount: 10, - paymentRecipient: paymentRecipient - }); - paymentParams = Collect.CollectPaymentParams({ - paymentToken: address(erc20), - paymentType: Collect.PaymentType.ERC20, - paymentAmount: 1 - }); - ipAssetId = _createIpAsset(collector, 1, abi.encode(paymentInfo)); - vm.expectRevert(Errors.CollectPaymentModule_PaymentParamsInvalid.selector); - _collect(ipAssetId); - } - - /// @notice Tests that ERC20 payments with failing transfers revert. - function test_CollectPaymentModuleERC20TransferFailReverts() public { - MockThrowingERC20 throwingERC20 = new MockThrowingERC20("Story Protocol Mock Token", "SP", 18, MockThrowingERC20.TransferBehavior.Fail); - vm.prank(collector); - throwingERC20.mint(999999); - paymentInfo = Collect.CollectPaymentInfo({ - paymentToken: address(throwingERC20), - paymentType: Collect.PaymentType.ERC20, - paymentAmount: 10, - paymentRecipient: paymentRecipient - }); - paymentParams = Collect.CollectPaymentParams({ - paymentToken: address(throwingERC20), - paymentType: Collect.PaymentType.ERC20, - paymentAmount: 10 - }); - ipAssetId = _createIpAsset(collector, 1, abi.encode(paymentInfo)); - vm.expectRevert(Errors.CollectPaymentModule_ERC20TransferFailed.selector); - _collect(ipAssetId); - } - - /// @notice Tests that ERC20 payments with invalid payments revert. - function test_CollectPaymentModuleERC20InvalidPaymentReverts() public { - paymentInfo = Collect.CollectPaymentInfo({ - paymentToken: address(erc20), - paymentType: Collect.PaymentType.ERC20, - paymentAmount: 10, - paymentRecipient: paymentRecipient - }); - paymentParams = Collect.CollectPaymentParams({ - paymentToken: address(erc20), - paymentType: Collect.PaymentType.ERC20, - paymentAmount: 10 - }); - ipAssetId = _createIpAsset(collector, 1, abi.encode(paymentInfo)); - vm.expectRevert(Errors.CollectPaymentModule_NativeTokenNotAllowed.selector); - collectModule.collect{value: 10}(Collect.CollectParams({ - ipAssetId: ipAssetId, - collector: collector, - collectData: abi.encode(paymentParams), - collectNftInitData: "", - collectNftData: "" - })); - } - - /// @notice Tests that ERC20 payments with insufficient funds revert. - function test_CollectPaymentModuleERC20InsufficientFundsReverts() public { - paymentInfo = Collect.CollectPaymentInfo({ - paymentToken: address(erc20), - paymentType: Collect.PaymentType.ERC20, - paymentAmount: 9999999, - paymentRecipient: paymentRecipient - }); - paymentParams = Collect.CollectPaymentParams({ - paymentToken: address(erc20), - paymentType: Collect.PaymentType.ERC20, - paymentAmount: 9999999 - }); - ipAssetId = _createIpAsset(collector, 1, abi.encode(paymentInfo)); - vm.expectRevert(Errors.CollectPaymentModule_PaymentInsufficient.selector); - _collect(ipAssetId); - - } - - /// @notice Tests that ERC20 payments with invalid ABI encoding revert. - function test_CollectPaymentModuleERC20TransferInvalidABIReverts() public { - MockThrowingERC20 throwingERC20 = new MockThrowingERC20("Story Protocol Mock Token", "SP", 18, MockThrowingERC20.TransferBehavior.ReturnInvalidABI); - vm.prank(collector); - throwingERC20.mint(999999); - paymentInfo = Collect.CollectPaymentInfo({ - paymentToken: address(throwingERC20), - paymentType: Collect.PaymentType.ERC20, - paymentAmount: 10, - paymentRecipient: paymentRecipient - }); - paymentParams = Collect.CollectPaymentParams({ - paymentToken: address(throwingERC20), - paymentType: Collect.PaymentType.ERC20, - paymentAmount: 10 - }); - ipAssetId = _createIpAsset(collector, 1, abi.encode(paymentInfo)); - vm.expectRevert(Errors.CollectPaymentModule_ERC20TransferInvalidABIEncoding.selector); - _collect(ipAssetId); - } - - /// @notice Tests that ERC20 payments with invalid return values revert. - function test_CollectPaymentModuleERC20TransferInvalidReturnReverts() public { - MockThrowingERC20 throwingERC20 = new MockThrowingERC20("Story Protocol Mock Token", "SP", 18, MockThrowingERC20.TransferBehavior.ReturnFalse); - vm.prank(collector); - throwingERC20.mint(999999); - paymentInfo = Collect.CollectPaymentInfo({ - paymentToken: address(throwingERC20), - paymentType: Collect.PaymentType.ERC20, - paymentAmount: 10, - paymentRecipient: paymentRecipient - }); - paymentParams = Collect.CollectPaymentParams({ - paymentToken: address(throwingERC20), - paymentType: Collect.PaymentType.ERC20, - paymentAmount: 10 - }); - ipAssetId = _createIpAsset(collector, 1, abi.encode(paymentInfo)); - vm.expectRevert(Errors.CollectPaymentModule_ERC20TransferInvalidReturnValue.selector); - _collect(ipAssetId); - } - - /// @notice Tests that ERC20 payments work as expected. - function test_CollectPaymentModuleERC20Collect() public parameterizePaymentInfo(paymentSuiteERC20()) { - uint256 recipientStartingBalance = erc20.balanceOf(paymentRecipient); - uint256 collectorStartingBalance = erc20.balanceOf(collector); - paymentAmount = paymentParams.paymentAmount; - _collect(ipAssetId); - assertEq(erc20.balanceOf(paymentRecipient), recipientStartingBalance + paymentAmount); - assertEq(erc20.balanceOf(collector), collectorStartingBalance - paymentAmount); - } - - /// @notice Tests that payments without sufficient funds revert. - function test_CollectPaymentModuleInsufficientFunds() public { - paymentInfo = Collect.CollectPaymentInfo({ - paymentToken: address(0), - paymentType: Collect.PaymentType.NATIVE, - paymentAmount: 10, - paymentRecipient: paymentRecipient - }); - paymentParams = Collect.CollectPaymentParams({ - paymentToken: address(0), - paymentType: Collect.PaymentType.NATIVE, - paymentAmount: 10 - }); - ipAssetId = _createIpAsset(alice, 1, abi.encode(paymentInfo)); - - vm.prank(collector); - vm.expectRevert(Errors.CollectPaymentModule_PaymentInsufficient.selector); - collectModule.collect{value: 0}(Collect.CollectParams({ - ipAssetId: ipAssetId, - collector: collector, - collectData: abi.encode(paymentParams), - collectNftInitData: "", - collectNftData: "" - })); - } - - /// @notice Returns a list of parameterized payment test cases. - function paymentSuite() internal returns (CollectPaymentSet[] memory) { - delete paymentSets; - paymentSets.push( - CollectPaymentSet( - Collect.CollectPaymentInfo(address(0), Collect.PaymentType.NATIVE, 1 ether, alice), - Collect.CollectPaymentParams(address(0), Collect.PaymentType.NATIVE, 1 ether) - ) - ); - paymentSets.push( - CollectPaymentSet( - Collect.CollectPaymentInfo(address(erc20), Collect.PaymentType.ERC20, 10000, alice), - Collect.CollectPaymentParams(address(erc20), Collect.PaymentType.ERC20, 10000) - ) - ); - paymentSets.push( - CollectPaymentSet( - Collect.CollectPaymentInfo(address(weth), Collect.PaymentType.ERC20, 99, alice), - Collect.CollectPaymentParams(address(weth), Collect.PaymentType.ERC20, 99) - ) - ); - return paymentSets; - } - - /// @notice Returns a list of parameterized native payment test cases. - function paymentSuiteNative() internal returns (CollectPaymentSet[] memory) { - delete paymentSets; - paymentSets.push( - CollectPaymentSet( - Collect.CollectPaymentInfo(address(0), Collect.PaymentType.NATIVE, 1 ether, alice), - Collect.CollectPaymentParams(address(0), Collect.PaymentType.NATIVE, 1 ether) - ) - ); - paymentSets.push( - CollectPaymentSet( - Collect.CollectPaymentInfo(address(0), Collect.PaymentType.NATIVE, 99 ether, alice), - Collect.CollectPaymentParams(address(0), Collect.PaymentType.NATIVE, 99 ether) - ) - ); - return paymentSets; - } - - /// @notice Returns a list of parameterized ERC20 payment test cases. - function paymentSuiteERC20() internal returns (CollectPaymentSet[] memory) { - delete paymentSets; - paymentSets.push( - CollectPaymentSet( - Collect.CollectPaymentInfo(address(erc20), Collect.PaymentType.ERC20, 999, alice), - Collect.CollectPaymentParams(address(erc20), Collect.PaymentType.ERC20, 999) - ) - ); - return paymentSets; - } - - /// @dev Helper function that initializes a collect module. - /// @param collectNftImpl Collect NFT impl address used for collecting. - function _initCollectModule(address collectNftImpl) internal virtual override { - collectModule.initCollect(Collect.InitCollectParams({ - ipAssetId: ipAssetId, - collectNftImpl: collectNftImpl, - data: abi.encode(paymentInfo) - })); - } - - /// @dev Helper function that performs collect module collection. - /// @param ipAssetId_ The id of the IP asset being collected. - function _collect(uint256 ipAssetId_) internal virtual override returns (address, uint256) { - vm.prank(collector); - if (paymentParams.paymentType == Collect.PaymentType.NATIVE) { - return collectModule.collect{value: paymentParams.paymentAmount}(Collect.CollectParams({ - ipAssetId: ipAssetId_, - collector: collector, - collectData: abi.encode(paymentParams), - collectNftInitData: "", - collectNftData: "" - })); - } - return collectModule.collect(Collect.CollectParams({ - ipAssetId: ipAssetId_, - collector: collector, - collectData: abi.encode(paymentParams), - collectNftInitData: "", - collectNftData: "" - })); - } - - /// @notice Changes the base testing collect module deployment to deploy the - /// mock payment collect module instead. - function _deployCollectModule(address collectNftImpl) internal virtual override returns (address) { - collectModuleImpl = address(new MockCollectPaymentModule(address(registry), collectNftImpl)); - - collectPaymentModule = ICollectPaymentModule( - _deployUUPSProxy( - collectModuleImpl, - abi.encodeWithSelector( - bytes4(keccak256(bytes("initialize(address)"))), address(accessControl) - ) - ) - ); - - return address(collectPaymentModule); - } - -} diff --git a/test/foundry/modules/collect/SimpleCollectModule.t.sol b/test/foundry/modules/collect/SimpleCollectModule.t.sol deleted file mode 100644 index 5ac772f1..00000000 --- a/test/foundry/modules/collect/SimpleCollectModule.t.sol +++ /dev/null @@ -1,68 +0,0 @@ -// SPDX-License-Identifier: BUSL-1.1 -pragma solidity ^0.8.18; - -import { SimpleCollectModule } from "contracts/modules/collect/SimpleCollectModule.sol"; -import { BaseCollectModuleTest } from "./BaseCollectModuleTest.sol"; -import { Collect } from "contracts/lib/modules/Collect.sol"; -import { Errors } from "contracts/lib/Errors.sol"; - -/// @title Simple Collect Module Testing Contract -contract SimpleCollectModuleTest is BaseCollectModuleTest { - - function setUp() public virtual override(BaseCollectModuleTest) { - super.setUp(); - } - - /// @notice Tests that unauthorized collects revert. - function test_CollectModuleCollectUnauthorizedReverts(uint8 ipAssetType) createIpAsset(collector, ipAssetType) public { - vm.prank(alice); - vm.expectRevert(Errors.CollectModule_CollectUnauthorized.selector); - collectModule.collect(Collect.CollectParams({ - ipAssetId: ipAssetId, - collector: collector, - collectData: "", - collectNftInitData: "", - collectNftData: "" - })); - } - - /// @notice Tests that upgrades work as expected. - function test_CollectModuleUpgrade() public { - address newCollectModuleImpl = address(new SimpleCollectModule(address(registry), defaultCollectNftImpl)); - vm.prank(upgrader); - - bytes memory data = abi.encodeWithSelector( - bytes4(keccak256(bytes("DEFAULT_COLLECT_NFT_IMPL()"))) - ); - (bool success, ) = address(collectModule).call( - abi.encodeWithSignature( - "upgradeToAndCall(address,bytes)", - newCollectModuleImpl, - data - ) - ); - assertTrue(success); - } - - - /// @notice Tests whether collect reverts if the IP asset being collected from does not exist. - function test_CollectModuleCollectNonExistentIPAssetReverts(uint256 nonExistentipAssetId, uint8 ipAssetType) createIpAsset(collector, ipAssetType) public virtual override { - vm.assume(nonExistentipAssetId != ipAssetId); - vm.expectRevert(); - _collect(99); - } - - /// @notice Changes the base testing collect module deployment to deploy the mock payment collect module instead. - function _deployCollectModule(address collectNftImpl) internal virtual override returns (address) { - collectModuleImpl = address(new SimpleCollectModule(address(registry), collectNftImpl)); - - return _deployUUPSProxy( - collectModuleImpl, - abi.encodeWithSelector( - bytes4(keccak256(bytes("initialize(address)"))), address(accessControl) - ) - ); - - } - -} diff --git a/test/foundry/modules/collect/nft/CollectNFTBase.t.sol b/test/foundry/modules/collect/nft/CollectNFTBase.t.sol deleted file mode 100644 index 25441323..00000000 --- a/test/foundry/modules/collect/nft/CollectNFTBase.t.sol +++ /dev/null @@ -1,102 +0,0 @@ -// SPDX-License-Identifier: BUSL-1.1 -pragma solidity ^0.8.18; - -import { Clones } from '@openzeppelin/contracts/proxy/Clones.sol'; - -import { ICollectNFT } from "contracts/interfaces/modules/collect/ICollectNFT.sol"; - -import { BaseTest } from "test/foundry/utils/BaseTest.sol"; -import { BaseERC721Test } from "./BaseERC721Test.sol"; -import { MockCollectNFT } from "test/foundry/mocks/MockCollectNFT.sol"; -import { ERC721Test } from "./ERC721.t.sol"; - -import { IPAsset } from "contracts/lib/IPAsset.sol"; -import { Collect } from "contracts/lib/modules/Collect.sol"; -import { Errors } from "contracts/lib/Errors.sol"; - -/// @title Collect NFT Base Testing Contract -/// @notice Tests all functionality provided by the base collect NFT. -contract CollectNFTBaseTest is BaseERC721Test, BaseTest { - - // Id of IP asset which may differ per test based on testing constraints. - uint256 ipAssetId; - - // Collect NFT which may differ per test based on testing constraints. - ICollectNFT collectNft; - - /// @notice Modifier that creates a collect NFT for testing. - /// @param ipAssetOwner The owner address for the new IP asset. - /// @param ipAssetType The type of the IP asset being created. - modifier createCollectNFT(address ipAssetOwner, uint8 ipAssetType) { - ipAssetId = _createIpAsset(ipAssetOwner, ipAssetType, ""); - collectNft = ICollectNFT(Clones.clone(defaultCollectNftImpl)); - vm.prank(address(collectModule)); - collectNft.initialize(Collect.InitCollectNFTParams({ - registry: address(registry), - ipAssetOrg: address(ipAssetOrg), - ipAssetId: ipAssetId, - data: "" - })); - _; - } - - function setUp() public virtual override(BaseERC721Test, BaseTest) { - super.setUp(); - } - - /// @notice Tests whether collect module collection is successful. - function test_CollectNFTCollect(uint8 ipAssetType) public createCollectNFT(cal, ipAssetType) { - uint256 aliceBalance = collectNft.balanceOf(alice); - uint256 bobBalance = collectNft.balanceOf(bob); - uint256 totalSupply = collectNft.totalSupply(); - vm.startPrank(address(collectModule)); - collectNft.collect(alice, ""); - collectNft.collect(alice, ""); - collectNft.collect(bob, ""); - assertEq(collectNft.totalSupply(), totalSupply + 3); - assertEq(collectNft.balanceOf(alice), aliceBalance + 2); - assertEq(collectNft.balanceOf(bob), bobBalance + 1); - } - - /// @notice Tests whether collect on non-existent IP assets revert. - function test_CollectNFTNonExistentIPAssetReverts() public { - collectNft = ICollectNFT(Clones.clone(defaultCollectNftImpl)); - vm.expectRevert(Errors.CollectNFT_IPAssetNonExistent.selector); - collectNft.initialize(Collect.InitCollectNFTParams({ - registry: address(registry), - ipAssetOrg: address(ipAssetOrg), - ipAssetId: 99, - data: "" - })); - } - - /// @notice Tests whether initialization on a deployed collect NFT reverts. - function test_CollectNFTConstructorInitializeReverts() public { - collectNft = new MockCollectNFT(); - vm.expectRevert(Errors.CollectNFT_AlreadyInitialized.selector); - collectNft.initialize(Collect.InitCollectNFTParams({ - registry: address(registry), - ipAssetOrg: address(ipAssetOrg), - ipAssetId: ipAssetId, - data: "" - })); - } - - /// @notice Tests whether collect calls not made by the collect module revert. - function test_CollectNFTNonCollectModuleCallerReverts(uint8 ipAssetType) public createCollectNFT(cal, ipAssetType) { - vm.expectRevert(Errors.CollectNFT_CallerUnauthorized.selector); - collectNft.collect(address(this), ""); - } - - /// @notice Tests whether re-initialization of collect module settings revert. - function test_CollectNFTInitializeTwiceReverts(uint8 ipAssetType) public createCollectNFT(cal, ipAssetType) { - vm.expectRevert(Errors.CollectNFT_AlreadyInitialized.selector); - collectNft.initialize(Collect.InitCollectNFTParams({ - registry: address(registry), - ipAssetOrg: address(ipAssetOrg), - ipAssetId: ipAssetId, - data: "" - })); - } - -} diff --git a/test/foundry/modules/licensing/LicenseRegistry.t.sol b/test/foundry/modules/licensing/LicenseRegistry.t.sol index 9883d3c1..403dbe29 100644 --- a/test/foundry/modules/licensing/LicenseRegistry.t.sol +++ b/test/foundry/modules/licensing/LicenseRegistry.t.sol @@ -1,77 +1,471 @@ -// // SPDX-License-Identifier: BUSDL-1.1 -// pragma solidity ^0.8.13; - -// import "forge-std/Test.sol"; -// import 'test/foundry/utils/BaseTest.sol'; -// import 'test/foundry/mocks/MockLicensingModule.sol'; -// import 'test/foundry/mocks/MockTermsProcessor.sol'; -// import 'test/foundry/mocks/RightsManagerHarness.sol'; -// import "test/foundry/mocks/MockERC721.sol"; -// import "contracts/errors/General.sol"; -// import { Errors } from "contracts/lib/Errors.sol"; - -// contract LicenseRegistryTest is BaseTest { - -// address licenseHolder = address(0x888888); -// address receiver = address(0x999999); -// uint256 licenseId; - -// function setUp() virtual override public { -// deployProcessors = false; -// super.setUp(); -// vm.prank(licenseHolder); -// (, uint256 ipAssetId) = ipAssetOrg.createIpAsset(IPAsset.CreateIpAssetParams({ -// ipAssetType: IPAsset.IPAssetType(1), -// name: "name", -// description: "description", -// mediaUrl: "mediaUrl", -// to: licenseHolder, -// parentIpAssetOrgId: 0, -// collectData: "" -// })); -// uint256 parentLicenseId = ipAssetOrg.getLicenseIdByTokenId(ipAssetId, false); -// (Licensing.TermsProcessorConfig memory terms,) = LibMockIPAssetOrgConfig.getTermsProcessorConfig(); -// vm.prank(licenseHolder); -// licenseId = ipAssetOrg.createLicense( -// ipAssetId, -// parentLicenseId, -// licenseHolder, -// NON_COMMERCIAL_LICENSE_URI, -// revoker, -// false, -// false, -// terms -// ); - -// } - -// function test_setUp() public { -// assertEq(licenseRegistry.ownerOf(licenseId), licenseHolder); -// assertEq(licenseRegistry.name(), "Licenses for IPAssetOrgName"); -// assertEq(licenseRegistry.symbol(), "slFRN"); -// assertEq(address(licenseRegistry.getRightsManager()), address(ipAssetOrg)); -// assertEq(licenseRegistry.exists(licenseId), true); -// } - -// function test_revert_mint_non_rights_manager() public { -// vm.expectRevert(Errors.Unauthorized.selector); -// licenseRegistry.mint(licenseHolder, 1); -// } - -// function test_transfer() public { -// assertEq(licenseRegistry.ownerOf(licenseId), licenseHolder); -// vm.prank(licenseHolder); -// licenseRegistry.transferFrom(licenseHolder, receiver, licenseId); -// assertEq(licenseRegistry.ownerOf(licenseId), receiver); -// } - -// function test_revert_transfer_inactive_license() public { -// vm.prank(revoker); -// ipAssetOrg.revokeLicense(licenseId); - -// vm.expectRevert(Errors.RightsManager_InactiveLicense.selector); -// vm.prank(licenseHolder); -// licenseRegistry.transferFrom(licenseHolder, receiver, licenseId); -// } - -// } +/* solhint-disable contract-name-camelcase, func-name-mixedcase, var-name-mixedcase */ +// SPDX-License-Identifier: BUSDL-1.1 +pragma solidity ^0.8.13; + +import "forge-std/Test.sol"; + +import { AccessControl } from "contracts/lib/AccessControl.sol"; +import { Licensing } from "contracts/lib/modules/Licensing.sol"; +import { IPAsset } from "contracts/lib/IPAsset.sol"; +import { BaseTest } from "test/foundry/utils/BaseTest.sol"; +import { Errors } from "contracts/lib/Errors.sol"; +import { SPUMLParams } from "contracts/lib/modules/SPUMLParams.sol"; +import { ShortString, ShortStrings } from "@openzeppelin/contracts/utils/ShortStrings.sol"; +import { BitMask } from "contracts/lib/BitMask.sol"; + +// TODO: test on derivativeNeedsApproval = false +contract LicenseRegistryTest is BaseTest { + using ShortStrings for *; + + event LicenseRegistered(uint256 indexed id); + event LicenseNftLinkedToIpa( + uint256 indexed licenseId, + uint256 indexed ipAssetId + ); + event LicenseActivated(uint256 indexed licenseId); + event LicenseRevoked(uint256 indexed licenseId); + + address internal ipaOwner = address(0x13336); + Licensing.ParamValue[] internal params; + + uint256 internal ipaId_1; + uint256 internal ipaId_2; + + modifier withFrameworkConfig( + bool allowsDerivatives, + bool derivativesWithApproval, + bool reciprocal, + Licensing.LicensorConfig licensorConfig + ) { + ShortString[] memory channels = new ShortString[](2); + channels[0] = "test1".toShortString(); + channels[1] = "test2".toShortString(); + params.push(Licensing.ParamValue({ + tag: SPUMLParams.CHANNELS_OF_DISTRIBUTION.toShortString(), + value: abi.encode(channels) + })); + params.push(Licensing.ParamValue({ + tag: SPUMLParams.ATTRIBUTION.toShortString(), + value: ""// unset + })); + params.push(Licensing.ParamValue({ + tag: SPUMLParams.DERIVATIVES_ALLOWED.toShortString(), + value: abi.encode(allowsDerivatives) + })); + uint8[] memory indexes = new uint8[](2); + if (derivativesWithApproval) { + indexes[0] = SPUMLParams.ALLOWED_WITH_APPROVAL_INDEX; + } + if (reciprocal) { + indexes[1] = SPUMLParams.ALLOWED_WITH_RECIPROCAL_LICENSE_INDEX; + } + uint256 derivativeOptions = BitMask._convertToMask(indexes); + params.push(Licensing.ParamValue({ + tag: SPUMLParams.DERIVATIVES_ALLOWED_OPTIONS.toShortString(), + value: abi.encode(derivativeOptions) + })); + Licensing.LicensingConfig memory config = Licensing.LicensingConfig({ + frameworkId: SPUMLParams.FRAMEWORK_ID, + params: params, + licensor: licensorConfig + }); + vm.prank(ipOrg.owner()); + spg.configureIpOrgLicensing(address(ipOrg), config); + _; + } + + + function setUp() public override { + super.setUp(); + (ipaId_1, ) = _createIpAsset(ipaOwner, 1, bytes("")); + (ipaId_2, ) = _createIpAsset(ipaOwner, 1, bytes("")); + + Licensing.ParamDefinition[] memory paramDefs = SPUMLParams + ._getParamDefs(); + Licensing.SetFramework memory framework = Licensing.SetFramework({ + id: SPUMLParams.FRAMEWORK_ID, + textUrl: "text_url", + paramDefs: paramDefs + }); + vm.prank(licensingManager); + licensingFrameworkRepo.addFramework(framework); + } + + function _createLicense_noParent_ipa() + internal + withFrameworkConfig(true, true, true, Licensing.LicensorConfig.IpOrgOwnerAlways) + returns (uint256) + { + uint256 _parentLicenseId = 0; // no parent + Licensing.ParamValue[] memory inputParams = _constructInputParams(); + Licensing.LicenseCreation memory creation = Licensing.LicenseCreation({ + params: inputParams, + parentLicenseId: _parentLicenseId, + ipaId: ipaId_1 + }); + vm.prank(ipOrg.owner()); + uint256 licenseId = spg.createLicense( + address(ipOrg), + creation, + new bytes[](0), + new bytes[](0) + ); + return licenseId; + } + + function _createLicense_parent_noIpa_reciprocal() + public + returns (uint256 parentLicenseId, uint256 childLicenseId) + { + parentLicenseId = _createLicense_noParent_ipa(); + uint256 _ipaId = 0; // no ipa + Licensing.LicenseCreation memory creation = Licensing.LicenseCreation({ + params: new Licensing.ParamValue[](0), + parentLicenseId: parentLicenseId, + ipaId: _ipaId + }); + vm.prank(ipOrg.owner()); + childLicenseId = spg.createLicense( + address(ipOrg), + creation, + new bytes[](0), + new bytes[](0) + ); + assertEq(childLicenseId, 2, "childLicenseId"); + } + + function test_LicenseRegistry_activateLicense() + public + returns (uint256 licenseId) + { + ( + , + licenseId + ) = _createLicense_parent_noIpa_reciprocal(); + vm.prank(ipOrg.owner()); + vm.expectEmit(address(licenseRegistry)); + emit LicenseActivated(licenseId); + spg.activateLicense(address(ipOrg), licenseId); + Licensing.LicenseData memory license = licenseRegistry.getLicenseData( + licenseId + ); + assertEq( + uint8(license.status), + uint8(Licensing.LicenseStatus.Active), + "license status" + ); + } + + function test_LicenseRegistry_revokeLicense() + public + returns (uint256 licenseId) + { + licenseId = test_LicenseRegistry_activateLicense(); + + vm.prank(licenseRegistry.getRevoker(licenseId)); + vm.expectEmit(address(licenseRegistry)); + emit LicenseRevoked(licenseId); + licenseRegistry.revokeLicense(licenseId); + + // TODO: also check for change IPA status once implemented + Licensing.LicenseData memory license = licenseRegistry.getLicenseData( + licenseId + ); + assertEq( + uint8(license.status), + uint8(Licensing.LicenseStatus.Revoked), + "license status" + ); + } + + function test_LicenseRegistry_revert_revokeLicense_CallerNotRevoker() external { + uint256 licenseId = test_LicenseRegistry_activateLicense(); + vm.expectRevert(Errors.LicenseRegistry_CallerNotRevoker.selector); + licenseRegistry.revokeLicense(licenseId); + } + + function test_LicenseRegistry_revert_CallerNotLicensingModule_noParent_ipa() + public + { + uint256 licenseId = _createLicense_noParent_ipa(); + Licensing.LicenseData memory license = licenseRegistry.getLicenseData( + licenseId + ); + vm.expectRevert( + Errors.LicenseRegistry_CallerNotLicensingModule.selector + ); + licenseRegistry.addLicense(license, msg.sender, params); + } + + function test_LicenseRegistry_revert_CallerNotLicensingModule_parent_noIpa() + public + { + ( + , + uint256 licenseId + ) = _createLicense_parent_noIpa_reciprocal(); + Licensing.LicenseData memory license = licenseRegistry.getLicenseData( + licenseId + ); + vm.expectRevert( + Errors.LicenseRegistry_CallerNotLicensingModule.selector + ); + licenseRegistry.addLicense(license, msg.sender, params); + } + + function test_LicenseRegistry_revert_CallerNotLicensor_noParent_ipa() + public + { + uint256 licenseId = _createLicense_noParent_ipa(); + vm.expectRevert(Errors.LicenseRegistry_CallerNotLicensor.selector); + spg.activateLicense(address(ipOrg), licenseId); + } + + function test_LicenseRegistry_revert_CallerNotLicensor_parent_noIpa() + public + { + ( + , + uint256 licenseId + ) = _createLicense_parent_noIpa_reciprocal(); + vm.expectRevert(Errors.LicenseRegistry_CallerNotLicensor.selector); + spg.activateLicense(address(ipOrg), licenseId); + } + + function test_LicenseRegistry_getLicenseData_noParent_ipa() public { + uint256 licenseId = _createLicense_noParent_ipa(); + _assertLicenseData( + licenseRegistry.getLicenseData(licenseId), + licenseId, + Licensing.LicenseStatus.Active, + true, + true, + 0, // no parent + ipaId_1 + ); + _assertLicenseParams(licenseRegistry.getParams(licenseId), params); + } + + function test_LicenseRegistry_getLicenseData_parent_noIpa() public { + ( + uint256 parentLicenseId, + uint256 childLicenseId + ) = _createLicense_parent_noIpa_reciprocal(); + _assertLicenseData( + licenseRegistry.getLicenseData(childLicenseId), + childLicenseId, + // parent derivativeNeedsApproval = true, so child is pending + Licensing.LicenseStatus.PendingLicensorApproval, + true, + true, + parentLicenseId, + 0 // no ipa + ); + + Licensing.ParamValue[] memory parentParams = licenseRegistry.getParams( + parentLicenseId + ); + Licensing.ParamValue[] memory childParams = licenseRegistry.getParams( + childLicenseId + ); + + _assertLicenseParams(parentParams, childParams); + // additional for license params + assertEq(parentParams[1].value, childParams[1].value, "attribution"); + } + + function test_LicenseRegistry_linkLnftToIpa() public { + ( + , + uint256 childLicenseId + ) = _createLicense_parent_noIpa_reciprocal(); + + vm.prank(ipOrg.owner()); + spg.activateLicense(address(ipOrg), childLicenseId); + + vm.expectEmit(address(licenseRegistry)); + emit LicenseNftLinkedToIpa(childLicenseId, ipaId_2); + vm.prank(address(licensingModule)); + licenseRegistry.linkLnftToIpa(childLicenseId, ipaId_2); + } + + function test_LicenseRegistry_revert_linkLnftToIpa_LicenseAlreadyLinkedToIpa() + public + { + ( + , + uint256 licenseId + ) = _createLicense_parent_noIpa_reciprocal(); + + vm.prank(ipOrg.owner()); + spg.activateLicense(address(ipOrg), licenseId); + + vm.prank(ipOrg.owner()); + licenseRegistry.linkLnftToIpa(licenseId, ipaId_1); + + vm.prank(ipOrg.owner()); + vm.expectRevert( + Errors.LicenseRegistry_LicenseAlreadyLinkedToIpa.selector + ); + licenseRegistry.linkLnftToIpa(licenseId, ipaId_1); + } + + function test_LicenseRegistry_revert_linkLnftToIpa_LicenseRegistry_IPANotActive() + public + { + ( + , + uint256 licenseId + ) = _createLicense_parent_noIpa_reciprocal(); + + vm.prank(ipOrg.owner()); + spg.activateLicense(address(ipOrg), licenseId); + + uint256 _ipaId = 123_789; // some id that's not active + + vm.prank(ipOrg.owner()); + vm.expectRevert(Errors.LicenseRegistry_IPANotActive.selector); + licenseRegistry.linkLnftToIpa(licenseId, _ipaId); + } + + function test_LicenseRegistry_revert_linkLnftToIpa_LicenseNotActive() + public + { + ( + , + uint256 childLicenseId + ) = _createLicense_parent_noIpa_reciprocal(); + vm.prank(ipOrg.owner()); + vm.expectRevert(Errors.LicenseRegistry_LicenseNotActive.selector); + licenseRegistry.linkLnftToIpa(childLicenseId, ipaId_1); + } + + function test_LicenseRegistry_metadata() public { + ( + , + uint256 childLicenseId + ) = _createLicense_parent_noIpa_reciprocal(); + string memory expected = "data:application/json;base64,eyJuYW1lIjogIlN0b3J5IFByb3RvY29sIExpY2Vuc2UgTkZUICMyIiwgImRlc2NyaXB0aW9uIjogIkxpY2Vuc2UgYWdyZWVtZW50IHN0YXRpbmcgdGhlIHRlcm1zIG9mIGEgU3RvcnkgUHJvdG9jb2wgSVAgT3JnIiwgImF0dHJpYnV0ZXMiOiBbeyJ0cmFpdF90eXBlIjogIklQIE9yZyIsICJ2YWx1ZSI6ICIweGY1YmEyMTY5MWE4YmMwMTFiN2I0MzA4NTRiNDFkNWJlMGI3OGI5MzgifSx7InRyYWl0X3R5cGUiOiAiRnJhbWV3b3JrIElEIiwgInZhbHVlIjogIlNQVU1MLTEuMCJ9LHsidHJhaXRfdHlwZSI6ICJGcmFtZXdvcmsgVVJMIiwgInZhbHVlIjogInRleHRfdXJsIn0seyJ0cmFpdF90eXBlIjogIlN0YXR1cyIsICJ2YWx1ZSI6ICJQZW5kaW5nIExpY2Vuc29yIEFwcHJvdmFsIn0seyJ0cmFpdF90eXBlIjogIkxpY2Vuc29yIiwgInZhbHVlIjogIjB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFjOCJ9LHsidHJhaXRfdHlwZSI6ICJMaWNlbnNlZSIsICJ2YWx1ZSI6ICIweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxYzgifSx7InRyYWl0X3R5cGUiOiAiUmV2b2tlciIsICJ2YWx1ZSI6ICIweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMmIifSx7InRyYWl0X3R5cGUiOiAiUGFyZW50IExpY2Vuc2UgSUQiLCAidmFsdWUiOiAiMSJ9LHsidHJhaXRfdHlwZSI6ICJEZXJpdmF0aXZlIElQQSIsICJ2YWx1ZSI6ICIwIn0seyJ0cmFpdF90eXBlIjogIkNoYW5uZWxzLU9mLURpc3RyaWJ1dGlvbiIsICJ2YWx1ZSI6IFsidGVzdDEiLCJ0ZXN0MiJdfSx7InRyYWl0X3R5cGUiOiAiQXR0cmlidXRpb24iLCAidmFsdWUiOiAidHJ1ZSJ9LHsidHJhaXRfdHlwZSI6ICJEZXJpdmF0aXZlcy1BbGxvd2VkIiwgInZhbHVlIjogInRydWUifSx7InRyYWl0X3R5cGUiOiAiRGVyaXZhdGl2ZXMtQWxsb3dlZC1PcHRpb25zIiwgInZhbHVlIjogWyJBbGxvd2VkLVdpdGgtQXBwcm92YWwiLCJBbGxvd2VkLVJlY2lwcm9jYWwtTGljZW5zZSJdfV19"; + assertEq(licenseRegistry.tokenURI(childLicenseId), expected); + + } + + function _constructInputParams() + internal + pure + returns (Licensing.ParamValue[] memory) + { + Licensing.ParamValue[] memory inputParams = new Licensing.ParamValue[]( + 1 + ); + inputParams[0] = Licensing.ParamValue({ + tag: SPUMLParams.ATTRIBUTION.toShortString(), + value: abi.encode(true) + }); + return inputParams; + } + + function _assertLicenseData( + Licensing.LicenseData memory license, + uint256 licenseId, + Licensing.LicenseStatus expectedLicenseStatus, + bool expectedIsReciprocal, + bool expectedDerivativeNeedsApproval, + uint256 expectedParentLicenseId, + uint256 expectedIpaId + ) internal { + assertEq( + uint8(license.status), + uint8(expectedLicenseStatus), + "licenseStatus" + ); + assertEq( + license.isReciprocal, + licenseRegistry.isReciprocal(licenseId), + "isReciprocal A" + ); + assertEq(license.isReciprocal, expectedIsReciprocal, "isReciprocal B"); + assertEq( + license.derivativeNeedsApproval, + licenseRegistry.derivativeNeedsApproval(licenseId), + "derivativeNeedsApproval A" + ); + assertEq( + license.derivativeNeedsApproval, + expectedDerivativeNeedsApproval, + "derivativeNeedsApproval B" + ); + assertEq( + license.revoker, + licenseRegistry.getRevoker(licenseId), + "revoker A" + ); + assertEq( + license.revoker, + licensingModule.DEFAULT_REVOKER(), + "revoker B" + ); + assertEq( + license.licensor, + licenseRegistry.getLicensor(licenseId), + "licensor A" + ); + assertEq(license.licensor, ipOrg.owner(), "licensor B"); + assertEq(license.ipOrg, licenseRegistry.getIPOrg(licenseId), "ipOrg A"); + assertEq(license.ipOrg, address(ipOrg), "ipOrg B"); + assertEq( + license.frameworkId.toString(), + SPUMLParams.FRAMEWORK_ID + ); + assertEq(license.ipaId, licenseRegistry.getIpaId(licenseId), "ipaId A"); + assertEq(license.ipaId, expectedIpaId, "ipaId B"); + assertEq( + license.parentLicenseId, + licenseRegistry.getParentLicenseId(licenseId), + "parentLicenseId A" + ); + assertEq( + license.parentLicenseId, + expectedParentLicenseId, + "parentLicenseId B" + ); + } + + function _assertLicenseParams( + Licensing.ParamValue[] memory lParams, + Licensing.ParamValue[] memory rParams + ) internal { + assertEq( + lParams[0].tag.toString(), + rParams[0].tag.toString(), + "channel of distribution" + ); + assertEq(lParams[0].value, rParams[0].value, "channel of distribution"); + assertEq( + lParams[1].tag.toString(), + rParams[1].tag.toString(), + "attribution" + ); + // assertEq(lParams[1].value, inputParams[0].value); // Set by user + assertEq( + lParams[2].tag.toString(), + rParams[2].tag.toString(), + "derivatives with attribution" + ); + assertEq( + lParams[2].value, + rParams[2].value, + "derivatives with attribution" + ); + assertEq( + lParams[3].tag.toString(), + rParams[3].tag.toString(), + "derivatives with approval" + ); + assertEq( + lParams[3].value, + rParams[3].value, + "derivatives with approval" + ); + } +} diff --git a/test/foundry/modules/licensing/LicensingFrameworkRepo.t.sol b/test/foundry/modules/licensing/LicensingFrameworkRepo.t.sol new file mode 100644 index 00000000..c2365061 --- /dev/null +++ b/test/foundry/modules/licensing/LicensingFrameworkRepo.t.sol @@ -0,0 +1,171 @@ +/* solhint-disable contract-name-camelcase, func-name-mixedcase */ +// SPDX-License-Identifier: BUSDL-1.1 +pragma solidity ^0.8.13; + +import "forge-std/Test.sol"; + +import { LicensingFrameworkRepo } from "contracts/modules/licensing/LicensingFrameworkRepo.sol"; +import { AccessControl } from "contracts/lib/AccessControl.sol"; +import { AccessControlHelper } from "test/foundry/utils/AccessControlHelper.sol"; +import { Licensing } from "contracts/lib/modules/Licensing.sol"; +import { ShortString, ShortStrings } from "@openzeppelin/contracts/utils/ShortStrings.sol"; +import { ShortStringOps } from "contracts/utils/ShortStringOps.sol"; +import { Errors } from "contracts/lib/Errors.sol"; + +contract LicensingFrameworkRepoTest is Test, AccessControlHelper { + using ShortStrings for *; + + LicensingFrameworkRepo internal repo; + + event RequestPending(address indexed sender); + event RequestCompleted(address indexed sender); + + function setUp() public { + _setupAccessControl(); + _grantRole(vm, AccessControl.LICENSING_MANAGER, admin); + repo = new LicensingFrameworkRepo(address(accessControl)); + } + + function test_LicensingFrameworkRepo_addFramework() public { + Licensing.ParamDefinition[] memory params = new Licensing.ParamDefinition[](2); + params[0] = Licensing.ParamDefinition({ + tag: "TEST_TAG_1".toShortString(), + paramType: Licensing.ParameterType.Bool, + defaultValue: abi.encode(true), + availableChoices: "" + }); + params[1] = Licensing.ParamDefinition({ + tag: "TEST_TAG_2".toShortString(), + paramType: Licensing.ParameterType.Number, + defaultValue: abi.encode(123), + availableChoices: "" + }); + Licensing.SetFramework memory framework = Licensing.SetFramework({ + id: "test_id", + textUrl: "text_url", + paramDefs: params + }); + vm.prank(admin); + repo.addFramework(framework); + assertEq("text_url", repo.getLicenseTextUrl("test_id")); + assertEq(2, repo.getTotalParameters("test_id")); + Licensing.ParamDefinition memory param1 = repo.getParamDefinitionAt("test_id", 0); + assertTrue(ShortStringOps._equal("TEST_TAG_1".toShortString(), param1.tag)); + assertEq(uint8(Licensing.ParameterType.Bool), uint8(param1.paramType)); + assertEq(abi.encode(true), param1.defaultValue); + Licensing.ParamDefinition memory param2 = repo.getParamDefinitionAt("test_id", 1); + assertTrue(ShortStringOps._equal("TEST_TAG_2".toShortString(), param2.tag)); + assertEq(uint8(Licensing.ParameterType.Number), uint8(param2.paramType)); + assertEq(abi.encode(123), param2.defaultValue); + } + + function test_LicensingFrameworkRepo_revert_addFrameworkNotLicensingManager() public { + Licensing.SetFramework memory framework = Licensing.SetFramework({ + id: "test_id", + textUrl: "text_url", + paramDefs: new Licensing.ParamDefinition[](0) + }); + vm.expectRevert( + abi.encodeWithSelector( + Errors.MissingRole.selector, + AccessControl.LICENSING_MANAGER, + address(this) + ) + ); + repo.addFramework(framework); + } + + function test_LicensingFrameworkRepo_validateParamValue_Bool() public { + Licensing.ParamDefinition memory pDef = Licensing.ParamDefinition({ + tag: "TEST_TAG".toShortString(), + paramType: Licensing.ParameterType.Bool, + defaultValue: abi.encode(true), + availableChoices: "" + }); + assertTrue(Licensing._validateParamValue(pDef, abi.encode(true))); + assertTrue(Licensing._validateParamValue(pDef, abi.encode(false))); + // WARNING: we cant prevent this + assertTrue(Licensing._validateParamValue(pDef, abi.encode(1))); + vm.expectRevert(); + Licensing._validateParamValue(pDef, abi.encode("test")); + } + + function test_LicensingFrameworkRepo_validateParam_emptyValue() public { + Licensing.ParamDefinition memory pDef = Licensing.ParamDefinition({ + tag: "TEST_TAG".toShortString(), + paramType: Licensing.ParameterType.ShortStringArray, + defaultValue: "", + availableChoices: "" + }); + assertTrue(Licensing._validateParamValue(pDef, "")); + } + + function test_LicensingFrameworkRepo_validateParamValue_Number() public { + Licensing.ParamDefinition memory pDef = Licensing.ParamDefinition({ + tag: "TEST_TAG".toShortString(), + paramType: Licensing.ParameterType.Number, + defaultValue: abi.encode(123), + availableChoices: "" + }); + assertTrue(Licensing._validateParamValue(pDef, abi.encode(1123123))); + //WARNING: everyting can be decoded as a number + + } + + function test_LicensingFrameworkRepo_validateParamValue_Address() public { + Licensing.ParamDefinition memory pDef = Licensing.ParamDefinition({ + tag: "TEST_TAG".toShortString(), + paramType: Licensing.ParameterType.Address, + defaultValue: abi.encode(0x123), + availableChoices: "" + }); + assertTrue(Licensing._validateParamValue(pDef, abi.encode(address(0x123)))); + assertFalse(Licensing._validateParamValue(pDef, abi.encode(address(0)))); + } + + function test_LicensingFrameworkRepo_validateParamValue_String() public { + Licensing.ParamDefinition memory pDef = Licensing.ParamDefinition({ + tag: "TEST_TAG".toShortString(), + paramType: Licensing.ParameterType.String, + defaultValue: abi.encode("test"), + availableChoices: "" + }); + assertTrue(Licensing._validateParamValue(pDef, abi.encode("test")), "string is true"); + assertFalse(Licensing._validateParamValue(pDef, ""), "empty value is false"); + assertFalse(Licensing._validateParamValue(pDef, abi.encode("")), "empty string is false"); + assertFalse(Licensing._validateParamValue(pDef, abi.encode(" ")), "space is false"); + vm.expectRevert(); + Licensing._validateParamValue(pDef, abi.encode(123)); + } + + function test_LicensingFrameworkRepo_validateParamValue_ShortStringArray() public { + ShortString[] memory ssValue = new ShortString[](2); + ssValue[0] = "test1".toShortString(); + ssValue[1] = "test2".toShortString(); + Licensing.ParamDefinition memory pDef = Licensing.ParamDefinition({ + tag: "TEST_TAG".toShortString(), + paramType: Licensing.ParameterType.ShortStringArray, + defaultValue: abi.encode(ssValue), + availableChoices: "" + }); + assertTrue(Licensing._validateParamValue(pDef, abi.encode(ssValue))); + vm.expectRevert(); + Licensing._validateParamValue(pDef, abi.encode(["test", "tttest"])); + } + + function test_LicensingFrameworkRepo_validateParamValue_MultipleChoice() public { + ShortString[] memory ssValue = new ShortString[](2); + ssValue[0] = "test1".toShortString(); + ssValue[1] = "test2".toShortString(); + Licensing.ParamDefinition memory pDef = Licensing.ParamDefinition({ + tag: "TEST_TAG".toShortString(), + paramType: Licensing.ParameterType.MultipleChoice, + defaultValue: abi.encode(0), + availableChoices: abi.encode(ssValue) + }); + + assertTrue(Licensing._validateParamValue(pDef, abi.encode(0x1))); + + } + +} diff --git a/test/foundry/modules/licensing/LicensingModule.Config.t.sol b/test/foundry/modules/licensing/LicensingModule.Config.t.sol new file mode 100644 index 00000000..90dc8a5c --- /dev/null +++ b/test/foundry/modules/licensing/LicensingModule.Config.t.sol @@ -0,0 +1,156 @@ +// SPDX-License-Identifier: BUSDL-1.1 +pragma solidity ^0.8.13; + +import "forge-std/Test.sol"; +import "contracts/modules/relationships/RelationshipModule.sol"; +import "contracts/lib/modules/LibRelationship.sol"; +import { AccessControl } from "contracts/lib/AccessControl.sol"; +import { Licensing } from "contracts/lib/modules/Licensing.sol"; +import { BaseTest } from "test/foundry/utils/BaseTest.sol"; +import { ShortStringOps } from "contracts/utils/ShortStringOps.sol"; +import { ShortString, ShortStrings } from "@openzeppelin/contracts/utils/ShortStrings.sol"; + +contract LicensingModuleConfigTest is BaseTest { + using ShortStrings for *; + + function setUp() public override { + super.setUp(); + Licensing.ParamDefinition[] memory params = new Licensing.ParamDefinition[](3); + params[0] = Licensing.ParamDefinition({ + tag: "TEST_TAG_1".toShortString(), + paramType: Licensing.ParameterType.Bool, + defaultValue: abi.encode(true), + availableChoices: "" + }); + params[1] = Licensing.ParamDefinition({ + tag: "TEST_TAG_2".toShortString(), + paramType: Licensing.ParameterType.Number, + defaultValue: abi.encode(123), + availableChoices: "" + }); + params[2] = Licensing.ParamDefinition({ + tag: "TEST_TAG_3".toShortString(), + paramType: Licensing.ParameterType.Address, + defaultValue: abi.encode(0x4545), + availableChoices: "" + }); + Licensing.SetFramework memory framework = Licensing.SetFramework({ + id: "test_framework", + textUrl: "text_url", + paramDefs: params + }); + vm.prank(licensingManager); + licensingFrameworkRepo.addFramework(framework); + } + + function test_LicensingModule_configIpOrg_revertIfNotIpOrgOwner() public { + Licensing.LicensingConfig memory config = Licensing.LicensingConfig({ + frameworkId: "test_framework", + params: new Licensing.ParamValue[](0), + licensor: Licensing.LicensorConfig.IpOrgOwnerAlways + }); + vm.expectRevert(Errors.LicensingModule_CallerNotIpOrgOwner.selector); + spg.configureIpOrgLicensing( + address(ipOrg), + config + ); + } + + + function test_LicensingModule_configIpOrg_revert_InvalidLicensorConfig() + public + { + Licensing.LicensingConfig memory config = Licensing.LicensingConfig({ + frameworkId: "test_framework", + params: new Licensing.ParamValue[](0), + licensor: Licensing.LicensorConfig.Unset + }); + vm.prank(ipOrg.owner()); + vm.expectRevert(Errors.LicensingModule_InvalidLicensorConfig.selector); + spg.configureIpOrgLicensing( + address(ipOrg), + config + ); + } + + function test_LicensingModule_configIpOrg_revert_paramLengthNotValid() public { + Licensing.LicensingConfig memory config = Licensing.LicensingConfig({ + frameworkId: "test_framework", + params: new Licensing.ParamValue[](1000), + licensor: Licensing.LicensorConfig.IpOrgOwnerAlways + }); + vm.prank(ipOrg.owner()); + vm.expectRevert(Errors.LicensingModule_InvalidParamsLength.selector); + spg.configureIpOrgLicensing( + address(ipOrg), + config + ); + } + + function test_LicensingModule_configIpOrg() public { + Licensing.ParamValue[] memory params = new Licensing.ParamValue[](3); + params[0] = Licensing.ParamValue({ + tag: "TEST_TAG_1".toShortString(), + value: abi.encode(true) + }); + params[1] = Licensing.ParamValue({ + tag: "TEST_TAG_2".toShortString(), + value: abi.encode(222) + }); + ShortString[] memory ssValue = new ShortString[](2); + ssValue[0] = "test1".toShortString(); + ssValue[1] = "test2".toShortString(); + params[2] = Licensing.ParamValue({ + tag: "TEST_TAG_3".toShortString(), + value: abi.encode(ssValue) + }); + + Licensing.LicensingConfig memory config = Licensing.LicensingConfig({ + frameworkId: "test_framework", + params: params, + licensor: Licensing.LicensorConfig.IpOrgOwnerAlways + }); + vm.prank(ipOrg.owner()); + spg.configureIpOrgLicensing( + address(ipOrg), + config + ); + assertEq( + uint8(licensingModule.getIpOrgLicensorConfig(address(ipOrg))), + uint8(Licensing.LicensorConfig.IpOrgOwnerAlways) + ); + assertEq( + licensingModule.getIpOrgValueForParam(address(ipOrg), "TEST_TAG_1"), + abi.encode(true) + ); + assertEq( + licensingModule.getIpOrgValueForParam(address(ipOrg), "TEST_TAG_2"), + abi.encode(222) + ); + assertEq( + licensingModule.getIpOrgValueForParam(address(ipOrg), "TEST_TAG_3"), + abi.encode(ssValue) + ); + } + + function test_LicensingModule_configIpOrg_revert_ipOrgAlreadySet() public { + test_LicensingModule_configIpOrg(); + Licensing.ParamValue[] memory params = new Licensing.ParamValue[](1); + params[0] = Licensing.ParamValue({ + tag: "TEST_TAG_1".toShortString(), + value: abi.encode(true) + }); + + Licensing.LicensingConfig memory config = Licensing.LicensingConfig({ + frameworkId: "test_framework", + params: params, + licensor: Licensing.LicensorConfig.IpOrgOwnerAlways + }); + vm.prank(ipOrg.owner()); + vm.expectRevert(Errors.LicensingModule_IpOrgFrameworkAlreadySet.selector); + spg.configureIpOrgLicensing( + address(ipOrg), + config + ); + } +} diff --git a/test/foundry/modules/licensing/LicensingModule.Licensing.t.sol b/test/foundry/modules/licensing/LicensingModule.Licensing.t.sol new file mode 100644 index 00000000..6aef4463 --- /dev/null +++ b/test/foundry/modules/licensing/LicensingModule.Licensing.t.sol @@ -0,0 +1,363 @@ +/* solhint-disable contract-name-camelcase, func-name-mixedcase, var-name-mixedcase */ +// SPDX-License-Identifier: BUSDL-1.1 +pragma solidity ^0.8.13; + +import "forge-std/Test.sol"; + +import { AccessControl } from "contracts/lib/AccessControl.sol"; +import { Licensing } from "contracts/lib/modules/Licensing.sol"; +import { IPAsset } from "contracts/lib/IPAsset.sol"; +import { BaseTest } from "test/foundry/utils/BaseTest.sol"; +import { Errors } from "contracts/lib/Errors.sol"; +import { IIPOrg } from "contracts/interfaces/ip-org/IIPOrg.sol"; +import { ModuleRegistryKeys } from "contracts/lib/modules/ModuleRegistryKeys.sol"; +import { SPUMLParams } from "contracts/lib/modules/SPUMLParams.sol"; +import { BitMask } from "contracts/lib/BitMask.sol"; +import { ShortString, ShortStrings } from "@openzeppelin/contracts/utils/ShortStrings.sol"; + +contract LicensingModuleLicensingTest is BaseTest { + using ShortStrings for *; + using BitMask for uint256; + + address internal ipaOwner = address(0x13336); + Licensing.ParamValue[] internal ipOrgParams; + + event LicenseNftLinkedToIpa(uint256 licenseId, uint256 ipAssetId); + + uint256 internal ipaId_1; + uint256 internal ipaId_2; + + modifier withFrameworkConfig( + bool allowsDerivatives, + bool derivativesWithApproval, + bool reciprocal, + Licensing.LicensorConfig licensorConfig + ) { + ShortString[] memory channels = new ShortString[](2); + channels[0] = "test1".toShortString(); + channels[1] = "test2".toShortString(); + ipOrgParams.push(Licensing.ParamValue({ + tag: SPUMLParams.CHANNELS_OF_DISTRIBUTION.toShortString(), + value: abi.encode(channels) + })); + ipOrgParams.push(Licensing.ParamValue({ + tag: SPUMLParams.ATTRIBUTION.toShortString(), + value: ""// unset + })); + ipOrgParams.push(Licensing.ParamValue({ + tag: SPUMLParams.DERIVATIVES_ALLOWED.toShortString(), + value: abi.encode(allowsDerivatives) + })); + uint8[] memory indexes = new uint8[](2); + if (derivativesWithApproval) { + indexes[0] = SPUMLParams.ALLOWED_WITH_APPROVAL_INDEX; + } + if (reciprocal) { + indexes[1] = SPUMLParams.ALLOWED_WITH_RECIPROCAL_LICENSE_INDEX; + } + uint256 derivativeOptions = BitMask._convertToMask(indexes); + ipOrgParams.push(Licensing.ParamValue({ + tag: SPUMLParams.DERIVATIVES_ALLOWED_OPTIONS.toShortString(), + value: abi.encode(derivativeOptions) + })); + Licensing.LicensingConfig memory config = Licensing.LicensingConfig({ + frameworkId: SPUMLParams.FRAMEWORK_ID, + params: ipOrgParams, + licensor: licensorConfig + }); + vm.prank(ipOrg.owner()); + spg.configureIpOrgLicensing(address(ipOrg), config); + _; + } + + function setUp() public override { + super.setUp(); + (ipaId_1, ) = _createIpAsset(ipaOwner, 1, bytes("")); + (ipaId_2, ) = _createIpAsset(ipaOwner, 1, bytes("")); + + Licensing.ParamDefinition[] memory paramDefs = SPUMLParams + ._getParamDefs(); + Licensing.SetFramework memory framework = Licensing.SetFramework({ + id: SPUMLParams.FRAMEWORK_ID, + textUrl: "text_url", + paramDefs: paramDefs + }); + vm.prank(licensingManager); + licensingFrameworkRepo.addFramework(framework); + } + + function test_LicensingModule_createLicense_noParent_ipa_userSetsParam() + withFrameworkConfig(true, true, true, Licensing.LicensorConfig.IpOrgOwnerAlways) + public returns (uint256) { + uint256 _parentLicenseId = 0; // no parent + Licensing.ParamValue[] memory inputParams = _constructInputParams(); + Licensing.LicenseCreation memory creation = Licensing.LicenseCreation({ + params: inputParams, + parentLicenseId: _parentLicenseId, + ipaId: ipaId_1 + }); + vm.prank(ipOrg.owner()); + uint256 licenseId = spg.createLicense( + address(ipOrg), + creation, + new bytes[](0), + new bytes[](0) + ); + + _assertLicenseData( + licenseRegistry.getLicenseData(licenseId), + licenseId, + Licensing.LicenseStatus.Active, + true, + true, + 0, // no parent + ipaId_1 + ); + _assertLicenseParams(licenseRegistry.getParams(licenseId), ipOrgParams, inputParams); + + return licenseId; + } + + function test_LicensingModule_createLicense_parent_noIpa_reciprocal() + public + returns (uint256 parentLicenseId, uint256 childLicenseId) + { + parentLicenseId = test_LicensingModule_createLicense_noParent_ipa_userSetsParam(); + uint256 _ipaId = 0; // no ipa + Licensing.LicenseCreation memory creation = Licensing.LicenseCreation({ + params: new Licensing.ParamValue[](0), + parentLicenseId: parentLicenseId, + ipaId: _ipaId + }); + vm.prank(ipOrg.owner()); + childLicenseId = spg.createLicense( + address(ipOrg), + creation, + new bytes[](0), + new bytes[](0) + ); + assertEq(childLicenseId, 2, "childLicenseId"); + + _assertLicenseData( + licenseRegistry.getLicenseData(childLicenseId), + childLicenseId, + // parent derivativeNeedsApproval = true, so child is pending + Licensing.LicenseStatus.PendingLicensorApproval, + true, + true, + parentLicenseId, + 0 // no ipa + ); + + Licensing.ParamValue[] memory parentParams = licenseRegistry.getParams( + parentLicenseId + ); + Licensing.ParamValue[] memory childParams = licenseRegistry.getParams( + childLicenseId + ); + + _assertLicenseParams(parentParams, childParams, new Licensing.ParamValue[](0)); + // additional for license params + assertEq(parentParams[1].value, childParams[1].value, "attribution"); + } + + function test_LicensingModule_revert_addReciprocalLicense_ParentLicenseNotActive() + public + { + uint256 parentLicenseId = test_LicensingModule_createLicense_noParent_ipa_userSetsParam(); + Licensing.LicenseCreation memory creation = Licensing.LicenseCreation({ + params: new Licensing.ParamValue[](0), + parentLicenseId: parentLicenseId, + ipaId: 0 + }); + + vm.prank(ipOrg.owner()); + uint256 childLicenseId = spg.createLicense( + address(ipOrg), + creation, + new bytes[](0), + new bytes[](0) + ); + assertEq(childLicenseId, 2); + Licensing.LicenseData memory license = licenseRegistry.getLicenseData(childLicenseId); + assertEq(uint8(license.status), uint8(Licensing.LicenseStatus.PendingLicensorApproval)); + assertEq(license.derivativesAllowed, true, "derivativesAllowed"); + assertEq(license.isReciprocal, true, "isReciprocal"); + assertEq(license.derivativeNeedsApproval, true, "derivativeNeedsApproval"); + assertEq(license.revoker, licensingModule.DEFAULT_REVOKER()); + assertEq(license.licensor, ipOrg.owner()); + assertEq(license.ipOrg, address(ipOrg)); + assertEq(license.frameworkId.toString(), SPUMLParams.FRAMEWORK_ID); + assertEq(license.ipaId, 0, "ipaId"); + assertEq(license.parentLicenseId, parentLicenseId); + Licensing.ParamValue[] memory parentParams = licenseRegistry.getParams(parentLicenseId); + Licensing.ParamValue[] memory childParams = licenseRegistry.getParams(childLicenseId); + assertEq(parentParams[0].tag.toString(), childParams[0].tag.toString(), "channel of distribution"); + assertEq(parentParams[0].value, childParams[0].value, "channel of distribution"); + assertEq(parentParams[1].tag.toString(), childParams[1].tag.toString(), "attribution"); + assertEq(parentParams[1].value, childParams[1].value, "attribution"); + assertEq(parentParams[2].tag.toString(), childParams[2].tag.toString(), "derivatives with attribution"); + assertEq(parentParams[2].value, childParams[2].value, "derivatives with attribution"); + assertEq(parentParams[3].tag.toString(), childParams[3].tag.toString(), "derivatives with approval"); + assertEq(parentParams[3].value, childParams[3].value, "derivatives with approval"); + } + + function test_LicensingModule_linkLnftToIpa_onIpaCreation() public { + ( + , + uint256 childLicenseId + ) = test_LicensingModule_createLicense_parent_noIpa_reciprocal(); + + vm.prank(ipOrg.owner()); + spg.activateLicense(address(ipOrg), childLicenseId); + address licenseOwner = licenseRegistry.ownerOf(childLicenseId); + + + // vm.expectEmit(address(licenseRegistry)); + // emit LicenseNftLinkedToIpa(childLicenseId, 3); + _createIpAssetAndLinkLicense( + licenseOwner, + 1, + childLicenseId, + bytes("") + ); + assertEq(licenseRegistry.getIpaId(childLicenseId), 3); + } + + function test_LicensingModule_revert_performAction_InvalidAction() public { + vm.prank(address(spg)); // spg has AccessControl.MODULE_EXECUTOR_ROLE access + vm.expectRevert(Errors.LicensingModule_InvalidAction.selector); + moduleRegistry.execute( + IIPOrg(ipOrg), + address(this), + ModuleRegistryKeys.LICENSING_MODULE, + abi.encode("INVALID_ACTION", abi.encode(0, ipaId_1)), + new bytes[](0), + new bytes[](0) + ); + } + + function _constructInputParams() + internal + pure + returns (Licensing.ParamValue[] memory) + { + Licensing.ParamValue[] memory inputParams = new Licensing.ParamValue[]( + 1 + ); + inputParams[0] = Licensing.ParamValue({ + tag: SPUMLParams.ATTRIBUTION.toShortString(), + value: abi.encode(true) + }); + return inputParams; + } + + function _assertLicenseData( + Licensing.LicenseData memory license, + uint256 licenseId, + Licensing.LicenseStatus expectedLicenseStatus, + bool expectedIsReciprocal, + bool expectedDerivativeNeedsApproval, + uint256 expectedParentLicenseId, + uint256 expectedIpaId + ) internal { + assertEq( + uint8(license.status), + uint8(expectedLicenseStatus), + "licenseStatus" + ); + assertEq( + license.isReciprocal, + licenseRegistry.isReciprocal(licenseId), + "isReciprocal A" + ); + assertEq(license.isReciprocal, expectedIsReciprocal, "isReciprocal B"); + assertEq( + license.derivativeNeedsApproval, + licenseRegistry.derivativeNeedsApproval(licenseId), + "derivativeNeedsApproval A" + ); + assertEq( + license.derivativeNeedsApproval, + expectedDerivativeNeedsApproval, + "derivativeNeedsApproval B" + ); + assertEq( + license.revoker, + licenseRegistry.getRevoker(licenseId), + "revoker A" + ); + assertEq( + license.revoker, + licensingModule.DEFAULT_REVOKER(), + "revoker B" + ); + assertEq( + license.licensor, + licenseRegistry.getLicensor(licenseId), + "licensor A" + ); + assertEq(license.licensor, ipOrg.owner(), "licensor B"); + assertEq(license.ipOrg, licenseRegistry.getIPOrg(licenseId), "ipOrg A"); + assertEq(license.ipOrg, address(ipOrg), "ipOrg B"); + assertEq( + license.frameworkId.toString(), + SPUMLParams.FRAMEWORK_ID + ); + assertEq(license.ipaId, licenseRegistry.getIpaId(licenseId), "ipaId A"); + assertEq(license.ipaId, expectedIpaId, "ipaId B"); + assertEq( + license.parentLicenseId, + licenseRegistry.getParentLicenseId(licenseId), + "parentLicenseId A" + ); + assertEq( + license.parentLicenseId, + expectedParentLicenseId, + "parentLicenseId B" + ); + } + + function _assertLicenseParams( + Licensing.ParamValue[] memory lParams, + Licensing.ParamValue[] memory rParams, + Licensing.ParamValue[] memory inputParams + ) internal { + assertEq( + lParams[0].tag.toString(), + rParams[0].tag.toString(), + "channel of distribution" + ); + assertEq(lParams[0].value, rParams[0].value, "channel of distribution"); + assertEq( + lParams[1].tag.toString(), + rParams[1].tag.toString(), + "attribution" + ); + if (inputParams.length == 0) { + assertEq(lParams[1].value, rParams[1].value, "attribution"); + } else { + assertEq(lParams[1].value, inputParams[0].value, "attribution"); + } + assertEq( + lParams[2].tag.toString(), + rParams[2].tag.toString(), + "derivatives with attribution" + ); + assertEq( + lParams[2].value, + rParams[2].value, + "derivatives with attribution" + ); + assertEq( + lParams[3].tag.toString(), + rParams[3].tag.toString(), + "derivatives with approval" + ); + assertEq( + lParams[3].value, + rParams[3].value, + "derivatives with approval" + ); + } +} diff --git a/test/foundry/modules/licensing/LicensingModule.t.sol b/test/foundry/modules/licensing/LicensingModule.t.sol deleted file mode 100644 index 3c135e99..00000000 --- a/test/foundry/modules/licensing/LicensingModule.t.sol +++ /dev/null @@ -1,95 +0,0 @@ -// // SPDX-License-Identifier: BUSDL-1.1 -// pragma solidity ^0.8.13; - -// import "forge-std/Test.sol"; -// import 'test/foundry/utils/BaseTest.sol'; -// import 'test/foundry/mocks/MockLicensingModule.sol'; -// import 'test/foundr/mocks/MockTermsProcessor.sol'; -// import { Errors } from "contracts/lib/Errors.sol"; -// import { Licensing } from "contracts/lib/modules/Licensing.sol"; - -// contract LicensingModuleTest is BaseTest { - -// function setUp() virtual override public { -// deployProcessors = false; -// super.setUp(); -// } - -// function test_setUp() public { -// assertEq(licensingModule.getNonCommercialLicenseURI(), NON_COMMERCIAL_LICENSE_URI); -// } - -// function test_configIPAssetOrg() public { -// vm.startPrank(ipAssetOrgOwner); -// Licensing.TermsProcessorConfig memory termsConfig = Licensing.TermsProcessorConfig({ -// processor: commercialTermsProcessor, -// data: abi.encode("root") -// }); - -// uint256 rootLicenseId = ipAssetOrg.createIPAssetOrgRootLicense(ipAssetOrgOwner, "commercial_uri_root", revoker, true, true, termsConfig); -// assertEq(licenseRegistry.ownerOf(rootLicenseId), ipAssetOrgOwner); -// assertEq(rootLicenseId, 1); - -// Licensing.IPAssetOrgConfig memory config = _getLicensingConfig(); -// config.revoker = address(0x5656565); -// config.commercialConfig.ipAssetOrgRootLicenseId = rootLicenseId; -// config.commercialTerms.data = abi.encode("bye"); -// config.nonCommercialTerms.data = abi.encode("hi"); - -// licensingModule.configureIpAssetOrgLicensing(address(ipAssetOrg), config); -// Licensing.IPAssetOrgConfig memory configResult = licensingModule.getIpAssetOrgConfig(address(ipAssetOrg)); -// assertEq(configResult.nonCommercialConfig.canSublicense, true); -// assertEq(configResult.nonCommercialConfig.ipAssetOrgRootLicenseId, 0); -// assertEq(address(configResult.nonCommercialTerms.processor), address(nonCommercialTermsProcessor)); -// assertEq(configResult.nonCommercialTerms.data, abi.encode("hi")); -// assertEq(configResult.commercialConfig.canSublicense, false); -// assertEq(configResult.commercialConfig.ipAssetOrgRootLicenseId, 1); -// assertEq(address(configResult.commercialTerms.processor), address(commercialTermsProcessor)); -// assertEq(configResult.commercialTerms.data, abi.encode("bye")); -// assertEq(configResult.rootIpAssetHasCommercialRights, false); -// assertEq(configResult.revoker, address(0x5656565)); -// vm.stopPrank(); -// } - -// function test_revert_nonAuthorizedConfigSetter() public { -// vm.expectRevert(Errors.Unauthorized.selector); -// licensingModule.configureIpAssetOrgLicensing(address(ipAssetOrg), LibMockIPAssetOrgConfig.getMockIPAssetOrgConfig()); -// } - -// function test_revert_nonExistingIPAssetOrg() public { -// // TODO: Changing licensing module to check if address exists. -// vm.expectRevert(); -// licensingModule.configureIpAssetOrgLicensing(address(0x6954321), LibMockIPAssetOrgConfig.getMockIPAssetOrgConfig()); -// } - -// function test_revert_zeroRevokerAddress() public { -// vm.startPrank(ipAssetOrgOwner); -// Licensing.IPAssetOrgConfig memory config = LibMockIPAssetOrgConfig.getMockIPAssetOrgConfig(); -// config.revoker = address(0); -// vm.expectRevert(Errors.LicensingModule_ZeroRevokerAddress.selector); -// licensingModule.configureIpAssetOrgLicensing(address(ipAssetOrg), config); -// vm.stopPrank(); -// } - -// function test_revert_rootLicenseNotActiveCommercial() public { - -// Licensing.TermsProcessorConfig memory termsConfig = Licensing.TermsProcessorConfig({ -// processor: commercialTermsProcessor, -// data: abi.encode("root") -// }); - -// vm.prank(ipAssetOrgOwner); -// uint256 rootLicenseId = ipAssetOrg.createIPAssetOrgRootLicense(ipAssetOrgOwner, "commercial_uri_root", revoker, true, true, termsConfig); - -// commercialTermsProcessor.setSuccess(false); - -// Licensing.IPAssetOrgConfig memory config = _getLicensingConfig(); -// config.commercialConfig.ipAssetOrgRootLicenseId = rootLicenseId; -// vm.startPrank(ipAssetOrgOwner); -// vm.expectRevert(abi.encodeWithSignature("LicensingModule_RootLicenseNotActive(uint256)", 1)); -// licensingModule.configureIpAssetOrgLicensing(address(ipAssetOrg), config); -// vm.stopPrank(); - -// } - -// } diff --git a/test/foundry/modules/licensing/RightsManager.IPAsset.t.sol b/test/foundry/modules/licensing/RightsManager.IPAsset.t.sol deleted file mode 100644 index 959ffdf5..00000000 --- a/test/foundry/modules/licensing/RightsManager.IPAsset.t.sol +++ /dev/null @@ -1,436 +0,0 @@ -// // SPDX-License-Identifier: BUSDL-1.1 -// pragma solidity ^0.8.13; - -// import "forge-std/Test.sol"; -// import 'test/foundry/utils/BaseTest.sol'; -// import 'test/foundry/mocks/MockLicensingModule.sol'; -// import 'test/foundry/mocks/MockTermsProcessor.sol'; -// import 'test/foundry/mocks/RightsManagerHarness.sol'; -// import "test/foundry/mocks/MockERC721.sol"; -// import { Errors } from "contracts/lib/Errors.sol"; -// import { Licensing } from "contracts/lib/modules/Licensing.sol"; - -// contract RightsManagerIPAssetRightsTest is BaseTest { - -// address ipAssetCreator = address(0x999999); -// address licenseHolder = address(0x888888); - -// function setUp() virtual override public { -// deployProcessors = false; -// super.setUp(); -// } - -// function test_setUp() public { -// assertEq(licenseRegistry.name(), "Licenses for IPAssetOrgName"); -// assertEq(licenseRegistry.symbol(), "slFRN"); -// assertEq(address(licenseRegistry.getRightsManager()), address(ipAssetOrg)); - -// // Default licensing is root non-commercial with sublicense on, no commercial rights -// Licensing.IPAssetOrgConfig memory configResult = licensingModule.getIpAssetOrgConfig(address(ipAssetOrg)); -// assertEq(configResult.nonCommercialConfig.canSublicense, true, "nonCommercialConfig.canSublicense"); -// assertEq(configResult.nonCommercialConfig.ipAssetOrgRootLicenseId, 0, "nonCommercialConfig.ipAssetOrgRootLicenseId"); -// assertEq(address(configResult.nonCommercialTerms.processor), address(nonCommercialTermsProcessor), "nonCommercialTerms.processor"); -// assertEq(configResult.nonCommercialTerms.data, abi.encode("nonCommercial"), "nonCommercialTerms.data"); -// assertEq(configResult.commercialConfig.canSublicense, false, "commercialConfig.canSublicense"); -// assertEq(configResult.commercialConfig.ipAssetOrgRootLicenseId, 0, "commercialConfig.ipAssetOrgRootLicenseId"); -// assertEq(address(configResult.commercialTerms.processor), address(commercialTermsProcessor), "commercialTerms.processor"); -// assertEq(configResult.commercialTerms.data, abi.encode("commercial"), "commercialTerms.data"); -// assertEq(configResult.rootIpAssetHasCommercialRights, false, "rootIpAssetHasCommercialRights"); -// assertEq(configResult.revoker, revoker, "revoker"); - -// } - -// function test_create_ip_asset_root_noncommercial() public { -// (, uint256 ipAssetId) = ipAssetOrg.createIpAsset(IPAsset.CreateIpAssetParams({ -// ipAssetType: IPAsset.IPAssetType(1), -// name: "name", -// description: "description", -// mediaUrl: "mediaUrl", -// to: ipAssetCreator, -// parentIpAssetOrgId: 0, -// collectData: "" -// })); -// bool commercial = false; -// uint256 licenseId = ipAssetOrg.getLicenseIdByTokenId(ipAssetId, commercial); -// assertEq(licenseId, 1); -// assertEq(ipAssetOrg.getLicenseTokenId(licenseId), ipAssetId); -// (Licensing.License memory license, address owner) = ipAssetOrg.getLicense(licenseId); -// assertEq(owner, ipAssetCreator); -// assertEq(license.active, true); -// assertEq(license.canSublicense, true); -// assertEq(license.commercial, commercial); -// assertEq(license.parentLicenseId, 0); -// assertEq(license.tokenId, ipAssetId); -// assertEq(license.revoker, revoker); -// assertEq(license.uri, "https://noncommercial.license"); -// assertEq(address(license.termsProcessor), address(nonCommercialTermsProcessor)); -// assertEq(license.termsData, abi.encode("nonCommercial")); - -// commercial = true; -// licenseId = ipAssetOrg.getLicenseIdByTokenId(ipAssetId, commercial); -// assertEq(licenseId, 0); -// vm.expectRevert("ERC721: invalid token ID"); -// licenseRegistry.ownerOf(licenseId); -// } - -// function test_create_ip_asset_noncommercial_and_commercial() public { -// _configIPAssetOrg(true, true, true); -// (, uint256 ipAssetId) = ipAssetOrg.createIpAsset(IPAsset.CreateIpAssetParams({ -// ipAssetType: IPAsset.IPAssetType(1), -// name: "name", -// description: "description", -// mediaUrl: "mediaUrl", -// to: ipAssetCreator, -// parentIpAssetOrgId: 0, -// collectData: "" -// })); -// bool commercial = false; -// uint256 licenseId = ipAssetOrg.getLicenseIdByTokenId(ipAssetId, commercial); -// assertEq(licenseId, 1); -// assertEq(ipAssetOrg.getLicenseTokenId(licenseId), ipAssetId); -// (Licensing.License memory license, address owner) = ipAssetOrg.getLicense(licenseId); -// assertEq(owner, ipAssetCreator); -// assertEq(license.active, true); -// assertEq(license.canSublicense, true); -// assertEq(license.commercial, commercial); -// assertEq(license.parentLicenseId, 0); -// assertEq(license.tokenId, ipAssetId); -// assertEq(license.revoker, revoker); -// assertEq(license.uri, "https://noncommercial.license"); -// assertEq(address(license.termsProcessor), address(nonCommercialTermsProcessor)); -// assertEq(license.termsData, abi.encode("nonCommercial")); -// vm.expectRevert("ERC721: invalid token ID"); -// licenseRegistry.ownerOf(licenseId); - -// commercial = true; -// uint256 commercialLicenseId = ipAssetOrg.getLicenseIdByTokenId(ipAssetId, commercial); -// assertEq(commercialLicenseId, 2); -// assertEq(ipAssetOrg.getLicenseTokenId(commercialLicenseId), ipAssetId); -// (license, owner) = ipAssetOrg.getLicense(commercialLicenseId); -// assertEq(owner, ipAssetCreator); -// assertEq(license.active, true); -// assertEq(license.canSublicense, true); -// assertEq(license.commercial, commercial); -// assertEq(license.parentLicenseId, 0); -// assertEq(license.tokenId, ipAssetId); -// assertEq(license.revoker, revoker); -// assertEq(license.uri, "https://commercial.license"); -// assertEq(address(license.termsProcessor), address(commercialTermsProcessor)); -// assertEq(license.termsData, abi.encode("commercial")); - -// vm.expectRevert("ERC721: invalid token ID"); -// licenseRegistry.ownerOf(commercialLicenseId); - -// } - -// function test_create_derivative_ip_asset_from_non_commercial() public { -// (, uint256 rootIpAsset) = ipAssetOrg.createIpAsset(IPAsset.CreateIpAssetParams({ -// ipAssetType: IPAsset.IPAssetType(1), -// name: "name", -// description: "description", -// mediaUrl: "mediaUrl", -// to: ipAssetCreator, -// parentIpAssetOrgId: 0, -// collectData: "" -// })); -// (, uint256 ipAssetId) = ipAssetOrg.createIpAsset(IPAsset.CreateIpAssetParams({ -// ipAssetType: IPAsset.IPAssetType(1), -// name: "name derv", -// description: "description deriv", -// mediaUrl: "mediaUrl deriv", -// to: ipAssetCreator, -// parentIpAssetOrgId: rootIpAsset, -// collectData: "" -// })); - -// bool commercial = false; -// uint256 licenseId = ipAssetOrg.getLicenseIdByTokenId(ipAssetId, commercial); - -// vm.expectRevert("ERC721: invalid token ID"); -// licenseRegistry.ownerOf(licenseId); -// assertEq(licenseId, 2); -// assertEq(ipAssetOrg.getLicenseTokenId(licenseId), ipAssetId); -// (Licensing.License memory license, address owner) = ipAssetOrg.getLicense(licenseId); -// assertEq(owner, ipAssetCreator); -// assertEq(license.active, true); -// assertEq(license.canSublicense, true); -// assertEq(license.commercial, commercial); -// assertEq(license.parentLicenseId, 1); -// assertEq(license.tokenId, ipAssetId); -// assertEq(license.revoker, revoker); -// assertEq(license.uri, "https://noncommercial.license"); -// assertEq(address(license.termsProcessor), address(nonCommercialTermsProcessor)); -// assertEq(license.termsData, abi.encode("nonCommercial")); - -// commercial = true; -// licenseId = ipAssetOrg.getLicenseIdByTokenId(ipAssetId, commercial); -// assertEq(licenseId, 0); -// } - -// function test_create_derivative_ip_asset_from_commercial() public { -// _configIPAssetOrg(true, true, true); -// (, uint256 rootIpAsset) = ipAssetOrg.createIpAsset(IPAsset.CreateIpAssetParams({ -// ipAssetType: IPAsset.IPAssetType(1), -// name: "name", -// description: "description", -// mediaUrl: "mediaUrl", -// to: ipAssetCreator, -// parentIpAssetOrgId: 0, -// collectData: "" -// })); -// (, uint256 ipAssetId) = ipAssetOrg.createIpAsset(IPAsset.CreateIpAssetParams({ -// ipAssetType: IPAsset.IPAssetType(1), -// name: "name deriv", -// description: "description deriv", -// mediaUrl: "mediaUrl deriv", -// to: ipAssetCreator, -// parentIpAssetOrgId: rootIpAsset, -// collectData: "" -// })); - -// bool commercial = false; -// uint256 licenseId = ipAssetOrg.getLicenseIdByTokenId(ipAssetId, commercial); - -// vm.expectRevert("ERC721: invalid token ID"); -// licenseRegistry.ownerOf(licenseId); - -// assertEq(licenseId, 3); -// assertEq(ipAssetOrg.getLicenseTokenId(licenseId), ipAssetId); -// (Licensing.License memory license, address owner) = ipAssetOrg.getLicense(licenseId); -// assertEq(owner, ipAssetCreator); -// assertEq(license.active, true); -// assertEq(license.canSublicense, true); -// assertEq(license.commercial, commercial); -// assertEq(license.parentLicenseId, 1); -// assertEq(license.tokenId, ipAssetId); -// assertEq(license.revoker, revoker); -// assertEq(license.uri, "https://noncommercial.license"); -// assertEq(address(license.termsProcessor), address(nonCommercialTermsProcessor)); -// assertEq(license.termsData, abi.encode("nonCommercial")); - -// commercial = true; -// licenseId = ipAssetOrg.getLicenseIdByTokenId(ipAssetId, commercial); -// assertEq(licenseId, 0); - -// } - -// function test_create_license() public { -// (, uint256 ipAssetId) = ipAssetOrg.createIpAsset(IPAsset.CreateIpAssetParams({ -// ipAssetType: IPAsset.IPAssetType(1), -// name: "name", -// description: "description", -// mediaUrl: "mediaUrl", -// to: licenseHolder, -// parentIpAssetOrgId: 0, -// collectData: "" -// })); -// uint256 parentLicenseId = ipAssetOrg.getLicenseIdByTokenId(ipAssetId, false); -// bool commercial = false; -// vm.prank(licenseHolder); -// uint256 licenseId = ipAssetOrg.createLicense( -// ipAssetId, -// parentLicenseId, -// licenseHolder, -// "licenseUri", -// revoker, -// false, -// false, -// Licensing.TermsProcessorConfig({ -// processor: nonCommercialTermsProcessor, -// data: abi.encode("terms") -// }) -// ); -// (Licensing.License memory license, address owner) = ipAssetOrg.getLicense(licenseId); -// assertEq(owner, licenseHolder); -// assertEq(license.active, true); -// assertEq(license.canSublicense, false); -// assertEq(license.commercial, commercial); -// assertEq(license.parentLicenseId, parentLicenseId); -// assertEq(license.tokenId, ipAssetId); -// assertEq(license.revoker, revoker); -// assertEq(license.uri, "licenseUri"); -// assertEq(address(license.termsProcessor), address(nonCommercialTermsProcessor)); -// assertEq(license.termsData, abi.encode("terms")); -// assertEq(licenseRegistry.ownerOf(licenseId), licenseHolder); - -// } - -// function test_revert_create_license_unauthorized() public { -// (, uint256 ipAssetId) = ipAssetOrg.createIpAsset(IPAsset.CreateIpAssetParams({ -// ipAssetType: IPAsset.IPAssetType(1), -// name: "name", -// description: "description", -// mediaUrl: "mediaUrl", -// to: ipAssetCreator, -// parentIpAssetOrgId: 0, -// collectData: "" -// })); -// uint256 parentLicenseId = 1; -// (Licensing.TermsProcessorConfig memory terms,) = LibMockIPAssetOrgConfig.getTermsProcessorConfig(); -// vm.expectRevert(Errors.Unauthorized.selector); -// ipAssetOrg.createLicense( -// ipAssetId, -// parentLicenseId, -// licenseHolder, -// "licenseUri", -// revoker, -// false, -// false, -// terms -// ); -// } - -// function test_revert_create_license_franchise_owned_tokenId() public { -// uint256 tokenId = ipAssetOrg.ROOT_LICENSE_ID(); -// uint256 parentLicenseId = 1; -// (Licensing.TermsProcessorConfig memory terms,) = LibMockIPAssetOrgConfig.getTermsProcessorConfig(); -// vm.startPrank(ipAssetOrgOwner); -// vm.expectRevert(Errors.RightsManager_UseCreateIPAssetOrgRootLicenseInstead.selector); -// ipAssetOrg.createLicense( -// tokenId, -// parentLicenseId, -// licenseHolder, -// "licenseUri", -// revoker, -// false, -// false, -// terms -// ); -// vm.stopPrank(); -// } - -// function test_revert_create_license_unset_parent() public { -// uint256 tokenId = 1; -// uint256 parentLicenseId = 0; -// (Licensing.TermsProcessorConfig memory terms,) = LibMockIPAssetOrgConfig.getTermsProcessorConfig(); -// vm.startPrank(ipAssetOrgOwner); -// vm.expectRevert(Errors.RightsManager_UseCreateIPAssetOrgRootLicenseInstead.selector); -// ipAssetOrg.createLicense( -// tokenId, -// parentLicenseId, -// licenseHolder, -// "licenseUri", -// revoker, -// false, -// false, -// terms -// ); -// vm.stopPrank(); -// } - -// function test_revert_create_license_terms_mismatch() public { -// (, uint256 ipAssetId) = ipAssetOrg.createIpAsset(IPAsset.CreateIpAssetParams({ -// ipAssetType: IPAsset.IPAssetType(1), -// name: "name", -// description: "description", -// mediaUrl: "mediaUrl", -// to: ipAssetCreator, -// parentIpAssetOrgId: 0, -// collectData: "" -// })); - -// uint256 parentLicenseId = ipAssetOrg.getLicenseIdByTokenId(ipAssetId, false); -// bool commercial = true; -// vm.expectRevert(Errors.RightsManager_CommercialTermsMismatch.selector); -// vm.prank(ipAssetCreator); -// ipAssetOrg.createLicense( -// ipAssetId, -// parentLicenseId, -// licenseHolder, -// "licenseUri", -// revoker, -// commercial, -// false, -// Licensing.TermsProcessorConfig({ -// processor: nonCommercialTermsProcessor, -// data: abi.encode("terms") -// }) -// ); -// } - -// // This one we can just call the internal method -// function test_create_root_license() public { -// (Licensing.TermsProcessorConfig memory terms,) = LibMockIPAssetOrgConfig.getTermsProcessorConfig(); -// vm.prank(ipAssetOrgOwner); -// uint256 licenseId = ipAssetOrg.createIPAssetOrgRootLicense( -// ipAssetOrgOwner, -// "licenseUri", -// revoker, -// true, -// true, -// terms -// ); -// (Licensing.License memory license, address owner) = ipAssetOrg.getLicense(licenseId); -// assertEq(owner, ipAssetOrgOwner); -// assertEq(license.active, true); -// assertEq(license.canSublicense, true); -// assertEq(license.commercial, true); -// assertEq(license.parentLicenseId, 0); -// assertEq(license.tokenId, ipAssetOrg.ROOT_LICENSE_ID()); -// assertEq(license.revoker, revoker); -// assertEq(license.uri, "licenseUri"); -// assertEq(address(license.termsProcessor), address(terms.processor)); -// assertEq(license.termsData, abi.encode("terms")); -// } - -// function test_revert_create_root_license_unauthorized() public { -// (Licensing.TermsProcessorConfig memory terms,) = LibMockIPAssetOrgConfig.getTermsProcessorConfig(); -// vm.expectRevert(Errors.Unauthorized.selector); -// ipAssetOrg.createIPAssetOrgRootLicense( -// ipAssetOrgOwner, -// "licenseUri", -// revoker, -// true, -// true, -// terms -// ); -// } - -// function _verifyLicense(uint256 tokenId, MockTermsProcessor termsProcessor) private returns(uint256) { -// uint256 licenseId = ipAssetOrg.getLicenseIdByTokenId(tokenId, true); -// assertEq(licenseId, 1); -// assertEq(ipAssetOrg.getLicenseTokenId(licenseId), tokenId); -// assertEq(ipAssetOrg.getParentLicenseId(licenseId), 0); -// assertTrue(ipAssetOrg.isLicenseActive(licenseId)); -// assertEq(ipAssetOrg.getLicenseURI(licenseId), "licenseUri"); -// (Licensing.License memory license, address owner) = ipAssetOrg.getLicense(licenseId); -// assertEq(owner, licenseHolder, "internal method will not create ipasset, but we mockMinted in RightsManagerHarness"); -// assertEq(license.active, true, "license active"); -// assertEq(license.canSublicense, true, "license canSublicense"); -// assertEq(license.commercial, true, "license commercial"); -// assertEq(license.parentLicenseId, 0, "license parentLicenseId"); -// assertEq(license.tokenId, tokenId, "license tokenId"); -// assertEq(license.revoker, revoker, "license revoker"); -// assertEq(license.uri, "licenseUri", "license uri"); -// assertEq(address(license.termsProcessor), address(termsProcessor), "license termsProcessor"); -// assertEq(license.termsData, abi.encode("terms"), "license termsData"); -// return licenseId; -// } - -// function _configIPAssetOrg(bool sublicenseCommercial, bool sublicenseNonCommercial, bool rootIpAssetHasCommercialRights) private { -// Licensing.IPAssetOrgConfig memory config = Licensing.IPAssetOrgConfig({ -// nonCommercialConfig: Licensing.IpAssetConfig({ -// canSublicense: sublicenseNonCommercial, -// ipAssetOrgRootLicenseId: 0 -// }), -// nonCommercialTerms: Licensing.TermsProcessorConfig({ -// processor: nonCommercialTermsProcessor, -// data: abi.encode("nonCommercial") -// }), -// commercialConfig: Licensing.IpAssetConfig({ -// canSublicense: sublicenseCommercial, -// ipAssetOrgRootLicenseId: 0 -// }), -// commercialTerms: Licensing.TermsProcessorConfig({ -// processor: commercialTermsProcessor, -// data: abi.encode("commercial") -// }), -// rootIpAssetHasCommercialRights: rootIpAssetHasCommercialRights, -// revoker: revoker, -// commercialLicenseUri: "https://commercial.license" -// }); -// vm.prank(ipAssetOrgOwner); -// licensingModule.configureIpAssetOrgLicensing(address(ipAssetOrg), config); -// } - -// } diff --git a/test/foundry/modules/licensing/RightsManager.Internal.t.sol b/test/foundry/modules/licensing/RightsManager.Internal.t.sol deleted file mode 100644 index 63484242..00000000 --- a/test/foundry/modules/licensing/RightsManager.Internal.t.sol +++ /dev/null @@ -1,477 +0,0 @@ -// // SPDX-License-Identifier: BUSDL-1.1 -// pragma solidity ^0.8.13; - -// import 'test/foundry/utils/BaseTest.sol'; -// import 'test/foundry/mocks/MockLicensingModule.sol'; -// import 'test/foundry/mocks/MockTermsProcessor.sol'; -// import 'test/foundry/mocks/RightsManagerHarness.sol'; -// import "test/foundry/mocks/MockERC721.sol"; -// import { IPAsset } from "contracts/lib/IPAsset.sol"; -// import { Errors } from "contracts/lib/Errors.sol"; -// import { IPAssetRegistry } from "contracts/IPAssetRegistry.sol"; -// import { Licensing } from "contracts/lib/modules/Licensing.sol"; - -// contract RightsManagerInternalTest is Test, ProxyHelper { - -// IPAssetRegistry registry; -// MockERC721 mockIPAssetOrgFactory; -// RightsManagerHarness rightsManager; -// address constant mockEventEmitter = address(0x1234567); -// address constant mockLicensingModule = address(0x23445); -// address constant mockCollectModule = address(0x13371); -// address constant licenseHolder = address(0x8073465); -// address constant revoker = address(0x123456722222); - -// function setUp() public { - -// registry = new IPAssetRegistry(); -// mockIPAssetOrgFactory = new MockERC721(); -// RightsManagerHarness impl = new RightsManagerHarness(); -// rightsManager = RightsManagerHarness( -// _deployUUPSProxy( -// address(impl), -// abi.encodeWithSelector( -// bytes4(keccak256(bytes("initialize((address,address,string,string,string,address,address))"))), -// IPAsset.InitIPAssetOrgParams({ -// registry: address(registry), -// owner: address(this), -// name: "name", -// symbol: "symbol", -// description: "description", -// licensingModule: address(mockLicensingModule), -// collectModule: address(mockCollectModule) -// }) -// ) -// ) -// ); -// LicenseRegistry licenseRegistry = new LicenseRegistry(address(rightsManager), "name", "symbol"); -// rightsManager.setLicenseRegistry(address(licenseRegistry)); -// } - -// function test_setup() public { -// // TODO(ramarti): Decouple rights manager from IP Asset Org -// assertEq(address(rightsManager.IP_ASSET_ORG()), address(rightsManager)); -// assertEq(rightsManager.name(), "name"); -// assertEq(rightsManager.symbol(), "symbol"); -// } - -// function test_revert_transfer_sublicense() public { -// vm.expectRevert(Errors.Unauthorized.selector); -// rightsManager.transferSublicense(1, address(0x123456)); -// } - -// function test_internal_create_license_rootLicense_notmockMinting() public { -// uint256 tokenId = 1; -// rightsManager.mockMint(licenseHolder, tokenId); -// uint256 parentLicenseId = 0; -// (Licensing.TermsProcessorConfig memory terms, MockTermsProcessor termsProcessor) = LibMockIPAssetOrgConfig.getTermsProcessorConfig(); -// // TODO test events -// uint256 licenseId = rightsManager.createLicense_exposed( -// tokenId, -// parentLicenseId, -// licenseHolder, -// "licenseUri", -// revoker, -// true, -// true, -// terms, -// false -// ); -// assertEq(licenseId, rightsManager.getLicenseIdByTokenId(tokenId, true)); -// _verifyLicense(licenseId, parentLicenseId, tokenId, termsProcessor, true, true); -// ILicenseRegistry licenseRegistry = ILicenseRegistry(rightsManager.getLicenseRegistry()); -// vm.expectRevert("ERC721: invalid token ID"); -// licenseRegistry.ownerOf(licenseId); - -// } - -// function test_internal_create_license_rootLicense_mockMinting() public { -// uint256 tokenId = 1; -// rightsManager.mockMint(licenseHolder, tokenId); -// uint256 parentLicenseId = 0; -// (Licensing.TermsProcessorConfig memory terms, MockTermsProcessor termsProcessor) = LibMockIPAssetOrgConfig.getTermsProcessorConfig(); -// // TODO test events -// uint256 licenseId = rightsManager.createLicense_exposed( -// tokenId, -// parentLicenseId, -// licenseHolder, -// "licenseUri", -// revoker, -// true, -// true, -// terms, -// false -// ); -// assertEq(licenseId, rightsManager.getLicenseIdByTokenId(tokenId, true), "wtf"); -// _verifyLicense(licenseId, parentLicenseId, tokenId, termsProcessor, true, true); -// ILicenseRegistry licenseRegistry = ILicenseRegistry(rightsManager.getLicenseRegistry()); -// vm.expectRevert("ERC721: invalid token ID"); -// licenseRegistry.ownerOf(licenseId); -// } - -// function test_internal_create_license_nonRootLicense_notmockMinting() public { -// uint256 tokenId = 1; -// rightsManager.mockMint(licenseHolder, tokenId); -// (Licensing.TermsProcessorConfig memory terms, MockTermsProcessor termsProcessor) = LibMockIPAssetOrgConfig.getTermsProcessorConfig(); -// // mockMint root -// uint256 parentLicenseId = rightsManager.createLicense_exposed( -// tokenId, -// 0, -// licenseHolder, -// "licenseUri", -// revoker, -// true, -// true, -// terms, -// false -// ); -// // mockMint derivative ip -// uint256 nextTokenId = tokenId + 1; -// rightsManager.mockMint(licenseHolder, nextTokenId); -// // mockMint sublicense -// uint256 licenseId = rightsManager.createLicense_exposed( -// nextTokenId, -// parentLicenseId, -// licenseHolder, -// "licenseUri", -// revoker, -// true, -// true, -// terms, -// false -// ); -// assertEq(licenseId, rightsManager.getLicenseIdByTokenId(nextTokenId, true)); -// _verifyLicense(licenseId, parentLicenseId, nextTokenId, termsProcessor, true, true); -// ILicenseRegistry licenseRegistry = ILicenseRegistry(rightsManager.getLicenseRegistry()); -// vm.expectRevert("ERC721: invalid token ID"); -// licenseRegistry.ownerOf(licenseId); - -// } - -// function test_internal_create_license_nonRootLicense_mockMinting() public { -// uint256 tokenId = 1; -// rightsManager.mockMint(licenseHolder, tokenId); -// (Licensing.TermsProcessorConfig memory terms, MockTermsProcessor termsProcessor) = LibMockIPAssetOrgConfig.getTermsProcessorConfig(); -// // mockMint root -// uint256 parentLicenseId = rightsManager.createLicense_exposed( -// tokenId, -// 0, -// licenseHolder, -// "licenseUri", -// revoker, -// true, -// true, -// terms, -// true -// ); -// // mockMint sublicense -// uint256 licenseId = rightsManager.createLicense_exposed( -// tokenId, -// parentLicenseId, -// licenseHolder, -// "licenseUri", -// revoker, -// true, -// true, -// terms, -// true -// ); -// _verifyLicense(licenseId, parentLicenseId, tokenId, termsProcessor, true, true); -// ILicenseRegistry licenseRegistry = ILicenseRegistry(rightsManager.getLicenseRegistry()); -// assertEq(licenseRegistry.ownerOf(licenseId), licenseHolder); -// } - -// function test_revert_internal_createLicense_zeroRevoker() public { -// uint256 tokenId = 1; -// rightsManager.mockMint(licenseHolder, tokenId); -// uint256 parentLicenseId = 0; -// (Licensing.TermsProcessorConfig memory terms,) = LibMockIPAssetOrgConfig.getTermsProcessorConfig(); -// vm.expectRevert(Errors.RightsManager_ZeroRevokerAddress.selector); -// rightsManager.createLicense_exposed( -// tokenId, -// parentLicenseId, -// licenseHolder, -// "licenseUri", -// address(0), -// true, -// true, -// terms, -// false -// ); -// } - -// function test_revert_internal_createLicense_nonExistentId() public { -// uint256 tokenId = 1; -// uint256 parentLicenseId = 0; -// (Licensing.TermsProcessorConfig memory terms,) = LibMockIPAssetOrgConfig.getTermsProcessorConfig(); -// vm.expectRevert(abi.encodeWithSignature("NonExistentID(uint256)", 1)); -// rightsManager.createLicense_exposed( -// tokenId, -// parentLicenseId, -// licenseHolder, -// "licenseUri", -// revoker, -// true, -// true, -// terms, -// false -// ); -// } - -// function test_revert_internal_createLicense_alreadyHasRootLicense() public { -// uint256 tokenId = 1; -// rightsManager.mockMint(licenseHolder, tokenId); -// uint256 parentLicenseId = 0; -// (Licensing.TermsProcessorConfig memory terms,) = LibMockIPAssetOrgConfig.getTermsProcessorConfig(); -// // mockMint root -// rightsManager.createLicense_exposed( -// tokenId, -// 0, -// licenseHolder, -// "licenseUri", -// revoker, -// true, -// true, -// terms, -// false -// ); -// // mockMint root again -// vm.expectRevert(Errors.RightsManager_AlreadyHasRootLicense.selector); -// rightsManager.createLicense_exposed( -// tokenId, -// parentLicenseId, -// licenseHolder, -// "licenseUri", -// revoker, -// true, -// true, -// terms, -// false -// ); -// } - -// function test_revert_internal_createLicense_notOwnerOfParentLicense() public { -// uint256 tokenId = 1; -// rightsManager.mockMint(licenseHolder, tokenId); -// uint256 parentLicenseId = 1; -// (Licensing.TermsProcessorConfig memory terms,) = LibMockIPAssetOrgConfig.getTermsProcessorConfig(); -// // mockMint root -// rightsManager.createLicense_exposed( -// tokenId, -// 0, -// licenseHolder, -// "licenseUri", -// revoker, -// true, -// true, -// terms, -// false -// ); -// // mockMint sublicense -// vm.expectRevert(Errors.RightsManager_NotOwnerOfParentLicense.selector); -// rightsManager.createLicense_exposed( -// tokenId, -// parentLicenseId, -// address(0x123456), -// "licenseUri", -// revoker, -// true, -// true, -// terms, -// true -// ); -// } - -// function test_revert_internal_createLicense_inactiveParentLicense() public { -// uint256 tokenId = 1; -// rightsManager.mockMint(licenseHolder, tokenId); -// uint256 parentLicenseId = 1; -// (Licensing.TermsProcessorConfig memory terms,) = LibMockIPAssetOrgConfig.getTermsProcessorConfig(); -// // mockMint root -// rightsManager.createLicense_exposed( -// tokenId, -// 0, -// licenseHolder, -// "licenseUri", -// revoker, -// true, -// true, -// terms, -// false -// ); - -// vm.prank(revoker); -// rightsManager.revokeLicense(parentLicenseId); - -// // mockMint sublicense -// vm.expectRevert(Errors.RightsManager_InactiveParentLicense.selector); -// rightsManager.createLicense_exposed( -// tokenId, -// parentLicenseId, -// licenseHolder, -// "licenseUri", -// revoker, -// true, -// true, -// terms, -// true -// ); -// } - -// function test_revert_internal_createLicense_cannotSublicense() public { -// uint256 tokenId = 1; -// rightsManager.mockMint(licenseHolder, tokenId); -// uint256 parentLicenseId = 1; -// (Licensing.TermsProcessorConfig memory terms,) = LibMockIPAssetOrgConfig.getTermsProcessorConfig(); -// // mockMint root -// rightsManager.createLicense_exposed( -// tokenId, -// 0, -// licenseHolder, -// "licenseUri", -// revoker, -// true, -// false, -// terms, -// false -// ); -// // mockMint sublicense -// vm.expectRevert(Errors.RightsManager_CannotSublicense.selector); -// rightsManager.createLicense_exposed( -// tokenId, -// parentLicenseId, -// licenseHolder, -// "licenseUri", -// revoker, -// true, -// true, -// terms, -// true -// ); -// } - -// function test_revert_internal_createLicense_commercialTermsMismatch() public { -// uint256 tokenId = 1; -// rightsManager.mockMint(licenseHolder, tokenId); -// uint256 parentLicenseId = 1; -// (Licensing.TermsProcessorConfig memory terms,) = LibMockIPAssetOrgConfig.getTermsProcessorConfig(); -// // mockMint root -// rightsManager.createLicense_exposed( -// tokenId, -// 0, -// licenseHolder, -// "licenseUri", -// revoker, -// true, -// true, -// terms, -// false -// ); -// // mockMint sublicense -// vm.expectRevert(Errors.RightsManager_CommercialTermsMismatch.selector); -// rightsManager.createLicense_exposed( -// tokenId, -// parentLicenseId, -// licenseHolder, -// "licenseUri", -// revoker, -// false, -// true, -// terms, -// true -// ); -// } - -// function test_revert_internal_createLicense_nonCommercialTermsMismatch() public { -// uint256 tokenId = 1; -// rightsManager.mockMint(licenseHolder, tokenId); -// uint256 parentLicenseId = 1; -// (Licensing.TermsProcessorConfig memory terms,) = LibMockIPAssetOrgConfig.getTermsProcessorConfig(); -// // mockMint root -// rightsManager.createLicense_exposed( -// tokenId, -// 0, -// licenseHolder, -// "licenseUri", -// revoker, -// false, -// true, -// terms, -// false -// ); -// // mockMint sublicense -// vm.expectRevert(Errors.RightsManager_CommercialTermsMismatch.selector); -// rightsManager.createLicense_exposed( -// tokenId, -// parentLicenseId, -// licenseHolder, -// "licenseUri", -// revoker, -// true, -// true, -// terms, -// true -// ); -// // Uncomment this if we ever allow commercial sublicenses attached to children tokenIds -// /* -// vm.expectRevert(Errors.RightsManager_CommercialTermsMismatch.selector); -// rightsManager.createLicense_exposed( -// tokenId, -// parentLicenseId, -// licenseHolder, -// "licenseUri", -// revoker, -// true, -// true, -// terms, -// false -// );*/ -// } - -// function test_revert_internal_createLicense_termsProcessorUnsupportedInterface() public { -// uint256 tokenId = 1; -// rightsManager.mockMint(licenseHolder, tokenId); - -// vm.expectRevert(abi.encodeWithSignature("UnsupportedInterface(string)", "ITermsProcessor")); -// // mockMint root -// rightsManager.createLicense_exposed( -// tokenId, -// 0, -// licenseHolder, -// "licenseUri", -// revoker, -// false, -// true, -// Licensing.TermsProcessorConfig({ -// processor: ITermsProcessor(address(rightsManager)), -// data: abi.encode("terms") -// }), -// false -// ); -// } - -// function test_revert_unknown_license() public { -// vm.expectRevert("ERC721: invalid token ID"); -// rightsManager.getLicense(222); -// vm.expectRevert("ERC721: invalid token ID"); -// rightsManager.getLicense(0); -// } - -// function _verifyLicense(uint256 licenseId, uint256 parentLicenseId, uint256 tokenId, MockTermsProcessor termsProcessor, bool canSublicense, bool commercial) private { -// assertEq(rightsManager.getLicenseTokenId(licenseId), tokenId, "license tokenId"); -// assertEq(rightsManager.getParentLicenseId(licenseId), parentLicenseId, "license parentLicenseId"); -// assertTrue(rightsManager.isLicenseActive(licenseId), "license active"); -// assertEq(rightsManager.getLicenseURI(licenseId), "licenseUri"); -// (Licensing.License memory license, address owner) = rightsManager.getLicense(licenseId); -// assertEq(owner, licenseHolder, "internal method will not create ipasset, but we mockMinted in RightsManagerHarness"); -// assertEq(license.active, true, "license active"); -// assertEq(license.canSublicense, canSublicense, "license canSublicense"); -// assertEq(license.commercial, commercial, "license commercial"); -// assertEq(license.parentLicenseId, parentLicenseId, "license parentLicenseId"); -// assertEq(license.tokenId, tokenId, "license tokenId"); -// assertEq(license.revoker, revoker, "license revoker"); -// assertEq(license.uri, "licenseUri", "license uri"); -// assertEq(address(license.termsProcessor), address(termsProcessor), "license termsProcessor"); -// assertEq(license.termsData, abi.encode("terms"), "license termsData"); -// } -// } diff --git a/test/foundry/modules/licensing/terms/TimeTermsProcessor.t.sol b/test/foundry/modules/licensing/terms/TimeTermsProcessor.t.sol deleted file mode 100644 index 3ba1bff9..00000000 --- a/test/foundry/modules/licensing/terms/TimeTermsProcessor.t.sol +++ /dev/null @@ -1,175 +0,0 @@ -// // SPDX-License-Identifier: BUSDL-1.1 -// pragma solidity ^0.8.13; - -// import "forge-std/Test.sol"; -// import 'test/foundry/utils/BaseTest.sol'; -// import "contracts/errors/General.sol"; -// import "contracts/interfaces/modules/licensing/terms/ITermsProcessor.sol"; -// import "contracts/modules/licensing/terms/TimeTermsProcessor.sol"; -// import "contracts/modules/timing/LibDuration.sol"; - -// contract LicenseRegistryTest is BaseTest { - -// address licenseHolder = address(0x888888); -// ITermsProcessor processor; -// uint256 licenseId; -// uint256 ipAssetId; -// uint256 parentLicenseId; - -// function setUp() virtual override public { -// deployProcessors = false; -// super.setUp(); -// (, ipAssetId) = ipAssetOrg.createIpAsset(IPAsset.CreateIpAssetParams({ -// ipAssetType: IPAsset.IPAssetType(1), -// name: "name", -// description: "description", -// mediaUrl: "mediaUrl", -// to: licenseHolder, -// parentIpAssetOrgId: 0, -// collectData: "" -// })); -// parentLicenseId = ipAssetOrg.getLicenseIdByTokenId(ipAssetId, false); -// processor = getTermsProcessor(); -// } - -// function test_revert_execute_terms_unauthorized() public { -// bytes memory data = getTermsData(abi.encode(1)); -// vm.expectRevert(Unauthorized.selector); -// processor.executeTerms(data); -// } - -// function test_execute_terms_start_on_license_creation() public virtual { -// uint64 ttl = 1000; -// uint64 startTime = uint64(block.timestamp) + 100; -// address renewer = address(0); - -// LibDuration.TimeConfig memory config = LibDuration.TimeConfig( -// ttl, -// startTime, -// renewer -// ); -// bytes memory encodedConfig = getTermsConfig(abi.encode(config)); - -// Licensing.TermsProcessorConfig memory termsConfig = Licensing.TermsProcessorConfig({ -// processor: processor, -// data: encodedConfig -// }); - -// assertFalse(processor.termsExecutedSuccessfully(encodedConfig), "terms should be inactive before start time"); - -// vm.prank(licenseHolder); -// licenseId = ipAssetOrg.createLicense( -// ipAssetId, -// parentLicenseId, -// licenseHolder, -// "licenseUri", -// revoker, -// false, -// false, -// termsConfig -// ); -// vm.prank(licenseHolder); -// ipAssetOrg.executeTerms(licenseId); -// assertFalse(ipAssetOrg.isLicenseActive(licenseId), "execution is a noop if start time set"); -// assertFalse(processor.termsExecutedSuccessfully(encodedConfig), "execution is a noop if start time set"); -// vm.warp(startTime + 100); -// assertTrue(ipAssetOrg.isLicenseActive(licenseId), "license should be active after start time"); -// assertTrue(processor.termsExecutedSuccessfully(encodedConfig), "terms should be active after start time"); -// vm.warp(startTime + ttl + 1); -// assertFalse(processor.termsExecutedSuccessfully(encodedConfig), "terms should be inactive after ttl"); -// assertFalse(ipAssetOrg.isLicenseActive(licenseId), "license should be inactive after ttl"); - -// } - -// function test_terms_always_false_if_not_started() public virtual { -// uint64 ttl = 1000; -// uint64 startTime = 0; // unset so it fills with block.timestamp in terms execution -// address renewer = address(0); - -// LibDuration.TimeConfig memory config = LibDuration.TimeConfig( -// ttl, -// startTime, -// renewer -// ); -// bytes memory encodedConfig = getTermsConfig(abi.encode(config)); -// Licensing.TermsProcessorConfig memory termsConfig = Licensing.TermsProcessorConfig({ -// processor: processor, -// data: encodedConfig -// }); - -// assertFalse(processor.termsExecutedSuccessfully(encodedConfig)); - -// vm.prank(licenseHolder); -// licenseId = ipAssetOrg.createLicense( -// ipAssetId, -// parentLicenseId, -// licenseHolder, -// "licenseUri", -// revoker, -// false, -// false, -// termsConfig -// ); -// assertFalse(ipAssetOrg.isLicenseActive(licenseId)); -// assertFalse(processor.termsExecutedSuccessfully(encodedConfig)); -// vm.warp(block.timestamp + 100); -// assertFalse(ipAssetOrg.isLicenseActive(licenseId)); -// assertFalse(processor.termsExecutedSuccessfully(encodedConfig)); -// vm.warp(block.timestamp + ttl + 1); -// assertFalse(processor.termsExecutedSuccessfully(encodedConfig)); -// assertFalse(ipAssetOrg.isLicenseActive(licenseId)); - -// } - -// function test_execute_terms_start_license_countdown() public virtual { -// uint64 ttl = 1000; -// uint64 startTime = 0; // unset so it fills with block.timestamp in terms execution -// address renewer = address(0); - -// LibDuration.TimeConfig memory config = LibDuration.TimeConfig( -// ttl, -// startTime, -// renewer -// ); -// bytes memory encodedConfig = getTermsConfig(abi.encode(config)); -// Licensing.TermsProcessorConfig memory termsConfig = Licensing.TermsProcessorConfig({ -// processor: processor, -// data: encodedConfig -// }); - -// assertFalse(processor.termsExecutedSuccessfully(encodedConfig), "terms should be inactive before start time"); - -// vm.prank(licenseHolder); -// licenseId = ipAssetOrg.createLicense( -// ipAssetId, -// parentLicenseId, -// licenseHolder, -// "licenseUri", -// revoker, -// false, -// false, -// termsConfig -// ); -// assertFalse(ipAssetOrg.isLicenseActive(licenseId), "terms not executed yet"); -// vm.prank(licenseHolder); -// ipAssetOrg.executeTerms(licenseId); -// assertTrue(ipAssetOrg.isLicenseActive(licenseId), "license started after terms execution"); -// vm.warp(block.timestamp + 100); -// assertTrue(ipAssetOrg.isLicenseActive(licenseId), "license should be active after start time"); -// vm.warp(block.timestamp + ttl + 1); -// assertFalse(ipAssetOrg.isLicenseActive(licenseId), "license should be inactive after ttl"); - -// } - -// function getTermsProcessor() internal virtual returns (ITermsProcessor) { -// return new TimeTermsProcessor(address(ipAssetOrg)); -// } - -// function getTermsData(bytes memory data) internal virtual returns (bytes memory) { -// return data; -// } - -// function getTermsConfig(bytes memory config) internal virtual returns (bytes memory) { -// return config; -// } -// } diff --git a/test/foundry/modules/registration/RegistrationTest.sol b/test/foundry/modules/registration/RegistrationTest.sol new file mode 100644 index 00000000..b7c69667 --- /dev/null +++ b/test/foundry/modules/registration/RegistrationTest.sol @@ -0,0 +1,181 @@ +// SPDX-License-Identifier: UNLICENSED +// See Story Protocol Alpha Agreement: https://github.com/storyprotocol/protocol-contracts/blob/main/StoryProtocol-AlphaTestingAgreement-17942166.3.pdf +pragma solidity ^0.8.18; + +import { Strings } from "@openzeppelin/contracts/utils/Strings.sol"; +import { Base64 } from "@openzeppelin/contracts/utils/Base64.sol"; +import { IRegistrationModule } from "contracts/interfaces/modules/registration/IRegistrationModule.sol"; + +import { Registration } from "contracts/lib/modules/Registration.sol"; +import { IPAssetRegistry } from "contracts/IPAssetRegistry.sol"; +import { BaseTestUtils } from "test/foundry/utils/BaseTestUtils.sol"; +import { BaseTest } from "test/foundry/utils/BaseTest.sol"; +// import { MockRegistrationModule } from "test/foundry/mocks/MockCollectModule.sol"; + +import { Errors } from "contracts/lib/Errors.sol"; + +/// @title Registration Module Testing Contract +contract RegistrationModuleTest is BaseTest { + + // TODO: Currently, when compiling with 0.8.21, there is a known ICE bug that prevents us from emitting from the interface directly e.g. via IIPAssetRegistry.Registered - these two should be refactored in favor of emitting through the interface once we officially migrate to 0.8.22. + + event Registered( + uint256 ipAssetId_, + string name_, + address indexed ipOrg_, + address indexed registrant_, + bytes32 hash_ + ); + + event IPAssetRegistered( + uint256 ipAssetId_, + address indexed ipOrg_, + uint256 ipOrgAssetId_, + address indexed owner_, + string name_, + uint8 indexed ipOrgAssetType_, + bytes32 hash_, + string mediaUrl_ + ); + + // Id of IP asset which may differ per test based on testing constraints. + uint256 ipAssetId; + address payable registrant; + + /// @notice Modifier that creates an IP asset for testing. + /// @param ipAssetOwner The owner address for the new IP asset. + /// @param ipAssetType The type of the IP asset being created. + modifier createIpAsset(address ipAssetOwner, uint8 ipAssetType) virtual { + (ipAssetId, ) = _createIpAsset(ipAssetOwner, ipAssetType, ""); + _; + } + + /// @notice Sets up the base collect module for running tests. + function setUp() public virtual override(BaseTest) { + super.setUp(); + registrant = cal; + } + + /// @notice Tests custom token URI override for IPOrgs. + function test_RegistrationModuleSetMetadata() public virtual createIpAsset(registrant, 0) { + address ipOrgOwner = ipOrg.owner(); + vm.prank(ipOrgOwner); + spg.setMetadata( + address(ipOrg), + "https://storyprotocol.xyz/", + "https://storyprotocol.xyz" + ); + assertEq(registrationModule.tokenURI(address(ipOrg), 1, 0), "https://storyprotocol.xyz/1"); + } + + /// @notice Tests the default token URI for IPAs. + function test_RegistrationModuleDefaultIPOrgMetadata() public virtual createIpAsset(registrant, 0) { + IPAssetRegistry.IPA memory ipa = registry.ipAsset(1); + string memory ipOrgStr = Strings.toHexString(uint160(address(ipOrg)), 20); + string memory registrantStr = Strings.toHexString(uint160(address(registrant)), 20); + + string memory part1 = string(abi.encodePacked( + '{"name": "Global IP Asset #1", "description": "IP Org Asset Registration Details", "attributes": [', + '{"trait_type": "Name", "value": "TestIPAsset"},', + '{"trait_type": "IP Org", "value": "', ipOrgStr, '"},', + '{"trait_type": "Current IP Owner", "value": "', registrantStr, '"},', + '{"trait_type": "Initial Registrant", "value": "', registrantStr, '"},' + )); + + string memory part2 = string(abi.encodePacked( + '{"trait_type": "IP Org Asset Type", "value": "CHARACTER"},', + '{"trait_type": "Status", "value": "1"},', + '{"trait_type": "Hash", "value": "0x0000000000000000000000000000000000000000000000000000000000000000"},', + '{"trait_type": "Registration Date", "value": "', Strings.toString(ipa.registrationDate), '"}' + ']}' + )); + string memory expectedURI = string(abi.encodePacked( + "data:application/json;base64,", + Base64.encode(bytes(string(abi.encodePacked(part1, part2)))) + )); + assertEq(expectedURI, registrationModule.tokenURI(address(ipOrg), 1, 0)); + + } + + /// @notice Tests IP Asset registration. + function test_RegistrationModuleIPARegistration() public virtual { + vm.prank(cal); + vm.expectEmit(true, true, true, true, address(registry)); + emit Registered( + 1, + "TestIPA", + address(ipOrg), + cal, + "" + ); + vm.expectEmit(true, true, true, true, address(registrationModule)); + emit IPAssetRegistered( + 1, + address(ipOrg), + 1, + cal, + "TestIPA", + 0, + "", + "" + ); + _register(address(ipOrg), cal, "TestIPA", 0, "", ""); + assertEq(registry.ipAssetOwner(1), cal); + assertEq(ipOrg.ownerOf(1), cal); + } + + /// @notice Tests IP Asset registration with media URL. + function test_RegistrationModuleIPARegistrationWithMediaUrl() public virtual { + string memory mediaUrl = "http://token.url"; + vm.prank(cal); + vm.expectEmit(true, true, true, true, address(registry)); + emit Registered( + 1, + "TestIPA", + address(ipOrg), + cal, + "" + ); + vm.expectEmit(true, true, true, true, address(registrationModule)); + emit IPAssetRegistered( + 1, + address(ipOrg), + 1, + cal, + "TestIPA", + 0, + "", + mediaUrl + ); + _register(address(ipOrg), cal, "TestIPA", 0, "", mediaUrl); + assertEq(registry.ipAssetOwner(1), cal, "ipa owner"); + assertEq(ipOrg.ownerOf(1), cal, "iporg owner"); + assertEq(mediaUrl, registrationModule.tokenURI(address(ipOrg), 1, 0), "media url"); + } + + /// @dev Helper function that performs registration. + /// @param ipOrg_ Address of the ipOrg of the IP asset. + /// @param owner_ Address of the owner of the IP asset. + /// @param name_ Name of the IP asset. + /// @param ipOrgAssetType_ Type of the IP asset. + /// @param hash_ Content has of the IP Asset. + function _register( + address ipOrg_, + address owner_, + string memory name_, + uint8 ipOrgAssetType_, + bytes32 hash_, + string memory mediaUrl_ + ) internal virtual returns (uint256, uint256) { + Registration.RegisterIPAssetParams memory params = Registration.RegisterIPAssetParams({ + owner: owner_, + name: name_, + ipOrgAssetType: ipOrgAssetType_, + hash: hash_, + mediaUrl: mediaUrl_ + }); + bytes[] memory hooks = new bytes[](0); + return spg.registerIPAsset(address(ipOrg), params, 0, hooks, hooks); + } + +} diff --git a/test/foundry/modules/relationships/LibIPAssetMask.t.sol b/test/foundry/modules/relationships/LibIPAssetMask.t.sol deleted file mode 100644 index f02d2eab..00000000 --- a/test/foundry/modules/relationships/LibIPAssetMask.t.sol +++ /dev/null @@ -1,190 +0,0 @@ -// SPDX-License-Identifier: BUSDL-1.1 -pragma solidity ^0.8.13; - -import "forge-std/Test.sol"; - -import { Errors } from "contracts/lib/Errors.sol"; -import { LibIPAssetMask } from "contracts/modules/relationships/LibIPAssetMask.sol"; -import { IPAsset } from "contracts/lib/IPAsset.sol"; -import { IPAssetOrgFactory } from "contracts/IPAssetOrgFactory.sol"; -import { ERC721 } from "@openzeppelin/contracts/token/ERC721/ERC721.sol"; -import { MockERC721 } from "test/foundry/mocks/MockERC721.sol"; - -contract LibIPAssetMaskHarness { - - function convertToMask(IPAsset.IPAssetType[] calldata ipAssets, bool allowsExternal) pure external returns (uint256) { - return LibIPAssetMask._convertToMask(ipAssets, allowsExternal); - } - - function convertFromMask(uint256 mask) pure external returns (IPAsset.IPAssetType[] memory, bool) { - return LibIPAssetMask._convertFromMask(mask); - } - - function supportsIPAssetType(uint256 mask, uint8 assetType) pure external returns (bool) { - return LibIPAssetMask._supportsIPAssetType(mask, assetType); - } - - function checkRelationshipNode(bool isAssetRegistry, uint256 assetId, uint256 assetTypeMask) external pure returns (bool result) { - return LibIPAssetMask._checkRelationshipNode(isAssetRegistry, assetId, assetTypeMask); - } -} - -contract LibIPAssetMaskHarnessTest is Test { - - LibIPAssetMaskHarness public checker; - - error InvalidIPAssetArray(); - - function setUp() public { - checker = new LibIPAssetMaskHarness(); - } - - function test_convertToMaskWithoutExternal() public { - for (uint8 i = 1; i <= uint8(IPAsset.IPAssetType.ITEM); i++) { - IPAsset.IPAssetType[] memory ipAssets = new IPAsset.IPAssetType[](i); - uint256 resultMask; - for (uint8 j = 1; j <= i; j++) { - ipAssets[j-1] = IPAsset.IPAssetType(j); - resultMask |= 1 << (uint256(IPAsset.IPAssetType(j)) & 0xff); - } - uint256 mask = checker.convertToMask(ipAssets, false); - assertEq(mask, resultMask); - } - } - - function test_convertToMaskWithExternal() public { - for (uint8 i = 1; i <= uint8(IPAsset.IPAssetType.ITEM); i++) { - IPAsset.IPAssetType[] memory ipAssets = new IPAsset.IPAssetType[](i); - uint256 resultMask; - for (uint8 j = 1; j <= i; j++) { - ipAssets[j-1] = IPAsset.IPAssetType(j); - resultMask |= 1 << (uint256(IPAsset.IPAssetType(j)) & 0xff); - } - resultMask |= uint256(IPAsset.EXTERNAL_ASSET) << 248; - uint256 mask = checker.convertToMask(ipAssets, true); - assertEq(mask, resultMask); - } - } - - function test_revert_convertToMaskWithExternal_ifEmptyArray() public { - IPAsset.IPAssetType[] memory ipAssets = new IPAsset.IPAssetType[](0); - vm.expectRevert(Errors.IPAsset_InvalidIPAssetArray.selector); - checker.convertToMask(ipAssets, false); - } - - function test_revert_convertToMaskWithExterna_ifZeroRow() public { - IPAsset.IPAssetType[] memory ipAssets = new IPAsset.IPAssetType[](1); - ipAssets[0] = IPAsset.IPAssetType(0); - vm.expectRevert(Errors.IPAsset_InvalidIPAssetArray.selector); - checker.convertToMask(ipAssets, false); - } - -} - -contract LibIPAssetMaskConvertFromMaskTest is Test { - - LibIPAssetMaskHarness public checker; - - error InvalidIPAssetArray(); - IPAsset.IPAssetType[] assets; - - function setUp() public { - checker = new LibIPAssetMaskHarness(); - } - - function test_convertFromMask() public { - IPAsset.IPAssetType[] memory result; - bool supportsExternal; - uint256 mask = 0; - for (uint8 i = 1; i <= uint8(IPAsset.IPAssetType.ITEM); i++) { - mask |= 1 << (uint256(IPAsset.IPAssetType(i)) & 0xff); - assets.push(IPAsset.IPAssetType(i)); - (result, supportsExternal) = checker.convertFromMask(mask); - assertFalse(supportsExternal); - for (uint8 j = 0; j < assets.length; j++) { - assertEq(uint8(result[j]), uint8(assets[j])); - } - } - mask |= uint256(IPAsset.EXTERNAL_ASSET) << 248; - (result, supportsExternal) = checker.convertFromMask(mask); - assertTrue(supportsExternal); - for (uint8 j = 0; j < assets.length; j++) { - assertEq(uint8(result[j]), uint8(assets[j])); - } - } - -} - -contract LibIPAssetMaskSupportsAssetTypeTest is Test { - - LibIPAssetMaskHarness public checker; - - error InvalidIPAssetArray(); - - function setUp() public { - checker = new LibIPAssetMaskHarness(); - } - - function test_supportsIPAssetType_true() public { - uint256 mask = 0; - for (uint8 i = 1; i <= uint8(IPAsset.IPAssetType.ITEM); i++) { - mask |= 1 << (uint256(IPAsset.IPAssetType(i)) & 0xff); - } - mask |= uint256(IPAsset.EXTERNAL_ASSET) << 248; - for (uint8 i = 1; i <= uint8(IPAsset.IPAssetType.ITEM); i++) { - assertTrue(checker.supportsIPAssetType(mask, i)); - } - assertTrue(checker.supportsIPAssetType(mask, type(uint8).max)); - } - - function test_supportIPAssetType_false() public { - uint256 zeroMask; - for (uint8 i = 1; i <= uint8(IPAsset.IPAssetType.ITEM); i++) { - assertFalse(checker.supportsIPAssetType(zeroMask, i)); - } - assertFalse(checker.supportsIPAssetType(zeroMask, type(uint8).max)); - } - -} - - - -contract LibIPAssetMaskNodesTest is Test { - - LibIPAssetMaskHarness public checker; - MockERC721 public collection; - address public owner = address(0x1); - - error InvalidIPAssetArray(); - - function setUp() public { - checker = new LibIPAssetMaskHarness(); - collection = new MockERC721(); - } - - function test_checkRelationshipNode_ipAsset_true() public { - uint256 tokenId = IPAsset._zeroId(IPAsset.IPAssetType(1)) + 1; - collection.mint(owner, tokenId); - uint256 mask = 1 << (uint256(IPAsset.IPAssetType(1)) & 0xff); - bool result = checker.checkRelationshipNode(true, tokenId, mask); - assertTrue(result); - } - - function test_checkRelationshipNode_ipAsset_false() public { - uint256 tokenId = IPAsset._zeroId(IPAsset.IPAssetType(1)) + 1; - collection.mint(owner, tokenId); - uint256 mask = 1 << (uint256(IPAsset.IPAssetType(2)) & 0xff); - bool result = checker.checkRelationshipNode(true, tokenId, mask); - assertFalse(result); - } - - function test_checkRelationshipNode_external_true() public { - uint256 tokenId = IPAsset._zeroId(IPAsset.IPAssetType(1)) + 1; - collection.mint(owner, tokenId); - uint256 mask = 1 << (uint256(IPAsset.EXTERNAL_ASSET) & 0xff); - bool result = checker.checkRelationshipNode(false, tokenId, mask); - assertTrue(result); - } - - -} diff --git a/test/foundry/modules/relationships/ProtocolRelationshipModule.Config.t.sol b/test/foundry/modules/relationships/ProtocolRelationshipModule.Config.t.sol deleted file mode 100644 index 6bcae251..00000000 --- a/test/foundry/modules/relationships/ProtocolRelationshipModule.Config.t.sol +++ /dev/null @@ -1,162 +0,0 @@ -// SPDX-License-Identifier: BUSDL-1.1 -pragma solidity ^0.8.13; - -import "forge-std/Test.sol"; -import 'test/foundry/utils/BaseTest.sol'; -import "contracts/modules/relationships/processors/PermissionlessRelationshipProcessor.sol"; -import "contracts/modules/relationships/ProtocolRelationshipModule.sol"; -import "contracts/ip-assets/IPAssetOrg.sol"; -import { AccessControl } from "contracts/lib/AccessControl.sol"; -import { Relationship } from "contracts/lib/modules/Relationship.sol"; - -contract ProtocolRelationshipModuleSetupRelationshipsTest is BaseTest { - - address relationshipManager = address(0x234); - - function setUp() override public { - deployProcessors = true; - super.setUp(); - - vm.startPrank(ipAssetOrgOwner); - IPAsset.RegisterIPAssetOrgParams memory params = IPAsset.RegisterIPAssetOrgParams( - address(registry), - "name", - "symbol", - "description", - "tokenURI" - ); - address ipAssets = ipAssetOrgFactory.registerIPAssetOrg(params); - ipAssetOrg = IPAssetOrg(ipAssets); - vm.stopPrank(); - relationshipModule = ProtocolRelationshipModule( - _deployUUPSProxy( - address(new ProtocolRelationshipModule(address(ipAssetOrgFactory))), - abi.encodeWithSelector( - bytes4(keccak256(bytes("initialize(address)"))), address(accessControl) - ) - ) - ); - vm.prank(admin); - accessControl.grantRole(AccessControl.RELATIONSHIP_MANAGER_ROLE, relationshipManager); - } - - function test_setProtocolLevelRelationship() public { - IPAsset.IPAssetType[] memory sourceIpAssets = new IPAsset.IPAssetType[](1); - sourceIpAssets[0] = IPAsset.IPAssetType.STORY; - IPAsset.IPAssetType[] memory destIpAssets = new IPAsset.IPAssetType[](2); - destIpAssets[0] = IPAsset.IPAssetType.CHARACTER; - destIpAssets[1] = IPAsset.IPAssetType.ART; - - Relationship.SetRelationshipConfigParams memory params = Relationship.SetRelationshipConfigParams({ - sourceIpAssets: sourceIpAssets, - allowedExternalSource: false, - destIpAssets: destIpAssets, - allowedExternalDest: true, - onlySameIPAssetOrg: true, - processor: address(relationshipProcessor), - disputer: address(this), - timeConfig: Relationship.TimeConfig({ - minTtl: 0, - maxTtl: 0, - renewable: false - }) - }); - vm.prank(relationshipManager); - bytes32 relId = relationshipModule.setRelationshipConfig("RELATIONSHIP", params); - - Relationship.RelationshipConfig memory config = relationshipModule.getRelationshipConfig(relId); - assertEq(config.sourceIpAssetTypeMask, 1 << (uint256(IPAsset.IPAssetType.STORY) & 0xff)); - assertEq(config.destIpAssetTypeMask, 1 << (uint256(IPAsset.IPAssetType.CHARACTER) & 0xff) | 1 << (uint256(IPAsset.IPAssetType.ART) & 0xff) | (uint256(IPAsset.EXTERNAL_ASSET) << 248)); - assertTrue(config.onlySameIPAssetOrg); - // TODO: test for event - - } - - function test_revert_IfSettingProtocolLevelRelationshipUnauthorized() public { - IPAsset.IPAssetType[] memory sourceIpAssets = new IPAsset.IPAssetType[](1); - sourceIpAssets[0] = IPAsset.IPAssetType.STORY; - IPAsset.IPAssetType[] memory destIpAssets = new IPAsset.IPAssetType[](2); - destIpAssets[0] = IPAsset.IPAssetType.CHARACTER; - destIpAssets[1] = IPAsset.IPAssetType.ART; - - Relationship.SetRelationshipConfigParams memory params = Relationship.SetRelationshipConfigParams({ - sourceIpAssets: sourceIpAssets, - allowedExternalSource: false, - destIpAssets: destIpAssets, - allowedExternalDest: true, - onlySameIPAssetOrg: true, - processor: address(relationshipProcessor), - disputer: address(this), - timeConfig: Relationship.TimeConfig({ - minTtl: 0, - maxTtl: 0, - renewable: false - }) - }); - vm.expectRevert(); - vm.prank(ipAssetOrgOwner); - relationshipModule.setRelationshipConfig("RELATIONSHIP", params); - } - -} - -contract ProtocolRelationshipModuleUnsetRelationshipsTest is BaseTest { - - bytes32 relId; - address relationshipManager = address(0x234); - - function setUp() override public { - deployProcessors = true; - super.setUp(); - relationshipModule = ProtocolRelationshipModule( - _deployUUPSProxy( - address(new ProtocolRelationshipModule(address(ipAssetOrgFactory))), - abi.encodeWithSelector( - bytes4(keccak256(bytes("initialize(address)"))), address(accessControl) - ) - ) - ); - vm.prank(admin); - accessControl.grantRole(AccessControl.RELATIONSHIP_MANAGER_ROLE, relationshipManager); - - IPAsset.IPAssetType[] memory sourceIpAssets = new IPAsset.IPAssetType[](1); - sourceIpAssets[0] = IPAsset.IPAssetType.STORY; - IPAsset.IPAssetType[] memory destIpAssets = new IPAsset.IPAssetType[](1); - destIpAssets[0] = IPAsset.IPAssetType.CHARACTER; - Relationship.SetRelationshipConfigParams memory params = Relationship.SetRelationshipConfigParams({ - sourceIpAssets: sourceIpAssets, - allowedExternalSource: false, - destIpAssets: destIpAssets, - allowedExternalDest: true, - onlySameIPAssetOrg: true, - processor: address(relationshipProcessor), - disputer: address(this), - timeConfig: Relationship.TimeConfig({ - minTtl: 0, - maxTtl: 0, - renewable: false - }) - }); - vm.prank(relationshipManager); - relId = relationshipModule.setRelationshipConfig("RELATIONSHIP", params); - - } - - function test_unsetRelationshipConfig() public { - vm.prank(relationshipManager); - relationshipModule.unsetRelationshipConfig(relId); - - Relationship.RelationshipConfig memory config = relationshipModule.getRelationshipConfig(relId); - assertEq(config.sourceIpAssetTypeMask, 0); - assertEq(config.destIpAssetTypeMask, 0); - assertFalse(config.onlySameIPAssetOrg); - // TODO: test for event - } - - function test_revert_unsetRelationshipConfigNotAuthorized() public { - vm.expectRevert(); - vm.prank(ipAssetOrgOwner); - relationshipModule.unsetRelationshipConfig(relId); - } - -} diff --git a/test/foundry/modules/relationships/RelationshipModule.Config.t.sol b/test/foundry/modules/relationships/RelationshipModule.Config.t.sol index e8bd1459..b32363df 100644 --- a/test/foundry/modules/relationships/RelationshipModule.Config.t.sol +++ b/test/foundry/modules/relationships/RelationshipModule.Config.t.sol @@ -1,167 +1,177 @@ // SPDX-License-Identifier: BUSDL-1.1 pragma solidity ^0.8.13; +import "forge-std/Test.sol"; import 'test/foundry/utils/BaseTest.sol'; -import { Errors } from "contracts/lib/Errors.sol"; -import { Relationship } from "contracts/lib/modules/Relationship.sol"; +import 'contracts/modules/relationships/RelationshipModule.sol'; +import 'contracts/lib/modules/LibRelationship.sol'; +import { AccessControl } from "contracts/lib/AccessControl.sol"; +import { BitMask } from "contracts/lib/BitMask.sol"; -contract RelationshipModuleSetupRelationshipsTest is BaseTest { +contract RelationshipModuleConfigTest is BaseTest { - function setUp() virtual override public { - deployProcessors = true; + address relCreator = address(4444444); + + function setUp() override public { super.setUp(); + _grantRole(vm, AccessControl.RELATIONSHIP_MANAGER_ROLE, relCreator); } - function test_setRelationship() public { - IPAsset.IPAssetType[] memory sourceIpAssets = new IPAsset.IPAssetType[](1); - sourceIpAssets[0] = IPAsset.IPAssetType.STORY; - IPAsset.IPAssetType[] memory destIpAssets = new IPAsset.IPAssetType[](2); - destIpAssets[0] = IPAsset.IPAssetType.CHARACTER; - destIpAssets[1] = IPAsset.IPAssetType.ART; - - Relationship.SetRelationshipConfigParams memory params = Relationship.SetRelationshipConfigParams({ - sourceIpAssets: sourceIpAssets, - allowedExternalSource: false, - destIpAssets: destIpAssets, - allowedExternalDest: true, - onlySameIPAssetOrg: true, - processor: address(relationshipProcessor), - disputer: address(this), - timeConfig: Relationship.TimeConfig({ - minTtl: 0, - maxTtl: 0, - renewable: false - }) + function test_RelationshipModule_addProtocolRelationshipType() public { + LibRelationship.RelatedElements memory allowedElements = LibRelationship.RelatedElements({ + src: LibRelationship.Relatables.ADDRESS, + dst: LibRelationship.Relatables.ADDRESS }); - - bytes32 relId = relationshipModule.setRelationshipConfig("RELATIONSHIP", params); - assertEq(relId, keccak256(abi.encode("RELATIONSHIP"))); - - Relationship.RelationshipConfig memory config = relationshipModule.getRelationshipConfig(relId); - assertEq(config.sourceIpAssetTypeMask, 1 << (uint256(IPAsset.IPAssetType.STORY) & 0xff)); - assertEq(config.destIpAssetTypeMask, 1 << (uint256(IPAsset.IPAssetType.CHARACTER) & 0xff) | 1 << (uint256(IPAsset.IPAssetType.ART) & 0xff) | (uint256(IPAsset.EXTERNAL_ASSET) << 248)); - assertTrue(config.onlySameIPAssetOrg); - // TODO: test for event - + uint8[] memory allowedSrcs = new uint8[](0); + uint8[] memory allowedDsts = new uint8[](0); + LibRelationship.AddRelationshipTypeParams memory params = LibRelationship.AddRelationshipTypeParams({ + relType: "TEST_RELATIONSHIP", + ipOrg: LibRelationship.PROTOCOL_LEVEL_RELATIONSHIP, + allowedElements: allowedElements, + allowedSrcs: allowedSrcs, + allowedDsts: allowedDsts + }); + vm.prank(relCreator); + // Todo test event + spg.addRelationshipType(params); + LibRelationship.RelationshipType memory relType = relationshipModule.getRelationshipType( + LibRelationship.PROTOCOL_LEVEL_RELATIONSHIP, + "TEST_RELATIONSHIP" + ); + assertEq(relType.src, LibRelationship.NO_ADDRESS_RESTRICTIONS); + assertEq(relType.srcSubtypesMask, 0); + assertEq(relType.dst, LibRelationship.NO_ADDRESS_RESTRICTIONS); + assertEq(relType.dstSubtypesMask, 0); } - function test_revert_IfMasksNotConfigured() public { - IPAsset.IPAssetType[] memory sourceIpAssets = new IPAsset.IPAssetType[](1); - sourceIpAssets[0] = IPAsset.IPAssetType.UNDEFINED; - IPAsset.IPAssetType[] memory destIpAssets = new IPAsset.IPAssetType[](2); - - Relationship.SetRelationshipConfigParams memory params = Relationship.SetRelationshipConfigParams({ - sourceIpAssets: sourceIpAssets, - allowedExternalSource: false, - destIpAssets: destIpAssets, - allowedExternalDest: true, - onlySameIPAssetOrg: true, - processor: address(relationshipProcessor), - disputer: address(this), - timeConfig: Relationship.TimeConfig({ - minTtl: 0, - maxTtl: 0, - renewable: false - }) + function test_RelationshipModule_addIpOrgIpOrgRelationships() public { + LibRelationship.RelatedElements memory allowedElements = LibRelationship.RelatedElements({ + src: LibRelationship.Relatables.IPORG_ENTRY, + dst: LibRelationship.Relatables.IPORG_ENTRY }); + uint8[] memory allowedSrcs = new uint8[](2); + allowedSrcs[0] = 0; + allowedSrcs[1] = 2; + uint8[] memory allowedDsts = new uint8[](1); + allowedDsts[0] = 1; + LibRelationship.AddRelationshipTypeParams memory params = LibRelationship.AddRelationshipTypeParams({ + relType: "TEST_RELATIONSHIP", + ipOrg: address(ipOrg), + allowedElements: allowedElements, + allowedSrcs: allowedSrcs, + allowedDsts: allowedDsts + }); + vm.prank(ipOrgOwner); + // Todo test event + spg.addRelationshipType(params); + LibRelationship.RelationshipType memory relType = relationshipModule.getRelationshipType( + address(ipOrg), + "TEST_RELATIONSHIP" + ); + assertEq(relType.src, address(ipOrg)); + assertEq(relType.srcSubtypesMask, BitMask._convertToMask(allowedSrcs)); + assertEq(relType.dst, address(ipOrg)); + assertEq(relType.dstSubtypesMask, BitMask._convertToMask(allowedDsts)); - vm.expectRevert(); - relationshipModule.setRelationshipConfig("RELATIONSHIP", params); } - function test_relationshipConfigDecoded() public { - IPAsset.IPAssetType[] memory sourceIpAssets = new IPAsset.IPAssetType[](1); - sourceIpAssets[0] = IPAsset.IPAssetType.STORY; - IPAsset.IPAssetType[] memory destIpAssets = new IPAsset.IPAssetType[](2); - destIpAssets[0] = IPAsset.IPAssetType.CHARACTER; - destIpAssets[1] = IPAsset.IPAssetType.ART; + function test_RelationshipModule_revert_addIpOrgIpOrgRelationships_UnsupportedTypes() public { + uint8[] memory allowedSrcs = new uint8[](0); + uint8[] memory allowedDsts = new uint8[](0); + allowedSrcs = new uint8[](3); + allowedSrcs[0] = 1; + allowedSrcs[1] = 2; + allowedSrcs[2] = 0; + allowedDsts = new uint8[](1); + allowedDsts[0] = 9; + + LibRelationship.RelatedElements memory allowedElements = LibRelationship.RelatedElements({ + src: LibRelationship.Relatables.IPORG_ENTRY, + dst: LibRelationship.Relatables.IPORG_ENTRY + }); - Relationship.SetRelationshipConfigParams memory params = Relationship.SetRelationshipConfigParams({ - sourceIpAssets: sourceIpAssets, - allowedExternalSource: false, - destIpAssets: destIpAssets, - allowedExternalDest: true, - onlySameIPAssetOrg: true, - processor: address(relationshipProcessor), - disputer: address(this), - timeConfig: Relationship.TimeConfig({ - minTtl: 0, - maxTtl: 0, - renewable: false - }) + LibRelationship.AddRelationshipTypeParams memory params = LibRelationship.AddRelationshipTypeParams({ + relType: "TEST_RELATIONSHIP", + ipOrg: address(ipOrg), + allowedElements: allowedElements, + allowedSrcs: allowedSrcs, + allowedDsts: allowedDsts }); - bytes32 relId = relationshipModule.setRelationshipConfig("RELATIONSHIP", params); - - Relationship.SetRelationshipConfigParams memory result = relationshipModule.getRelationshipConfigDecoded(relId); - - _assertEqIPAssetArray(result.sourceIpAssets, params.sourceIpAssets); - _assertEqIPAssetArray(result.destIpAssets, params.destIpAssets); - assertEq(result.allowedExternalSource, params.allowedExternalSource); - assertEq(result.allowedExternalDest, params.allowedExternalDest); - assertEq(result.onlySameIPAssetOrg, params.onlySameIPAssetOrg); - assertEq(result.processor, params.processor); - assertEq(result.disputer, params.disputer); - assertEq(result.timeConfig.minTtl, params.timeConfig.minTtl); - assertEq(result.timeConfig.maxTtl, params.timeConfig.maxTtl); - assertEq(result.timeConfig.renewable, params.timeConfig.renewable); - + vm.prank(ipOrgOwner); + // Todo test event + vm.expectRevert(Errors.RelationshipModule_UnsupportedIpOrgIndexType.selector); + spg.addRelationshipType(params); } - function _assertEqIPAssetArray(IPAsset.IPAssetType[] memory result, IPAsset.IPAssetType[] memory expected) internal { - for (uint256 i = 0; i < result.length; i++) { - if (i < expected.length) { - assertEq(uint256(result[i]), uint256(expected[i])); - } else { - assertEq(uint256(result[i]), 0); - } - } + function test_RelationshipModule_revert_RelationshipModule_CallerNotIpOrgOwner() public { + LibRelationship.RelatedElements memory allowedElements = LibRelationship.RelatedElements({ + src: LibRelationship.Relatables.IPORG_ENTRY, + dst: LibRelationship.Relatables.IPORG_ENTRY + }); + uint8[] memory allowedSrcs = new uint8[](2); + allowedSrcs[0] = 0; + allowedSrcs[1] = 2; + uint8[] memory allowedDsts = new uint8[](1); + allowedDsts[0] = 1; + LibRelationship.AddRelationshipTypeParams memory params = LibRelationship.AddRelationshipTypeParams({ + relType: "TEST_RELATIONSHIP", + ipOrg: address(ipOrg), + allowedElements: allowedElements, + allowedSrcs: allowedSrcs, + allowedDsts: allowedDsts + }); + vm.expectRevert(Errors.RelationshipModule_CallerNotIpOrgOwner.selector); + spg.addRelationshipType(params); } -} - -contract RelationshipModuleUnsetRelationshipsTest is BaseTest { - - - bytes32 relationshipId; - - function setUp() virtual override public { - deployProcessors = true; - super.setUp(); - IPAsset.IPAssetType[] memory sourceIpAssets = new IPAsset.IPAssetType[](1); - sourceIpAssets[0] = IPAsset.IPAssetType.STORY; - IPAsset.IPAssetType[] memory destIpAssets = new IPAsset.IPAssetType[](1); - destIpAssets[0] = IPAsset.IPAssetType.CHARACTER; - Relationship.SetRelationshipConfigParams memory params = Relationship.SetRelationshipConfigParams({ - sourceIpAssets: sourceIpAssets, - allowedExternalSource: false, - destIpAssets: destIpAssets, - allowedExternalDest: true, - onlySameIPAssetOrg: true, - processor: address(relationshipProcessor), - disputer: address(this), - timeConfig: Relationship.TimeConfig({ - minTtl: 0, - maxTtl: 0, - renewable: false - }) + function test_RelationshipModule_revert_ipOrgRelatableCannotBeProtocolLevel() public { + LibRelationship.RelatedElements memory allowedElements = LibRelationship.RelatedElements({ + src: LibRelationship.Relatables.IPORG_ENTRY, + dst: LibRelationship.Relatables.IPORG_ENTRY }); - relationshipId = relationshipModule.setRelationshipConfig("RELATIONSHIP", params); + uint8[] memory allowedSrcs = new uint8[](1); + allowedSrcs[0] = 1; + uint8[] memory allowedDsts = new uint8[](1); + allowedDsts[0] = 0; + LibRelationship.AddRelationshipTypeParams memory params = LibRelationship.AddRelationshipTypeParams({ + relType: "TEST_RELATIONSHIP", + ipOrg: LibRelationship.PROTOCOL_LEVEL_RELATIONSHIP, + allowedElements: allowedElements, + allowedSrcs: allowedSrcs, + allowedDsts: allowedDsts + }); + vm.prank(relCreator); + // Todo test event + vm.expectRevert(Errors.RelationshipModule_IpOrgRelatableCannotBeProtocolLevel.selector); + spg.addRelationshipType(params); } - function test_unsetRelationshipConfig() public { - relationshipModule.unsetRelationshipConfig(relationshipId); - - Relationship.RelationshipConfig memory config = relationshipModule.getRelationshipConfig(relationshipId); - assertEq(config.sourceIpAssetTypeMask, 0); - assertEq(config.destIpAssetTypeMask, 0); - assertFalse(config.onlySameIPAssetOrg); - // TODO: test for event + function test_RelationshipModule_removeProtocolRelationshipType() public { + LibRelationship.RelatedElements memory allowedElements = LibRelationship.RelatedElements({ + src: LibRelationship.Relatables.ADDRESS, + dst: LibRelationship.Relatables.ADDRESS + }); + uint8[] memory allowedSrcs = new uint8[](0); + uint8[] memory allowedDsts = new uint8[](0); + LibRelationship.AddRelationshipTypeParams memory params = LibRelationship.AddRelationshipTypeParams({ + relType: "TEST_RELATIONSHIP", + ipOrg: LibRelationship.PROTOCOL_LEVEL_RELATIONSHIP, + allowedElements: allowedElements, + allowedSrcs: allowedSrcs, + allowedDsts: allowedDsts + }); + vm.startPrank(relCreator); + // Todo test event + spg.addRelationshipType(params); + spg.removeRelationshipType(LibRelationship.PROTOCOL_LEVEL_RELATIONSHIP, "TEST_RELATIONSHIP"); + vm.stopPrank(); + vm.expectRevert(abi.encodeWithSignature("RelationshipModule_RelTypeNotSet(string)", "TEST_RELATIONSHIP")); + LibRelationship.RelationshipType memory relType = relationshipModule.getRelationshipType( + LibRelationship.PROTOCOL_LEVEL_RELATIONSHIP, + "TEST_RELATIONSHIP" + ); assertEq(relType.src, address(0)); } - function test_revert_unsetRelationshipConfigNonExistingRelationship() public { - bytes32 id = relationshipModule.getRelationshipId("UNDEFINED_Relationship"); - vm.expectRevert(Errors.RelationshipModule_NonExistingRelationship.selector); - relationshipModule.unsetRelationshipConfig(id); - } } + diff --git a/test/foundry/modules/relationships/RelationshipModule.Relating.t.sol b/test/foundry/modules/relationships/RelationshipModule.Relating.t.sol deleted file mode 100644 index 57638277..00000000 --- a/test/foundry/modules/relationships/RelationshipModule.Relating.t.sol +++ /dev/null @@ -1,257 +0,0 @@ -// SPDX-License-Identifier: BUSDL-1.1 -pragma solidity ^0.8.13; - -import "forge-std/Test.sol"; -import 'test/foundry/utils/ProxyHelper.sol'; -import 'test/foundry/utils/BaseTest.sol'; -import "test/foundry/mocks/MockLicensingModule.sol"; -import "contracts/lib/IPAsset.sol"; -import "contracts/modules/relationships/processors/PermissionlessRelationshipProcessor.sol"; -import "@openzeppelin/contracts/token/ERC721/ERC721.sol"; -import "contracts/ip-assets/IPAssetOrg.sol"; -import { Errors } from "contracts/lib/Errors.sol"; -import { Relationship } from "contracts/lib/modules/Relationship.sol"; - -contract MockExternalAsset is ERC721 { - constructor() ERC721("MockExternalAsset", "MEA") {} - - function mint(address to, uint256 tokenId) public { - _mint(to, tokenId); - } -} - -contract RelationshipModuleRelationshipTest is BaseTest { - - - bytes32 relationshipId; - address ipAssetOwner = address(567); - mapping(uint8 => uint256) public ipAssetIds; - - MockExternalAsset public externalAsset; - - function setUp() override public { - deployProcessors = true; - super.setUp(); - - IPAsset.IPAssetType[] memory sourceIpAssets = new IPAsset.IPAssetType[](1); - sourceIpAssets[0] = IPAsset.IPAssetType.STORY; - IPAsset.IPAssetType[] memory destIpAssets = new IPAsset.IPAssetType[](2); - destIpAssets[0] = IPAsset.IPAssetType.CHARACTER; - destIpAssets[1] = IPAsset.IPAssetType.ART; - - Relationship.SetRelationshipConfigParams memory params = Relationship.SetRelationshipConfigParams({ - sourceIpAssets: sourceIpAssets, - allowedExternalSource: false, - destIpAssets: destIpAssets, - allowedExternalDest: true, - onlySameIPAssetOrg: true, - processor: address(relationshipProcessor), - disputer: address(this), - timeConfig: Relationship.TimeConfig(0, 0, false) - }); - - relationshipId = relationshipModule.setRelationshipConfig("RELATIONSHIP_ID", params); - vm.startPrank(address(ipAssetOrgOwner)); - uint256 orgId; - - (, orgId) = ipAssetOrg.createIpAsset(IPAsset.CreateIpAssetParams({ - ipAssetType: IPAsset.IPAssetType.STORY, - name: "name", - description: "description", - mediaUrl: "mediaUrl", - to: ipAssetOwner, - parentIpAssetOrgId: 0, - collectData: "" - })); - ipAssetIds[uint8(IPAsset.IPAssetType.STORY)] = orgId; - - (, orgId) = ipAssetOrg.createIpAsset(IPAsset.CreateIpAssetParams({ - ipAssetType: IPAsset.IPAssetType.CHARACTER, - name: "name", - description: "description", - mediaUrl: "mediaUrl", - to: ipAssetOwner, - parentIpAssetOrgId: 0, - collectData: "" - })); - ipAssetIds[uint8(IPAsset.IPAssetType.CHARACTER)] = orgId; - - (, orgId) = ipAssetOrg.createIpAsset(IPAsset.CreateIpAssetParams({ - ipAssetType: IPAsset.IPAssetType.ART, - name: "name", - description: "description", - mediaUrl: "mediaUrl", - to: ipAssetOwner, - parentIpAssetOrgId: 0, - collectData: "" - })); - - ipAssetIds[uint8(IPAsset.IPAssetType.ART)] = orgId; - vm.stopPrank(); - - vm.startPrank(ipAssetOwner); - externalAsset = new MockExternalAsset(); - ipAssetIds[IPAsset.EXTERNAL_ASSET] = 333; - externalAsset.mint(ipAssetOwner, 333); - vm.stopPrank(); - } - - function test_relate() public { - relationshipModule.relate( - Relationship.RelationshipParams( - address(ipAssetOrg), ipAssetIds[uint8(IPAsset.IPAssetType.STORY)], address(ipAssetOrg), ipAssetIds[uint8(IPAsset.IPAssetType.CHARACTER)], relationshipId, 0 - ), - "" - ); - assertTrue( - relationshipModule.areTheyRelated( - Relationship.RelationshipParams( - address(ipAssetOrg), ipAssetIds[uint8(IPAsset.IPAssetType.STORY)], address(ipAssetOrg), ipAssetIds[uint8(IPAsset.IPAssetType.CHARACTER)], relationshipId, 0 - ) - ) - ); - - relationshipModule.relate( - Relationship.RelationshipParams( - address(ipAssetOrg), ipAssetIds[uint8(IPAsset.IPAssetType.STORY)], address(ipAssetOrg), ipAssetIds[uint8(IPAsset.IPAssetType.ART)], relationshipId, 0 - ), - "" - ); - assertTrue( - relationshipModule.areTheyRelated( - Relationship.RelationshipParams( - address(ipAssetOrg), ipAssetIds[uint8(IPAsset.IPAssetType.STORY)], address(ipAssetOrg), ipAssetIds[uint8(IPAsset.IPAssetType.ART)], relationshipId, 0 - ) - ) - ); - - relationshipModule.relate( - Relationship.RelationshipParams( - address(ipAssetOrg), ipAssetIds[uint8(IPAsset.IPAssetType.STORY)], address(externalAsset), ipAssetIds[IPAsset.EXTERNAL_ASSET], relationshipId, 0 - ), - "" - ); - assertTrue( - relationshipModule.areTheyRelated( - Relationship.RelationshipParams( - address(ipAssetOrg), ipAssetIds[uint8(IPAsset.IPAssetType.STORY)], address(externalAsset), ipAssetIds[IPAsset.EXTERNAL_ASSET], relationshipId, 0 - ) - ) - ); - // TODO check for event - - } - - function test_not_related() public { - assertFalse( - relationshipModule.areTheyRelated( - Relationship.RelationshipParams(address(ipAssetOrg), ipAssetIds[uint8(IPAsset.IPAssetType.STORY)], address(1), 2, relationshipId, 0) - ) - ); - assertFalse( - relationshipModule.areTheyRelated( - Relationship.RelationshipParams( - address(ipAssetOrg), ipAssetIds[uint8(IPAsset.IPAssetType.STORY)], address(externalAsset), ipAssetIds[IPAsset.EXTERNAL_ASSET], keccak256("WRONG"), 0 - ) - ) - ); - } - - function test_revert_unknown_relationship() public { - vm.expectRevert(Errors.RelationshipModule_NonExistingRelationship.selector); - relationshipModule.relate( - Relationship.RelationshipParams( - address(ipAssetOrg), ipAssetIds[uint8(IPAsset.IPAssetType.STORY)], address(ipAssetOrg), ipAssetIds[uint8(IPAsset.IPAssetType.CHARACTER)], keccak256("WRONG"), 0 - ), - "" - ); - } - - // TODO(ramarti): Fix this test - // function test_revert_relationshipsNotSameIPAssetOrg() public { - // vm.startPrank(ipAssetOrgOwner); - // IPAsset.RegisterIPAssetOrgParams memory params = IPAsset.RegisterIPAssetOrgParams(address(registry), "name2", "symbol2", "description2", "tokenURI2", address(licensingModule), address(collectModule)); - // address otherIpAssets = ipAssetOrgFactory.registerIPAssetOrg(params); - // licensingModule.configureIpAssetOrgLicensing(otherIpAssets, LibMockIPAssetOrgConfig.getMockIPAssetOrgConfig()); - // vm.stopPrank(); - // IPAssetOrg otherIpAssetOrg = IPAssetOrg(otherIpAssets); - // vm.prank(address(ipAssetOrgOwner)); - // (, uint256 otherId) = ipAssetOrg.createIpAsset(IPAsset.CreateIpAssetParams({ - // ipAssetType: IPAsset.IPAssetType.CHARACTER, - // name: "name", - // description: "description", - // mediaUrl: "mediaUrl", - // to: ipAssetOwner, - // parentIpAssetOrgId: 0, - // collectData: "" - // })); - // vm.expectRevert(Errors.RelationshipModule_CannotRelateToOtherIPAssetOrg.selector); - // relationshipModule.relate( - // Relationship.RelationshipParams( - // address(ipAssetOrg), ipAssetIds[uint8(IPAsset.IPAssetType.STORY)], otherIpAssets, otherId, relationshipId, 0 - // ), - // "" - // ); - // } - - function test_revert_relateUnsupportedSource() public { - vm.prank(address(ipAssetOrgOwner)); - (, uint256 wrongId) = ipAssetOrg.createIpAsset(IPAsset.CreateIpAssetParams({ - ipAssetType: IPAsset.IPAssetType.GROUP, - name: "name", - description: "description", - mediaUrl: "mediaUrl", - to: ipAssetOwner, - parentIpAssetOrgId: 0, - collectData: "" - })); - vm.expectRevert(Errors.RelationshipModule_UnsupportedRelationshipSrc.selector); - relationshipModule.relate( - Relationship.RelationshipParams( - address(ipAssetOrg), wrongId, address(ipAssetOrg), ipAssetIds[uint8(IPAsset.IPAssetType.CHARACTER)], relationshipId, 0 - ), - "" - ); - } - - function test_revert_relateUnsupportedDestination() public { - vm.prank(address(ipAssetOrgOwner)); - (, uint256 wrongId) = ipAssetOrg.createIpAsset(IPAsset.CreateIpAssetParams({ - ipAssetType: IPAsset.IPAssetType.GROUP, - name: "name", - description: "description", - mediaUrl: "mediaUrl", - to: ipAssetOwner, - parentIpAssetOrgId: 0, - collectData: "" - })); - vm.expectRevert(Errors.RelationshipModule_UnsupportedRelationshipDst.selector); - relationshipModule.relate( - Relationship.RelationshipParams( - address(ipAssetOrg), ipAssetIds[uint8(IPAsset.IPAssetType.STORY)], address(ipAssetOrg), wrongId, relationshipId, 0 - ), - "" - ); - } - - function test_revert_nonExistingToken() public { - vm.expectRevert("ERC721: invalid token ID"); - relationshipModule.relate( - Relationship.RelationshipParams( - address(ipAssetOrg), 420, address(ipAssetOrg), ipAssetIds[uint8(IPAsset.IPAssetType.CHARACTER)], relationshipId, 0 - ), - "" - ); - } - - function test_revert_notERC721() public { - vm.expectRevert(); - relationshipModule.relate( - Relationship.RelationshipParams( - address(0x999), 420, address(ipAssetOrg), ipAssetIds[uint8(IPAsset.IPAssetType.CHARACTER)], relationshipId, 0 - ), - "" - ); - } - -} diff --git a/test/foundry/modules/relationships/RelationshipModule.Setting.t.sol b/test/foundry/modules/relationships/RelationshipModule.Setting.t.sol new file mode 100644 index 00000000..01d830af --- /dev/null +++ b/test/foundry/modules/relationships/RelationshipModule.Setting.t.sol @@ -0,0 +1,226 @@ +/* solhint-disable contract-name-camelcase, func-name-mixedcase, var-name-mixedcase */ +// SPDX-License-Identifier: BUSDL-1.1 +pragma solidity ^0.8.19; + +import "forge-std/Test.sol"; +import "test/foundry/utils/BaseTest.sol"; +import "contracts/modules/relationships/RelationshipModule.sol"; +import "contracts/lib/modules/LibRelationship.sol"; +import { AccessControl } from "contracts/lib/AccessControl.sol"; + +contract RelationshipModuleSettingTest is BaseTest { + address relCreator = address(4444444); + address ipaOwner = address(123); + + function setUp() public override { + super.setUp(); + _grantRole(vm, AccessControl.RELATIONSHIP_MANAGER_ROLE, relCreator); + } + + function test_RelationshipModule_createAddressToAddress() public { + _addRelType( + LibRelationship.PROTOCOL_LEVEL_RELATIONSHIP, + LibRelationship.Relatables.ADDRESS, + LibRelationship.Relatables.ADDRESS, + 0 + ); + + LibRelationship.CreateRelationshipParams memory params = LibRelationship + .CreateRelationshipParams({ + relType: "TEST_RELATIONSHIP", + srcAddress: address(1111111), + srcId: 0, + dstAddress: address(2222222), + dstId: 0 + }); + bytes[] memory preHooksData = new bytes[](0); + bytes[] memory postHooksData = new bytes[](0); + uint256 id = spg.createRelationship( + LibRelationship.PROTOCOL_LEVEL_RELATIONSHIP, + params, + preHooksData, + postHooksData + ); + assertEq(id, 1); + LibRelationship.Relationship memory rel = relationshipModule + .getRelationship(1); + assertEq(rel.relType, "TEST_RELATIONSHIP"); + assertEq(rel.srcAddress, address(1111111)); + assertEq(rel.dstAddress, address(2222222)); + assertEq(rel.srcId, 0); + assertEq(rel.dstId, 0); + assertEq(relationshipModule.getRelationshipId(rel), 1); + } + + function test_RelationshipModule_createIpOrgToIpOrg() public { + _addRelType( + address(ipOrg), + LibRelationship.Relatables.IPORG_ENTRY, + LibRelationship.Relatables.IPORG_ENTRY, + 2 + ); + (, uint256 localId) = _createIpAsset(ipaOwner, 1, bytes("")); + (, uint256 localId2) = _createIpAsset(ipaOwner, 1, bytes("")); + LibRelationship.CreateRelationshipParams memory params = LibRelationship + .CreateRelationshipParams({ + relType: "TEST_RELATIONSHIP", + srcAddress: address(ipOrg), + srcId: localId, + dstAddress: address(ipOrg), + dstId: localId2 + }); + bytes[] memory preHooksData = new bytes[](0); + bytes[] memory postHooksData = new bytes[](0); + uint256 id = spg.createRelationship( + address(ipOrg), + params, + preHooksData, + postHooksData + ); + assertEq(id, 1); + LibRelationship.Relationship memory rel = relationshipModule + .getRelationship(1); + assertEq(rel.relType, "TEST_RELATIONSHIP"); + assertEq(rel.srcAddress, address(ipOrg)); + assertEq(rel.dstAddress, address(ipOrg)); + assertEq(rel.srcId, localId); + assertEq(rel.dstId, localId2); + assertEq(relationshipModule.getRelationshipId(rel), 1); + } + + function test_RelationshipModule_revert_createIpOrgToIpOrg_InvalidSrcId() + public + { + _addRelType( + address(ipOrg), + LibRelationship.Relatables.IPORG_ENTRY, + LibRelationship.Relatables.IPORG_ENTRY, + 1 + ); + + (, uint256 localId) = _createIpAsset(ipaOwner, 2, bytes("")); + (, uint256 localId2) = _createIpAsset(ipaOwner, 1, bytes("")); + LibRelationship.CreateRelationshipParams memory params = LibRelationship + .CreateRelationshipParams({ + relType: "TEST_RELATIONSHIP", + srcAddress: address(ipOrg), + srcId: localId, + dstAddress: address(ipOrg), + dstId: localId2 + }); + bytes[] memory preHooksData = new bytes[](0); + bytes[] memory postHooksData = new bytes[](0); + vm.expectRevert(Errors.RelationshipModule_InvalidSrcId.selector); + spg.createRelationship( + address(ipOrg), + params, + preHooksData, + postHooksData + ); + } + + function test_RelationshipModule_createAddressToIpa() public { + _addRelType( + LibRelationship.PROTOCOL_LEVEL_RELATIONSHIP, + LibRelationship.Relatables.ADDRESS, + LibRelationship.Relatables.IPA, + 0 + ); + (uint256 ipaId, ) = _createIpAsset(ipaOwner, 2, bytes("")); + LibRelationship.CreateRelationshipParams memory params = LibRelationship + .CreateRelationshipParams({ + relType: "TEST_RELATIONSHIP", + srcAddress: address(1111111), + srcId: 0, + dstAddress: address(registry), + dstId: ipaId + }); + bytes[] memory preHooksData = new bytes[](0); + bytes[] memory postHooksData = new bytes[](0); + uint256 id = spg.createRelationship( + LibRelationship.PROTOCOL_LEVEL_RELATIONSHIP, + params, + preHooksData, + postHooksData + ); + assertEq(id, 1); + LibRelationship.Relationship memory rel = relationshipModule + .getRelationship(1); + assertEq(rel.relType, "TEST_RELATIONSHIP"); + assertEq(rel.srcAddress, address(1111111)); + assertEq(rel.dstAddress, address(registry)); + assertEq(rel.srcId, 0); + assertEq(rel.dstId, ipaId); + assertEq(relationshipModule.getRelationshipId(rel), 1); + } + + function test_RelationshipModule_createExternalNftToExternalNft() public { + _addRelType( + LibRelationship.PROTOCOL_LEVEL_RELATIONSHIP, + LibRelationship.Relatables.EXTERNAL_NFT, + LibRelationship.Relatables.EXTERNAL_NFT, + 0 + ); + + LibRelationship.CreateRelationshipParams memory params = LibRelationship + .CreateRelationshipParams({ + relType: "TEST_RELATIONSHIP", + srcAddress: address(1111111), + srcId: 0, + dstAddress: address(2222222), + dstId: 0 + }); + bytes[] memory preHooksData = new bytes[](0); + bytes[] memory postHooksData = new bytes[](0); + uint256 id = spg.createRelationship( + LibRelationship.PROTOCOL_LEVEL_RELATIONSHIP, + params, + preHooksData, + postHooksData + ); + assertEq(id, 1); + LibRelationship.Relationship memory rel = relationshipModule + .getRelationship(1); + assertEq(rel.relType, "TEST_RELATIONSHIP"); + assertEq(rel.srcAddress, address(1111111)); + assertEq(rel.dstAddress, address(2222222)); + assertEq(rel.srcId, 0); + assertEq(rel.dstId, 0); + assertEq(relationshipModule.getRelationshipId(rel), 1); + } + + function _addRelType( + address ipOrg, + LibRelationship.Relatables src, + LibRelationship.Relatables dst, + uint8 maxSrc + ) internal { + address caller = ipOrgOwner; + uint8[] memory allowedSrcs = new uint8[](0); + uint8[] memory allowedDsts = new uint8[](0); + if (ipOrg == address(0)) { + caller = relCreator; + } else { + allowedSrcs = new uint8[](3); + for (uint8 i = 0; i < maxSrc; i++) { + allowedSrcs[i] = uint8(i); + } + allowedDsts = new uint8[](1); + allowedDsts[0] = 1; + } + LibRelationship.RelatedElements memory allowedElements = LibRelationship + .RelatedElements({ src: src, dst: dst }); + + LibRelationship.AddRelationshipTypeParams + memory params = LibRelationship.AddRelationshipTypeParams({ + relType: "TEST_RELATIONSHIP", + ipOrg: ipOrg, + allowedElements: allowedElements, + allowedSrcs: allowedSrcs, + allowedDsts: allowedDsts + }); + vm.prank(caller); + // Todo test event + spg.addRelationshipType(params); + } +} diff --git a/test/foundry/utils/AccessControlHelper.sol b/test/foundry/utils/AccessControlHelper.sol new file mode 100644 index 00000000..32a04427 --- /dev/null +++ b/test/foundry/utils/AccessControlHelper.sol @@ -0,0 +1,52 @@ +// SPDX-License-Identifier: BUSDL-1.1 +pragma solidity ^0.8.19; + +import "test/foundry/utils/ProxyHelper.sol"; +import { AccessControl } from "contracts/lib/AccessControl.sol"; +import { AccessControlSingleton } from "contracts/access-control/AccessControlSingleton.sol"; +import { Vm } from "forge-std/Test.sol"; +import "forge-std/console.sol"; +import { Strings } from "@openzeppelin/contracts/utils/Strings.sol"; + +/// @title AccessControlHelper +/// @notice Helper contract to setup AccessControlSingleton and grant roles +contract AccessControlHelper is ProxyHelper { + AccessControlSingleton accessControl; + address admin = address(123); + + constructor() {} + + function _setupAccessControl() internal { + // Create Access Control + address accessControlSingletonImpl = address( + new AccessControlSingleton() + ); + accessControl = AccessControlSingleton( + _deployUUPSProxy( + accessControlSingletonImpl, + abi.encodeWithSelector( + bytes4(keccak256(bytes("initialize(address)"))), + admin + ) + ) + ); + } + + function _grantRole(Vm vm, bytes32 role, address account) internal { + vm.prank(admin); + accessControl.grantRole(role, account); + } + + function _getRoleErrorMessage( + address sender, + bytes32 role + ) internal pure returns (bytes memory) { + return + abi.encodePacked( + "AccessControl: account ", + Strings.toHexString(uint160(sender), 20), + " is missing role ", + Strings.toHexString(uint256(role), 32) + ); + } +} diff --git a/test/foundry/utils/BaseTest.sol b/test/foundry/utils/BaseTest.sol index 751a1b82..49b48c0a 100644 --- a/test/foundry/utils/BaseTest.sol +++ b/test/foundry/utils/BaseTest.sol @@ -3,176 +3,147 @@ pragma solidity ^0.8.19; import 'test/foundry/utils/ProxyHelper.sol'; import 'test/foundry/utils/BaseTestUtils.sol'; -import "test/foundry/mocks/RelationshipModuleHarness.sol"; -import "test/foundry/mocks/MockCollectNFT.sol"; -import "test/foundry/mocks/MockCollectModule.sol"; -import "contracts/IPAssetOrgFactory.sol"; +import 'test/foundry/utils/AccessControlHelper.sol'; +import "contracts/StoryProtocol.sol"; +import "contracts/ip-org/IPOrgController.sol"; +import "contracts/ip-org/IPOrg.sol"; +import "contracts/lib/IPOrgParams.sol"; import "contracts/IPAssetRegistry.sol"; +import "contracts/lib/modules/Registration.sol"; import "contracts/access-control/AccessControlSingleton.sol"; -import "contracts/ip-assets/IPAssetOrg.sol"; -import "contracts/lib/IPAsset.sol"; -import "contracts/errors/General.sol"; -import "contracts/modules/relationships/processors/PermissionlessRelationshipProcessor.sol"; -import "contracts/modules/relationships/processors/DstOwnerRelationshipProcessor.sol"; -import "contracts/modules/relationships/RelationshipModuleBase.sol"; -import "contracts/modules/relationships/ProtocolRelationshipModule.sol"; import "contracts/IPAssetRegistry.sol"; -import "contracts/interfaces/modules/collect/ICollectModule.sol"; - +import "contracts/modules/relationships/RelationshipModule.sol"; +import "contracts/modules/licensing/LicenseRegistry.sol"; +import "contracts/modules/licensing/LicensingModule.sol"; +import { ShortString, ShortStrings } from "@openzeppelin/contracts/utils/ShortStrings.sol"; import { AccessControl } from "contracts/lib/AccessControl.sol"; - -// On active refactor -// import "contracts/modules/licensing/LicensingModule.sol"; -// import "contracts/interfaces/modules/licensing/terms/ITermsProcessor.sol"; -// import "contracts/modules/licensing/LicenseRegistry.sol"; -// import '../mocks/MockTermsProcessor.sol'; -// import { Licensing } from "contracts/lib/modules/Licensing.sol"; - -// TODO: Commented out contracts in active refactor. -// Run tests from make lint, which will not run collect and license -contract BaseTest is BaseTestUtils, ProxyHelper { - - IPAssetOrg public ipAssetOrg; - address ipAssetOrgImpl; - IPAssetOrgFactory public ipAssetOrgFactory; - RelationshipModuleBase public relationshipModule; - AccessControlSingleton accessControl; - PermissionlessRelationshipProcessor public relationshipProcessor; - DstOwnerRelationshipProcessor public dstOwnerRelationshipProcessor; - // LicensingModule public licensingModule; - // ILicenseRegistry public licenseRegistry; - // MockTermsProcessor public nonCommercialTermsProcessor; - // MockTermsProcessor public commercialTermsProcessor; - ICollectModule public collectModule; - RelationshipModuleHarness public relationshipModuleHarness; +import { LICENSING_MODULE_KEY, RELATIONSHIP_MODULE_KEY, REGISTRATION_MODULE_KEY } from "contracts/lib/modules/Module.sol"; +import { IGateway } from "contracts/interfaces/modules/IGateway.sol"; +import { RegistrationModule } from "contracts/modules/registration/RegistrationModule.sol"; +import { LicensingFrameworkRepo } from "contracts/modules/licensing/LicensingFrameworkRepo.sol"; +import { Create2 } from "@openzeppelin/contracts/utils/Create2.sol"; +import { Hook } from "contracts/lib/hooks/Hook.sol"; + +contract BaseTest is BaseTestUtils, ProxyHelper, AccessControlHelper { + using ShortStrings for *; + + IPOrg public ipOrg; + IPOrgController public ipOrgController; + ModuleRegistry public moduleRegistry; + RelationshipModule public relationshipModule; IPAssetRegistry public registry; + StoryProtocol public spg; + LicensingFrameworkRepo public licensingFrameworkRepo; + LicensingModule public licensingModule; + LicenseRegistry public licenseRegistry; + RegistrationModule public registrationModule; - address public defaultCollectNftImpl; - address public collectModuleImpl; - address public accessControlSingletonImpl; - - bool public deployProcessors = false; - - address constant admin = address(123); address constant upgrader = address(6969); - address constant ipAssetOrgOwner = address(456); - address constant revoker = address(789); - // string constant NON_COMMERCIAL_LICENSE_URI = "https://noncommercial.license"; - // string constant COMMERCIAL_LICENSE_URI = "https://commercial.license"; - - constructor() {} + address constant ipOrgOwner = address(456); + address constant relManager = address(9999); + address constant licensingManager = address(333); + address constant defaultRevoker = address(555); function setUp() virtual override(BaseTestUtils) public { super.setUp(); // Create Access Control - accessControlSingletonImpl = address(new AccessControlSingleton()); - accessControl = AccessControlSingleton( + _setupAccessControl(); + _grantRole(vm, AccessControl.UPGRADER_ROLE, upgrader); + + // Setup module registry + moduleRegistry = new ModuleRegistry(address(accessControl)); + + // Create IPAssetRegistry + registry = new IPAssetRegistry(address(moduleRegistry)); + + // Create IPOrgController + address ipOrgControllerImpl = address(new IPOrgController(address(moduleRegistry))); + ipOrgController = IPOrgController( _deployUUPSProxy( - accessControlSingletonImpl, + ipOrgControllerImpl, abi.encodeWithSelector( - bytes4(keccak256(bytes("initialize(address)"))), admin + bytes4(keccak256(bytes("initialize(address)"))), + address(accessControl) ) ) ); - vm.prank(admin); - accessControl.grantRole(AccessControl.UPGRADER_ROLE, upgrader); - - // Create IPAssetRegistry - registry = new IPAssetRegistry(); - // Create IPAssetOrg Factory - ipAssetOrgFactory = new IPAssetOrgFactory(); - - // Create Licensing Module - // address licensingImplementation = address(new LicensingModule(address(ipAssetOrgFactory))); - // licensingModule = LicensingModule( - // _deployUUPSProxy( - // licensingImplementation, - // abi.encodeWithSelector( - // bytes4(keccak256(bytes("initialize(address,string)"))), - // address(accessControl), NON_COMMERCIAL_LICENSE_URI - // ) - // ) - // ); - - defaultCollectNftImpl = _deployCollectNFTImpl(); - collectModule = ICollectModule(_deployCollectModule(defaultCollectNftImpl)); - - IPAsset.RegisterIPAssetOrgParams memory ipAssetOrgParams = IPAsset.RegisterIPAssetOrgParams( + spg = new StoryProtocol(ipOrgController, moduleRegistry); + _grantRole(vm, AccessControl.IPORG_CREATOR_ROLE, address(spg)); + _grantRole(vm, AccessControl.MODULE_EXECUTOR_ROLE, address(spg)); + _grantRole(vm, AccessControl.MODULE_EXECUTOR_ROLE, address(address(ipOrgController))); + _grantRole(vm, AccessControl.MODULE_REGISTRAR_ROLE, address(this)); + + // Create Licensing contracts + licensingFrameworkRepo = new LicensingFrameworkRepo(address(accessControl)); + _grantRole(vm, AccessControl.LICENSING_MANAGER, licensingManager); + + licenseRegistry = new LicenseRegistry( + address(registry), + address(moduleRegistry), + address(licensingFrameworkRepo) + ); + licensingModule = new LicensingModule( + BaseModule.ModuleConstruction({ + ipaRegistry: registry, + moduleRegistry: moduleRegistry, + licenseRegistry: licenseRegistry, + ipOrgController: ipOrgController + }), + address(licensingFrameworkRepo), + defaultRevoker + ); + moduleRegistry.registerProtocolModule(LICENSING_MODULE_KEY, licensingModule); + + // Create Registration Module + registrationModule = new RegistrationModule( + BaseModule.ModuleConstruction({ + ipaRegistry: registry, + moduleRegistry: moduleRegistry, + licenseRegistry: licenseRegistry, + ipOrgController: ipOrgController + }), + address(accessControl) + ); + moduleRegistry.registerProtocolModule(REGISTRATION_MODULE_KEY, registrationModule); + + // Create Relationship Module + relationshipModule = new RelationshipModule( + BaseModule.ModuleConstruction({ + ipaRegistry: registry, + moduleRegistry: moduleRegistry, + licenseRegistry: licenseRegistry, + ipOrgController: ipOrgController + }), + address(accessControl) + ); + moduleRegistry.registerProtocolModule(RELATIONSHIP_MODULE_KEY, relationshipModule); + + // moduleRegistry.registerProtocolGateway(IGateway(spg)); + IPOrgParams.RegisterIPOrgParams memory ipAssetOrgParams = IPOrgParams.RegisterIPOrgParams( address(registry), - "IPAssetOrgName", + "IPOrgName", "FRN", "description", "tokenURI" ); - vm.startPrank(ipAssetOrgOwner); - address ipAssets; - ipAssets = ipAssetOrgFactory.registerIPAssetOrg(ipAssetOrgParams); - ipAssetOrg = IPAssetOrg(ipAssets); - // licenseRegistry = ILicenseRegistry(ipAssetOrg.getLicenseRegistry()); + vm.startPrank(ipOrgOwner); + string[] memory ipAssetTypes = new string[](3); + ipAssetTypes[0] = "CHARACTER"; + ipAssetTypes[1] = "STORY"; + ipAssetTypes[2] = "LOCATION"; + ipOrg = IPOrg(spg.registerIpOrg( + ipOrgOwner, + ipAssetOrgParams.name, + ipAssetOrgParams.symbol, + ipAssetTypes + )); - // Configure Licensing for IPAssetOrg - // nonCommercialTermsProcessor = new MockTermsProcessor(); - // commercialTermsProcessor = new MockTermsProcessor(); - // licensingModule.configureIpAssetOrgLicensing(address(ipAssetOrg), _getLicensingConfig()); vm.stopPrank(); - // Create Relationship Module - relationshipModuleHarness = new RelationshipModuleHarness(address(ipAssetOrgFactory)); - relationshipModule = RelationshipModuleBase( - _deployUUPSProxy( - address(relationshipModuleHarness), - abi.encodeWithSelector( - bytes4(keccak256(bytes("initialize(address)"))), address(accessControl) - ) - ) - ); - - if (deployProcessors) { - relationshipProcessor = new PermissionlessRelationshipProcessor(address(relationshipModule)); - dstOwnerRelationshipProcessor = new DstOwnerRelationshipProcessor(address(relationshipModule)); - } - } - - // function _getLicensingConfig() view internal returns (Licensing.IPAssetOrgConfig memory) { - // return Licensing.IPAssetOrgConfig({ - // nonCommercialConfig: Licensing.IpAssetConfig({ - // canSublicense: true, - // ipAssetOrgRootLicenseId: 0 - // }), - // nonCommercialTerms: Licensing.TermsProcessorConfig({ - // processor: address(0), //nonCommercialTermsProcessor, - // data: abi.encode("nonCommercial") - // }), - // commercialConfig: Licensing.IpAssetConfig({ - // canSublicense: false, - // ipAssetOrgRootLicenseId: 0 - // }), - // commercialTerms: Licensing.TermsProcessorConfig({ - // processor: address(0),// commercialTermsProcessor, - // data: abi.encode("commercial") - // }), - // rootIpAssetHasCommercialRights: false, - // revoker: revoker, - // commercialLicenseUri: "uriuri" - // }); - // } - - function _deployCollectNFTImpl() internal virtual returns (address) { - return address(new MockCollectNFT()); - } - - function _deployCollectModule(address collectNftImpl) internal virtual returns (address) { - collectModuleImpl = address(new MockCollectModule(address(registry), collectNftImpl)); - return _deployUUPSProxy( - collectModuleImpl, - abi.encodeWithSelector( - bytes4(keccak256(bytes("initialize(address)"))), address(accessControl) - ) - ); } /// @dev Helper function for creating an IP asset for an owner and IP type. @@ -180,20 +151,60 @@ contract BaseTest is BaseTestUtils, ProxyHelper { /// tested against. The reason this is currently added is that during /// fuzz testing, foundry may plug existing contracts as potential /// owners for IP asset creation. - function _createIpAsset(address ipAssetOwner, uint8 ipAssetType, bytes memory collectData) internal isValidReceiver(ipAssetOwner) returns (uint256) { - vm.assume(ipAssetType > uint8(type(IPAsset.IPAssetType).min)); - vm.assume(ipAssetType < uint8(type(IPAsset.IPAssetType).max)); - vm.prank(address(ipAssetOrg)); - (uint256 id, ) = ipAssetOrg.createIpAsset(IPAsset.CreateIpAssetParams({ - ipAssetType: IPAsset.IPAssetType(ipAssetType), - name: "name", - description: "description", - mediaUrl: "mediaUrl", - to: ipAssetOwner, - parentIpAssetOrgId: 0, - collectData: collectData - })); - return id; + function _createIpAsset( + address ipAssetOwner, + uint8 ipOrgAssetType, + bytes memory collectData + ) internal isValidReceiver(ipAssetOwner) returns (uint256 globalId, uint256 localId) { + // vm.assume(ipAssetType > uint8(type(IPAsset.IPAssetType).min)); + // vm.assume(ipAssetType < uint8(type(IPAsset.IPAssetType).max)); + vm.prank(address(ipAssetOwner)); + Registration.RegisterIPAssetParams memory params = Registration.RegisterIPAssetParams({ + owner: ipAssetOwner, + name: "TestIPAsset", + ipOrgAssetType: ipOrgAssetType, + hash: "", + mediaUrl: "" + }); + bytes[] memory hooks = new bytes[](0); + return spg.registerIPAsset(address(ipOrg), params, 0, hooks, hooks); + } + + function _createIpAssetAndLinkLicense( + address ipAssetOwner, + uint8 ipOrgAssetType, + uint256 licenseId, + bytes memory collectData + ) internal isValidReceiver(ipAssetOwner) returns (uint256 globalId, uint256 localId) { + // vm.assume(ipAssetType > uint8(type(IPAsset.IPAssetType).min)); + // vm.assume(ipAssetType < uint8(type(IPAsset.IPAssetType).max)); + vm.prank(address(ipAssetOwner)); + Registration.RegisterIPAssetParams memory params = Registration.RegisterIPAssetParams({ + owner: ipAssetOwner, + name: "TestIPAsset", + ipOrgAssetType: ipOrgAssetType, + hash: "", + mediaUrl: "" + }); + bytes[] memory hooks = new bytes[](0); + return spg.registerIPAsset(address(ipOrg), params, licenseId, hooks, hooks); } + function _deployHook(bytes memory code_, uint256 hookTypeFlag_, uint256 seed_) internal returns (address hookAddr) { + uint256 randomNumber = uint256(keccak256(abi.encodePacked(seed_))); + for (uint256 i = 0; i < 1500; i++) { + bytes32 salt = bytes32(randomNumber + i); + bytes32 bytecodeHash = keccak256(code_); + address expectedAddress = Create2.computeAddress(salt, bytecodeHash); + uint160 prefix = hookTypeFlag_ == Hook.SYNC_FLAG ? 0x02 : 0x01; + if (_doesAddressStartWith(expectedAddress, prefix)) { + hookAddr = Create2.deploy(0, salt, code_); + return hookAddr; + } + } + } + + function _doesAddressStartWith(address address_,uint160 prefix_) private pure returns (bool) { + return uint160(address_) >> (160 - 2) == prefix_; + } } diff --git a/test/foundry/utils/BaseTestUtils.sol b/test/foundry/utils/BaseTestUtils.sol index f62b7ef8..70542a31 100644 --- a/test/foundry/utils/BaseTestUtils.sol +++ b/test/foundry/utils/BaseTestUtils.sol @@ -1,4 +1,5 @@ -// SPDX-License-Identifier: BUSL-1.1 +// SPDX-License-Identifier: UNLICENSED +// See Story Protocol Alpha Agreement: https://github.com/storyprotocol/protocol-contracts/blob/main/StoryProtocol-AlphaTestingAgreement-17942166.3.pdf pragma solidity ^0.8.18; import "forge-std/Test.sol"; diff --git a/yarn.lock b/yarn.lock index 4cfd7f2b..a8f74cbd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1127,15 +1127,15 @@ resolved "https://registry.npmjs.org/@nomiclabs/hardhat-waffle/-/hardhat-waffle-2.0.5.tgz" integrity sha512-U1RH9OQ1mWYQfb+moX5aTgGjpVVlOcpiFI47wwnaGG4kLhcTy90cNiapoqZenxcRAITVbr0/+QSduINL5EsUIQ== -"@openzeppelin/contracts-upgradeable@^4.8.3": - version "4.8.3" - resolved "https://registry.npmjs.org/@openzeppelin/contracts-upgradeable/-/contracts-upgradeable-4.8.3.tgz" - integrity sha512-SXDRl7HKpl2WDoJpn7CK/M9U4Z8gNXDHHChAKh0Iz+Wew3wu6CmFYBeie3je8V0GSXZAIYYwUktSrnW/kwVPtg== +"@openzeppelin/contracts-upgradeable@^4.9.3": + version "4.9.3" + resolved "https://registry.yarnpkg.com/@openzeppelin/contracts-upgradeable/-/contracts-upgradeable-4.9.3.tgz#ff17a80fb945f5102571f8efecb5ce5915cc4811" + integrity sha512-jjaHAVRMrE4UuZNfDwjlLGDxTHWIOwTJS2ldnc278a0gevfXfPr8hxKEVBGFBE96kl2G3VHDZhUimw/+G3TG2A== -"@openzeppelin/contracts@^4.8.3": - version "4.8.3" - resolved "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-4.8.3.tgz" - integrity sha512-bQHV8R9Me8IaJoJ2vPG4rXcL7seB7YVuskr4f+f5RyOStSZetwzkWtoqDMl5erkBJy0lDRUnIR2WIkPiC0GJlg== +"@openzeppelin/contracts@^4.9.3": + version "4.9.3" + resolved "https://registry.yarnpkg.com/@openzeppelin/contracts/-/contracts-4.9.3.tgz#00d7a8cf35a475b160b3f0293a6403c511099364" + integrity sha512-He3LieZ1pP2TNt5JbkPA4PNT9WC3gOTOlDcFGJW4Le4QKqwmiNJCRt44APfxMxvq7OugU/cqYuPcSBzOw38DAg== "@openzeppelin/hardhat-upgrades@^1.22.1": version "1.25.3" @@ -1162,6 +1162,11 @@ proper-lockfile "^4.1.1" solidity-ast "^0.4.15" +"@prettier/sync@^0.3.0": + version "0.3.0" + resolved "https://registry.yarnpkg.com/@prettier/sync/-/sync-0.3.0.tgz#91f2cfc23490a21586d1cf89c6f72157c000ca1e" + integrity sha512-3dcmCyAxIcxy036h1I7MQU/uEEBq8oLwf1CE3xeze+MPlgkdlb/+w6rGR/1dhp6Hqi17fRS6nvwnOzkESxEkOw== + "@resolver-engine/core@^0.3.3": version "0.3.3" resolved "https://registry.npmjs.org/@resolver-engine/core/-/core-0.3.3.tgz" @@ -1303,6 +1308,13 @@ dependencies: antlr4ts "^0.5.0-alpha.4" +"@solidity-parser/parser@^0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@solidity-parser/parser/-/parser-0.16.2.tgz#42cb1e3d88b3e8029b0c9befff00b634cd92d2fa" + integrity sha512-PI9NfoA3P8XK2VBkK5oIfRgKDsicwDZfkVq9ZTBCQYGOP1N2owgY2dyLGyU5/J/hQs8KRk55kdmvTLjy3Mu3vg== + dependencies: + antlr4ts "^0.5.0-alpha.4" + "@trufflesuite/bigint-buffer@1.1.10": version "1.1.10" resolved "https://registry.npmjs.org/@trufflesuite/bigint-buffer/-/bigint-buffer-1.1.10.tgz" @@ -1718,6 +1730,17 @@ array-uniq@1.0.3: resolved "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz" integrity sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q== +array.prototype.findlast@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/array.prototype.findlast/-/array.prototype.findlast-1.2.3.tgz#4e4b375de5adf4897fed155e2d2771564865cc3b" + integrity sha512-kcBubumjciBg4JKp5KTKtI7ec7tRefPk88yjkWJwaVKYd9QfTaxcsOxoMNKd7iBr447zCfDV0z1kOF47umv42g== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + es-shim-unscopables "^1.0.0" + get-intrinsic "^1.2.1" + array.prototype.flat@^1.2.3: version "1.3.2" resolved "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz" @@ -3532,6 +3555,18 @@ handlebars@^4.0.1: optionalDependencies: uglify-js "^3.1.4" +handlebars@^4.7.7: + version "4.7.8" + resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.8.tgz#41c42c18b1be2365439188c77c6afae71c0cd9e9" + integrity sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ== + dependencies: + minimist "^1.2.5" + neo-async "^2.6.2" + source-map "^0.6.1" + wordwrap "^1.0.0" + optionalDependencies: + uglify-js "^3.1.4" + har-schema@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz" @@ -4852,7 +4887,7 @@ napi-macros@~2.0.0: resolved "https://registry.npmjs.org/napi-macros/-/napi-macros-2.0.0.tgz" integrity sha512-A0xLykHtARfueITVDernsAWdtIMbOJgKgcluwENp3AlsKN/PloyO10HtmoqnFAQAcxPkgZN7wdfPfEd0zNGxbg== -neo-async@^2.6.0: +neo-async@^2.6.0, neo-async@^2.6.2: version "2.6.2" resolved "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz" integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== @@ -5220,20 +5255,25 @@ prettier-linter-helpers@^1.0.0: dependencies: fast-diff "^1.1.2" -prettier-plugin-solidity@^1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/prettier-plugin-solidity/-/prettier-plugin-solidity-1.1.3.tgz" - integrity sha512-fQ9yucPi2sBbA2U2Xjh6m4isUTJ7S7QLc/XDDsktqqxYfTwdYKJ0EnnywXHwCGAaYbQNK+HIYPL1OemxuMsgeg== +prettier-plugin-solidity@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/prettier-plugin-solidity/-/prettier-plugin-solidity-1.2.0.tgz#dc620b4fc7708a60687a87cdc803e57a1856b6fd" + integrity sha512-fgxcUZpVAP+LlRfy5JI5oaAkXGkmsje2VJ5krv/YMm+rcTZbIUwFguSw5f+WFuttMjpDm6wB4UL7WVkArEfiVA== dependencies: - "@solidity-parser/parser" "^0.16.0" - semver "^7.3.8" + "@solidity-parser/parser" "^0.16.2" + semver "^7.5.4" solidity-comments-extractor "^0.0.7" -prettier@2.8.7, prettier@^2.3.1, prettier@^2.7.1, prettier@^2.8.3: +prettier@^2.3.1, prettier@^2.7.1, prettier@^2.8.3: version "2.8.7" resolved "https://registry.npmjs.org/prettier/-/prettier-2.8.7.tgz" integrity sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw== +prettier@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.1.0.tgz#c6d16474a5f764ea1a4a373c593b779697744d5e" + integrity sha512-TQLvXjq5IAibjh8EpBIkNKxO749UEWABoiIZehEPiY4GNpVdhaFKqSTu+QrlU6D2dPAfubRmtJTi4K4YkQ5eXw== + process-nextick-args@~2.0.0: version "2.0.1" resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" @@ -5687,7 +5727,7 @@ semver@^6.3.0: resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== -semver@^7.3.4, semver@^7.3.8, semver@^7.5.2, semver@^7.5.3: +semver@^7.3.4, semver@^7.5.2, semver@^7.5.3, semver@^7.5.4: version "7.5.4" resolved "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz" integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== @@ -5826,11 +5866,12 @@ solc@0.8.15: semver "^5.5.0" tmp "0.0.33" -solhint-plugin-prettier@^0.0.5: - version "0.0.5" - resolved "https://registry.npmjs.org/solhint-plugin-prettier/-/solhint-plugin-prettier-0.0.5.tgz" - integrity sha512-7jmWcnVshIrO2FFinIvDQmhQpfpS2rRRn3RejiYgnjIE68xO2bvrYvjqVNfrio4xH9ghOqn83tKuTzLjEbmGIA== +solhint-plugin-prettier@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/solhint-plugin-prettier/-/solhint-plugin-prettier-0.1.0.tgz#2f46999e26d6c6bc80281c22a7a21e381175bef7" + integrity sha512-SDOTSM6tZxZ6hamrzl3GUgzF77FM6jZplgL2plFBclj/OjKP8Z3eIPojKU73gRr0MvOS8ACZILn8a5g0VTz/Gw== dependencies: + "@prettier/sync" "^0.3.0" prettier-linter-helpers "^1.0.0" solhint@^3.6.2: @@ -5863,6 +5904,13 @@ solidity-ast@^0.4.15: resolved "https://registry.npmjs.org/solidity-ast/-/solidity-ast-0.4.49.tgz" integrity sha512-Pr5sCAj1SFqzwFZw1HPKSq0PehlQNdM8GwKyAVYh2DOn7/cCK8LUKD1HeHnKtTgBW7hi9h4nnnan7hpAg5RhWQ== +solidity-ast@^0.4.38: + version "0.4.55" + resolved "https://registry.yarnpkg.com/solidity-ast/-/solidity-ast-0.4.55.tgz#00b685e6eefb2e8dfb67df1fe0afbe3b3bfb4b28" + integrity sha512-qeEU/r/K+V5lrAw8iswf2/yfWAnSGs3WKPHI+zAFKFjX0dIBVXEU/swQ8eJQYHf6PJWUZFO2uWV4V1wEOkeQbA== + dependencies: + array.prototype.findlast "^1.2.2" + solidity-comments-extractor@^0.0.7: version "0.0.7" resolved "https://registry.npmjs.org/solidity-comments-extractor/-/solidity-comments-extractor-0.0.7.tgz" @@ -5894,6 +5942,14 @@ solidity-coverage@^0.8.2: shelljs "^0.8.3" web3-utils "^1.3.6" +solidity-docgen@^0.6.0-beta.36: + version "0.6.0-beta.36" + resolved "https://registry.yarnpkg.com/solidity-docgen/-/solidity-docgen-0.6.0-beta.36.tgz#9c76eda58580fb52e2db318c22fe3154e0c09dd1" + integrity sha512-f/I5G2iJgU1h0XrrjRD0hHMr7C10u276vYvm//rw1TzFcYQ4xTOyAoi9oNAHRU0JU4mY9eTuxdVc2zahdMuhaQ== + dependencies: + handlebars "^4.7.7" + solidity-ast "^0.4.38" + solmate@^6.2.0: version "6.2.0" resolved "https://registry.npmjs.org/solmate/-/solmate-6.2.0.tgz"